一种独立式键盘扫描及编码电路的制作方法_3

文档序号:10441246阅读:来源:国知局
端输出的4位现态键值和4位前态键值共同组成8位状 态码。所述的8位状态码用于识别独立式键盘的当前状态和操作状态。例如,本实施例中,无 键按下的状态码是11111111; S1键单键按下操作的状态码是11111110; S1键单键按下且维 持的状态码是11101110; S1键单键释放操作的状态码是11101111; S2键单键按下操作的状 态码是11111101 ;S4键单键按下操作的状态码是11110111 ;S2+S1组合操作的S1按下操作, 表示先按下S2后,在S2维持按下的状态再按下S1的操作,该操作的状态码是11011100。
[0049] 编码器300用于将状态码转换为键号。实施例中,设有7个有效的键盘操作与状态, 包括:
[0050] 操作0:按键S1的单键按下操作,键号为0000;
[00511操作1:按键S2的单键按下操作,键号为0001;
[0052]操作2:按键S3的单键按下操作,键号为0010;
[0053]操作3:按键S3单键按下后的维持状态,键号为0011;
[0054]操作4:按键S4单键按下后,再按下按键S1的组合键操作,键号为0100;
[0055]操作5:按键S4单键按下后,再按下按键S2的组合键操作,键号为0101;
[0056]操作6:按键S1的单键释放操作,键号为0110。
[0057] 根据上述规定得到的状态码和键号见编码表1:
[0058] 表1编码表
[0060]编码器300为组合逻辑电路,设计电路,满足表1的逻辑关系即可。
[0061 ]实施例的编码器300优选由只读存储器组成。只读存储器有8位地址,共28个4位二 进制存储单元。7个有效的键盘操作与状态有7个有效状态码,对应7个有效的键号;将状态 码作为只读存储器的地址A7~A0,在与7个有效状态码相对应的存储单元中,将相应的键号 作为存储数据写入。7个有效的键盘操作与状态之外产生的状态码为无效状态码,即表1中 的其他操作或状态所产生的为无效状态码;在其他存储单元中,全部写入无效键号,无效键 号为7个有效键号之外的一个值,实施例中,无效键号为111 1。
[0062]只读存储器一直工作在数据输出状态。当只读存储器具有片选控制、数据输出缓 冲控制功能时,应使其片选控制、数据输出缓冲控制处于有效状态。
[0063]实施例中的键号为4位二进制码。键号的二进制位数可以根据需要增加,或者减 少,此时,只需选择与此相匹配的只读存储器即可。设键号的二进制位数为M,M值的选择应 满足2M大于等于有效键号与无效键号的数量之和。当独立式键盘有N位键盘状态信号输出 时,只读存储器301需要有2 X N位地址输入,M位数据输出。
[0064]如果需要增减按键操作功能或者是调整按键操作功能,只需根据需要修改表1,将 修改后的内容重新写入只读存储器的存储内容即可。
[0065]实施例中,当独立式键盘S1单键按下时,编码器300在S1单键按下后的时钟脉冲 CP1的状态锁存沿开始,至下一个时钟脉冲CP1的状态锁存沿为止,编码输出端C3~⑶输出 键号0000;当独立式键盘S2单键按下时,编码器300在S2单键按下后的时钟脉冲CP1的状态 锁存沿开始,至下一个时钟脉冲CP1的状态锁存沿为止,输出键号0001;当独立式键盘先按 下S4后,再按下S1,编码器300在S1组合键按下后的时钟脉冲CP1的状态锁存沿开始,至下一 个时钟脉冲CP1的状态锁存沿为止,输出键号0100;当独立式键盘S1单键释放时,编码器300 在S1单键释放后的时钟脉冲CP1的状态锁存沿开始,至下一个时钟脉冲CP1的状态锁存沿为 止,输出键号0110;因此可以看出,当识别的是独立式键盘的有效按键操作时,编码器300在 该有效按键操作后的时钟脉冲CP1的状态锁存沿开始,至下一个时钟脉冲CP1的状态锁存沿 为止,输出持续时间为一个时钟脉冲CP1周期宽度的有效键号。
[0066]实施例中,当独立式键盘S3单键按下时,编码器300在S3单键按下后的时钟脉冲 CP1的状态锁存沿开始,至下一个时钟脉冲CP1的状态锁存沿为止,输出键号0010;在接下来 的时钟脉冲CP1的状态锁存沿开始,至S3单键按下维持状态结束后的下一个时钟脉冲CP1的 状态锁存沿为止,编码器300输出键号0011;因此可以看出,当识别的是独立式键盘的维持 状态时,编码器300输出有效键号的持续时间与该维持状态的持续时间相适应。
[0067]当键盘的状态或操作为表1中所述的7个有效的键盘操作与状态之外时,编码器 300输出无效键号111 1。无论是输出有效键号,还是输出无效键号,编码器300改变输出内容 的时刻为时钟脉冲CP1的状态锁存沿;实施例中,编码器300改变输出内容的时刻为时钟脉 冲CP1的上升沿。
[0068]时钟脉冲CP1的周期为独立式键盘的扫描周期。键盘扫描周期在20ms以上时,能够 有效地避开了键盘按键抖动的影响;键盘扫描周期在100ms以下时,不至于遗漏键盘操作; 因此,时钟脉冲CP1的周期应该控制在20~100ms。
[0069] 图6是本实用新型实施例的键盘状态变化脉冲产生单元的电路图。当识别的是独 立式键盘的有效按键操作时,编码器300在该有效按键操作后的时钟脉冲CP1的状态锁存沿 开始,至下一个时钟脉冲CP1的状态锁存沿为止,输出持续时间为一个时钟脉冲CP1周期宽 度的有效键号。接收所述独立式键盘输出的装置,需要时刻查询独立式键盘的输出,获取键 号。查询的周期间隔必须小于时钟脉冲CP1的周期。
[0070] 图6所示电路用于判断独立式键盘输出的键号是否发生改变,当独立式键盘输出 的键号发生改变时,输出键盘状态变化脉冲,用于辅助独立式键盘的接收装置接收独立式 键盘输出的键号,例如,将键盘状态变化脉冲作为接收装置的中断请求信号。
[0071] 图6所示电路由延迟缓冲器601、异或门602、异或门603、异或门604、异或门605、或 门606组成。延迟缓冲器601由只具有触发功能的4个边沿触发器组成,4个边沿触发器的触 发输入端为延迟缓冲器601的接收脉冲输入端,均连接至振荡器500的时钟脉冲CP1输出端; 延迟缓冲器601在时钟脉冲CP1的状态锁存沿进行数据锁存。
[0072] 延迟缓冲器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中时钟脉冲CP1T1区间之后的上升沿,编码器300输出的编码C3~C0发生改变;在T2区 间,编码器300输出一个周期的有效编码C3~C0;在T3、T4及之后区间,
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1