单片机试验三:跑马灯试验
第一种:
ORG 1000H
LJMP BEGIN
BEGIN: MOV A,#11111110B ;低电平对应的发光二极管亮
MOV P1,A ;将值送到P1口,第一只点亮
LCALL DL ;调用延时
MOV A,#11111101B
MOV P1,A ;第二只点亮
LCALL DL ;调用延时
MOV A,#11111011B
MOV P1,A ;第三只点亮
LCALL DL ;调用延时
MOV A,#11110111B
MOV P1,A ;第四只点亮
LCALL DL ;调用延时
MOV A,#11101111B
MOV P1,A ;第五只点亮
LCALL DL ;调用延时
MOV A,#11011111B
MOV P1,A ;第六只点亮
LCALL DL ;调用延时
MOV A,#10111111B
MOV P1,A ;第七只点亮
LCALL DL ;调用延时
MOV A,#01111111B
MOV P1,A ;第八只点亮
LCALL DL ;调用延时
LJMP BEGIN ;循环
DL: MOV R7,#0A3H ;延时程序
DL1: MOV R6,#0FFH
DL2: DJNZ R6,DL2
DJNZ R7,DL1
RET
END
第二种:
ORG 0100H
LJMP BEGIN
BEGIN: MOV A,#11111110B
LOOP: MOV P1,A
MOV R5,#2
DEL0: MOV R6,#250
DEL1: MOV R7,#250
DEL2: DJNZ R7,DEL2
DJNZ R6,DEL1
DJNZ R5,DEL0
RRC A ;循环右移一位点亮下一个发光二极管
LJMP LOOP ;循环
END
两种区别在于第二种使用了RRC指令,这说明编程序要充分利用指令,这样效率才高。
单片机试验跑马 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)