HOUR DATA 30H
MIN DATA 31H
SEC DATA 32H
cont data 33h
CNTH equ high(15536)
CNTL equ low(15536)
NUM equ 20
ORG 0
LJMP START
org 000bh
ljmp t0int
START: MOV HOUR,#23H
MOV MIN,#58H
MOV SEC,#56H
mov tmod,#01
mov ie,#82h
mov th0,#CNTH
mov tl0,#CNTL
mov cont,#num
setb tr0
MAIN0: LCALL DISP
SJMP MAIN0
t0int: push acc
clr tr0
mov a,#CNTL
add a,#7
mov tl0,a
mov a,#CNTH
addc a,#0
mov th0,a
setb tr0
djnz cont,quit
mov cont,#num
mov a,sec
add a,#1
da a
mov sec,a
cjne a,#60h,quit
mov sec,#0
mov a,min
add a,#1
da a
mov min,a
cjne a,#60h,quit
mov min,#0
mov a,hour
add a,#1
da a
mov hour,a
cjne a,#24h,quit
mov hour,#0
quit: pop acc
reti
DISP: MOV DPTR,#TAB
MOV R7,#3
MOV R1,#HOUR
MOV R4,#1H
LOP0: MOV A,@R1
ANL A,#0F0H
SWAP A
MOVC A,@A+DPTR
CPL A
MOV P1,A
MOV A,R4
MOV P3,A
LCALL DELAY
MOV P1,#0FFH
RL A
MOV P3,A
RL A
MOV R4,A
MOV A,@R1
ANL A,#0FH
MOVC A,@A+DPTR
orl a,#80h
CPL A
MOV P1,A
LCALL DELAY
MOV P1,#0FFH
INC R1
DJNZ R7,LOP0
RET
DELAY: MOV R5,#10H
MOV R6,#0
DEL0: DJNZ R6,$
DJNZ R5,DEL0
RET
TAB: DB 3FH,6,5BH,4FH,66H,6DH,7DH,7,7FH,6FH
; 0 1 2 3 4 5 6 7 8 9
END
|