org 0000h
ajmp start
org 0bh
ajmp timer
;初始化
start: mov tmod,#01h
mov th0,#15h
mov tl0,#9fh
mov ie,#82h
mov r0,#0fh
mov r1,#0fh
mov r2,#0fh
mov r3,#50
mov r4,#60
s1: jnb p3.6,$
acall delay
jnb p3.6,s1
clr p3.0
setb tr0
;显示数据
display:mov p1,r0
clr p3.3
acall delay
setb p3.3
mov p1,r1
clr p3.4
acall delay
setb p3.4
mov p1,r2
clr p3.5
acall delay
setb p3.5
ajmp display
;定时中断服务子程序
timer: mov th0,#15h
mov tl0,#9fh
djnz r3,tm4
mov r3,#50
jb p3.6,tm1
acall delay
jb p3.6,tm1
clr tr0
clr p3.7
setb p3.0
ajmp tm4
tm1: djnz r4,tm4
mov r4,#60
cjne r0,#9fh,tm2
mov r0,#0fh
cjne r1,#9fh,tm3
mov r1,#0fh
mov a,r2
add a,#10h
mov r2,a
ajmp tm4
tm2: mov a,r0
add a,#10h
mov r0,a
ajmp tm4
tm3: mov a,r1
add a,#10h
mov r1,a
tm4: reti
;0.5mS延时子程序
delay: mov r6,#0f9h
djnz r6,$
ret
end