程序如下:
ORG?0000H
LJMP?MAIN
ORG?0100H
MAIN:
MOV?DPTR,#TAB;表首址送DPTR
MOV?R1,?#0
MOV?R2,?#0?
M1:
MOV?R0,?#50
LOOP:
CALL?DIS
DJNZ?R0,?LOOP
MOV?A,?R3
ADD?A,?#1
DAA
CJNE?A,?#60H,?SSS
CLR?A
SSS:
MOV?R3,?A;計數值.
MOV?B,?#16
DIV?AB
MOV?R2,?A
MOV?R1,?B
SJMP?M1
;-------------------------------------------------------
DIS:?;顯示程序.
MOV?A,?R2?;顯示十位.
MOVC?A,?@A+DPTR
CLR?P2.1
MOV?P1,?A
SETB?P2.0;十位的位選.
CALL?DLY
MOV?A,?R1?;個位顯示.
MOVC?A,?@A+DPTR
CLR?P2.0;關閉十位的顯示.
MOV?P1,?A
SETB?P2.1;個位的位選.
CALL?DLY
RET
;-------------------------------------------------------
TAB:DB?0xc0,0xf9,0xa4,0xb0,0x99?;***陽極0~9
DB?0x92,0x82,0xf8,0x80,0x90
DLY:MOV?R6,?#14H;10ms延時.
D1:?MOV?R7,?#0F8H
DJNZ?R7,?$
DJNZ?R6,?D1
RET
;-------------------------------------------------------