CN202058106U - 一种提高键盘扫描速度的键盘电路 - Google Patents
一种提高键盘扫描速度的键盘电路 Download PDFInfo
- Publication number
- CN202058106U CN202058106U CN2011201646361U CN201120164636U CN202058106U CN 202058106 U CN202058106 U CN 202058106U CN 2011201646361 U CN2011201646361 U CN 2011201646361U CN 201120164636 U CN201120164636 U CN 201120164636U CN 202058106 U CN202058106 U CN 202058106U
- Authority
- CN
- China
- Prior art keywords
- alignment
- mouth
- positive
- switch triode
- keyboard
- 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 - Lifetime
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 |
---|---|---|---|
CN2011201646361U CN202058106U (zh) | 2011-05-20 | 2011-05-20 | 一种提高键盘扫描速度的键盘电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011201646361U CN202058106U (zh) | 2011-05-20 | 2011-05-20 | 一种提高键盘扫描速度的键盘电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN202058106U true CN202058106U (zh) | 2011-11-30 |
Family
ID=45018076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011201646361U Expired - Lifetime CN202058106U (zh) | 2011-05-20 | 2011-05-20 | 一种提高键盘扫描速度的键盘电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN202058106U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289291A (zh) * | 2011-05-20 | 2011-12-21 | 西北工业大学 | 一种提高键盘扫描速度的键盘电路 |
-
2011
- 2011-05-20 CN CN2011201646361U patent/CN202058106U/zh not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289291A (zh) * | 2011-05-20 | 2011-12-21 | 西北工业大学 | 一种提高键盘扫描速度的键盘电路 |
CN102289291B (zh) * | 2011-05-20 | 2013-04-24 | 西北工业大学 | 一种提高键盘扫描速度的键盘电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102289291B (zh) | 一种提高键盘扫描速度的键盘电路 | |
CN203104527U (zh) | 一种usb接口转换装置 | |
CN202058106U (zh) | 一种提高键盘扫描速度的键盘电路 | |
CN105071816A (zh) | 一种高效率快速按键扫描方法 | |
CN103699511A (zh) | 一种给多个mcu串行写程序的接口装置 | |
CN202661818U (zh) | 一种新型按键检测电路 | |
CN202904427U (zh) | 多功能模式的时钟树生成电路 | |
CN209312364U (zh) | 一种led矩阵式显示器 | |
CN201532404U (zh) | 一种用于oled测试设备的矩阵开关电路装置 | |
CN204244525U (zh) | 一种背光电路及键盘 | |
CN202258050U (zh) | 一种新型数字电子技术与单片机综合实验箱 | |
CN103324101A (zh) | 基于Profinet带扩展输入输出的控制面板 | |
CN202886881U (zh) | 一种全硬件开关机电路 | |
CN203616606U (zh) | 一种独立按键和led显示的复用电路 | |
CN208444485U (zh) | 一种学习led点阵显示控制原理的实验教学电子教具 | |
CN202268148U (zh) | 一种带单片机的数码管模块和具有数码管显示的装置 | |
CN206099829U (zh) | 一种低能耗的步进电机控制器 | |
CN204203953U (zh) | 多mcu和fpga协同处理、触控显示主监控系统 | |
CN204131504U (zh) | 一种实时检测按键触发状态的按键电路和游戏手柄 | |
CN105225376A (zh) | 一种抢答器 | |
CN203250202U (zh) | 基于Profinet带扩展输入输出的控制面板 | |
CN204948053U (zh) | 电器led驱动与按键读取电路 | |
CN205508224U (zh) | 一种开关量控制实训装置 | |
CN202404580U (zh) | 一种gpio控制系统 | |
CN203399174U (zh) | 电话pos终端的测试装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
AV01 | Patent right actively abandoned |
Granted publication date: 20111130 Effective date of abandoning: 20130424 |
|
RGAV | Abandon patent right to avoid regrant |