独立式键盘扫描定位电路的制作方法_2

文档序号:9910425阅读:来源:国知局
[0032]独立式键盘扫描定位电路的工作原理如下:
[0033]缓冲寄存器100、状态码寄存器200在CP时钟脉冲控制下,在CP的每一个周期的有 效触发沿进行数据锁存。图3中,74HC273为上升沿触发有效,因此,CP时钟脉冲的有效触发 沿为上升沿。
[0034] 状态码寄存器200的8个数据输入端中的4个数据输入端D20~D23直接连接至独立 式键盘输出的状态信号11、12、13、14,另外4个数据输入端D24~D27连接至缓冲寄存器100 的数据输出端Q10~Q13,缓冲寄存器100的4个数据输入端D10~D13直接连接至独立式键盘 输出的状态信号II、12、13、14,因此,在CP时钟脉冲的有效触发沿,状态码寄存器200的8个 数据输出端中,与直接连接至独立式键盘输出的状态信号Π 、12、13、14相对应的4个数据输 出端Q20~Q23锁存的数据为独立式键盘的当前状态,其4位数据称为现态键值;与连接至缓 冲寄存器100的数据输出端相对应的4个数据输出端Q24~Q27锁存的数据为独立式键盘的 前一状态,其4位数据称为前态键值。状态码寄存器200数据输出端输出的4位现态键值和4 位前态键值共同组成8位状态码。
[0035]所述的8位状态码用于识别独立式键盘的当前状态和操作状态。例如,本实施例 中,无键按下的状态码是11 111 111; S1键单键按下操作的状态码是111 11110; S1键单键按下 且维持的状态码是11101110; S1键单键释放操作的状态码是11101111; S2键单键按下操作 的状态码是11111101 ;S4键单键按下操作的状态码是11110111 ;S2+S1组合操作的S1按下操 作,表示先按下S2后,在S2维持按下的状态再按下S1的操作,该操作的状态码是11011100。 [0036]编码器300用于将状态码转换为键号。实施例中,设有7个有效的键盘操作与状态, 包括:
[0037]操作0:按键S1的单键按下操作,键号为0000;
[0038]操作1:按键S2的单键按下操作,键号为0001;
[0039] 操作2:按键S3的单键按下操作,键号为0010;
[0040] 操作3:按键S3单键按下后的维持状态,键号为0011;
[00411操作4:按键S4单键按下后,再按下按键S1的组合键操作,键号为0100;
[0042]操作5:按键S4单键按下后,再按下按键S2的组合键操作,键号为0101;
[0043]操作6:按键S1的单键释放操作,键号为0110。
[0044] 根据上述规定得到的状态码和键号见编码表1:
[0045] 表1编码表
[0046]
[0047]编码器300为组合逻辑电路,设计电路,满足表1的逻辑关系即可。
[0048]实施例的编码器300优选由只读存储器301组成。只读存储器301有8位地址,共28 个4位二进制存储单元。7个有效的键盘操作与状态有7个有效状态码,对应7个有效的键号; 将状态码作为只读存储器301的地址A7~A0,在与7个有效状态码相对应的存储单元中,将 相应的键号作为存储数据写入。7个有效的键盘操作与状态之外产生的状态码为无效状态 码,即表1中的其他操作或状态所产生的为无效状态码;在其他存储单元中,全部写入无效 键号,无效键号为7个有效键号之外的一个值,实施例中,无效键号为1111。
[0049]只读存储器301-直工作在数据输出状态。当只读存储器301具有片选控制、数据 输出缓冲控制功能时,应使其片选控制、数据输出缓冲控制处于有效状态。
[0050] 实施例中的键号为4位二进制码。键号的二进制位数可以根据需要增加,或者减 少,此时,只需选择与此相匹配的只读存储器301即可。设键号的二进制位数为M,M值的选择 应满足2 M大于等于有效键号与无效键号的数量之和。当独立式键盘有N位键盘状态信号输 出时,只读存储器301需要有2 X N位地址输入,Μ位数据输出。
[0051] 如果需要增减按键操作功能或者是调整按键操作功能,只需根据需要修改表1,将 修改后的内容重新写入只读存储器301的存储内容即可。
[0052]实施例中,当独立式键盘S1单键按下时,编码器300在S1单键按下后的CP时钟脉冲 的有效触发沿开始,至下一个CP时钟脉冲的有效触发沿为止,编码输出端C3~C0输出键号 〇〇〇〇;当独立式键盘S2单键按下时,编码器300在S2单键按下后的CP时钟脉冲的有效触发沿 开始,至下一个CP时钟脉冲的有效触发沿为止,输出键号0001;当独立式键盘先按下S4后, 再按下S1,编码器300在S1组合键按下后的CP时钟脉冲的有效触发沿开始,至下一个CP时钟 脉冲的有效触发沿为止,输出键号0100;当独立式键盘S1单键释放时,编码器300在S1单键 释放后的CP时钟脉冲的有效触发沿开始,至下一个CP时钟脉冲的有效触发沿为止,输出键 号0110;因此可以看出,当识别的是独立式键盘的有效按键操作时,编码器300在该有效按 键操作后的CP时钟脉冲的有效触发沿开始,至下一个CP时钟脉冲的有效触发沿为止,输出 持续时间为一个CP时钟脉冲周期宽度的有效键号。
[0053]实施例中,当独立式键盘S3单键按下时,编码器300在S3单键按下后的CP时钟脉冲 的有效触发沿开始,至下一个CP时钟脉冲的有效触发沿为止,输出键号0010;在接下来的CP 时钟脉冲的有效触发沿开始,至S3单键按下维持状态结束后的下一个CP时钟脉冲的有效触 发沿为止,编码器300输出键号0011;因此可以看出,当识别的是独立式键盘的维持状态时, 编码器300输出有效键号的持续时间与该维持状态的持续时间相适应。
[0054]当键盘的状态或操作为表1中所述的7个有效的键盘操作与状态之外时,编码器 300输出无效键号111 1。无论是输出有效键号,还是输出无效键号,编码器300改变输出内容 的时刻为CP时钟脉冲的有效触发沿;实施例中,编码器300改变输出内容的时刻为CP时钟脉 冲的上升沿。
[0055] CP时钟脉冲的周期为独立式键盘的扫描周期。键盘扫描周期在20ms以上时,能够 有效地避开了键盘按键抖动的影响;键盘扫描周期在100ms以下时,不至于遗漏键盘操作; 因此,CP时钟脉冲的周期应该控制在20~100ms。
[0056]图4是本发明实施例的键盘状态变化脉冲产生单元的电路图。当识别的是独立式 键盘的有效按键操作时,编码器300在该有效按键操作后的CP时钟脉冲的有效触发沿开始, 至下一个CP时钟脉冲的有效触发沿为止,输出持续时间为一个CP时钟脉冲周期宽度的有效 键号。接收所述独立式键盘输出的装置,需要时刻查询独立式键盘的输出,获取键号。查询 的周期间隔必须小于CP时钟脉冲的周期。
[0057]图4所示电路用于判断独立式键盘输出的键号是否发生改变,当独立式键盘输出 的键号发生改变时,输出键盘状态变化脉冲,用于辅助独立式键盘的接收装置接收独立式 键盘输出的键号,例如,将键盘状态变化脉冲作为接收装置的中断请求信号。
[0058]图4所示电路由延迟缓冲器601、异或门602、异或门603、异或门604、异或门605、或 门606组成。延迟缓冲器601由只具有触发功能的4个边沿触发器组成,4个边沿触发器的触 发输入端为延迟缓冲器601的接收脉冲输入端,均连接至振荡器500的CP时钟脉冲输出端; 延迟缓冲器601在CP时钟脉冲的有效触发沿进行数据锁存。
[0059] 延迟缓冲器601用于对编码器300的编码输出端的4位数据C3~C0分别进行延迟处 理。延迟缓冲器601的4个数据输入端D63~D60连接至编码器300的编码输出端C3~C0,延迟 缓冲器601的4个数据输出端Q63~Q60相应输出的数据是C31~C01;C31~C01经过延迟缓冲 器601的一级缓冲后,其信号比C3~C0延迟一个CP时钟脉冲周期
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1