前面把學習單片機要用的軟件,簡單的提及了下,從這篇開始學習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) 是一個範圍值,然後在範圍能選取一個常用的電阻值即可。

查看原文 >>
相關文章