矩阵式键盘扫描电路及方法_2

文档序号:9910426阅读:来源:国知局
输入EN2高电平有效;EN1和EN2均连接至振荡器500的取样脉冲CK输出端。行状态寄存器403 与列状态寄存器404的接收脉冲输入端CLK3、CLK4均连接至振荡器500的取样脉冲CK输出 端,行状态寄存器403在取样脉冲CK的下降沿进行数据锁存,列状态寄存器404在取样脉冲 CK的上升沿进行数据锁存。
[0036]当行三态缓冲器401和列三态缓冲器402使用同型号的三态缓冲器,例如,同时使 用三态缓冲器74HC241时,74HC241的使能输入为高电平有效,因此,在取样脉冲CK输出端与 行三态缓冲器401的使能输入端EN1之间,需要增加一个非门。同样地,当行状态寄存器403 和列状态寄存器404使用同型号的数据寄存器,例如,行状态寄存器403和列状态寄存器404 均使用双D触发器74HC74组成数据寄存器时,74HC74的触发输入为上升沿有效,因此,在取 样脉冲CK输出端与行状态寄存器403的接收脉冲输入端CLK3之间,需要增加一个非门。 [0037]图1中的第一移位寄存器100、第二移位寄存器200、状态码寄存器500、编码器300 组成扫描电路,其实施例电路图如图3所示。实施例矩阵式键盘电路输出的状态信号有4位, 因此,第一移位寄存器100为具有并行输入、串行输出功能的4位二进制移位寄存器,第二移 位寄存器200为具有串行输入、并行输出功能的8位二进制移位寄存器。第一移位寄存器100 的4个并行输入端L0~L3依次连接至11、12、13、14,第二移位寄存器200的串行输入端D2连 接至第一移位寄存器100的串行输出端Q1。第一移位寄存器100、第二移位寄存器200的移位 脉冲输入端CLKUCLK2均连接至移位脉冲CP2,第一移位寄存器100的预置脉冲输入端CLK0 连接至扫描脉冲CP1。
[0038] 状态码寄存器500要求寄存8位二进制数据,其8位数据输入端D57~D50连接至第 二移位寄存器200的8位并行输出端Q27~Q20;状态码寄存器500的接收脉冲输入端CLK5连 接至扫描脉冲CP1。
[0039] 编码器300的8个输入端A7~A0连接至状态码寄存器500的8个数据输出端Q57~ Q50。编码器300输出经过扫描编码确定的4位二进制键号。
[0040]图3实施例中,第一移位寄存器100可以选择由74HC165等具有并行输入、串行输出 功能的中规模集成移位寄存器组成,或者是由边沿触发器组成。第二移位寄存器200可以选 择由74HC164等具有串行输入、并行输出功能的中规模集成移位寄存器组成,或者由边沿触 发器组成。由边沿触发器组成第一移位寄存器100、第二移位寄存器200时,优选由边沿触发 的D触发器组成。状态码寄存器500由边沿触发器组成,优选由边沿触发的D触发器组成,例 如,选择双D触发器74HC74,或者4D触发器74HC175,或者8D触发器74HC273组成。
[00411图3实施例中,编码器300为只读存储器。只读存储器的地址输入端A7~A0为编码 器300的输入端,只读存储器的数据输出端D3~D0为编码器300的编码输出端C3~C0。
[0042]矩阵式键盘扫描电路的扫描方法及工作原理如下:
[0043] 扫描编码电路在扫描脉冲CP1、移位脉冲CP2的控制下工作,相关的脉冲时序图如 图4所示。
[0044] 实施例中CP1、CP2的时序满足以下要求:在一个周期中,CP1有1个脉冲,CP2有4个 脉冲;各脉冲按照1个CP1脉冲、4个CP2脉冲的顺序周而复始。
[0045] 满足时序要求的CP1、CP2脉冲可以由各种脉冲分配器产生,图5是本发明实施例的 脉冲电路原理图,由振荡器801、计数器802、脉冲分配器803组成。图4中的时钟脉冲CP由振 荡器产生,CP送至计数器802进行计数,计数器802为10进制计数器,其结果P的10个状态(数 值)依次为P0-P9,如图4所示。实施例中的脉冲分配器803采用ROM存储器实现,在此称为脉 冲分配ROM存储器。脉冲分配ROM存储器的地址输入连接至计数器802的计数输出,脉冲分配 ROM存储器的2位数据输出端分别输出为CP 1脉冲、CP2脉冲。脉冲分配ROM存储器的写入内容 见表1。
[0046] 表1脉冲分配ROM存储器数据表
[0047]
[0048] 表1中的ROM存储器地址,即计数器输出至少为4位二进制码。一般情况下,计数器 802如果采用二进制加法规则,则P0~P9顺序对应4位二进制码0000~1001,即ROM存储器地 址范围为〇〇〇〇~1001,地址〇〇〇〇~1001的存储内容为表1中P0~P9对应的内容。
[0049] 脉冲分配ROM存储器需要2位数据输出。设脉冲分配ROM存储器的地址输入有R位, 当矩阵式键盘有N位键盘状态信号输出时,R的选择需要满足2 1?大于等于2 X (N+1)。
[0050] 振荡器801为多谐振荡器。扫描脉冲CP1的周期为20~100ms<XPl、CP2也可以由矩 阵式键盘扫描电路之外的电路或者装置提供。
[0051] 图2中,矩阵式键盘的4个按键以2X2的矩阵形式排列,所有的行线与列线都通过 上拉电阻接至电源+VCC。矩阵式键盘由取样脉冲CK控制,采用反转法获取键盘状态信号14、 13、12、11。例如,没有键按下的键盘状态信号是1111,31按下的键盘状态信号是1010,31、32 同时按下的键盘状态信号是0010。键盘状态信号的4位二进制码称为键值。取样脉冲CK可以 选择扫描脉冲CP1、移位脉冲CP2中的一个,优选将移位脉冲CP2同时作为取样脉冲CK。
[0052]取样脉冲CK控制对矩阵式键盘进行采样读取键值的方法是:在取样脉冲CK的低电 平,通过行三态缓冲器401控制所有行线输出低电平,列三态缓冲器402输出高阻态开放列 线;在取样脉冲CK的上升沿由列状态寄存器404采样读取列线状态作为键值的高2位;在取 样脉冲CK的高电平,通过列三态缓冲器402控制所有列线输出低电平,行三态缓冲器401输 出高阻态开放行线;在取样脉冲CK的下降沿由行状态寄存器403采样读取行线状态作为键 值的低2位;上述过程周而复始,列状态寄存器404、行状态寄存器403输出的4位键值始终为 矩阵式键盘的最新状态。
[0053]从取样脉冲CK控制对矩阵式键盘进行采样读取键值的方法可知,行三态缓冲器 401在取样脉冲CK的低电平使能有效时,同时要求列状态寄存器404在取样脉冲CK的上升沿 进行数据锁存、列三态缓冲器402在取样脉冲CK的高电平使能有效、行状态寄存器403在取 样脉冲CK的下降沿进行数据锁存。反过来,如果行三态缓冲器401在取样脉冲CK的高电平使 能有效时,同时要求列状态寄存器404在取样脉冲CK的下降沿进行数据锁存、列三态缓冲器 402在取样脉冲CK的低电平使能有效、行状态寄存器403在取样脉冲CK的上升沿进行数据锁 存。
[0054]在上述取样脉冲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,此时的延迟时间为所述几个门电路的总时延时间。
[0055]第一移位寄存器100在扫描脉冲CP1的控制下,对矩阵式键盘400输出的状态信号 I1、I2、I3、I4进行数据输入锁存,此时第一移位寄存器100内部的锁存的数据称为当前键 值。第二移位寄存器200在之前的二个周期经由8个CP2脉冲的控制,将前二个当前键值移位 至第二移位寄存器200输出端,此时第二移位寄存器200输出中先移入的4位数据称为现态 键值,后移入的4位数据称为前态键值。
[0056]扫描脉冲CP1将第二移位寄存器200输出的现态键值、前态键值锁存在状态码寄存 器500的输出端,状态码寄存器500的输出同样为前态键值与现态键值。
[0057] 第一移位寄存器100
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1