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日