51单片机的经典跑马灯程序,功能是使接在51单片机P1口的8个发光二极管来回轮流闪亮,形成来回流动的效果,使用《51单片机流水灯硬件系统》文中的硬件即可组成实际的跑马灯系统。具体程序和注释如下:
ORG 0 ;程序从0地址开始
;左移程序=======================================
START: MOV A,#0FEH ;让ACC的内容为11111110
LOOP: MOV R0,#7 ;R0寄存器加载7次数
LOOPL: MOV P1,A ;让P1口输出ACC的内容
RL A ;让ACC的内容左移
CALL DELAY ;调用延时子程序
DJNZ R0,LOOPL ;LOOPL循环执行R0次
;右移程序=======================================
MOV R0,#7 ;R0寄存器加载7次数
LOOPR: MOV P1,A ;让P1口输出ACC的内容
RR A ;让ACC的内容右移
CALL DELAY ;调用延时子程序
DJNZ R0,LOOPR ;LOOPR循环执行R0次数
LJMP LOOP ;跳到LOOP处执行
;0.1秒延时子程序(12MHz晶振)=====================
DELAY: MOV R7,#200 ;R7寄存器加载250次数
D1: MOV R6,#250 ;R6寄存器加载200次数
DJNZ R6,$ ;本行循环执行R6次
DJNZ R7,D1 ;D1循环执行R7次
RET ;返回主程序
END ;主程序结束
原创文章如转载,请注明:转载自萬用電路板 [ http://www.jiangx.net/ ]