$mod51
org 0h
mov dptr,#maled7
mov tmod,#06h
mov th0,#0
setb p2.0
setb p2.1
setb p2.2
setb p1.0
setb tr0
begin:
Mov a,tl0
lcall bin2bcd
mov a,40h
movc a,@a+dptr
mov 40h,a
mov a,41h
movc a,@a+dptr
mov 41h,a
mov a,42h
movc a,@a+dptr
mov 42h,a
lcall display
sjmp begin
display:
Mov p3,40h
clr p2.0
acall delay
setb p2.0
mov p3,41h
clr p2.1
acall delay
setb p2.1
mov p3,42h
clr p2.2
acall delay
setb p2.2
ret
bin2bcd:
Mov b,#10
div ab
mov 40h,b
mov b,#10
div ab
mov 41h,b
mov 42h,a
ret
delay:
Push 7
push 6
mov r7,#10
lp2:
Mov r6,#0ffh
lp1: Djnz r6,lp1
djnz r7,lp2
pop 6
pop 7
ret
maled7:
Db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,98h
end
org 0h
mov dptr,#maled7
mov tmod,#06h
mov th0,#0
setb p2.0
setb p2.1
setb p2.2
setb p1.0
setb tr0
begin:
Mov a,tl0
lcall bin2bcd
mov a,40h
movc a,@a+dptr
mov 40h,a
mov a,41h
movc a,@a+dptr
mov 41h,a
mov a,42h
movc a,@a+dptr
mov 42h,a
lcall display
sjmp begin
display:
Mov p3,40h
clr p2.0
acall delay
setb p2.0
mov p3,41h
clr p2.1
acall delay
setb p2.1
mov p3,42h
clr p2.2
acall delay
setb p2.2
ret
bin2bcd:
Mov b,#10
div ab
mov 40h,b
mov b,#10
div ab
mov 41h,b
mov 42h,a
ret
delay:
Push 7
push 6
mov r7,#10
lp2:
Mov r6,#0ffh
lp1: Djnz r6,lp1
djnz r7,lp2
pop 6
pop 7
ret
maled7:
Db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,98h
end