原理图就不给你画了,下面是我根据89c51做的一个汇编程序,每1/20秒进入计时中断0,p0输出共阴极数码管码,p2.7\6\5控制6个数码管进行动态显示。程序可以运行,当然,后来也有改进版的,可惜不记得放哪了,将就着用吧
org 0000h
ajmp main
org 0003h
ajmp zhongduan0
org 000bh
ajmp jishi1
org 0013h
ajmp zhongduan1
org 001bh
ajmp jishi0
org 0100h
main:
mov 0a8h,#8fh ;开中断
mov 0b8h,#00h ;设优先级
clr it0
clr it1
mov 89h,#11h ; 开计时器
clr tr1
clr tr0
mov tl1,#0afh
mov th1,#3ch
mov tl0,#0afh
mov th0,#3ch
mov r3,#5ah
mov r4,#00h
mov 32h,#14h
mov r5,#5ah
mov r6,#00h
mov 42h,#14h
mov r0,#5ah
mov r1,#51h
ajmp xianshi
xianshi:
mov dptr,#zhuangma
mov a,r3
mov b,#0ah
div ab
movc a,@a+dptr
mov p0,#0ffh
mov p2,#0e0h
mov p0,a
mov a,b
movc a,@a+dptr
mov p0,#0ffh
mov p2,#0c0h
mov p0,a
mov a,r4
mov b,#0ah
div ab
movc a,@a+dptr
mov p0,#0ffh
mov p2,#0a0h
mov p0,a
mov a,b
movc a,@a+dptr
mov p0,#0ffh
mov p2,#80h
mov p0,a
mov a,r5
mov b,#0ah
div ab
movc a,@a+dptr
mov p0,#0ffh
mov p2,#60h
mov p0,a
mov a,b
movc a,@a+dptr
mov p0,#0ffh
mov p2,#40h
mov p0,a
mov a,r6
mov b,#0ah
div ab
movc a,@a+dptr
mov p0,#0ffh
mov p2,#20h
mov p0,a
mov a,b
movc a,@a+dptr
mov p0,#0ffh
mov p2,#00h
mov p0,a
ajmp xianshi
zhongduan0:
clr tr0
setb tr1
reti
zhongduan1:
clr tr1
setb tr0
reti
jishi0:
mov tl0,#0afh
mov th0,#3ch
djnz 32h,on5
mov 32h,#14h
cjne r4,#00h,loop1
cjne r3,#00h,loop2
clr ea
reti
loop1:mov a,#01h
xch a,r4
subb a,r4
xch a,r4
reti
loop2:mov a,#01h
xch a,r3
subb a,r3
xch a,r3
mov r4,#3ch
reti
jishi1:
mov tl0,#0afh
mov th0,#3ch
djnz 42h,on5
mov 42h,#14h
cjne r6,#00h,loop3
cjne r5,#00h,loop4
clr ea
reti
loop3:mov a,#01h
xch a,r6
subb a,r6
xch a,r6
reti
loop4:mov a,#01h
xch a,r5
subb a,r5
xch a,r5
mov r6,#3ch
reti
on5:reti
zhuangma:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh
end
去单片机网站 那里边图多的是
百度一下:89C51
百度一下:TV005