要讓小燈亮一會兒、滅一會兒,還必須要有一個延時的程序,下面就是讓小燈亮一會兒、滅一會兒,交替閃爍的程序:
MAIN:;程序開始
SETB P1.0;讓P1.0輸出高電平
LCALL DELAY;這一行是調(diào)用延時子程序
;目的是讓P1.0保持高電平
;多停留一段時間
CLR P1.0;讓P1.0輸出低電平
LCALL DELAY;這一行也是調(diào)用延時子程序
;和剛才一樣,讓P1.0保持低
;電平停留一段時間,其實就
;是讓它多亮一會兒再熄滅
LJMP MAIN;跳轉(zhuǎn)到MAIN處執(zhí)行(循環(huán))
;以下是延時子程序,有關(guān)該延時程序的內(nèi)容以后再學
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
在以上匯編程序中,延時子程序每一行的具體含義先不管他,以后慢慢學到,上面的程序需要在一個名為“Keil uVision2”的軟件中匯編完成,匯編后得到一個*.hex文件,這就是目標文件,然后用編程器將該文件“寫”到單片機89s51中,這樣該89s51就具有自動控制小燈閃爍的功能了。
在實驗的時候,通常用發(fā)光二極管LED代替小燈,由于LED工作電壓小,由此LED要串接一個小電阻,用220歐姆——1k之間的都行,我用的是510歐姆的。





