共阳极 段码 C0H 显示字符 c 共阴极 段码 39H 共阳极 段码 C6H
1 2
3 4 5 6 7 8
06H 5BH
4FH 66H 6DH 7DH 07H 7FH
F9H A4H
B0H 99H 92H 82H F8H 80H
d E
F P U T y H
5EH 79H
71H 73H 3EH 31H 6EH 76H
DIR1:
MOVX @DPTR,A ;段码→8155HPB口 ACALL DL1ms ;该位显示1ms INC R0 ;指针指向下一个数据单元 MOV A,R3 ;位选码送入A中 JB Acc.5,LD1 ;判断是否扫描到最右边的 RL A ; LED,如到最右边则返回 ;位选码向左移一位
; 右边的下一位LED亮 MOV R3,A ;位选码送R3中保存 AJMP LD0 ; LD1: RET ; DSEG: DB 3FH,06H,5BH,4FH,66H,6DH ;共阴段码
工作过程: (1)在键盘扫描子程序中,先判断有无键按下。 (2)用软件来消除按键抖动的影响。如有键按下, 则进行下一步。 (3)求按下键的键号。
(4)等待按键释放后,再进行按键功能的处理操作。
26
2. 定时扫描工作方式 利用单片机内的定时器,产生10ms的定时中断, 对键盘进行扫描。 3.中断工作方式 只有在键盘有键按下时,才执行键盘扫描程序, 如无键按下,单片机将不理睬键盘。
DB DB 7DH,07H,7FH,6FH,77H,7CH 39H,5EH,79H,71H,73H,3EH
37
DL1ms: DL: DL6:
DB 31H,6EH,1CH,23H,40H,03H DB 18H,00H MOV R7,#02H ;延时1ms子程序 MOV R6,#0FFH DJNZ R6,DL6 DJNZ R7,DL RET