CN102289291B - 一种提高键盘扫描速度的键盘电路 - Google Patents
一种提高键盘扫描速度的键盘电路 Download PDFInfo
- Publication number
- CN102289291B CN102289291B CN 201110132961 CN201110132961A CN102289291B CN 102289291 B CN102289291 B CN 102289291B CN 201110132961 CN201110132961 CN 201110132961 CN 201110132961 A CN201110132961 A CN 201110132961A CN 102289291 B CN102289291 B CN 102289291B
- Authority
- CN
- China
- Prior art keywords
- alignment
- mouth
- positive
- switch triode
- link
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本发明提出了一种提高键盘扫描速度的键盘电路,行线和列线的一端均分别通过限流电阻与电源相连,行线的另一端通过PNP开关三极管,前m根列线另一端通过NPN开关三极管,复用后与I/O口P1.1、P1.2、……P1.m对应相连;剩余列线一半通过PNP开关三极管,另一半通过NPN开关三极管,复用后与I/O口P1.m+1、P1.m+2、……P1.(m+n)/2对应相连,所有开关三极管的基极分别通过限流电阻连接到I/O口P1.0;在每个按键位置行线与列线通过复合开关与地线相连;所有行线通过与门电路连接到中断输入口。本键盘电路当行列数之和为2N时,所需的I/O口数为N+1,当行列数之和为2N+1时,所需的I/O口数为N+2,且过两次扫描就能得出按键的行值和列值。
Description
技术领域
本发明涉及计算机及自动控制系统的输入设备领域,具体为一种提高键盘扫描速度的键盘电路。
背景技术
目前通用的键盘主要以矩阵式键盘为主,在键盘应用中,如何提高键盘扫描速度,如何在一定数量的I/O口下尽可能多地增加按键个数是两个重要问题。传统地采用线反转法可以通过较少的扫描步骤实现对键盘的扫描,从而减少键盘扫描时间,如实现N×N的矩阵键盘,采用线反转法可以实现简单的扫描程序,但所需的I/O口数量为2N个,占用I/O口数量较多。在申请号为200420014528的专利文献中公开了一种键盘电路,能够有效的减少占用的I/O口数量,实现N×N的矩阵键盘扫描所需的I/O口数量为N+1个,但是其扫描过程复杂,确定一个按键值需要扫描N次,且在矩阵键盘行列数不相等时无法实现减少占用I/O口数量的目的。
发明内容
要解决的技术问题
为解决现有技术中的问题,实现在一定按键数量的前提下,既减少键盘扫描电路占用的I/O口数,又能简化键盘扫描过程的目的,本发明提出了一种提高键盘扫描速度的键盘电路。
技术方案
本发明的技术方案为:
所述一种提高键盘扫描速度的键盘电路,键盘电路为m×n的矩阵键盘电路,m表示行线数,n表示列线数,且行线数不大于列线数,其特征在于:行线和列线的一端均分别通过限流电阻与电源相连,行线的另一端分别通过PNP型开关三极管与I/O口P1.1、P1.2、……P1.m对应相连,列线中前m根列线的另一端分别通过NPN型开关三极管连接到I/O口P1.1、P1.2、……P1.m上;当n-m为偶数时,后n-m根列线中的一半列线分别通过PNP型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n)/2相连,另一半列线分别通过NPN型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n)/2相连;当n-m为奇数时,另外n-m-1根列线中的一半列线分别通过PNP型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n-1)/2相连,另一半列线分别通过NPN型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n-1)/2相连,剩余的一根列线通过开关三极管与I/O口P1.(m+n+1)/2相连;所有开关三极管的基极分别通过限流电阻连接到I/O口P1.0;在每个按键位置行线与列线通过复合开关与地线相连;所有行线通过与门电路连接到中断输入口。
所述一种提高键盘扫描速度的键盘电路,其特征在于:当行线数大于列线数时,将行线与列线互换。
所述一种提高键盘扫描速度的键盘电路,其特征在于:行线的另一端分别通过NPN型开关三极管与I/O口P1.1、P1.2、……P1.m对应相连,列线中前m根列线的另一端分别通过PNP型开关三极管连接到I/O口P1.1、P1.2、……P1.m上。
所述一种提高键盘扫描速度的键盘电路,其特征在于:当n-m为偶数时,后n-m根列线中的一半列线分别通过NPN型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n)/2相连,另一半列线分别通过PNP型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n)/2相连;当n-m为奇数时,另外n-m-1根列线中的一半列线分别通过NPN型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n-1)/2相连,另一半列线分别通过PNP型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n-1)/2相连。
有益效果
本发明设计的矩阵键盘电路,当行列数之和为2N,即为偶数时,所需的I/O口数为N+1,当行列数之和为2N+1,即为奇数时,所需的I/O口数为N+2,远比线反转法占用的I/O口数要少,且不要求矩阵行列数一定相等;同时采用该矩阵键盘电路,通过两次扫描就能得出按键的行值和列值,即可得出按键键值,无论是顺序扫描、定时扫描,还是中断扫描,均可提高键盘扫描速度,节省CPU时间。
附图说明
图1:m×n矩阵键盘电路;
图2:3×5矩阵键盘电路。
具体实施方式
下面结合具体实施例描述本发明。
本实施例是一个3×5的矩阵键盘电路。行线数为3,列线数为5.
参照附图2,所有行线的一端分别通过限流电阻R21-R23与+5V电源VCC相连,所有列线的一端分别通过限流电阻R11-R15与+5V电源VCC相连。行线的另一端分别通过PNP型或NPN型开关三极管与I/O口P1.1、P1.2和P1.3依次相连,在本实施例中,行线另一端采用的是PNP型开关三极管Q1、Q2和Q3;列线中前3列列线的另一端分别通过NPN型或PNP型开关三极管与I/O口P1.1、P1.2和P1.3依次相连,这里要保证行线相连的开关三极管与前m列列线相连的开关三极管结构类型相反,由于本实施例中行线另一端连接PNP型开关三极管,所以这里前3列列线另一端分别通过NPN型开关三极管Q4、Q5和Q6与I/O口P1.1、P1.2和P1.3依次相连。
在其余的2根列线中,取1根列线通过PNP型或NPN型开关三极管与I/O口P1.4相连,本实施例中取的是第5列列线通过PNP型开关三极管Q8与I/O口P1.4相连;取另外1根列线通过NPN型或PNP型开关三极管与I/O口P1.4相连,这里要保证这两根列线相连的开关三级管结构类型相反,由于本实施例中第5列列线已经通过PNP型开关三极管Q8与I/O口P1.4相连,所以这里取第4列列线通过NPN型开关三极管Q7与I/O口P1.4相连。
本实施例中,其余的列线个数为偶数,当其余的列线个数为奇数时,就在其余的列线中单独取出一根列线,其另一端通过NPN型或PNP型开关三极管与单独的一个I/O口相连,这样剩余的列线个数又为偶数了,就可以如上述分成两部分,分别通过结构类型相反的开关三极管与I/O口相连。若当行数大于列数时,只需将行线与列线互换。
本实施例中,开关三极管的基极分别通过限流电阻R31-R38连接到I/O口P1.0上,通过P1.0的状态控制开关三极管的通断;在每个按键位置行线与列线通过复合开关与地线相连;所有行线通过与门电路G1连接到中断输入口,构成键盘扫描中断输入电路。
键盘工作时,当没有按键按下时,各行均为高电平,经与门电路G1后连接到中断输入口的电平为高电平,此时不触发中断。当有按键按下时,经与门电路G1后连接到中断输入口的电平为低电平,此时触发键盘扫描中断,开始执行键盘扫描中断程序。扫描过程中,首先在P1.0口置1,此时PNP型开关三极管Q1、Q2、Q3和Q8均导通,行线及第五列列线与相应I/O口相连通,扫描行线及第五列列线,若某行或第五列有键按下,则对应输入口读得为0,其余输入口读得为1,从而得到所按按键的行状态值和第五列的状态值,将此值暂存。然后在P1.0口置0,此时NPN型开关三极管Q4-Q7导通,前3列列线和第4列列线与相应I/O口相连通,扫描该四列列线,若该四列无键按下则对应输入口均为高电平,输入口状态读得全为1;若某列有键按下则对应此列输入口读得为0,其余输入口读得仍为1,从而得到所按按键的该四列的状态值,将此状态值暂存。P1.0口完成一次1→0循环,则完成一次扫描,根据两次读得的按键状态值即可计算出键值。扫描过程中,可通过延时比较前后所得键值是否相同来去除干扰、抖动,避免误操作,同时也可判断区分键的按下、释放和长按,从而保证每个键按一次执行一次操作。
Claims (4)
1.一种提高键盘扫描速度的键盘电路,所述键盘电路为m×n的矩阵键盘电路,m表示行线数,n表示列线数,且行线数不大于列线数,其特征在于:行线和列线的一端均分别通过限流电阻与电源相连,行线的另一端分别通过PNP型开关三极管与I/O口P1.1、P1.2、……P1.m对应相连,列线中前m根列线的另一端分别通过NPN型开关三极管连接到I/O口P1.1、P1.2、……P1.m上;当n-m为偶数时,后n-m根列线中的一半列线分别通过PNP型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n)/2相连,另一半列线分别通过NPN型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n)/2相连;当n-m为奇数时,另外n-m-1根列线中的一半列线分别通过PNP型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n-1)/2相连,另一半列线分别通过NPN型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n-1)/2相连,剩余的一根列线通过开关三极管与I/O口P1.(m+n+1)/2相连;所有开关三极管的基极分别通过限流电阻连接到I/O口P1.0;在每个按键位置行线与列线通过复合开关与地线相连;所有行线通过与门电路连接到中断输入口。
2.根据权利要求1所述的一种提高键盘扫描速度的键盘电路,其特征在于:当行线数大于列线数时,将行线与列线互换。
3.根据权利要求1或2所述的一种提高键盘扫描速度的键盘电路,其特征在于:行线的另一端分别通过NPN型开关三极管与I/O口P1.1、P1.2、……P1.m对应相连,列线中前m根列线的另一端分别通过PNP型开关三极管连接到I/O口P1.1、P1.2、……P1.m上。
4.根据权利要求1或2所述的一种提高键盘扫描速度的键盘电路,其特征在于:当n-m为偶数时,后n-m根列线中的一半列线分别通过NPN型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n)/2相连,另一半列线分别通过PNP型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n)/2相连;当n-m为奇数时,另外n-m-1根列线中的一半列线分别通过NPN型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n-1)/2相连,另一半列线分别通过PNP型开关三极管与I/O口P1.m+1、P1.m+2、……P1.(m+n-1)/2相连。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110132961 CN102289291B (zh) | 2011-05-20 | 2011-05-20 | 一种提高键盘扫描速度的键盘电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110132961 CN102289291B (zh) | 2011-05-20 | 2011-05-20 | 一种提高键盘扫描速度的键盘电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102289291A CN102289291A (zh) | 2011-12-21 |
CN102289291B true CN102289291B (zh) | 2013-04-24 |
Family
ID=45335765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110132961 Expired - Fee Related CN102289291B (zh) | 2011-05-20 | 2011-05-20 | 一种提高键盘扫描速度的键盘电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102289291B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130249714A1 (en) * | 2012-03-20 | 2013-09-26 | Chia-Chu HO | Keypad module and detecting method for keypad matrix |
CN103049956A (zh) * | 2013-01-09 | 2013-04-17 | 冯晓晗 | 一种基于fpga的安全门禁控制装置 |
CN104575397B (zh) * | 2015-02-09 | 2017-01-25 | 东华大学 | 一种可减少微处理器i/o口占用的动态led显示电路 |
CN104898853B (zh) * | 2015-05-21 | 2017-08-25 | 四川大学 | 一种三端轻触开关 |
CN105549499A (zh) * | 2016-03-03 | 2016-05-04 | 深圳市博巨兴实业发展有限公司 | 一种面向键控类应用的低功耗mcu-soc系统 |
CN107301726A (zh) * | 2017-07-03 | 2017-10-27 | 惠州市天泽盈丰物联网科技股份有限公司 | 智能卡数据采集终端、按键扫描系统及方法 |
TWI800839B (zh) * | 2021-05-25 | 2023-05-01 | 群光電子股份有限公司 | 電子裝置及其控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450080A (en) * | 1992-04-22 | 1995-09-12 | Samsung Semiconductor, Inc. | Keyboard encoding |
CN2669264Y (zh) * | 2004-01-02 | 2005-01-05 | 广东科龙电器股份有限公司 | 键盘扫描电路 |
CN101470527A (zh) * | 2007-12-24 | 2009-07-01 | 深圳安凯微电子技术有限公司 | 一种可减少输入输出口的键盘电路 |
CN202058106U (zh) * | 2011-05-20 | 2011-11-30 | 西北工业大学 | 一种提高键盘扫描速度的键盘电路 |
-
2011
- 2011-05-20 CN CN 201110132961 patent/CN102289291B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450080A (en) * | 1992-04-22 | 1995-09-12 | Samsung Semiconductor, Inc. | Keyboard encoding |
CN2669264Y (zh) * | 2004-01-02 | 2005-01-05 | 广东科龙电器股份有限公司 | 键盘扫描电路 |
CN101470527A (zh) * | 2007-12-24 | 2009-07-01 | 深圳安凯微电子技术有限公司 | 一种可减少输入输出口的键盘电路 |
CN202058106U (zh) * | 2011-05-20 | 2011-11-30 | 西北工业大学 | 一种提高键盘扫描速度的键盘电路 |
Also Published As
Publication number | Publication date |
---|---|
CN102289291A (zh) | 2011-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102289291B (zh) | 一种提高键盘扫描速度的键盘电路 | |
CN105206246A (zh) | 扫描驱动电路及具有该电路的液晶显示装置 | |
DE102008043947A1 (de) | Anschlusszustandserkennungssystem für ein Netzwerkkabel | |
CN101807053A (zh) | 用于工业控制触摸显示屏的多通道高速脉冲计数的结构 | |
CN201138470Y (zh) | 自动切换器 | |
CN102622136A (zh) | 一种多点触摸系统数据处理方法及装置 | |
CN103699511A (zh) | 一种给多个mcu串行写程序的接口装置 | |
CN202058106U (zh) | 一种提高键盘扫描速度的键盘电路 | |
CN105071816A (zh) | 一种高效率快速按键扫描方法 | |
CN103324101B (zh) | 基于Profinet带扩展输入输出的控制面板 | |
CN204652436U (zh) | Io总线接口电路 | |
CN104423616B (zh) | 输入装置及控制单元 | |
CN208444485U (zh) | 一种学习led点阵显示控制原理的实验教学电子教具 | |
CN203250202U (zh) | 基于Profinet带扩展输入输出的控制面板 | |
CN102937885A (zh) | 一种龙芯双路刀片服务器系统中切换显示通道的方法 | |
CN104698960A (zh) | 一种液压机自动化控制系统用数据交换技术 | |
CN204557092U (zh) | 具有减少断线功能和蓝牙传输功能的电脑绗缝控制器 | |
CN204556722U (zh) | 数字电压表 | |
CN202837932U (zh) | 一种基于以太网口可远程控制的开关系统 | |
CN103645886A (zh) | 多浮点操作数加/减、乘、除运算控制器 | |
CN204337724U (zh) | 一种手环式游戏手柄 | |
CN108257517B (zh) | 一种led显示屏虚拟显示单元板 | |
CN203663427U (zh) | 电脑游戏多手柄装置 | |
CN203134334U (zh) | 双通道数控系统lcd液晶显示转换电路 | |
CN204697058U (zh) | 一种基于电力线载波的信息发布装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130424 Termination date: 20150520 |
|
EXPY | Termination of patent right or utility model |