51單片機學習10-LED燈閃爍
前面把學習單片機要用的軟件,簡單的提及了下,從這篇開始學習51單片機簡單例子,並通過proteus軟件來仿真驗證結果。最簡單的例子51單片機驅動一個LED,雖然例子簡單,但是包括了很多知識點,比如頭文件,宏定義,位定義,帶參數函數,LED燈驅動電路的限流電阻的選擇等等。
仿真圖如下:
程序代碼如下
源程序
#include
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P1^7; //位定義
void delay_ms(uint);//mS級帶參數延時函數
void main()
{
while(1)
{
LED1=0;
delay_ms(1000);
LED1=1;
delay_ms(1000);
}
}
void delay_ms(uint z) //延時子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
仿真結果如下:
單片機加載keil4編譯生產的Hex文件後,點擊開始運行,LED燈按照間隔1秒的時間開始閃爍
本篇小結:
1.軟件部分-頭文件,宏定義,位定義,帶參數函數。
2.硬件部分-LED燈限流電阻的選取方法
LED燈根據不同的顏色,壓降不同。假定LED的壓降電壓爲1.7V,正常工作的電流爲5mA--20mA,那就可以很簡單的算出R=(5V-1.7V)/(5mA--20mA) 是一個範圍值,然後在範圍能選取一個常用的電阻值即可。
查看原文 >>