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日
|