双向流水灯的程序——汇编版

开始当一个周期后,会出现所有灯都熄灭的状态,再重新点亮
分析原因
P3值   R1
1-1111 1111-0             7            1
1-1111 1110-1             6            2
。。。
1-0111 1111-1             0            8
1-1011 1111-1             7            1
1-1101 1111-1             6            2
。。。
1-1111 1110-1             2            7
 
故将MOV R1, #08H,改为MOV R1, #07H,结果符合预期
 
另外,好习惯加入CLR C
 
最终程序如下:
ORG 00H
MOV A, #0FFH
CLR C
MOV R1, #08H
TURNRIGHT:
MOV P1, A
RLC A
CALL DELAY
DJNZ R1,TURNRIGHT
MOV R1, #07H
JMP TURNLEFT
 
TURNLEFT:
MOV P1, A
RRC A
CALL DELAY
DJNZ R1,TURNLEFT
MOV R1, #07H
JMP TURNRIGHT
 
DELAY:
MOV R3,#50
D1:
MOV R4,#20H
D2:
MOV R5,#248
DJNZ R5,$; R5-1 != 0 则循环该语句
DJNZ R4,D2
DJNZ R3,D1
RET  ;返回主程序
 

END 

期待 发表于09-23 17:37 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

期待
期待(总统)
金币:32857个|学分:67568个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号