RSS

矩阵式键盘的结构及工作原理

来源: 作者: 时间:2007-06-25 Tag: 点击:

在每组行输出时读取P1.0-P1.3,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值

  • 为了保证键每闭合一次CPU仅作一次处理,必须却除键释放时的抖动。

  •  

    键盘扫描程序:

    从以上分析得到键盘扫描程序的流程图如图2所示。程序如下

    SCAN: MOV P1,#0FH

    MOV A,P1

    ANL A,#0FH

    CJNE A,#0FH,NEXT1

    SJMP NEXT3

    NEXT1: ACALL D20MS

    MOV A,#0EFH

    NEXT2: MOV R1,A

    MOV P1,A

    MOV A,P1

    ANL A,#0FH

    CJNE A,#0FH,KCODE;

    MOV A,R1

    SETB C

    RLC A

    JC NEXT2

    NEXT3: MOV R0,#00H

    RET

    KCODE: MOV B,#0FBH

    NEXT4: RRC A

    INC B

    JC NEXT4

    MOV A,R1

    SWAP A

    NEXT5: RRC A

    INC B

    INC B

    INC B

    INC B

    JC NEXT5

    NEXT6: MOV A,P1

    ANL A,#0FH

    CJNE A,#0FH,NEXT6

    MOV R0,#0FFH

    RET

    键盘处理程序就作这么一个简单的介绍,实际上,键盘、显示处理是很复杂的,它往往占到一个应用程序的大部份代码,可见其重要性,但说到,这种复杂并不来自于单片机的本身,而是来自于操作者的习惯等等问题,因此,在编写键盘处理程序之前,最好先把它从逻辑上理清,然后用适当的算法表示出来,最后再去写代码,这样,才能快速有效地写好代码。


    1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
    2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.


    最新评论共有 0 位网友发表了评论
    发表评论
    评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
    用户名: 密码:
    匿名?
    注册
    教程下载