RE20: DJNZ R3,RE20
RRC A
DJNZ R2,RE01
MOV @R1,A
DEC R1
DJNZ R4,RE00
RET
;显示子程序
DISPLAY: MOV A,29H ;将29H中的十六进制数转换成10进制
MOV B,#10 ;10进制/10=10进制
DIV AB
MOV B_BIT,A ;十位在a
MOV A_BIT,B ;个位在b
MOV DPTR,#NUMTAB ;指定查表启始地址
MOV R0,#4
DPL1: MOV R1,#250 ;显示1000次
DPLOP: MOV A,A_BIT ;取个位数
MOVC A,@A+DPTR ;查个位数的7段代码
MOV P1,A ;送出个位的7段代码
CLR P3.7 ;开个位显示
ACALL D1MS ;显示1ms
SETB P3.7
MOV A,B_BIT ;取十位数
MOVC A,@A+DPTR ;查十位数的7段代码
MOV P1,A ;送出十位的7段代码CLR P3.5 ;开十位显示
ACALL D1MS ;显示1ms
SETB P3.5
DJNZ R1,DPLOP ;250次没完循环
DJNZ R0,DPL1 ;4个250次没完循环
RET
;1MS延时(按12MHZ算)
D1MS: MOV R7,#80
DJNZ R7,$
RET
;7段数码管0~9数字的共阳显示代码
NUMTAB: DB 081H,0CFH,092H,086H,0CCH,0A4H,0A0H,08FH,080H,084H
END
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.

