CN205318331U - 一种矩阵式键盘扫描及编码电路 - Google Patents

一种矩阵式键盘扫描及编码电路 Download PDF

Info

Publication number
CN205318331U
CN205318331U CN201620006843.7U CN201620006843U CN205318331U CN 205318331 U CN205318331 U CN 205318331U CN 201620006843 U CN201620006843 U CN 201620006843U CN 205318331 U CN205318331 U CN 205318331U
Authority
CN
China
Prior art keywords
state
row
keyboard
buffer
register
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
Application number
CN201620006843.7U
Other languages
English (en)
Inventor
孔玲爽
凌云
王兵
周维龙
聂辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University of Technology
Original Assignee
Hunan University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan University of Technology filed Critical Hunan University of Technology
Priority to CN201620006843.7U priority Critical patent/CN205318331U/zh
Application granted granted Critical
Publication of CN205318331U publication Critical patent/CN205318331U/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种矩阵式键盘扫描及编码电路,由矩阵式键盘、第一缓冲寄存器、第二缓冲寄存器、状态码寄存器、编码器、数据组合单元组成。所述一种矩阵式键盘扫描及编码电路经由时钟脉冲、扫描脉冲、取样脉冲的控制,将对单键操作、组合键操作、键盘维持状态操作的定位,转换成同一二进制长度的有效状态码和无效状态码,经过编码器编码后,输出与每一个有效状态码对应的有效键号或者是输出与所有无效状态码对应的无效键号;不同的单键操作、组合键操作、键盘维持状态操作仅体现在状态码的不同上;如果需要增减按键操作功能或者是调整按键操作功能,不需要修改键盘扫描电路结构,只需根据增减后的状态码与键号之间的对应关系更改编码器即可。所述实用新型电路不用编写和运行程序,工作可靠。

Description

一种矩阵式键盘扫描及编码电路
技术领域
本实用新型涉及一种键盘的扫描电路,尤其是一种矩阵式键盘扫描及编码电路。
背景技术
随着嵌入式技术的不断发展,当前各类电子产品普遍采用微控制器作为控制核心,键盘作为主要的输入设备,得到了广泛的应用。
目前的键盘扫描主要由微控制器所控制,需要通过运行微控制器中的程序来进行,遇到干扰,造成程序飞跑,扫描程序将不能正常工作。
申请号为CN201010153560.2的发明专利“一种矩阵键盘的快速扫描定位方法”采用键盘中断触发的方式进入键盘的扫描定位过程,采用多次重复键盘扫描步骤的方法判断按键是否有效,并对所获得的键值进行状态判断;如果多次采样状态相同,则处于稳定状态,键值有效;如果多次采样状态不同,键值无效。单键操作或组合键操作需要单独判断,如是单键操作,则进入单键处理模式;如是组合键操作,则进入组合键处理模式。该专利所述方法解决了由于键盘自身的机械特性造成的键盘抖动而引起错键、连续触键等错误问题,以及对组合键和重复按键的支持问题。但所述方法单键操作与组合键操作需要分别处理;没有考虑键盘状态维持一段时间到后才执行有效操作的键盘操作功能;增减按键操作功能或者是调整按键操作功能时,需要修改键盘扫描定位程序结构。
发明内容
为了解决现有键盘扫描定位方法存在的上述技术问题,本实用新型提供了一种矩阵式键盘扫描及编码电路,由矩阵式键盘、第一缓冲寄存器、第二缓冲寄存器、状态码寄存器、编码器、数据组合单元组成。
所述一种矩阵式键盘扫描及编码电路由扫描脉冲、时钟脉冲和取样脉冲进行同步控制。
所述矩阵式键盘共有X行、Y列,设有N位键盘状态信号输出端;所述N位键盘状态信号为电平信号;所述N=X+Y。
所述第一缓冲寄存器和第二缓冲寄存器均N位二进制寄存器;所述第一缓冲寄存器的N位数据输入端依次连接至N位键盘状态信号输出端;所述第二缓冲寄存器的N位数据输入端依次连接至N位键盘状态信号输出端。
所述第一缓冲寄存器和第二缓冲寄存器的接收脉冲输入端连接至扫描脉冲。
所述数据组合单元设有第一路N位数据输入端、第二路N位数据输入端和2×N位数据输出端;所述第一路N位数据输入端依次连接至第一缓冲寄存器的N位数据输出端,第二路N位数据输入端依次连接至第二缓冲寄存器的N位数据输出端。
所述数据组合单元还设有数据选择信号端;所述数据选择信号端连接至扫描脉冲;数据组合单元的2×N位数据输出中,所述扫描脉冲为低电平时,第一路N位数据在前,第二路N位数据在后;所述扫描脉冲为高电平时,第一路N位数据在后,第二路N位数据在前;或者是,数据组合单元的2×N位数据输出中,所述扫描脉冲为低电平时,第一路N位数据在后,第二路N位数据在前;所述扫描脉冲为高电平时,第一路N位数据在前,第二路N位数据在后。
所述状态码寄存器为2×N位二进制寄存器;状态码寄存器的2×N位数据输入端连接至数据组合单元的2×N位数据输出端。
所述状态码寄存器的接收脉冲输入端连接至时钟脉冲;所述矩阵式键盘由取样脉冲控制获取N位键盘状态信号;
所述编码器有2×N位编码输入端,所述2×N位编码输入端连接至状态码寄存器的2×N位数据输出端。
所述时钟脉冲的周期为20~100ms;所述扫描脉冲为时钟脉冲的二分频信号;所述取样脉冲的周期不大于所述时钟脉冲的周期。
所述时钟脉冲控制扫描脉冲翻转的无效触发边沿称为状态锁存沿;所述状态码寄存器在时钟脉冲的状态锁存沿进行数据锁存;所述第一缓冲寄存器在扫描脉冲的上升沿进行数据锁存时,第二缓冲寄存器在扫描脉冲的下降沿进行数据锁存;或者是,所述第一缓冲寄存器在扫描脉冲的下降沿进行数据锁存时,第二缓冲寄存器在扫描脉冲的上升沿进行数据锁存。
所述状态码寄存器的2×N位数据输出端输出2×N位的状态码;所述状态码由有效状态码和无效状态码组成;所述编码器输出的键号由有效键号和无效键号组成;所述有效状态码由有效键盘操作或状态产生,编码器输入每一个有效状态码时对应输出相应的有效键号;所述无效状态码由无效键盘操作或状态产生,编码器输入所有无效状态码时都对应输出无效键号。
所述编码器有M位键号输出端,M值的选择应满足2M大于等于有效键号与无效键号的数量之和。
所述一种矩阵式键盘扫描及编码电路还包括键盘状态变化脉冲产生单元,用于判断矩阵式键盘输出的键号是否发生改变,当矩阵式键盘输出的键号发生改变时,输出键盘状态变化脉冲。
所述键盘状态变化脉冲产生单元由M位延迟缓冲器、M个异或门和或门组成;M位延迟缓冲器用于对矩阵式键盘输出的M位键号分别进行信号延迟;M个异或门的输入分别为M位延迟缓冲器的输入、输出信号;M个异或门的输出分别连接至或门的输入端;或门的输出端输出键盘状态变化脉冲。
所述一种矩阵式键盘扫描及编码电路还包括振荡器;所述振荡器输出时钟脉冲、扫描脉冲和取样脉冲。
所述矩阵式键盘设有取样脉冲输入端。
所述矩阵式键盘由X行-Y列按键矩阵、低电平使能有效行三态缓冲器、高电平使能有效列三态缓冲器、下降沿锁存有效行状态寄存器、上升沿锁存有效列状态寄存器组成;所有按键矩阵的行线分别连接至行三态缓冲器的输出端,所有按键矩阵的列线分别连接至列三态缓冲器的输出端;行三态缓冲器和列三态缓冲器的所有输入端连接至低电平;所有按键矩阵的行线分别连接至行状态寄存器的输入端,所有按键矩阵的列线分别连接至列状态寄存器的输入端;所述行状态寄存器的输出端与列状态寄存器的输出端共同组成键盘状态信号输出端。
所述低电平使能有效行三态缓冲器、高电平使能有效列三态缓冲器的使能控制输入端连接至取样脉冲;所述下降沿锁存有效行状态寄存器、上升沿锁存有效列状态寄存器的接收脉冲输入端连接至取样脉冲。
所述的N位、2×N位、M位均指二进制位数据。
本实用新型的有益效果是:将对矩阵式键盘的单键操作、组合键操作、键盘维持状态操作的定位,由时钟脉冲、扫描脉冲控制转换成同一二进制长度的状态码,采用统一编码的方式进行处理,单键操作、组合键操作、键盘维持状态操作仅体现在状态码的不同上;如果需要增减按键操作功能或者是调整按键操作功能,不需要修改键盘扫描电路结构,只需根据增减后的状态码与键号之间的对应关系更改编码器、即重新写入只读存储器的存储内容即可。所述实用新型电路没有使用单片机、ARM等微控制器,不用运行程序,工作可靠。
附图说明
图1是一种矩阵式键盘扫描及编码电路原理框图;
图2是本实用新型实施例的矩阵式键盘电路图;
图3是本实用新型实施例的扫描定位电路图;
图4是本实用新型实施例的数据组合单元电路图;
图5是本实用新型实施例的时钟脉冲和扫描脉冲波形图;
图6是本实用新型实施例的键盘状态变化脉冲产生单元的电路图;
图7是本实用新型实施例的键盘有效操作的相关波形示意图。
具体实施方式
以下结合附图对本实用新型作进一步说明。
图1是一种矩阵式键盘扫描及编码电路原理框图,由矩阵式键盘400、第一缓冲寄存器101、第二缓冲寄存器102、状态码寄存器200、编码器300、数据组合单元500组成。
图2是本实用新型实施例的矩阵式键盘400的电路图,共有2行、2列,共4个按键,由按键S1、按键S2、按键S3、按键S4和连接至电源+VCC的上拉电阻R1、上拉电阻R2、上拉电阻R3、上拉电阻R4,以及行三态缓冲器401、列三态缓冲器402、行状态寄存器403、列状态寄存器404组成。行三态缓冲器401的2个输出端Y1、Y2分别连接至2根行线,列三态缓冲器402的2个输出端Y3、Y4分别连接至2根列线;行三态缓冲器401和列三态缓冲器402的所有输入端X1~X4连接至低电平。
行状态寄存器403的2个输入端D41、D42分别连接至2根行线,列状态寄存器404的2个输入端D43、D44分别连接至2根列线;行状态寄存器403的2个输出端Q41、Q42输出行状态信号I1、I2,列状态寄存器404的2个输出端Q43、Q44输出列状态信号I3、I4;行状态寄存器403的2个输出端与列状态寄存器404的2个输出端共同组成4位键盘状态信号输出端,输出键盘状态信号I1、I2、I3、I4。
实施例中,行三态缓冲器401的使能输入EN1低电平有效,列三态缓冲器402的使能输入EN2高电平有效;EN1和EN2均连接至振荡器500的CK取样脉冲输出端。行状态寄存器403与列状态寄存器404的接收脉冲输入端CLK3、CLK4均连接至振荡器500的CK取样脉冲输出端,行状态寄存器403在CK取样脉冲的下降沿进行数据锁存,列状态寄存器404在CK取样脉冲的上升沿进行数据锁存。
当行三态缓冲器401和列三态缓冲器402使用同型号的三态缓冲器,例如,同时使用三态缓冲器74HC241时,74HC241的使能输入为高电平有效,因此,在CK取样脉冲输出端与行三态缓冲器401的使能输入端EN1之间,需要增加一个非门。同样地,当行状态寄存器403和列状态寄存器404使用同型号的数据寄存器,例如,行状态寄存器403和列状态寄存器404均使用双D触发器74HC74组成数据寄存器时,74HC74的触发输入为上升沿有效,因此,在CK取样脉冲输出端与行状态寄存器403的接收脉冲输入端CLK3之间,需要增加一个非门。
图1中的第一缓冲寄存器101、第二缓冲寄存器102、状态码寄存器200、编码器300、数据组合单元500组成扫描定位电路,其实施例电路图如图3所示。实施例矩阵式键盘电路输出的状态信号有4位,因此,第一缓冲寄存器101、第二缓冲寄存器102都要求寄存4位二进制数据,第一缓冲寄存器101的4个数据输入端D10~D13依次连接至I1、I2、I3、I4,第二缓冲寄存器102的4个数据输入端D14~D17也依次连接至I1、I2、I3、I4。
数据组合单元500用于实现两路输入数据的选择排序与组合。实施例中,两路输入数据中的1路是4位数据J,J中包括J3、J2、J1、J0;另外1路是4位数据K,K中包括K3、K2、K1、K0;1路8位的输出数据是L。数据组合单元500的功能是,8位输出数据L有两种排序组合,一种排序组合是4位数据J在前,4位数据K在后,即输出L7~L0依次为J3、J2、J1、J0、K3、K2、K1、K0;另外一种排序组合是4位数据K在前,4位数据J在后,即输出L7~L0依次为K3、K2、K1、K0、J3、J2、J1、J0;两种排序组合受数据选择信号S的控制。
数据组合单元500可以采用数据选择器、三态缓冲器,或者是其他方式实现。图4为数据组合单元500实施例原理图,由2个四2选1数据选择器501、502组成,501、502的数据选择信号S均连接至CP2扫描脉冲。当CP2为低电平时,四2选1数据选择器501、502选择通道0,即L7~L0等于K3、K2、K1、K0、J3、J2、J1、J0;当CP2为高电平时,四2选1数据选择器501、502选择通道1,即L7~L0等于J3、J2、J1、J0、K3、K2、K1、K0。
状态码寄存器200要求寄存8位二进制数据,其8位数据输入端D27~D20连接至数据组合单元500的8位数据输出端L7~L0;编码器300的8个输入端A7~A0连接至状态码寄存器200的8个数据输出端Q27~Q20。编码器300输出经过扫描定位确定的4位二进制键号。
图3实施例中,第一缓冲寄存器101、第二缓冲寄存器102、状态码寄存器200均由边沿触发器组成,优选由边沿触发的D触发器组成,例如,由双D触发器74HC74、4D触发器74HC175、8D触发器74HC273组成。第一缓冲寄存器101中的4个边沿触发器的触发输入端连接在一起组成接收脉冲输入端,连接至CP2扫描脉冲,下降沿进行数据锁存;第二缓冲寄存器102中的4个边沿触发器的触发输入端连接在一起组成接收脉冲输入端,连接至CP2扫描脉冲,上升沿进行数据锁存;状态码寄存器200的8个边沿触发器的触发输入端连接在一起组成接收脉冲输入端,连接至CP1时钟脉冲,上升沿进行数据锁存。
图3实施例中,第一缓冲寄存器101、第二缓冲寄存器102、状态码寄存器200均由上升沿触发的8D触发器74HC273,由于第一缓冲寄存器101要求下降沿进行数据锁存,因此,CP2扫描脉冲需要经过一个非门反相后,再连接至第一缓冲寄存器101的接收脉冲输入端;另外,要使所述74HC273的清零功能处于无效状态,保证第一缓冲寄存器101、第二缓冲寄存器102、状态码寄存器200只具有触发功能。
图3实施例中,编码器300为只读存储器。只读存储器的地址输入端A7~A0为编码器300的输入端,只读存储器的数据输出端D3~D0为编码器300的编码输出端C3~C0。
实施例未画出产生CP1时钟脉冲、CP2扫描脉冲、CK取样脉冲的振荡器,振荡器为多谐振荡器,输出CP1时钟脉冲、CP2扫描脉冲和CK取样脉冲,CP1时钟脉冲的周期为20~100ms,CP2扫描脉冲为CP1时钟脉冲的二分频信号,CP1、CP2的波形如图5所示。CP1时钟脉冲、CP2扫描脉冲和CK取样脉冲也可以由一种矩阵式键盘扫描及编码电路之外的电路或者装置提供。
一种矩阵式键盘扫描及编码电路的工作原理如下:
图2中,矩阵式键盘的4个按键以2×2的矩阵形式排列,所有的行线与列线都通过上拉电阻接至电源+VCC。矩阵式键盘由CK取样脉冲控制,采用反转法获取键盘状态信号I4、I3、I2、I1。例如,没有键按下的键盘状态信号是1111,S1按下的键盘状态信号是1010,S1、S2同时按下的键盘状态信号是0010。键盘状态信号的4位二进制码称为键值。
CK取样脉冲控制对矩阵式键盘进行采样读取键值的方法是:在CK取样脉冲的低电平,通过行三态缓冲器401控制所有行线输出低电平,列三态缓冲器402输出高阻态开放列线;在CK取样脉冲的上升沿由列状态寄存器404采样读取列线状态作为键值的高2位;在CK取样脉冲的高电平,通过列三态缓冲器402控制所有列线输出低电平,行三态缓冲器401输出高阻态开放行线;在CK取样脉冲的下降沿由行状态寄存器403采样读取行线状态作为键值的低2位;上述过程周而复始,列状态寄存器404、行状态寄存器403输出的4位键值始终为矩阵式键盘的最新状态。
从CK取样脉冲控制对矩阵式键盘进行采样读取键值的方法可知,行三态缓冲器401在CK取样脉冲的低电平使能有效时,同时要求列状态寄存器404在CK取样脉冲的上升沿进行数据锁存、列三态缓冲器402在CK取样脉冲的高电平使能有效、行状态寄存器403在CK取样脉冲的下降沿进行数据锁存。反过来,如果行三态缓冲器401在CK取样脉冲的高电平使能有效时,同时要求列状态寄存器404在CK取样脉冲的下降沿进行数据锁存、列三态缓冲器402在CK取样脉冲的低电平使能有效、行状态寄存器403在CK取样脉冲的上升沿进行数据锁存。
在上述CK取样脉冲控制采样读取键值的过程中,行状态寄存器403、列状态寄存器404进行采样的时刻恰好是列三态缓冲器402与行三态缓冲器401进行状态反转的时刻,正常工作下的行状态寄存器403或列状态寄存器404能够正确采样。如果要求有一定时序上的裕量,则可以对连接至列三态缓冲器402与行三态缓冲器401的CK取样脉冲进行延迟,方法是令CK取样脉冲经过RC延迟电路再连接至行三态缓冲器401与列三态缓冲器402的EN1、EN2,延迟时间由RC延迟电路决定,确定RC延迟电路的延迟时间的原则是,延迟的CK取样脉冲相位不超过90°;或者是CK取样脉冲经过几个门电路的缓冲后再连接至行三态缓冲器401与列三态缓冲器402的EN1、EN2,此时的延迟时间为所述几个门电路的总时延时间。
第一缓冲寄存器101、第二缓冲寄存器102在CP2扫描脉冲控制下,交替对矩阵式键盘输出的状态信号I1、I2、I3、I4进行数据锁存;将最新锁存数据的缓冲寄存器的输出称为现态键值,稍前锁存数据的缓冲寄存器的输出称为前态键值,因此,第一缓冲寄存器101、第二缓冲寄存器102在CP2扫描脉冲控制下,交替输出现态键值与前态键值。
结合实施例的图3与图5,CP2扫描脉冲下降沿过后,在CP2扫描脉冲的低电平状态,第一缓冲寄存器101输出的现态键值连接至数据组合单元500的输入端J3、J2、J1、J0,第二缓冲寄存器102输出的前态键值连接至数据组合单元500的输入端K3、K2、K1、K0,而此时数据选择信号S连接至CP2扫描脉冲,为低电平,数据组合单元500的输出L7~L0等于K3、K2、K1、K0、J3、J2、J1、J0,即前态键值在前,现态键值在后;CP2扫描脉冲上升沿过后,在CP2扫描脉冲的高电平状态,第一缓冲寄存器101输出的前态键值连接至数据组合单元500的输入端J3、J2、J1、J0,第二缓冲寄存器102输出的现态键值连接至数据组合单元500的输入端K3、K2、K1、K0,而此时数据选择信号S连接至CP2扫描脉冲,为高电平,数据组合单元500的输出L7~L0等于J3、J2、J1、J0、K3、K2、K1、K0,同样是前态键值在前,现态键值在后。
CP2扫描脉冲在控制第一缓冲寄存器101、第二缓冲寄存器102交替锁存输出前态键值、现态键值,以及数据组合单元500进行数据选择排序与组合的时刻,会形成的短暂的不确定状态。状态码寄存器200的作用是消除该不确定状态的影响。
状态码寄存器200的输入为数据组合单元500输出的前态键值与现态键值,输出同样为前态键值与现态键值。将状态码寄存器200进行数据锁存的时刻的CP1时钟脉冲的边沿称为状态锁存沿,实施例中为CP1的上升沿;CP2扫描脉冲为CP1时钟脉冲的二分频信号,将控制CP2扫描脉冲翻转的CP1时钟脉冲的有效触发边沿称为状态扫描沿;实施例中,状态扫描沿为CP1时钟脉冲的下降沿,即第一缓冲寄存器101、第二缓冲寄存器102、数据组合单元500锁存输出前态键值、现态键值的时刻在CP1时钟脉冲的下降沿,因此,在CP1时钟脉冲的上升沿,数据组合单元500输出的前态键值、现态键值已经进入稳态,消除了前述的不确定状态的影响。
如果时钟脉冲CP1控制扫描脉冲CP2翻转的有效触发边沿为下降沿,则时钟脉冲CP1控制扫描脉冲CP2翻转的无效触发边沿为上升沿;如果时钟脉冲CP1控制扫描脉冲CP2翻转的有效触发边沿为上升沿,则时钟脉冲CP1控制扫描脉冲CP2翻转的无效触发边沿为下降沿。将时钟脉冲CP1控制扫描脉冲CP2翻转的无效触发边沿称为状态锁存沿;实施例中,状态扫描沿为CP1时钟脉冲的下降沿,状态锁存沿为CP1时钟脉冲的上升沿。
状态码寄存器200数据输出端输出的4位现态键值和4位前态键值共同组成8位状态码。
所述的8位状态码用于识别矩阵式键盘的当前状态和操作状态。例如,本实施例中,无键按下的状态码是11111111;S1键单键按下操作的状态码是11111010;S1键单键按下且维持的状态码是10101010;S1键单键释放操作的状态码是10101111;S2键单键按下操作的状态码是11110110;S4键单键按下操作的状态码是11110101;S2+S1组合操作的S1按下操作,表示先按下S2后,在S2维持按下的状态再按下S1的操作,该操作的状态码是01100010。
编码器300用于将状态码转换为键号。实施例中,设有6个有效的键盘操作与状态,包括:
操作0:按键S1的单键按下操作,键号为0000;
操作1:按键S2的单键按下操作,键号为0001;
操作2:按键S3的单键按下操作,键号为0010;
操作3:按键S3单键按下后的维持状态,键号为0011;
操作4:按键S4单键按下后,再按下按键S2的组合键操作,键号为0100;
操作5:按键S1的单键释放操作,键号为0101。
根据上述规定得到的状态码和键号见编码表1:
表1编码表
键盘操作 状态码(地址) 键号(存储数据)
S1单键按下 11111010 0000
S2单键按下 11110110 0001
S3单键按下 11111001 0010
S3单键按下维持 10011001 0011
S4+S2组合操作 01010100 0100
S1单键释放 10101111 0101
其他操作或状态 ******** 1111
编码器300为组合逻辑电路,设计电路,满足表1的逻辑关系即可。
实施例的编码器300优选由只读存储器301组成。只读存储器301有8位地址,共28个4位二进制存储单元。6个有效的键盘操作与状态有6个有效状态码,对应6个有效的键号;将状态码作为只读存储器301的地址A7~A0,在与6个有效状态码相对应的存储单元中,将相应的键号作为存储数据写入。6个有效的键盘操作与状态之外产生的状态码为无效状态码,即表1中的其他操作或状态所产生的为无效状态码;在其他存储单元中,全部写入无效键号,无效键号为6个有效键号之外的一个值,实施例中,无效键号为1111。
只读存储器301一直工作在数据输出状态。当只读存储器301具有片选控制、数据输出缓冲控制功能时,应使其片选控制、数据输出缓冲控制处于有效状态。
实施例中的键号为4位二进制码。键号的二进制位数可以根据需要增加,或者减少,此时,只需选择与此相匹配的只读存储器301即可。设键号的二进制位数为M,M值的选择应满足2M大于等于有效键号与无效键号的数量之和。当矩阵式键盘有N位键盘状态信号输出时,只读存储器301需要有2×N位地址输入,M位数据输出。
如果需要增减按键操作功能或者是调整按键操作功能,只需根据需要修改表1,将修改后的内容重新写入只读存储器301的存储内容即可。
实施例中,当矩阵式键盘S1单键按下时,编码器300在S1单键按下后的CP1时钟脉冲的状态锁存沿开始,至下一个CP1时钟脉冲的状态锁存沿为止,编码输出端C3~C0输出键号0000;当矩阵式键盘S2单键按下时,编码器300在S2单键按下后的CP1时钟脉冲的状态锁存沿开始,至下一个CP1时钟脉冲的状态锁存沿为止,输出键号0001;当矩阵式键盘先按下S4后,再按下S2,编码器300在S2组合键按下后的CP1时钟脉冲的状态锁存沿开始,至下一个CP1时钟脉冲的状态锁存沿为止,输出键号0100;当矩阵式键盘S1单键释放时,编码器300在S1单键释放后的CP1时钟脉冲的状态锁存沿开始,至下一个CP1时钟脉冲的状态锁存沿为止,输出键号0101;因此可以看出,当识别的是矩阵式键盘的有效按键操作时,编码器300在该有效按键操作后的CP1时钟脉冲的状态锁存沿开始,至下一个CP1时钟脉冲的状态锁存沿为止,输出持续时间为一个CP1时钟脉冲周期宽度的有效键号。
实施例中,当矩阵式键盘S3单键按下时,编码器300在S3单键按下后的CP1时钟脉冲的状态锁存沿开始,至下一个CP1时钟脉冲的状态锁存沿为止,输出键号0010;在接下来的CP1时钟脉冲的状态锁存沿开始,至S3单键按下维持状态结束后的下一个CP1时钟脉冲的状态锁存沿为止,编码器300输出键号0011;因此可以看出,当识别的是矩阵式键盘的维持状态时,编码器300输出有效键号的持续时间与该维持状态的持续时间相适应。
当键盘的状态或操作为表1中所述的6个有效的键盘操作与状态之外时,编码器300输出无效键号1111。无论是输出有效键号,还是输出无效键号,编码器300改变输出内容的时刻为CP1时钟脉冲的状态锁存沿;实施例中,编码器300改变输出内容的时刻为CP1时钟脉冲的上升沿。
CP1时钟脉冲的周期为矩阵式键盘的扫描周期。键盘扫描周期在20ms以上时,能够有效地避开了键盘按键抖动的影响;键盘扫描周期在100ms以下时,不至于遗漏键盘操作;因此,CP1时钟脉冲的周期应该控制在20~100ms。
CK取样脉冲的周期要求不大于CP1时钟脉冲的周期,这样,在CP1的二分频信号CP2扫描脉冲的每个触发沿交替获取键值,即获取状态码时,能够保证列状态寄存器404、行状态寄存器403输出的4位键值始终为矩阵式键盘的最新状态。CK取样脉冲的特例是直接使用CP1时钟脉冲作为CK取样脉冲。
图6是本实用新型实施例的键盘状态变化脉冲产生单元的电路图。当识别的是矩阵式键盘的有效按键操作时,编码器300在该有效按键操作后的CP1时钟脉冲的状态锁存沿开始,至下一个CP1时钟脉冲的状态锁存沿为止,输出持续时间为一个CP1时钟脉冲周期宽度的有效键号。接收所述矩阵式键盘输出的装置,需要时刻查询矩阵式键盘的输出,获取键号。查询的周期间隔必须小于CP1时钟脉冲的周期。
图6所示电路用于判断矩阵式键盘输出的键号是否发生改变,当矩阵式键盘输出的键号发生改变时,输出键盘状态变化脉冲,用于辅助矩阵式键盘的接收装置接收矩阵式键盘输出的键号,例如,将键盘状态变化脉冲作为接收装置的中断请求信号。
图6所示电路由延迟缓冲器601、异或门602、异或门603、异或门604、异或门605、或门606组成。延迟缓冲器601由只具有触发功能的4个边沿触发器组成,4个边沿触发器的触发输入端为延迟缓冲器601的接收脉冲输入端,均连接至振荡器500的CP1时钟脉冲输出端;延迟缓冲器601在CP1时钟脉冲的状态锁存沿进行数据锁存。
延迟缓冲器601用于对编码器300的编码输出端的4位数据C3~C0分别进行延迟处理。延迟缓冲器601的4个数据输入端D63~D60连接至编码器300的编码输出端C3~C0,延迟缓冲器601的4个数据输出端Q63~Q60相应输出的数据是C31~C01;C31~C01经过延迟缓冲器601的一级缓冲后,其信号比C3~C0延迟一个CP1时钟脉冲周期,图7所示为本实用新型实施例的键盘有效操作的相关波形示意图。设在CP1时钟脉冲的T1区间,矩阵式键盘存在一次有效操作,实施例的有效操作包括:S1单键按下、S2单键按下、S3单键按下、S4+S1组合操作的S1按下、S4+S2组合操作的S2按下、S1单键释放。在一次有效操作的下一个状态锁存沿,即图7中CP1时钟脉冲T1区间之后的上升沿,编码器300输出的编码C3~C0发生改变;在T2区间,编码器300输出一个周期的有效编码C3~C0;在T3、T4及之后区间,编码器300输出的编码C3~C0再一次改变且进入维持状态,该维持状态可能是例如S1单键按下后面的维持状态,输出无效键号,也可能是S3单键按下后面的维持状态,输出有效键号,直到下一次有效操作。
图7中的D6脉冲示意表示编码器300输出的编码C3~C0是处于维持状态,没有变化,还是发生改变,实际电路中不存在所述的D6脉冲。如图7所示,D6脉冲为低电平,示意表示编码器300输出的编码C3~C0是处于维持状态,没有变化;D6脉冲为高电平,示意表示编码器300输出一个周期的有效编码C3~C0。图7中的Q6反映的是C31~C01的变化情况,显然,Q6比D6延迟一个CP1时钟脉冲周期。同样,实际电路中不存在所述的Q6脉冲。
图7中,编码器300输出的编码C3~C0是处于维持状态,没有变化,还是发生改变,实际是由4位延迟缓冲器601、异或门602、异或门603、异或门604、异或门605、或门606所组成的逻辑电路完成。4个异或门分别与编码器300编码输出端C3~C0中的1位相对应,输入分别为4位延迟缓冲器601的输入、输出信号。例如,异或门602的两个输入信号分别为C0和C01,C01比C0延迟一个CP1时钟脉冲周期,因此,当C0发生变化时,异或门602输出1个CP1时钟脉冲周期宽度的正脉冲;当C0为一个CP1时钟脉冲周期宽度变化信号时,异或门602输出2个CP1时钟脉冲周期宽度的正脉冲。异或门603、异或门604、异或门605分别判断C1~C3是否发生变化,原理与判断C0是否发生变化相同。异或门602、异或门603、异或门604、异或门605的输出端分别连接至或门606的输入端,或门606用于综合判断C0~C3是否发生变化,只要C0~C3发生变化,或门606即输出键盘状态变化脉冲F,该脉冲为正脉冲。
实施例中,延迟缓冲器601选择上升沿触发的8D触发器74HC273。
延迟缓冲器601还可以采用其他方案,例如,采用RC电路,利用4个RC电路分别对C0~C3进行延迟;如果RC电路的延迟时间小于一个CP1时钟脉冲周期,则编码器300输出一个周期的有效编码C3~C0时,在输出有效编码C3~C0开始和输出有效编码C3~C0结束都产生一个键盘状态变化脉冲,键盘状态变化脉冲的宽度等于RC电路延迟时间;如果RC电路的延迟时间大于等于一个CP1时钟脉冲周期,则编码器300输出一个周期的有效编码C3~C0时,在输出有效编码C3~C0开始时产生一个键盘状态变化脉冲,脉冲宽度大于等于2个CP1时钟脉冲周期。要求RC电路的延迟时间不超过2个CP1时钟脉冲周期,以免产生漏报。
实施例中,第一缓冲寄存器101在CP2扫描脉冲的下降沿进行数据锁存,第二缓冲寄存器102在CP2扫描脉冲的上升沿进行数据锁存。也可以采用第一缓冲寄存器101在CP2扫描脉冲的上升沿进行数据锁存,第二缓冲寄存器102在CP2扫描脉冲的下降沿进行数据锁存的方式,此时,数据组合单元500的输出以现态键值在前、前态键值在后的方式组成状态码。现态键值在前、前态键值在后的方式组成的状态码同样适用于本实用新型。
实施例中,改变数据组合单元500的输入连接方式,同样可以以现态键值在前、前态键值在后的方式组成状态码。
所述的实用新型电路中,将对单键操作、组合键操作、键盘维持状态操作的定位,由CP1时钟脉冲、CP2扫描脉冲控制转换成同一二进制长度的状态码,采用统一编码的方式进行处理,单键操作、组合键操作、键盘维持状态操作仅体现在状态码的不同上;如果需要增减按键操作功能或者是调整按键操作功能,不需要修改键盘扫描电路结构,只需根据增减后的状态码表更新编码器300、即重新写入更新只读存储器的存储内容即可。所述实用新型电路没有使用单片机、ARM等微控制器,不用运行程序,工作可靠。

Claims (6)

1.一种矩阵式键盘扫描及编码电路,其特征在于,由矩阵式键盘、第一缓冲寄存器、第二缓冲寄存器、状态码寄存器、编码器、数据组合单元组成;
所述矩阵式键盘共有X行、Y列,设有N位键盘状态信号输出端;所述N位键盘状态信号为电平信号;所述N=X+Y;所述矩阵式键盘设有取样脉冲输入端;
所述第一缓冲寄存器和第二缓冲寄存器均N位二进制寄存器;所述第一缓冲寄存器的N位数据输入端依次连接至N位键盘状态信号输出端;所述第二缓冲寄存器的N位数据输入端依次连接至N位键盘状态信号输出端;
所述第一缓冲寄存器和第二缓冲寄存器的接收脉冲输入端连接至扫描脉冲;
所述数据组合单元设有第一路N位数据输入端、第二路N位数据输入端和2×N位数据输出端;所述第一路N位数据输入端依次连接至第一缓冲寄存器的N位数据输出端,第二路N位数据输入端依次连接至第二缓冲寄存器的N位数据输出端;
所述数据组合单元还设有数据选择信号端;所述数据选择信号端连接至扫描脉冲;
所述状态码寄存器为2×N位二进制寄存器;状态码寄存器的2×N位数据输入端连接至数据组合单元的2×N位数据输出端;
所述状态码寄存器的接收脉冲输入端连接至时钟脉冲;
所述编码器有2×N位编码输入端,所述2×N位编码输入端连接至状态码寄存器的2×N位数据输出端;所述编码器有M位键号输出端。
2.根据权利要求1所述的一种矩阵式键盘扫描及编码电路,其特征在于:所述矩阵式键盘由X行-Y列按键矩阵、低电平使能有效行三态缓冲器、高电平使能有效列三态缓冲器、下降沿锁存有效行状态寄存器、上升沿锁存有效列状态寄存器组成;所有按键矩阵的行线分别连接至行三态缓冲器的输出端,所有按键矩阵的列线分别连接至列三态缓冲器的输出端;行三态缓冲器和列三态缓冲器的所有输入端连接至低电平;所有按键矩阵的行线分别连接至行状态寄存器的输入端,所有按键矩阵的列线分别连接至列状态寄存器的输入端;所述行状态寄存器的输出端与列状态寄存器的输出端共同组成键盘状态信号输出端。
3.根据权利要求2所述的一种矩阵式键盘扫描及编码电路,其特征在于:所述低电平使能有效行三态缓冲器、高电平使能有效列三态缓冲器的使能控制输入端连接至取样脉冲;所述下降沿锁存有效行状态寄存器、上升沿锁存有效列状态寄存器的接收脉冲输入端连接至取样脉冲。
4.根据权利要求1所述的一种矩阵式键盘扫描及编码电路,其特征在于:还包括键盘状态变化脉冲产生单元。
5.根据权利要求4所述的一种矩阵式键盘扫描及编码电路,其特征在于:所述键盘状态变化脉冲产生单元由M位延迟缓冲器、M个异或门和或门组成;M位延迟缓冲器用于对矩阵式键盘输出的M位键号分别进行信号延迟;M个异或门的输入分别为M位延迟缓冲器的输入、输出信号;M个异或门的输出分别连接至或门的输入端;或门的输出端输出键盘状态变化脉冲。
6.根据权利要求1所述的一种矩阵式键盘扫描及编码电路,其特征在于:还包括振荡器;所述振荡器输出时钟脉冲、扫描脉冲和取样脉冲。
CN201620006843.7U 2016-01-05 2016-01-05 一种矩阵式键盘扫描及编码电路 Expired - Fee Related CN205318331U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201620006843.7U CN205318331U (zh) 2016-01-05 2016-01-05 一种矩阵式键盘扫描及编码电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201620006843.7U CN205318331U (zh) 2016-01-05 2016-01-05 一种矩阵式键盘扫描及编码电路

Publications (1)

Publication Number Publication Date
CN205318331U true CN205318331U (zh) 2016-06-15

Family

ID=56200845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201620006843.7U Expired - Fee Related CN205318331U (zh) 2016-01-05 2016-01-05 一种矩阵式键盘扫描及编码电路

Country Status (1)

Country Link
CN (1) CN205318331U (zh)

Similar Documents

Publication Publication Date Title
CN105468164B (zh) 矩阵式键盘扫描及编码电路
CN105677055A (zh) 矩阵式键盘扫描电路及方法
CN205318331U (zh) 一种矩阵式键盘扫描及编码电路
CN205320063U (zh) 一种矩阵式键盘状态识别及编码电路
CN205384582U (zh) 一种矩阵式键盘扫描电路及编码电路
CN205490496U (zh) 一种矩阵式键盘操作识别及编码电路
CN205353947U (zh) 一种独立式键盘扫描及编码电路
CN205485933U (zh) 一种矩阵式键盘扫描定位电路
CN105703780B (zh) 矩阵式键盘扫描定位电路
CN105677052A (zh) 独立式键盘状态识别及编码电路
CN105677054A (zh) 独立式键盘扫描定位电路
CN105677053A (zh) 独立式键盘操作识别及编码电路
CN105680873A (zh) 独立式键盘扫描编码电路
CN105700698B (zh) 矩阵式键盘状态识别及编码电路
CN105680875A (zh) 矩阵式键盘操作识别及编码电路
CN105677051A (zh) 独立式键盘扫描电路及编码电路
CN205318332U (zh) 一种独立式键盘操作识别及编码电路
CN105700696A (zh) 矩阵式键盘扫描编码电路
CN105700695A (zh) 矩阵式键盘扫描电路及编码电路
CN205384581U (zh) 一种独立式键盘扫描电路及编码电路
CN105471439B (zh) 独立式键盘扫描及编码电路
CN105680874A (zh) 矩阵式键盘扫描电路及扫描编码方法
CN205490497U (zh) 一种独立式键盘扫描定位电路
CN105700697A (zh) 独立式键盘扫描电路及方法
CN105677050A (zh) 独立式键盘扫描电路及扫描编码方法

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160615

Termination date: 20170105