这个是显示程序的一小段,我不太理解ADD A ,#(D_TAB-$-3)这个是什么意思啊,想改成DPTR之类的容易理解一点,求大家帮帮忙啊。
ADD A, #(D_TAB-$-3)
MOVC A, @A + PC
MOV P0, A
RET
这段显示程序
DISP: ;显示一遍约有10ms
PUSH ACC
PUSH B
;------------------------
MOV A, R4 ;取来选手号码
CALL OUT_DM ;输出段码
CLR P1.0 ;显示
CALL DELAY
SETB P1.0
;------------------------
MOV A, #10
CALL OUT_DM ;输出段码
CLR P1.1 ;显示'-'
CALL DELAY
SETB P1.1
;------------------------
MOV A, R3 ;取来秒数
MOV B, #10
DIV AB
CALL OUT_DM ;输出段码
CLR P1.2 ;显示十位
CALL DELAY
SETB P1.2
;------------------------
MOV A, B
CALL OUT_DM ;输出段码
CLR P1.3 ;显示个位
CALL DELAY
SETB P1.3
;------------------------
POP B
POP ACC
RET
;------------------------
OUT_DM:
ADD A, #(D_TAB-$-3)
MOVC A, @A + PC
MOV P0, A
RET
;------------------------
D_TAB:
DB 0C0H,0F9H,0A4H,0B0H, 99H ;共阳极0-9
DB 92H, 82H,0F8H, 80H, 90H,0BFH ;-
|