ORG 000H;设置起始地址
START:
MOV A,#0FFH;向A寄存器中载入十六进制数0FFH
D2: SUBB A,#1;A寄存器中数据减一
call DE ;调入延时程序(修改延时时间可以实现水滴效果)
MOV R1,A;将寄存器A中数据传送给R1
MOV P1,R1;输出(外接8个LED,共阳极接法,低电平有效)
DJNZ R1,D2;检测R2是否为零,否则跳到D2处继续执行
JMP START;无条件跳转至开始
DE: ;延时程序
mov R3,#50
L1: MOV R4,#50
L2: MOV R5,#50
DJNZ R5,$
DJNZ R4,L2
DJNZ R3,L1
RET
END
这是个非常优美的流水灯程序,8个LED接单片P1口,首先LED1闪烁慢慢移动至LED2变常亮,接着LED2常亮LED1闪烁移至LED3常亮,接着LED2灭,LED1闪烁移至LED2常亮,等LED1亮后,LED4亮,LED3.LED2灭,LED1闪烁····,一直到8个LED常亮后重新开始!(好美)修改延时时间可以实现水滴效果哦!
程序编写:蓝色梦幻
2013年5月19日