
51单片机,汇编语言,流水灯问题,请高手赐教
本人初学单片机,用的是汇编语言,怎么才能写出一个让8个流水灯依次跑动一圈后,然后第一个个灯常亮,再从第二个灯开始跑,跑一圈后第二个灯常亮,再从第三个灯开始跑,跑一圈后第三...
本人初学单片机,用的是汇编语言,怎么才能写出一个让8个流水灯依次跑动一圈后,然后第一个个灯常亮,再从第二个灯开始跑,跑一圈后第二个灯常亮,再从第三个灯开始跑,跑一圈后第三个灯常亮,一直到第八个灯为止,然后再续个熄灭!一直找不到思路,只能请教大家了,如果能给我一个流程图,小的不胜感激!
展开
4个回答
展开全部
ORG 0000H
LJMP START
ORG 0080H
START: MOV R7,#08H
MOV R4,#0FFH
PPP1: MOV R6,#7FH
MOV A,R7
MOV R5,A
PPP: MOV A,R6
RL A
MOV R6,A
ANL A,R4
MOV P1,A
MOV R0,#0FFH ;延时
MOV R1,#0FFH
PPP2: DJNZ R1,$
DJNZ R0,PPP2
DJNZ R5,PPP
MOV A,R4
CLR C
RRC A
MOV R4,A
DJNZ R7,PPP1
CLR A
CPL A
MOV P1,A
MOV R0,#0FFH ;延时
MOV R1,#0FFH
PPP3: DJNZ R1,$
DJNZ R0,PPP3
SJMP START
END
仿真通过
LJMP START
ORG 0080H
START: MOV R7,#08H
MOV R4,#0FFH
PPP1: MOV R6,#7FH
MOV A,R7
MOV R5,A
PPP: MOV A,R6
RL A
MOV R6,A
ANL A,R4
MOV P1,A
MOV R0,#0FFH ;延时
MOV R1,#0FFH
PPP2: DJNZ R1,$
DJNZ R0,PPP2
DJNZ R5,PPP
MOV A,R4
CLR C
RRC A
MOV R4,A
DJNZ R7,PPP1
CLR A
CPL A
MOV P1,A
MOV R0,#0FFH ;延时
MOV R1,#0FFH
PPP3: DJNZ R1,$
DJNZ R0,PPP3
SJMP START
END
仿真通过
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2025-08-04 广告
联系方式:13671592388上海实邦电子科技有限公司是一家专业电子产品开发与ODM/OEM/电子制造服务(EMS)企业,具有多年基于消费电子产品、工业自动化产品、机电控制产品的PCBA开发与生产经验,更有多年的单片机开发及工业控制电路设...
点击进入详情页
本回答由上海实邦电子科技提供
展开全部
汇编语言的语法我忘了,所以写不出来了,但是我可以告诉你大概思路。流水灯其实就是循环移位,就是某一位不断的移位,移到哪一位,哪个灯就亮了,然后还得应用延时程序,这样才能控制亮灭的时间。
51的话,汇编写就太难了,还是C语言的吧,推荐你看看郭天祥的十天学会单片机,挺好的
51的话,汇编写就太难了,还是C语言的吧,推荐你看看郭天祥的十天学会单片机,挺好的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
花样流水灯的玩法,一个51单片机8位端口轮流输出16颗灯珠,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询