独立式键盘扫描电路及扫描编码方法_3

文档序号:9910421阅读:来源:国知局
该操作的状态码是 11011100。
[0053]编码器300用于将状态码转换为键号。实施例中,设有7个有效的键盘操作与状态, 包括:
[0054]操作0:按键S1的单键按下操作,键号为0000;
[0055]操作1:按键S2的单键按下操作,键号为0001;
[0056]操作2:按键S3的单键按下操作,键号为0010;
[0057]操作3:按键S3单键按下后的维持状态,键号为0011;
[0058]操作4:按键S4单键按下后,再按下按键S1的组合键操作,键号为0100;
[0059]操作5:按键S4单键按下后,再按下按键S2的组合键操作,键号为0101;
[0060]操作6:按键S1的单键释放操作,键号为0110。
[0061 ] 根据上述规定得到的状态码和键号见编码表1:
[0062] 表1编码表 「00631

[0064]~编码器300为组合逻辑电路,设计的编码电路满足表1的逻辑关系即可。 '
[0065]实施例的编码器300优选由只读存储器组成。所选只读存储器有8位地址,共28个4 位二进制存储单元。7个有效的键盘操作与状态有7个有效状态码,对应7个有效的键号;将 状态码作为只读存储器的地址A7~A0,在与7个有效状态码相对应的存储单元中,将相应的 键号作为存储数据写入。7个有效的键盘操作与状态之外产生的状态码为无效状态码,即表 1中的其他操作或状态所产生的为无效状态码;在其他存储单元中,全部写入无效键号,无 效键号为7个有效键号之外的一个值,实施例中,无效键号为111 1。
[0066]只读存储器一直工作在数据输出状态。当只读存储器具有片选控制、数据输出缓 冲控制功能时,应使其片选控制、数据输出缓冲控制处于有效状态。
[0067]实施例中的键号为4位二进制码。键号的二进制位数可以根据需要增加,或者减 少,此时,只需选择与此相匹配的只读存储器即可。设键号的二进制位数为M,M值的选择应 满足2M大于等于有效键号与无效键号的数量之和。当独立式键盘有N位键盘状态信号输出 时,只读存储器301需要有2 X N位地址输入,Μ位数据输出。
[0068]如果需要增减按键操作功能或者是调整按键操作功能,只需根据需要修改表1,将 修改后的内容重新写入只读存储器的存储内容即可。
[0069]将状态码寄存器500进行数据锁存的时刻的扫描脉冲CP1的边沿称为状态锁存沿, 实施例中为CP1的上升沿。实施例中,当独立式键盘S1单键按下时,编码器300在S1单键按 下,经过CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,编码 输出端C3~⑶输出键号0000;当独立式键盘S2单键按下时,编码器300在S2单键按下,经过 CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出键号 0001;当独立式键盘先按下S4后,再按下S1,编码器300在S1组合键按下,经过CP1预置、锁存 后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出键号0100;当独立式键 盘先按下S4后,再按下S2,编码器300在S2组合键按下,经过CP1预置、锁存后,从CP1的状态 锁存沿开始,至下一个CP1的状态锁存沿为止,输出键号0101;当独立式键盘S1单键释放时, 编码器300在si单键释放,经过CP1预置、锁存后,从CP1的状态锁存沿开始,至下一个CP1的 状态锁存沿为止,输出键号0110;因此可以看出,当识别的是独立式键盘的有效按键操作 时,编码器300在该有效按键操作后的CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为 止,输出持续时间为一个CP1周期宽度的有效键号。
[0070] 实施例中,当独立式键盘S3单键按下时,编码器300在S3单键按下,经过CP1预置、 锁存后,从CP1的状态锁存沿开始,至下一个CP1的状态锁存沿为止,输出键号0010;在接下 来的CP1的状态锁存沿开始,至S3单键按下维持状态结束,经过CP1预置、锁存后,从CP1的状 态锁存沿开始,至下一个CP1的状态锁存沿为止,编码器300输出键号0011;因此可以看出, 当识别的是独立式键盘的维持状态时,编码器300输出有效键号的持续时间与该维持状态 的持续时间相适应。
[0071] 当键盘的状态或操作为表1中所述的7个有效的键盘操作与状态之外时,编码器 300输出无效键号111 1。无论是输出有效键号,还是输出无效键号,编码器300改变输出内容 的时刻为CP1的状态锁存沿;实施例中,编码器300改变输出内容的时刻为CP1的上升沿。
[0072] CP1的周期为独立式键盘的扫描周期。键盘扫描周期在20ms以上时,能够有效地避 开键盘按键抖动的影响;键盘扫描周期在100ms以下时,不至于遗漏键盘操作;因此,CP1的 周期应该控制在20~100ms。
[0073] 图7是本发明实施例的键盘状态变化脉冲产生单元的电路图。当识别的是独立式 键盘的有效按键操作时,编码器300在该有效按键操作后的CP1的状态锁存沿开始,至下一 个CP1的状态锁存沿为止,输出持续时间为一个CP1周期宽度的有效键号。接收所述独立式 键盘输出的装置,需要时刻查询独立式键盘的输出,获取键号。查询的周期间隔必须小于 CP1的周期。
[0074] 图7所示电路用于判断独立式键盘输出的键号是否发生改变,当独立式键盘输出 的键号发生改变时,输出键盘状态变化脉冲,用于辅助独立式键盘的接收装置接收独立式 键盘输出的键号,例如,将键盘状态变化脉冲作为接收装置的中断请求信号。
[0075]图7所示电路由延迟缓冲器601、异或门602、异或门603、异或门604、异或门605、或 门606组成。延迟缓冲器601由只具有触发功能的4个边沿触发器组成,4个边沿触发器的触 发输入端为延迟缓冲器601的接收脉冲输入端,均连接至CP1;延迟缓冲器601在CP1的状态 锁存沿进行数据锁存。
[0076] 延迟缓冲器601用于对编码器300的编码输出端的4位数据C3~C0分别进行延迟处 理。延迟缓冲器601的4个数据输入端D63~D60连接至编码器300的编码输出端C3~C0,延迟 缓冲器601的4个数据输出端Q63~Q60相应输出的数据是C31~C01;C31~C01经过延迟缓冲 器601的一级缓冲后,其信号比C3~C0延迟一个CP1脉冲周期,图8所示为本发明实施例的键 盘有效操作的相关波形示意图。设在CP1脉冲的T1区间,独立式键盘存在一次有效操作,实 施例的有效操作包括:S1单键按下、S2单键按下、S3单键按下、S4+S1组合操作的S1按下、S4+ S2组合操作的S2按下、S1单键释放。在一次有效操作的下一个状态锁存沿,即图8中CP1脉冲 T1区间之后的上升沿,编码器300输出的编码C3~C0发生改变;在T2区间,编码器300输出一 个CP1脉冲周期的有效编码C3~C0;在T3、T4及之后区间,编码器300输出的编码C3~C0再一 次改变且进入维持状态,该维持状态可能是例如S1单键按下后面的维持状态,输出无效键 号,也可能是S3单键按下后面的维持状态,输出有效键号,直到下一次有效操作。
[0077]图8中的D6脉冲示意表示编码器300输出的编码C3~C0是处于维持状态,没有变 化,还是发生改变,实际电路中不存在所述的D6脉冲。如图8所示,D6脉冲为低电平,示意表 示编码器300输出的编码C3~C0是处于维持状态,没有变化;D6脉冲为高电平,示意表示编 码器300输出一个周期的有效编码C3~⑶。图8中的Q6反映的是C31~CO 1的变
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1