51单片机,汇编语言,流水灯问题,请高手赐教

2025-02-25 18:07:51
推荐回答(4个)
回答1:

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
仿真通过

回答2:

汇编语言的语法我忘了,所以写不出来了,但是我可以告诉你大概思路。流水灯其实就是循环移位,就是某一位不断的移位,移到哪一位,哪个灯就亮了,然后还得应用延时程序,这样才能控制亮灭的时间。
51的话,汇编写就太难了,还是C语言的吧,推荐你看看郭天祥的十天学会单片机,挺好的

回答3:

花样流水灯的玩法,一个51单片机8位端口轮流输出16颗灯珠,

回答4:

http://blog.163.com/asm_c/blog/static/2482031132013426700786/

参考。