一种矩阵式键盘操作识别及编码电路的制作方法

文档序号:10807107阅读:379来源:国知局
一种矩阵式键盘操作识别及编码电路的制作方法
【专利摘要】一种矩阵式键盘操作识别及编码电路,由矩阵式键盘、第一移位寄存器、第二移位寄存器、状态码寄存器、编码器组成。所述电路经由满足特定时序要求的扫描脉冲、移位脉冲、锁存脉冲的控制,将对单键操作、组合键操作、键盘维持状态操作的定位,转换成同一二进制长度的有效状态码和无效状态码,经过编码器编码后输出与每一个有效状态码对应的有效键号或者是输出与所有无效状态码对应的无效键号;不同的单键操作、组合键操作、键盘维持状态操作仅体现在状态码的不同上;如果需要增减按键操作功能或者是调整按键操作功能,不需要修改键盘扫描电路结构,只需根据增减后的状态码与键号之间的对应关系更改编码器即可。所述实用新型电路不用编写和运行程序,工作可靠。
【专利说明】
一种矩阵式键盘操作识别及编码电路
技术领域
[0001] 本实用新型涉及一种键盘的扫描电路,尤其是一种矩阵式键盘操作识别及编码电 路。
【背景技术】
[0002] 随着嵌入式技术的不断发展,当前各类电子产品普遍采用微控制器作为控制核 心,键盘作为主要的输入设备,得到了广泛的应用。
[0003] 目前的键盘扫描主要由微控制器所控制,需要通过运行微控制器中的程序来进 行,遇到干扰,造成程序飞跑,扫描程序将不能正常工作。
[0004] 申请号为CN201010153560.2的发明专利"一种矩阵键盘的快速扫描定位方法"采 用键盘中断触发的方式进入键盘的扫描定位过程,采用多次重复键盘扫描步骤的方法判断 按键是否有效,并对所获得的键值进行状态判断;如果多次采样状态相同,则处于稳定状 态,键值有效;如果多次采样状态不同,键值无效。单键操作或组合键操作需要单独判断,如 是单键操作,则进入单键处理模式;如是组合键操作,则进入组合键处理模式。该专利所述 方法解决了由于键盘自身的机械特性造成的键盘抖动而引起错键、连续触键等错误问题, 以及对组合键和重复按键的支持问题。但所述方法单键操作与组合键操作需要分别处理; 没有考虑键盘状态维持一段时间到后才执行有效操作的键盘操作功能;增减按键操作功能 或者是调整按键操作功能时,需要修改键盘扫描定位程序结构。

【发明内容】

[0005] 为了解决现有键盘扫描定位方法存在的上述技术问题,本实用新型提供了一种矩 阵式键盘操作识别及编码电路,由矩阵式键盘、第一移位寄存器、第二移位寄存器、状态码 寄存器、编码器组成。
[0006] 所述一种矩阵式键盘操作识别及编码电路由扫描脉冲、移位脉冲和锁存脉冲进行 同步控制。
[0007] 所述矩阵式键盘共有X行、Y列,设有N位键盘状态信号输出端;所述N位键盘状态信 号为电平信号;所述N=X+Y。所述矩阵式键盘设有取样脉冲输入端。
[0008] 所述第一移位寄存器具有N位并行输入端、N位并行输出端和串行输出端;所述第 二移位寄存器具有串行输入端、N位并行输出端。
[0009] 所述第一移位寄存器的N位并行输入端连接至N位键盘状态信号输出端;第二移位 寄存器的串行输入端连接至第一移位寄存器的串行输出端;第一移位寄存器、第二移位寄 存器的移位脉冲输入端均连接至移位脉冲,第一移位寄存器的预置脉冲输入端连接至扫描 脉冲。所述第一移位寄存器的预置脉冲用于对第一移位寄存器的N位并行输入数据进行输 入锁存。
[0010] 所述状态码寄存器为2 X N位二进制寄存器;状态码寄存器中的N位数据输入端连 接至第一移位寄存器的N位并行输出端,另外N位数据输入端连接至第二移位寄存器的N位 并行输出端;所述状态码寄存器的接收脉冲输入端连接至锁存脉冲。
[0011] 所述编码器有2 X N位编码输入端,所述2 X N位编码输入端连接至状态码寄存器的 2 X N位数据输出端。
[0012] 所述扫描脉冲、移位脉冲和锁存脉冲的时序满足以下要求:在一个周期中,扫描脉 冲有1个脉冲,移位脉冲有N个脉冲,锁存脉冲有1个脉冲;所述扫描脉冲、移位脉冲和锁存脉 冲按照1个扫描脉冲、1个锁存脉冲、N个移位脉冲的顺序周而复始;所述扫描脉冲和锁存脉 冲的周期为20~100ms。
[0013] 所述第一移位寄存器、第二移位寄存器的移位脉冲边沿有效;所述状态码寄存器 的接收脉冲边沿有效;所述第一移位寄存器的预置脉冲边沿有效。
[0014] 所述第一移位寄存器、第二移位寄存器的移位脉冲边沿有效;所述状态码寄存器 的接收脉冲边沿有效;所述第一移位寄存器的预置脉冲高电平有效时,所述扫描脉冲为正 脉冲;所述第一移位寄存器的预置脉冲低电平有效时,所述扫描脉冲为负脉冲。
[0015] 所述状态码寄存器的2XN位数据输出端输出2XN位的状态码;所述状态码由有效 状态码和无效状态码组成;所述编码器输出的键号由有效键号和无效键号组成;所述有效 状态码由有效键盘操作或状态产生,编码器输入每一个有效状态码时对应输出相应的有效 键号;所述无效状态码由无效键盘操作或状态产生,编码器输入所有无效状态码时都对应 输出无效键号。
[0016]所述编码器有M位键号输出端,M值的选择应满足2?大于等于有效键号与无效键号 的数量之和。
[0017] 所述的一种矩阵式键盘操作识别及编码电路还包括键盘状态变化脉冲产生单元, 用于判断矩阵式键盘输出的键号是否发生改变,当矩阵式键盘输出的键号发生改变时,输 出键盘状态变化脉冲。
[0018] 所述键盘状态变化脉冲产生单元由M位延迟缓冲器、M个异或门和或门组成;M位延 迟缓冲器用于对矩阵式键盘输出的M位键号分别进行信号延迟;M个异或门的输入分别为M 位延迟缓冲器的输入、输出信号;M个异或门的输出分别连接至或门的输入端;或门的输出 端输出键盘状态变化脉冲。
[0019] 所述矩阵式键盘由X行-Y列按键矩阵、低电平使能有效行三态缓冲器、高电平使能 有效列三态缓冲器、下降沿锁存有效行状态寄存器、上升沿锁存有效列状态寄存器组成;所 有按键矩阵的行线分别连接至行三态缓冲器的输出端,所有按键矩阵的列线分别连接至列 三态缓冲器的输出端;行三态缓冲器和列三态缓冲器的所有输入端连接至低电平;所有按 键矩阵的行线分别连接至行状态寄存器的输入端,所有按键矩阵的列线分别连接至列状态 寄存器的输入端;所述行状态寄存器的输出端与列状态寄存器的输出端共同组成键盘状态 信号输出端。
[0020] 所述低电平使能有效行三态缓冲器、高电平使能有效列三态缓冲器的使能控制输 入端连接至取样脉冲;所述下降沿锁存有效行状态寄存器、上升沿锁存有效列状态寄存器 的接收脉冲输入端连接至取样脉冲。
[0021] 所述一种矩阵式键盘操作识别及编码电路还包括由振荡器、计数器、脉冲分配器 组成的电路;所述扫描脉冲、移位脉冲、锁存脉冲由振荡器、计数器、脉冲分配器组成的电路 产生;所述脉冲分配器为ROM存储器。
[0022]所述取样脉冲的周期不大于扫描脉冲的周期。通常选择扫描脉冲、移位脉冲、锁存 脉冲的一个作为取样脉冲。
[0023] 所述的N位、2 XN位、M位均指二进制位数据。
[0024]本实用新型的有益效果是:将对单键操作、组合键操作、键盘维持状态操作的定 位,由满足特定时序要求的扫描脉冲、移位脉冲、锁存脉冲控制转换成同一二进制长度的状 态码,采用统一编码的方式进行处理,单键操作、组合键操作、键盘维持状态操作仅体现在 状态码的不同上;如果需要增减按键操作功能或者是调整按键操作功能,不需要修改键盘 扫描电路结构,只需根据增减后的状态码与键号之间的对应关系更改编码器、即重新写入 只读存储器的存储内容即可。所述实用新型电路没有使用单片机、ARM等微控制器,不用运 行程序,工作可靠。
【附图说明】
[0025]图1是一种矩阵式键盘操作识别及编码电路原理框图;
[0026] 图2是本实用新型实施例的矩阵式键盘电路图;
[0027] 图3是本实用新型实施例的扫描定位电路图;
[0028] 图4是本实用新型实施例的第一移位寄存器电路图;
[0029] 图5是本实用新型实施例的脉冲时序图;
[0030] 图6是本实用新型实施例的脉冲电路原理图;
[0031] 图7是本实用新型实施例的键盘状态变化脉冲产生单元的电路图;
[0032] 图8是本实用新型实施例的键盘有效操作的相关波形示意图。
【具体实施方式】
[0033] 以下结合附图对本实用新型作进一步说明。
[0034]图1是一种矩阵式键盘操作识别及编码电路原理框图,由矩阵式键盘400、第一移 位寄存器100、第二移位寄存器200、状态码寄存器500、编码器300组成。
[0035]图2是本实用新型实施例的矩阵式键盘400的电路图,共有2行、2列,共4个按键,由 按键Sl、按键S2、按键S3、按键S4和连接至电源+VCC的上拉电阻RU上拉电阻R2、上拉电阻 R3、上拉电阻R4,以及行三态缓冲器401、列三态缓冲器402、行状态寄存器403、列状态寄存 器404组成。行三态缓冲器401的2个输出端Yl、Y2分别连接至2根行线,列三态缓冲器402的2 个输出端Υ3、Υ4分别连接至2根列线;行三态缓冲器401和列三态缓冲器402的所有输入端Xl ~Χ4连接至低电平。
[0036] 行状态寄存器403的2个输入端D41、D42分别连接至2根行线,列状态寄存器404的2 个输入端D43、D44分别连接至2根列线;行状态寄存器403的2个输出端Q41、Q42输出行状态 信号II、12,列状态寄存器404的2个输出端Q43、Q44输出列状态信号13、14;行状态寄存器 403的2个输出端与列状态寄存器404的2个输出端共同组成4位键盘状态信号输出端,输出 键盘状态信号11、12、13、14。
[0037]实施例中,行三态缓冲器401的使能输入ENl低电平有效,列三态缓冲器402的使能 输入EN2高电平有效;ENl和EN2均连接至振荡器500的取样脉冲CK输出端。行状态寄存器403 与列状态寄存器404的接收脉冲输入端CLK3、CLK4均连接至振荡器500的取样脉冲CK输出 端,行状态寄存器403在取样脉冲CK的下降沿进行数据锁存,列状态寄存器404在取样脉冲 CK的上升沿进行数据锁存。
[0038]当行三态缓冲器401和列三态缓冲器402使用同型号的三态缓冲器,例如,同时使 用三态缓冲器74HC241时,74HC241的使能输入为高电平有效,因此,在取样脉冲CK输出端与 行三态缓冲器401的使能输入端ENl之间,需要增加一个非门。同样地,当行状态寄存器403 和列状态寄存器404使用同型号的数据寄存器,例如,行状态寄存器403和列状态寄存器404 均使用双D触发器74HC74组成数据寄存器时,74HC74的触发输入为上升沿有效,因此,在取 样脉冲CK输出端与行状态寄存器403的接收脉冲输入端CLK3之间,需要增加一个非门。 [0039]图1中的第一移位寄存器100、第二移位寄存器200、状态码寄存器500、编码器300 组成扫描定位电路,其实施例电路图如图3所示。实施例矩阵式键盘电路输出的状态信号有 4位,因此,第一移位寄存器100、第二移位寄存器200都为4位二进制移位寄存器,其中,第一 移位寄存器100具有并行输入、并行输出和串行输出功能,第二移位寄存器200具有串行输 入、并行输出功能;第一移位寄存器100的4个并行输入端LO~L3依次连接至11、12、13、14, 第二移位寄存器200的串行输入端D2连接至第一移位寄存器100的串行输出端Q13。第一移 位寄存器100、第二移位寄存器200的移位脉冲输入端CLKl、CLK2均连接至移位脉冲CP2,第 一移位寄存器100的预置脉冲输入端CLKO连接至扫描脉冲CPl。
[0040] 状态码寄存器500要求寄存8位二进制数据,其8位数据输入端D57~D50中的4位连 接至第一移位寄存器100的并行输出端Q13~QlO,另外4位连接至第二移位寄存器200的并 行输出端Q23~Q20;实施例中,D57~D54连接至Q23~Q20,D53~D50连接至Q13~Q10。状态 码寄存器500的接收脉冲输入端CLK5连接至锁存脉冲CP3。
[00411 编码器300的8个输入端A7~AO连接至状态码寄存器500的8个数据输出端Q57~ Q50。编码器300输出经过扫描定位确定的4位二进制键号。
[0042]图3实施例中,第二移位寄存器200可以选择由各种中规模集成移位寄存器组成, 或者由边沿触发器组成;由边沿触发器组成第二移位寄存器200时,优选由边沿触发的D触 发器组成。状态码寄存器500由边沿触发器组成,优选由边沿触发的D触发器组成,例如,由 双D触发器74HC74、4D触发器74HC175、8D触发器74HC273组成。
[0043] 图4是本实用新型实施例的第一移位寄存器100的电路图,由4个置位、复位功能均 低电平有效的D触发器101~104、8个与非门105~112组成。实施例中,D触发器101~104选 择双D触发器74HC74,其触发脉冲上升沿有效。扫描脉冲CPl通过8个与非门105~112控制D 触发器101~104的置位、复位功能。以D触发器101为例,扫描脉冲CPl为低电平时,与非门 105、与非门106输出高电平,D触发器101的置位、复位功能无效;扫描脉冲CPl为高电平且LO =〇时,与非门105的输出为?:,与非门106的输出为L0,即D触发器101的置位功能无效、复位 功能有效,使QlO = O;扫描脉冲CPl为高电平且LO = I时,与非门105的输出为Ε?,与非门106 的输出为LO,即D触发器101的置位功能有效、复位功能无效,使QlO = UD触发器102~104的 工作原理与D触发器101-样,当扫描脉冲CPl为高电平时,Q10 = L0,Qll = Ll,Q12 = L2,Q13 = L3;当扫描脉冲CPl为低电平时,由于D触发器101~104的触发脉冲输入端CLK10、CLK11、 CLK12、CLK13均连接至CP2,因此,在每个移位脉冲CP2的上升沿,第一移位寄存器100移一次 位,SPQ13 = Q12,Q12 = Q11 ,Qll=QlO,Q10 = 0。
[0044] 图3实施例中,编码器300为只读存储器。只读存储器的地址输入端A7~AO为编码 器300的输入端,只读存储器的数据输出端D3~DO为编码器300的编码输出端C3~CO。
[0045] -种矩阵式键盘操作识别及编码电路的工作原理如下:
[0046] 扫描定位电路在扫描脉冲CP1、移位脉冲CP2、锁存脉冲CP3的控制下工作,相关的 脉冲时序图如图5所示。
[0047] 实施例中CP1、CP2、CP3的时序满足以下要求:在一个周期中,CPl有1个脉冲,CP2有 4个脉冲,CP3有1个脉冲;各脉冲按照1个CPl脉冲、1个CP3脉冲、4个CP2脉冲的顺序周而复 始。
[0048] 满足时序要求的CPl、CP2、CP3脉冲可以由各种脉冲分配器产生,图6是本实用新型 实施例的脉冲电路原理图,由振荡器801、计数器802、脉冲分配器803组成。图5中的时钟脉 冲CP由振荡器产生,CP送至计数器802进行计数,计数器802为12进制计数器,其结果P的12 个状态(数值)依次为P0-P11,如图5所示。实施例中的脉冲分配器803采用ROM存储器实现, 在此称为脉冲分配ROM存储器。脉冲分配ROM存储器的地址输入连接至计数器802的计数输 出,脉冲分配ROM存储器的3位数据输出端分别输出为CPl脉冲、CP2脉冲、CP3脉冲。脉冲分配 ROM存储器的写入内容见表1。
[0049] 表1脉冲分配ROM存储器数据表
[0050]
[0051 ] 表1中的ROM存储器地址,即计数器输出至少为4位二进制码。一般情况下,计数器 802如果采用二进制加法规则,则PO~Pll顺序对应4位二进制码0000~1011,即ROM存储器 地址范围为〇〇〇〇~1011,地址〇〇〇〇~1011的存储内容为表1中PO~Pll对应的内容。
[0052] 脉冲分配ROM存储器需要3位数据输出。设脉冲分配ROM存储器的地址输入有R位, 当矩阵式键盘有N位键盘状态信号输出时,R的选择需要满足21?大于等于2 X (N+2)。
[0053] 振荡器801为多谐振荡器。CPl扫描脉冲、CP3锁存脉冲的周期均为20~I OOms。CP1、 CP2、CP3也可以由一种矩阵式键盘操作识别及编码电路之外的电路或者装置提供。
[0054]图2中,矩阵式键盘的4个按键以2 X 2的矩阵形式排列,所有的行线与列线都通过 上拉电阻接至电源+VCC。矩阵式键盘由取样脉冲CK控制,采用反转法获取键盘状态信号14、 13、12、11。例如,没有键按下的键盘状态信号是1111,31按下的键盘状态信号是1010,31、32 同时按下的键盘状态信号是0010。键盘状态信号的4位二进制码称为键值。取样脉冲CK可以 选择扫描脉冲CPl、移位脉冲CP2、锁存脉冲CP3中的任何一个,优选将移位脉冲CP2同时作为 取样脉冲CK。
[0055]取样脉冲CK控制对矩阵式键盘进行采样读取键值的方法是:在取样脉冲CK的低电 平,通过行三态缓冲器401控制所有行线输出低电平,列三态缓冲器402输出高阻态开放列 线;在取样脉冲CK的上升沿由列状态寄存器404采样读取列线状态作为键值的高2位;在取 样脉冲CK的高电平,通过列三态缓冲器402控制所有列线输出低电平,行三态缓冲器401输 出高阻态开放行线;在取样脉冲CK的下降沿由行状态寄存器403采样读取行线状态作为键 值的低2位;上述过程周而复始,列状态寄存器404、行状态寄存器403输出的4位键值始终为 矩阵式键盘的最新状态。
[0056]从取样脉冲CK控制对矩阵式键盘进行采样读取键值的方法可知,行三态缓冲器 401在取样脉冲CK的低电平使能有效时,同时要求列状态寄存器404在取样脉冲CK的上升沿 进行数据锁存、列三态缓冲器402在取样脉冲CK的高电平使能有效、行状态寄存器403在取 样脉冲CK的下降沿进行数据锁存。反过来,如果行三态缓冲器401在取样脉冲CK的高电平使 能有效时,同时要求列状态寄存器404在取样脉冲CK的下降沿进行数据锁存、列三态缓冲器 402在取样脉冲CK的低电平使能有效、行状态寄存器403在取样脉冲CK的上升沿进行数据锁 存。
[0057]在上述取样脉冲CK控制采样读取键值的过程中,行状态寄存器403、列状态寄存器 404进行采样的时刻恰好是列三态缓冲器402与行三态缓冲器401进行状态反转的时刻,正 常工作下的行状态寄存器403或列状态寄存器404能够正确采样。如果要求有一定时序上的 裕量,则可以对连接至列三态缓冲器402与行三态缓冲器401的取样脉冲CK进行延迟,方法 是令取样脉冲CK经过RC延迟电路再连接至行三态缓冲器401与列三态缓冲器402的ENl、 EN2,延迟时间由RC延迟电路决定,确定RC延迟电路的延迟时间的原则是,延迟的取样脉冲 CK相位不超过90°;或者是取样脉冲CK经过几个门电路的缓冲后再连接至行三态缓冲器401 与列三态缓冲器402的ENl、EN2,此时的延迟时间为所述几个门电路的总时延时间。
[0058]第一移位寄存器100在扫描脉冲CPl的控制下,对矩阵式键盘400输出的状态信号 11、12、13、14进行数据锁存,此时第一移位寄存器100的输出称为现态键值;第二移位寄存 器200在上一周期经由4个CP2脉冲的控制,将上一周期扫描脉冲CPl锁存至第一移位寄存器 100的输出移位到第二移位寄存器200输出端,因此,此时第二移位寄存器200的输出称为前 态键值。
[0059] 扫描脉冲CPl之后的锁存脉冲CP3将第一移位寄存器100输出的现态键值、第二移 位寄存器200输出的前态键值锁存在状态码寄存器500的输出端,状态码寄存器500的输出 同样为前态键值与现态键值。
[0060] 第一移位寄存器100、第二移位寄存器200的移位脉冲均边沿有效,因此,CP2可以 是正脉冲,也可以是负脉冲;状态码寄存器500的接收脉冲边沿有效,因此,CP3可以是正脉 冲,也可以是负脉冲。第一移位寄存器100的预置脉冲为边沿有效时,扫描脉冲CPl可以是正 脉冲,也可以是负脉冲。第一移位寄存器100的预置脉冲为高电平有效时,要求扫描脉冲CPl 为正脉冲;第一移位寄存器100的预置脉冲为低电平有效时,要求扫描脉冲CPl为负脉冲;实 施例中,第一移位寄存器100的预置脉冲为高电平有效,所以,扫描脉冲CPl采用正脉冲。
[0061] 实施例中,状态码寄存器500数据输出端输出的4位现态键值和4位前态键值共同 组成8位状态码。所述的8位状态码用于识别矩阵式键盘的当前状态和操作状态。例如,本实 施例中,无键按下的状态码是11111111 ;S1键单键按下操作的状态码是11111010 ;S1键单键 按下且维持的状态码是10101010; Sl键单键释放操作的状态码是10101111 ;S2键单键按下 操作的状态码是11110110; S4键单键按下操作的状态码是11110101 ;S2+S1组合操作的Sl按 下操作,表示先按下S2后,在S2维持按下的状态再按下Sl的操作,该操作的状态码是 01100010。
[0062] 编码器300用于将状态码转换为键号。实施例中,设有6个有效的键盘操作与状态, 包括:
[0063] 操作0:按键Sl的单键按下操作,键号为0000;
[0064]操作1:按键S2的单键按下操作,键号为0001;
[0065] 操作2:按键S3的单键按下操作,键号为0010;
[0066] 操作3:按键S3单键按下后的维持状态,键号为0011;
[0067]操作4:按键S4单键按下后,再按下按键S2的组合键操作,键号为0100;
[0068]操作5:按键Sl的单键释放操作,键号为0101。
[0069] 根据上述规定得到的状态码和键号见编码表2:
[0070] 表2编码表
[0072]编码器300为组合逻辑电路,设计电路,满足表2的逻辑关系即可。
[0073]实施例的编码器300优选由只读存储器301组成。只读存储器301有8位地址,共28 个4位二进制存储单元。6个有效的键盘操作与状态有6个有效状态码,对应6个有效的键号; 将状态码作为只读存储器301的地址A7~AO,在与6个有效状态码相对应的存储单元中,将 相应的键号作为存储数据写入。6个有效的键盘操作与状态之外产生的状态码为无效状态 码,即表2中的其他操作或状态所产生的为无效状态码;在其他存储单元中,全部写入无效 键号,无效键号为6个有效键号之外的一个值,实施例中,无效键号为1111。
[0074]只读存储器301-直工作在数据输出状态。当只读存储器301具有片选控制、数据 输出缓冲控制功能时,应使其片选控制、数据输出缓冲控制处于有效状态。
[0075]实施例中的键号为4位二进制码。键号的二进制位数可以根据需要增加,或者减 少,此时,只需选择与此相匹配的只读存储器301即可。设键号的二进制位数为M,M值的选择 应满足2M大于等于有效键号与无效键号的数量之和。当矩阵式键盘有N位键盘状态信号输 出时,只读存储器301需要有2 X N位地址输入,M位数据输出。
[0076]如果需要增减按键操作功能或者是调整按键操作功能,只需根据需要修改表2,将 修改后的内容重新写入只读存储器301的存储内容即可。
[0077]将状态码寄存器500进行数据锁存的时刻的锁存脉冲CP3的边沿称为状态锁存沿, 实施例中为CP3的上升沿。实施例中,当矩阵式键盘Sl单键按下,经过CPl、CP3两级锁存后, 从CP3的状态锁存沿开始,至下一个CP3的状态锁存沿为止,编码输出端C3~⑶输出键号 〇〇〇〇;当矩阵式键盘S2单键按下,经过CPl、CP3两级锁存后,从CP3的状态锁存沿开始,至下 一个CP3的状态锁存沿为止,输出键号0001;当矩阵式键盘先按下S4后,再按下S2,编码器 300在S2组合键按下,经过CPl、CP3两级锁存后,从CP3的状态锁存沿开始,至下一个CP3的状 态锁存沿为止,输出键号0100;当矩阵式键盘Sl单键释放,经过CPl、CP3两级锁存后,从CP3 的状态锁存沿开始,至下一个CP3的状态锁存沿为止,输出键号0101;因此可以看出,当识别 的是矩阵式键盘的有效按键操作时,编码器300在该有效按键操作后的CP3的状态锁存沿开 始,至下一个CP3的状态锁存沿为止,输出持续时间为一个CP3周期宽度的有效键号。
[0078] 实施例中,当矩阵式键盘S3单键按下时,编码器300在S3单键按下,经过CPl、CP3两 级锁存后,从CP3的状态锁存沿开始,至下一个CP3的状态锁存沿为止,输出键号0010;在接 下来的CP3的状态锁存沿开始,至S3单键按下维持状态结束,经过CPl、CP3两级锁存后的CP3 状态锁存沿为止,编码器300输出键号0011;因此可以看出,当识别的是矩阵式键盘的维持 状态时,编码器300输出有效键号的持续时间与该维持状态的持续时间相适应。
[0079] 当键盘的状态或操作为表2中所述的6个有效的键盘操作与状态之外时,编码器 300输出无效键号111 1。无论是输出有效键号,还是输出无效键号,编码器300改变输出内容 的时刻为CP3的状态锁存沿;实施例中,编码器300改变输出内容的时刻为CP3的上升沿。
[0080] CP3的周期为矩阵式键盘的扫描周期。键盘扫描周期在20ms以上时,能够有效地避 开键盘按键抖动的影响;键盘扫描周期在IOOms以下时,不至于遗漏键盘操作;因此,CP3的 周期应该控制在20~100ms。
[0081] 图7是本实用新型实施例的键盘状态变化脉冲产生单元的电路图。当识别的是矩 阵式键盘的有效按键操作时,编码器300在该有效按键操作后的CP3的状态锁存沿开始,至 下一个CP3的状态锁存沿为止,输出持续时间为一个CP3周期宽度的有效键号。接收所述矩 阵式键盘输出的装置,需要时刻查询矩阵式键盘的输出,获取键号。查询的周期间隔必须小 于CP3的周期。
[0082] 图7所示电路用于判断矩阵式键盘输出的键号是否发生改变,当矩阵式键盘输出 的键号发生改变时,输出键盘状态变化脉冲,用于辅助矩阵式键盘的接收装置接收矩阵式 键盘输出的键号,例如,将键盘状态变化脉冲作为接收装置的中断请求信号。
[0083]图7所示电路由延迟缓冲器601、异或门602、异或门603、异或门604、异或门605、或 门606组成。延迟缓冲器601由只具有触发功能的4个边沿触发器组成,4个边沿触发器的触 发输入端为延迟缓冲器601的接收脉冲输入端,均连接至CP3;延迟缓冲器601在CP3的状态 锁存沿进行数据锁存。
[0084] 延迟缓冲器601用于对编码器300的编码输出端的4位数据C3~CO分别进行延迟处 理。延迟缓冲器601的4个数据输入端D63~D60连接至编码器300的编码输出端C3~C0,延迟 缓冲器601的4个数据输出端Q63~Q60相应输出的数据是C31~C01;C31~COl经过延迟缓冲 器601的一级缓冲后,其信号比C3~CO延迟一个CP3脉冲周期,图8所示为本实用新型实施例 的键盘有效操作的相关波形示意图。设在CP3脉冲的Tl区间,矩阵式键盘存在一次有效操 作,实施例的有效操作包括:Sl单键按下、S2单键按下、S3单键按下、S4+S1组合操作的Sl按 下、S4+S2组合操作的S2按下、Sl单键释放。在一次有效操作的下一个状态锁存沿,即图8中 CP3脉冲Tl区间之后的上升沿,编码器300输出的编码C3~CO发生改变;在T2区间,编码器 300输出一个CP3脉冲周期的有效编码C3~CO;在T3、T4及之后区间,编码器300输出的编码 C3~C0再一次改变且进入维持状态,该维持状态可能是例如Sl单键按下后面的维持状态, 输出无效键号,也可能是S3单键按下后面的维持状态,输出有效键号,直到下一次有效操 作。
[0085]图8中的D6脉冲示意表示编码器300输出的编码C3~CO是处于维持状态,没有变 化,还是发生改变,实际电路中不存在所述的D6脉冲。如图8所示,D6脉冲为低电平,示意表 示编码器300输出的编码C3~CO是处于维持状态,没有变化;D6脉冲为高电平,示意表示编 码器300输出一个周期的有效编码C3~⑶。图8中的Q6反映的是C31~CO 1的变化情况,显然, Q6比D6延迟一个CP3脉冲周期。同样,实际电路中不存在所述的Q6脉冲。
[0086]图8中,编码器300输出的编码C3~CO是处于维持状态,没有变化,还是发生改变, 实际是由4位延迟缓冲器601、异或门602、异或门603、异或门604、异或门605、或门606所组 成的逻辑电路完成。4个异或门分别与编码器300编码输出端C3~CO中的1位相对应,输入分 别为4位延迟缓冲器601的输入、输出信号。例如,异或门602的两个输入信号分别为CO和 COl,C01比CO延迟一个CP3脉冲周期,因此,当CO发生变化时,异或门602输出1个CP3脉冲周 期宽度的正脉冲;当CO为一个CP3脉冲周期宽度变化信号时,异或门602输出2个CP3脉冲周 期宽度的正脉冲。异或门603、异或门604、异或门605分别判断Cl~C3是否发生变化,原理与 判断CO是否发生变化相同。异或门602、异或门603、异或门604、异或门605的输出端分别连 接至或门606的输入端,或门606用于综合判断CO~C3是否发生变化,只要CO~C3发生变化, 或门606即输出键盘状态变化脉冲F,该脉冲为正脉冲。
[0087] 实施例中,延迟缓冲器601选择上升沿触发的8D触发器74HC273。
[0088] 延迟缓冲器601还可以采用其他方案,例如,采用RC电路,利用4个RC电路分别对CO ~C3进行延迟;如果RC电路的延迟时间小于一个CP3脉冲周期,则编码器300输出一个周期 的有效编码C3~CO时,在输出有效编码C3~CO开始和输出有效编码C3~CO结束都产生一个 键盘状态变化脉冲,键盘状态变化脉冲的宽度等于RC电路延迟时间;如果RC电路的延迟时 间大于等于一个CP3脉冲周期,则编码器300输出一个周期的有效编码C3~CO时,在输出有 效编码C3~CO开始时产生一个键盘状态变化脉冲,该脉冲宽度大于等于2个CP3脉冲周期。 要求RC电路的延迟时间不超过2个CP3脉冲周期,以免产生漏报。
[0089]所述的实用新型电路中,将对单键操作、组合键操作、键盘维持状态操作的定位, 由满足特定时序要求的3个脉冲控制转换成同一二进制长度的状态码,采用统一编码的方 式进行处理,单键操作、组合键操作、键盘维持状态操作仅体现在状态码的不同上;如果需 要增减按键操作功能或者是调整按键操作功能,不需要修改键盘扫描电路结构,只需根据 增减后的状态码表更新编码器300、即重新写入更新只读存储器的存储内容即可。所述实用 新型电路没有使用单片机、ARM等微控制器,不用运行程序,工作可靠。
【主权项】
1. 一种矩阵式键盘操作识别及编码电路,其特征在于,由矩阵式键盘、第一移位寄存 器、第二移位寄存器、状态码寄存器、编码器组成; 所述矩阵式键盘共有X行、Y列,设有N位键盘状态信号输出端;所述N位键盘状态信号为 电平信号;所述N=X+Y; 所述第一移位寄存器具有N位并行输入端、N位并行输出端和串行输出端;所述第二移 位寄存器具有串行输入端、N位并行输出端; 所述第一移位寄存器的N位并行输入端连接至N位键盘状态信号输出端;第二移位寄存 器的串行输入端连接至第一移位寄存器的串行输出端;第一移位寄存器、第二移位寄存器 的移位脉冲输入端均连接至移位脉冲,第一移位寄存器的预置脉冲输入端连接至扫描脉 冲; 所述状态码寄存器为2 X N位二进制寄存器;状态码寄存器中的N位数据输入端连接至 第一移位寄存器的N位并行输出端,另外N位数据输入端连接至第二移位寄存器的N位并行 输出端;所述状态码寄存器的接收脉冲输入端连接至锁存脉冲; 所述编码器有2 X N位编码输入端,所述2 X N位编码输入端连接至状态码寄存器的2 X N 位数据输出端;所述编码器有M位键号输出端。2. 根据权利要求1所述的一种矩阵式键盘操作识别及编码电路,其特征在于:所述编码 器为只读存储器。3. 根据权利要求1所述的一种矩阵式键盘操作识别及编码电路,其特征在于:还包括由 振荡器、计数器、脉冲分配器组成的电路;所述扫描脉冲、移位脉冲、锁存脉冲由振荡器、计 数器、脉冲分配器组成的电路产生。4. 根据权利要求3所述的一种矩阵式键盘操作识别及编码电路,其特征在于:所述脉冲 分配器为ROM存储器。5. 根据权利要求1所述的一种矩阵式键盘操作识别及编码电路,其特征在于:还包括键 盘状态变化脉冲产生单元。6. 根据权利要求5所述的一种矩阵式键盘操作识别及编码电路,其特征在于:所述键盘 状态变化脉冲产生单元由M位延迟缓冲器、M个异或门和或门组成;M位延迟缓冲器用于对矩 阵式键盘输出的M位键号分别进行信号延迟;M个异或门的输入分别为M位延迟缓冲器的输 入、输出信号;M个异或门的输出分别连接至或门的输入端;或门的输出端输出键盘状态变 化脉冲。7. 根据权利要求1所述的一种矩阵式键盘操作识别及编码电路,其特征在于:所述矩阵 式键盘由X行-Y列按键矩阵、低电平使能有效行三态缓冲器、高电平使能有效列三态缓冲 器、下降沿锁存有效行状态寄存器、上升沿锁存有效列状态寄存器组成;所有按键矩阵的行 线分别连接至行三态缓冲器的输出端,所有按键矩阵的列线分别连接至列三态缓冲器的输 出端;行三态缓冲器和列三态缓冲器的所有输入端连接至低电平;所有按键矩阵的行线分 别连接至行状态寄存器的输入端,所有按键矩阵的列线分别连接至列状态寄存器的输入 端;所述行状态寄存器的输出端与列状态寄存器的输出端共同组成键盘状态信号输出端。8. 根据权利要求7所述的一种矩阵式键盘操作识别及编码电路,其特征在于:所述低电 平使能有效行三态缓冲器、高电平使能有效列三态缓冲器的使能控制输入端连接至取样脉 冲;所述下降沿锁存有效行状态寄存器、上升沿锁存有效列状态寄存器的接收脉冲输入端 连接至取样脉冲。
【文档编号】H03M11/20GK205490496SQ201620005820
【公开日】2016年8月17日
【申请日】2016年1月5日
【发明人】凌云, 肖伸平, 陈刚, 孔玲爽, 曾红兵
【申请人】湖南工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1