初学单片机,碰巧又是初学汇编程序设计,就突然迸发了一个用汇编程序写一个单片机控制的小程序,流水灯运行。。没想到一次就成功了,眼瞅着单片机开发板上的流水灯在我的指示下跑得那么飘逸,激动啊,单片机才学了2个多星期,汇编还没入门,呵呵,意外。。
其他不是很重要,关键是我通过这个程序,认识了子程序与程序标号的区别,个人感觉很难得,小小记录下。。
ORG 00H
START:
MOV A,#0FFH ; A代表累加器ACC 发光二极管全熄灭1111 1111
CLR C ; C代表进位程序状态字中标志位CY 将C清零 CY = 0
MOV R1 ,#8 ;
LEFT:
RLC A ; 带进位CY在ACC(8位/共9位,以8为周期循环)中左移
MOV P0,A
CALL DELAY
DJNZ R1,LEFT
MOV R2,#7
RIGHT:
RRC A ; 带进位CY在ACC(8位/共9位)中右移
MOV P0,A
CALL DELAY
DJNZ R2,RIGHT
JMP START
DELAY:
MOV R3,#20
D1:
MOV R4,#30
D2:
MOV R5,#20
DJNZ R5,$