編寫一個點亮LED的小程序,沒你想象的那麼複雜!

編寫一個點亮LED的小程序,沒你想象的那麼複雜!

在剛開始入門學習時,其中一個製作就是2032電池點亮LED,那麼如何編寫程序控制單片機I/O點亮LED呢?

單片機I/O(即IN/OUT)能輸出高低電平,高電平指+5V,低電平指0V(GND),先回顧一下前面點亮LED的電路(這裡用的是5V電源),見圖

編寫一個點亮LED的小程序,沒你想象的那麼複雜!

點亮LED

一、單片機I/O輸出低電平點亮LED

1.電路圖

假如將上圖中的負極換為P1.0,通過編程控制P1.0輸出低電平(即0V),LED1是不是點亮呢?電路如下圖,那程序如何編寫呢?

編寫一個點亮LED的小程序,沒你想象的那麼複雜!

LED1的負極連接到P1.0

2.元器件清單

編寫一個點亮LED的小程序,沒你想象的那麼複雜!

3.程序設計

#include〈reg52.h〉//52系列單片機頭文件。

sbit led=P1^0;//聲明LED接在P1.0,這裡注意區分大小寫

void main()//主函數

{

led=0; //P1.0接口輸出低電平

while(1); //程序停止到這裡

}

4.程序解釋

①在程序中,sbit小寫,P應大寫,“led”你可以起別的名字,注意不能與c語言中的關鍵字相同,例如main,它在C語言發明的時候就被佔用了。

②#include<reg52.h> 後面沒有分號。/<reg52.h>

③主函數main在一個程序中有且只有一個。

④C語言編寫程序用分號表示一句結束。

⑤“//”用於解釋本語句的作用。換行時,需要重新打上“//”。

⑥P1^0是單片機P1.0引腳在程序中的表示方法。“^”與數字“6”在一個鍵盤按鍵上,同時按住“shift”+“6”,就可以打出“^”符號。

6.C語言基礎知識

主函數

void main()

{

語句;

}

單片機運行程序總是從主函數開始,主函數之前都是一些聲明、定義。

7.下載程序

請你“照貓畫虎”,將上面的程序在keil4中認真寫一遍,下載完成,在軟件的下方顯示“0 Error(s),0 Warning(s)”,即“零錯誤,零敬告”,恭喜你程序沒有出錯。

編寫一個點亮LED的小程序,沒你想象的那麼複雜!

程序編譯無誤

打開STC-ISP軟件,下載程序,

編寫一個點亮LED的小程序,沒你想象的那麼複雜!

下載程序進度條

程序下載後,P1.0所接的LED點亮。

編寫一個點亮LED的小程序,沒你想象的那麼複雜!

點亮LED

如果程序下載不成功,首先檢查硬件電路,尤其是USB-ISP模塊與單片機連接是否正常;其次,點擊USB-ISP軟件界面下方“停止”,重新冷啟動下載。

那麼剛才是讓單片機輸出低電平,能不能編寫程序單片機輸出高電平,點亮LED?在程序中只需將“led=0;”改為“led=1;”。


分享到:


相關文章: