點亮 LED 小燈的程序我們第二課完成了,就是讓 LED = 0。熄滅小燈的程序也很簡單,就是 LED = 1。點亮和熄滅都會了,那么如果我們在亮和滅中間加個延時,反復(fù)不停的點亮和熄滅小燈,就成了閃爍了。
我們首先復(fù)習(xí)一下 Keil 寫程序的過程,建立工程-->保存工程-->建立文件-->添加文件到工程-->編寫程序-->編譯-->下載程序。
LED 閃爍程序?qū)τ谟?C 基礎(chǔ)的同學(xué)來說很簡單,那我先寫出來,大家可以先看下。沒有 C 語言基礎(chǔ)的同學(xué)也可以跟著抄一遍,下節(jié)課我會補充部分 C 語言基礎(chǔ)知識,這樣你先抄一遍后,再跟著看 C 語言基礎(chǔ)知識的時候也比較容易理解透徹。
#include<reg52.h>
sbit LED = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main(){ //void 即函數(shù)類型
//以下為聲明語句部分
unsigned int i = 0; //定義一個無符號整型變量 i,并賦初值0
//以下為執(zhí)行語句部分
ENLED = 0; //U3、U4 兩片 74HC138 總使能
ADDR3 = 1; //使能 U3 使之正常輸出
ADDR2 = 1; //經(jīng) U3 的 Y6 輸出開啟三極管 Q16
ADDR1 = 1;
ADDR0 = 0;
while (1){
LED = 0; //點亮小燈
for (i=0; i<30000; i++); //延時一段時間
LED = 1; //熄滅小燈
for (i=0; i<30000; i++); //延時一段時間
}
}
大家把這個程序編譯一下,下載到單片機里,就會發(fā)現(xiàn) LED2 這個小燈會閃爍了。