;**********************************************************************
DISPLAY:
MOV A,29H
MOV B,#10 ;10进制/10=10进制
DIV AB
MOV B_BIT,A ;十位在A
MOV A_BIT,B ;个位在B
MOV R0,#4
CLR C;多加的
DPL1: MOV R1,#250 ;显示1000次
DPLOP:
MOV DPTR,#NUMTAB
MOV A,TD
MOVC A,@A+DPTR ;查通道的7段代码
MOV P0,A ;送出十位的7段代码
CLR P2.3 ;开通道显示
ACALL D1MS ;显示1MS
SETB P2.3
MOV DPTR,#NUMTAB1
MOV A,A_BIT ;取个位数
MOVC A,@A+DPTR ;查个位数的7段代码
MOV P0,A ;送出个位的7段代码
CLR P2.1 ;开个位显示
ACALL D1MS ;显示1MS
SETB P2.1
MOV DPTR,#NUMTAB
MOV A,B_BIT ;取十位数
MOVC A,@A+DPTR ;查十位数的7段代码
MOV P0,A ;送出十位的7段代码
CLR P2.2 ;开十位显示
ACALL D1MS ;显示1MS
SETB P2.2
JC XSW;多加的
MOV A,31H
MOV B,#160
DIV AB
MOV XS,B
XSW: MOV A,XS
MOVC A,@A+DPTR
MOV P0,A
CLR P2.0
ACALL D1MS
SETB P2.0
SETB C;多加的
DJNZ R1,DPLOP ;250次没完循环
DJNZ R0,DPL1 ;4个250次没完循环
RET;1MS延时(按12MHZ算)
D1MS: MOV R7,#80
DJNZ R7,$
RET
NUMTAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,7FH,7FH,7FH,7FH,7FH,7FH
NUMTAB1:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH