CN107204765A - 一种三端轻触开关 - Google Patents
一种三端轻触开关 Download PDFInfo
- Publication number
- CN107204765A CN107204765A CN201710421374.4A CN201710421374A CN107204765A CN 107204765 A CN107204765 A CN 107204765A CN 201710421374 A CN201710421374 A CN 201710421374A CN 107204765 A CN107204765 A CN 107204765A
- Authority
- CN
- China
- Prior art keywords
- line
- switch
- touch
- row
- alignment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K17/00—Electronic switching or gating, i.e. not by contact-making and –breaking
- H03K17/94—Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the way in which the control signals are generated
- H03K17/96—Touch switches
- H03K17/9618—Touch switches using a plurality of detectors, e.g. keyboard
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
一种三端轻触开关替代传统的两端式,按键多的场合常采用矩阵键盘,传统的轻触开关组成的矩阵键盘的检测复杂并且不方便用中断的方式完成键盘检测。本发明设计一种三端轻触开关并给出了一种4*4矩阵键盘的连接方法和检测方法,对于m行n列的矩阵键盘的连接方法和检测方法也在权利要求书中有详细说明,用这种轻触开关构成的矩阵键盘的检测变得非常简单,可以直接通过读取行线列线的电平状态得出被按下的按键,并且单片机只需要通过一个中断源和若干个普通IO口与矩阵键盘相连就可以以中断的方式完成矩阵键盘检测,由于单片机以中断的方式检测矩阵键盘,单片机可以工作在低功耗休眠模式,在有按键按下时才将其唤醒,这有利于减少系统功耗。
Description
技术领域
本发明涉及到一种电路轻触开关,用这种轻触开关构成的矩阵键盘的检测变得非常简单,另外,单片机只需要通过一个中断源和若干个普通IO口与矩阵键盘相连就可以以中断的方式完成矩阵键盘检测。
背景技术
键盘是微型计算机系统最基本最常见的输入设备,一般键盘由多个轻触开关构成。根据轻触开关的排列方式,键盘可以分为线性键盘和矩阵键盘。在按键多的场合,我们常采用矩阵键盘,矩阵键盘将轻触开关排成n行m列,每个按键占据行列的一个交点,这样需要连线的数目就是n+m,这样便可检测n*m个轻触开关。而传统的轻触开关为两端式,当我们摁住开关时,这两端导通,自然状态下两端为开路,不导通。这种两端轻触开关构成的矩阵键盘的译键方法常有行扫描法和线反转法,以行扫描法来说,行扫描法需要依次置低矩阵键盘行线上的电平,再读取端口的值以得到被按下按键的编码,这种检测方法在程序上较为繁琐,不够简单,需要经过几个步骤才能识别出被按下的轻触开关。另外,这些方法需要处理器以查询的方式对按键扫描检测,这就要求处理器不断读取IO的电平状态,这种按键检测的方式在实时系统中往往是不适宜的,而且以查询的工作方式检测按键就导致CPU无法工作在低功耗模式,会提高整个系统的功耗。如果要用中断的方式检测矩阵键盘,则需要将行(列)线连接到具有中断能力的IO口,而对于某些低端的处理器外部中断资源是很少的,无法提供足够的具有中断能力的IO口。由传统两端轻触开关构成的矩阵键盘有这两大缺点:检测不够简单和无法工作以中断的工作方式完成检测。而这两大缺点是由传统两端轻触开关的特性所决定的,为了解决克服这些缺点,本发明从轻触开关的结构上提出了一种新的思路。
发明内容
为了简化矩阵键盘的检测,并使单片机只需要通过一个中断源和若干个普通IO口与矩阵键盘相连就可以以中断的方式完成矩阵键盘检测。
本发明采用的技术方案是:一种三端轻触开关,其特征是:由三个接触端构成,自然状态下,这三个端两两开路,摁住开关时,这三个端两两短路。
键盘连接方式:三端轻触开关的三个端是相同的,为便于表述,将三端轻触开关的三个端分别编号为0、1、2,对于m*n个轻触开关,将其排列成m行n列,每一行n个三端轻触开关的1端由行线相连,各行分别记为ROW_1~ROW_m,每一列的m个三端轻触开关的0端由列线相连,各列分别记为LINE_1~LINE_n,所有m*n个轻触开关的2端连接到一起记为COM端,所有三端轻触开关构成了m行n列的矩阵键盘。
查询工作方式:行线ROW_1~ROW_m分别与单片机IO口相连相连,列线LINE_1~LINE_n分别与单片机IO口相连,COM端接地;单片机通过读取矩阵键盘相连的IO口的值得到行线和列线上的电平状态,每一个按键被按下都对应唯一的行线和列线上的一个电平状态,所以就可以通过单片机读取行线和列线上的电平状态来识别出被按下的按键,这就实现了单片机以查询的工作方式检测整个矩阵键盘。
中断工作方式1:行线ROW_1~ROW_m分别与单片机IO口相连相连,列线LINE_1~LINE_n分别与单片机IO口相连,将COM端接到单片机的外部中断引脚,接下来以中断的方式检测整个矩阵键盘,将外部中断设置为下降沿触发,与行线列线相连的IO口设置为推挽输出模式并全部输出低电平,这样,只要有任意一个按键被按下,COM端电平便会被拉低,中断触发,进入中断服务程序,在中断服务程序中,首先将中断引脚设置为输出模式并输出低电平,再将与行线列线相连的IO口设置为上拉输入模式,单片机再读取行线列线的值,通过读取行线列线的电平状态便可以识别出被按下的按键,等待按键释放,识别完成后再将外部中断设置为下降沿触发,与行线列线相连的IO口设置为推挽输出模式并全部输出低电平,单片机继续等待中断的来临,这就实现了单片机以中断的工作方式检测整个矩阵键盘。
中断工作方式2:行线ROW_1~ROW_m分别与单片机IO口相连相连,列线LINE_1~LINE_n分别与单片机IO口相连,每根行线和每根列线都分别连接一个电阻,所有电阻的另一端连接到高电平;所有行线或者所有列线或者所有行线和列线连接到一个与门电路的输入端,与门电路的输出端连接到单片机的外部中断引脚,将外部中断设置为下降沿触发;将COM端接到低电平;任意一个按键被按下,其中一根行线和一根列线的电平被拉低,与门电路输出端输出一个低电平,中断触发,进入中断服务程序,在中断服务程序中,利用中断服务程序读取输入的键的位置。
本发明的有益效果是:这种结构的轻触开关构成的矩阵键盘的检测变得和线性键盘一样简单,并单片机只需要通过一个中断源和若干个普通IO口与矩阵键盘相连就可以以中断的方式完成矩阵键盘检测。用中断的方式检测矩阵键盘不仅提高了整个单片机系统的实时性,提高了效率,还允许系统在休眠模式下工作,有按键按下时才触发中断唤醒CPU,这样做也降低了系统的功耗,节约能源,同时能够键盘的使用寿命。
附图说明
原理图1是三端轻触开关的基本结构,有0,1,2三个端,每个端引出引脚;
原理图2给出了一种由传统两端轻触开关构成的4*4矩阵键盘的连接方法;
原理图3给出了一种由三端轻触开关构成的4*4矩阵键盘以查询方式工作的连接方法;
原理图4给出了一种由三端轻触开关构成的4*4矩阵键盘以中断方式工作的连接方法。
具体实施方式
原理图2给出了一种由传统两端轻触开关构成的4*4矩阵键盘的连接方法和实现键盘检测的方法,根据原理图2,行线ROW_1~ROW_4分别与单片机P1^0~P1^3(表示P1端口的0~3位,有的教材或者编程语言表示为P1.0~P1.3,本处的表示方法也是常见的标示符号之一,下同;同时,在单片机中有的端口是双向口,或者称为准双向口,即能够输出信息、也能输入信息,此处的P1具有双向口功能)相连并将P1^0~P1^3设置为推挽输出模式,列线LINE_1~LINE_4分别与单片机P1^4~P1^7相连并将P1^4~P1^7设置为上拉输入模式(悬空时引脚为高电平),采用行扫描法检测矩阵键盘,依次将P1^0~P1^3单独置为低电平,每设置一次低电平、都要读取P1^4~P1^7检测各列线的状态,来判断是哪个按键按下(由于单片机的扫描速度远远快于人的输入速度,现在单片机的频率能够达到300MHz,假定扫描需要100个周期,大约在微秒数量级,而人的输入速度在0.1秒的数量级,因此,相对于人的输入速度,扫描所需的时间能够忽略)。具体实现方案:首先将P1^0输出低电平,其余三条行线(P1^1、 P1^2、P1^3)置为高电平,此时可以检测第一行按键的状态,若key1被按下则LINE_4线电平被拉低,其余列线为高电平,若key2被按下则LINE_3线电平被拉低,其余列线为高电平,依此类推key3、key4,这样通过读取列线的电平的状态就可以得到第一行按键的状态。接着检测第二行的按键,将P1^1输出低电平,其余三条行线(P1^0、 P1^2、 P1^3)置为高电平,此时可以检测第二行按键的状态,若key5被按下则LINE_4线电平被拉低,其余列线为高电平,若key6被按下则LINE_3线电平被拉低,其余列线为高电平,依此类推key7、key8,这样通过读取列线的电平的状态就可以得到第二行按键的状态。同理,再依次置低P1^2和P1^3的电平,其余列线为高电平,便可以分别检测第三行和第四行按键的状态。这样就通过行扫描法检测出了整个矩阵键盘。由于本身有由传统两端轻触开关构成,这种4*4矩阵键盘绝大多少通过查询方式(单片机需要不断读取行线和列线的电平)检测,而且可以看出检测过程也较为复杂繁琐。
接下来再给出了一种由本发明所描述的三端轻触开关构成的4*4矩阵键盘的连接方法和实现键盘检测的方法。
首先给出以查询方式实现键盘检测的方法:根据原理图3,行线ROW_1~ROW_4分别与单片机P1^0~P1^3相连,列线LINE_1~LINE_4分别与单片机P1^4~P1^7相连,COM端接电源地(低电平)。P1^0~P1^7都设置为上拉输入模式。单片机只需不断读取P1^0~P1^7即P1整个端口的值,便可得到整个矩阵键盘的状态。当按键S1被按下时,与S1相连的行线与列线都与COM端导通,被拉为低电平即P1^0和P1^7电平都为0,此时读出P1端口的值为0x7e(0x标示16进制,十六进制0x7e表示二进制的01111110),P1^0~P1^7依次对应一个字节的低位到高位,若S16被按下,与S16相连的行线与列线都与COM端导通,被拉为低电平即P1^3和P1^4电平都为0,此时读出P1端口的值为0xe7(二进制的11100111),同理按键S1~S16被按下时,依次对应的P1端口的值为{0x7e,0xbe,0xde,0xee,0x7d,0xbd,0xdd,0xed,0x7b,0xbb,0xdb,0xeb,0x77,0xb7,0xd7,0xe7},这样只需要不断读取P1端口的值便可以得到按下按键的编码进而得到被按下按键的编号。相比于前面叙述的传统二段轻触开关构成的矩阵键盘的检测需要依次置低行线再读取P1^4~P1^7的值来扫描检测每一行的按键,这种由三端轻触开关构成的4*4矩阵键盘的检测大大简化,直接通过读取P1端口的值便可以检测整个矩阵键盘。
除了简化了矩阵键盘的检测,这种由三端轻触开关构成的矩阵键盘还可以很容易地以中断的工作方式完成其检测。接下来给出以中断方式实现键盘检测的方法:根据原理图4,行线ROW_1~ROW_4分别与单片机P1^0~P1^3相连,列线LINE_1~LINE_4分别与单片机P1^4~P1^7相连,将COM端接到单片机的外部中断引脚,将外部中断设置为下降沿触发,P1口设置为推挽输出模式并全部输出低电平,这样,只要有任意一个按键被按下,COM端电平便会被拉低,中断触发,进入中断服务程序,在中断服务程序中,首先将中断引脚设置为输出模式并输出低电平,P1口设置为上拉输入模式,单片机再读取P1端口的值,通过读取P1端口的值便可以得到被按下按键的编码进而得到被按下按键的编号,按键S1~S16被按下时,依次对应的P1端口的值为{0x7e,0xbe,0xde,0xee,0x7d,0xbd,0xdd,0xed,0x7b,0xbb,
0xdb,0xeb,0x77,0xb7,0xd7,0xe7},得到被按下按键的编号后,再将P1口设置为输出模式并输出低电平,将外部中断设置为输入模式,退出中断,这样,单片机可以工作在低功耗休眠模式,在有按键按下时才将其唤醒。
Claims (1)
1.一种三端轻触开关,其特征是:由三个接触端构成,自然状态下,这三个端两两开路,摁住开关时,这三个端两两短路;三端轻触开关的三个端是相同的,为便于表述,将三端轻触开关的三个端分别编号为0、1、2,对于m*n个轻触开关,将其排列成m行n列,每一行n个三端轻触开关的1端由行线相连,各行分别记为ROW_1~ROW_m,每一列的m个三端轻触开关的0端由列线相连,各列分别记为LINE_1~LINE_n,所有m*n个轻触开关的2端连接到一起记为COM端,所有三端轻触开关构成了m行n列的矩阵键盘;
行线ROW_1~ROW_m分别与单片机IO口相连相连,列线LINE_1~LINE_n分别与单片机IO口相连,每根行线和每根列线都分别连接一个电阻,所有电阻的另一端连接到高电平;所有行线或者所有列线或者所有行线和列线连接到一个与门电路的输入端,与门电路的输出端连接到单片机的外部中断引脚,将外部中断设置为下降沿触发;将COM端接到低电平;任意一个按键被按下,其中一根行线和一根列线的电平被拉低,与门电路输出端输出一个低电平,中断触发,进入中断服务程序,在中断服务程序中,利用中断服务程序读取输入的键的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710421374.4A CN107204765A (zh) | 2015-05-21 | 2015-05-21 | 一种三端轻触开关 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510259467.2A CN104898853B (zh) | 2015-05-21 | 2015-05-21 | 一种三端轻触开关 |
CN201710421374.4A CN107204765A (zh) | 2015-05-21 | 2015-05-21 | 一种三端轻触开关 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510259467.2A Division CN104898853B (zh) | 2015-05-21 | 2015-05-21 | 一种三端轻触开关 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107204765A true CN107204765A (zh) | 2017-09-26 |
Family
ID=54031557
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510259467.2A Expired - Fee Related CN104898853B (zh) | 2015-05-21 | 2015-05-21 | 一种三端轻触开关 |
CN201710421412.6A Pending CN107204766A (zh) | 2015-05-21 | 2015-05-21 | 一种三端轻触开关 |
CN201710421374.4A Pending CN107204765A (zh) | 2015-05-21 | 2015-05-21 | 一种三端轻触开关 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510259467.2A Expired - Fee Related CN104898853B (zh) | 2015-05-21 | 2015-05-21 | 一种三端轻触开关 |
CN201710421412.6A Pending CN107204766A (zh) | 2015-05-21 | 2015-05-21 | 一种三端轻触开关 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN104898853B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298331A (zh) * | 2018-11-29 | 2019-02-01 | 郭玉森 | 低成本可检测多个任意组合按键的检测电路及处理方法 |
CN110716135A (zh) * | 2019-10-28 | 2020-01-21 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种撞击式机械开关信号的有效捕获电路及捕获方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768406A (zh) * | 2018-07-03 | 2018-11-06 | 珠海进田电子科技有限公司 | 一种新型单片机按键扫描电路 |
CN109361400A (zh) * | 2018-12-03 | 2019-02-19 | 天津七二移动通信有限公司 | 一种智能化按键模块及其实现方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1296208A (zh) * | 1999-11-10 | 2001-05-23 | 日本电气株式会社 | 具有多位键开关的键盘 |
CN101211324A (zh) * | 2006-12-29 | 2008-07-02 | 金宝电子工业股份有限公司 | 输入系统 |
CN101551410A (zh) * | 2009-05-19 | 2009-10-07 | 武汉科技大学 | 一种用于汽车电磁阀质量测试的电源 |
CN102289291A (zh) * | 2011-05-20 | 2011-12-21 | 西北工业大学 | 一种提高键盘扫描速度的键盘电路 |
CN103257716A (zh) * | 2013-05-14 | 2013-08-21 | 湖南工业大学 | 一种低功耗键盘及其扫描定位方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3761944A (en) * | 1971-01-22 | 1973-09-25 | Alps Electric Co Ltd | Binary code generator |
US3720938A (en) * | 1971-04-19 | 1973-03-13 | Lematex Inc | System for preventing erroneous data output signals from an electrical keyboard |
CN201345086Y (zh) * | 2008-12-16 | 2009-11-11 | 苏州市华芯微电子有限公司 | 一种低成本按键信号采集电路 |
CN204631788U (zh) * | 2015-05-21 | 2015-09-09 | 四川大学 | 一种新型三端轻触开关 |
-
2015
- 2015-05-21 CN CN201510259467.2A patent/CN104898853B/zh not_active Expired - Fee Related
- 2015-05-21 CN CN201710421412.6A patent/CN107204766A/zh active Pending
- 2015-05-21 CN CN201710421374.4A patent/CN107204765A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1296208A (zh) * | 1999-11-10 | 2001-05-23 | 日本电气株式会社 | 具有多位键开关的键盘 |
CN101211324A (zh) * | 2006-12-29 | 2008-07-02 | 金宝电子工业股份有限公司 | 输入系统 |
CN101551410A (zh) * | 2009-05-19 | 2009-10-07 | 武汉科技大学 | 一种用于汽车电磁阀质量测试的电源 |
CN102289291A (zh) * | 2011-05-20 | 2011-12-21 | 西北工业大学 | 一种提高键盘扫描速度的键盘电路 |
CN103257716A (zh) * | 2013-05-14 | 2013-08-21 | 湖南工业大学 | 一种低功耗键盘及其扫描定位方法 |
Non-Patent Citations (1)
Title |
---|
张丽: "单片机中断在矩阵式键盘中的应用", 《电子测试》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109298331A (zh) * | 2018-11-29 | 2019-02-01 | 郭玉森 | 低成本可检测多个任意组合按键的检测电路及处理方法 |
CN109298331B (zh) * | 2018-11-29 | 2021-09-24 | 郭玉森 | 低成本可检测多个任意组合按键的检测电路及处理方法 |
CN110716135A (zh) * | 2019-10-28 | 2020-01-21 | 中国兵器工业集团第二一四研究所苏州研发中心 | 一种撞击式机械开关信号的有效捕获电路及捕获方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107204766A (zh) | 2017-09-26 |
CN104898853B (zh) | 2017-08-25 |
CN104898853A (zh) | 2015-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104898853B (zh) | 一种三端轻触开关 | |
CN103257716B (zh) | 一种低功耗键盘及其扫描定位方法 | |
CN102609072B (zh) | 响应按键触发的方法及采用该方法的便携式设备 | |
CN204631788U (zh) | 一种新型三端轻触开关 | |
CN105823965A (zh) | 基于智能手机的配电线路故障实时定位监测系统 | |
CN202364197U (zh) | 一种按键检测和led控制电路 | |
CN202772861U (zh) | 一种用于探鱼器中的开关机电路 | |
CN104461035A (zh) | 可处理多按键同时按下的mcu键盘电路及其实现方法 | |
CN101498971A (zh) | 遥控网络物理隔离装置及其控制方法 | |
CN203554420U (zh) | 矩阵电路 | |
CN216217641U (zh) | 一种电梯智能照明装置 | |
CN208424849U (zh) | 一种具有自检功能的led驱动装置 | |
CN203632650U (zh) | 一种矩阵按键扫描电路 | |
CN209526707U (zh) | 一种基于电容屏的触摸按键系统 | |
CN201364568Y (zh) | 一种采用多功能数字按键的电子白板系统 | |
CN102565694A (zh) | 一种非ad口按键检测电路及其检测方法 | |
CN202453981U (zh) | 一种门锁死机开门装置 | |
CN205430741U (zh) | 一种室内电灯自动断电节能系统 | |
CN203151472U (zh) | 一种可扫描出多个按键码的按键电路 | |
CN205139237U (zh) | 一种交流汇流箱监测装置 | |
CN204989896U (zh) | 一种智能二次仪表 | |
CN215815124U (zh) | 一种基于多位数码管的单io口多按键检测电路 | |
CN205265968U (zh) | 一种智能节电照明控制系统 | |
CN203595787U (zh) | 一种用于通讯型智能限载断路器的手持仪 | |
CN201867746U (zh) | 一种计算机键盘 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170926 |
|
WD01 | Invention patent application deemed withdrawn after publication |