标题:数码管求大神指导一下
只看楼主
minzhuxian
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:7
专家分:2
注 册:2012-10-10
 问题点数:0 回复次数:0 
数码管求大神指导一下
各位大神来解答一下..老师给我们一个模版要进行调试...按一个按钮显示数码管的数字..求大神来打救一下结合扫描键盘的工作原理(逐列拉低,读行值,从而判断出有无按键按下,哪个键被按下?),设8255A工作于方式0,C口高4位为输入;低4位为输出。再将图13-1中的LED数码显示驱动工作综合考虑进来,8255A的A、B口均需工作于输出状态。得8255A的扫描键盘程序段如下:
    MOV        DPTR,#6000H
    MOV        A,#88H
    MOV    X    @DPTR,A    ;初始化8255A
AGAIN:    MOV        DPTR,#4000H    ;指向C口
    MOV        A,#0FEH;高4位可任意如XEH
    MOVX    @DPTR,A    ;将列线1拉低
    NOP
    MOV        A,@ DPTR
    ANL        A,#0F0H    ;屏蔽低4位
    CJNE        A,#0F0H, KEY159
    LJMP        COL2        ;无键按下转2列
KEY159:CJNE        A,#0E0H,KEY59;不是第1行转
    LJMP        KEY1        ;第1列第1行处理
KEY59:    CJNE        A,#0D0H, KEY913;不是第2行
    LJMP        KEY5         ;第1列第2行处理
KEY913:CJNE        A,#0B0H,KEY13;不是第3行转
    LJMP        KEY9        ;第1列第3行处理
KEY13:    CJNE        A,#70H,AGAIN;干扰重新扫描
    LJMP        KEY13W    ;第1列第4行处理
COL2:    MOV        A,#0FDH;高4位可任意如X7H
    MOVX    @DPTR,A    ;将列线2拉低
    MOV        A, @ DPTR
    ANL        A,#0FH    ;屏蔽高4位
    CJNE        A,#0F0H,KEY26 ;无键按下转3列
    LJMP        COL3
KEY26    …         ;参照第1列处理方法   
COL3:     MOV        A,#0FBH;将列线3拉低
        …         ;参照第2列处理方法
COL4:     MOV        A,#0F7H;将列线4拉低
        …         ;参照第2列处理方法
             LJMP        AGAIN        ;重复键盘扫描
搜索更多相关主题的帖子: 工作原理 数码管 键盘 
2013-07-05 16:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-416733-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059372 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved