51单片机控制LED汇编显示程序

AT89c51控制3个共阳级LED数码管P0P1P2口分别控制一个LED,要求P2口动态显示到9后P1口加一显示,P1口动态显示到9后P0口加一显示,显示到999后清零循... AT89c51控制3个共阳级LED数码管 P0 P1 P2口分别控制一个LED,要求P2口动态显示到9后P1口加一显示,P1口动态显示到9后P0口加一显示,显示到999后清零循环。拜托哪位高人给编一下
起初是000
展开
 我来答
阿鹏溜溜溜1H
2010-04-16 · TA获得超过253个赞
知道小有建树答主
回答量:42
采纳率:0%
帮助的人:39.1万
展开全部
程序思想如下 可以想象成一个整数000每次加1后显示一次知道999后溢出跳回起点继续,程序如下
ORG 0000H
AJMP START
START: MOV 30H,#00H ;数码管显示初值
MOV 31H,#00H
MOV 40H,#00H ;显示增量
MOV 41H,#01H
STL1: ACALL LED ;LED显示
ACALL DELAY0.5S
ACALL BCDADD
MOV A,30H
ANL A,#0F0H
JNZ START ;判断是不是超过999
AJMP STL1
BCDADD: CLR C
MOV A,31H
ADDC A,41H
DA A
MOV 31H,A
MOV A,30H
ADDC A,40H
DA A
MOV 30H,A
RET
LED: MOV A,30H
ANL A,#0FH
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
MOV A,31H
ANL A,#0F0H
SWAP A
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
MOV A,31H
ANL A,#0FH
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
RET
DELAY0.5S: MOV R6,#200
SL1: MOV R5,#250
SL2: NOP
DJNZ R5,SL2
DJNZ R6,SL1
RET
TAB: DB 0C0H ;0
DB 0F9H ;1
DB 0A4H ;2
DB 0B0H ;3
DB 099H ;4
DB 092H ;5
DB 082H ;6
DB 0F8H ;7
DB 080H ;8
DB 090H ;9
DB 088H ;A
DB 083H ;B
DB 0C6H ;C
DB 0A1H ;D
DB 086H ;E
DB 08EH ;F
END

PS1:延迟0.5秒的晶振是3.57MHZ
PS2:希望我的LED显示代码没写错,我是认为你是0-7接的A-DP
PS3:百度的显示格式真恶心 将就着看吧 程序倒是应该没有什么错误
P4:程序已经修改 重新拷贝一下吧
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青城孤子
2010-04-15 · 知道合伙人教育行家
青城孤子
知道合伙人教育行家
采纳数:146 获赞数:483
公司STM32 BLDC核心工程师

向TA提问 私信TA
展开全部
自己下个仿真软件试着写一下,看看结果应该没问题的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
让择电子
2010-04-15 · 超过27用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:60.3万
展开全部
P0,P1,P2都分别控制一个LED了,还是动态显示吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光部落阿强
2010-04-15 · TA获得超过424个赞
知道小有建树答主
回答量:716
采纳率:0%
帮助的人:287万
展开全部
你要现成的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式