求单片机高手帮忙.帮写一个数码管的显示程序.十万火急.谢谢了

2024-12-14 09:05:12
推荐回答(3个)
回答1:

ORG #0000H
LJMP #0030H
MIAN:
MOV DPTR , #TAB ;表头送指针
MOV A, #0H
MOV R2,#2AH ;延时一秒
MOV R3,#3BH
MC: MOV R4,#4CH
DJNZ R3,MC
DJNZ R2,MC
MOV P0,A+@DPTR ;从表中取值
INC A ;自加一,去下一个值
TAB: DB #30H,#29H,#28H,#27H,#26H.........#3H,#2H,#1H,#0H

RET
备注: 程序其实很简单的,但是如果你的硬件里面用了4511等类型的译码器则更容易一些(我的程序就是用4511的),如果没用,就必须把数码管的段值写出来,然后列成表在覆盖我的表就可以了。
再有就是我不知道你使用的晶振是多少,我写的是用的12M晶振。延时是一秒,不过对延时时间要求应该不大吧。最后输出口要注意, 我的程序里是用的P0口,你看看你的硬件然后做相应调整即可。
先就帮到这里吧, 还有什么问题再问我~~ 祝您的问题早日得到解决。~~

回答2:

课程设计~~呵呵,淡定~~~
Take it slowly~~~
这个很简单的,说实话,就是控制位选(就是哪个数码管亮)还有段选(就是你选择的数码管亮什么),然后就是给个寄存器用R0(不是8个寄存器吗,随便一个让其循环)循环30次,还是倒着来~~你懂得,最后来个end就哦了,这样就出来了~~~

回答3:

oijoi