您的位置:首页 > 移动开发 > 微信开发

流水灯汇编语言小程序

2010-04-09 22:56 471 查看
初学单片机,碰巧又是初学汇编程序设计,就突然迸发了一个用汇编程序写一个单片机控制的小程序,流水灯运行。。没想到一次就成功了,眼瞅着单片机开发板上的流水灯在我的指示下跑得那么飘逸,激动啊,单片机才学了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,$ ;R5减1,不为0,则执行本行

DJNZ R4,D2 ;R4减1,不为0,则跳转到D2标号的程序开始处

DJNZ R3,D1 ;R3减1,不为0,则跳转到D1标号的程序开始处

RET

END

;1——这里LEFT,RIGHT,DELAY不是子程序,而只是标号,标号只是用来标记地址,方便程序员识别,以及程序中跳转时,以标号表示地址方便、直观

;2——不是子程序的特点表现在:当主程序中没有调用这个子程序时,该子程序等于没写,而标号的 ,是真个程序的一部分,程序执行时,

;3——按着从上到下的顺序执行,不是只有在其他跳转指令跳转到这个标号处,该标号对应的程序才执行

;4——一般的子程序用proc,endp标记
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐