两个数码管交替显示一个数,是很简单的,以下例程,数码管分别为P0,P1口共阴极。交替显示0~9.
ORG 0000H
JMP BEGIN
ORG 0030H
TABLE: ; 共阴极数码管显示代码表
DB 3FH,06H,5BH,4FH,66H ;01234
DB 6DH,7DH,07H,7FH,6fh ;56789
DELAY: MOV R5,#20
LOOP4: MOV R6,#50H ;延时20X20ms
LOOP5: MOV R7,#100
DJNZ R7,$
DJNZ R6,LOOP5
DJNZ R5,LOOP4
RET
;---------------------------------------
BEGIN:
MOV R2,#0
LOOP:
MOV DPTR,#TABLE
MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
MOV P1,#00H
LCALL DELAY
MOV P1,A
MOV P0,#00H
INC R2
CJNE R2,#10,LOOP
SJMP BEGIN
END
假设P1接1组数码管,P2接一组数码管,不考虑点亮时间长短的话,汇编程序如下:
ORG 0
TT: MOV P1,#3FH
NOP
NOP
NOP
MOV P2, #6CH
NOP
NOP
NOP
SJMP TT
END