發光二極管
發光二極管簡稱為LED。由鎵、砷、磷的化合物制成的二極管,當電子與空穴復合時能輻射出可見光,因而可以用來制成發光二極管。在電路及儀器中作為指示燈,或者組成文字或數字顯示。磷砷化鎵二極管發紅光,磷化鎵二極管發綠光,碳化硅二極管發黃光。
發光二極管與普通二極管一樣也具有單向導電性。當給發光二極管加上大于其導通電壓的正向電壓后,就會有電流產生,同時發出相應顏色的光,不同顏色的二極管的工作也是不一樣的,一般發光二極管的工作電壓是2V,其工作電流大多為5—20mA,因此如果用5V的電源進行供電則需要加入限流電阻,其阻值由下式計算:
R=U-Ue/I
圖3.1.1 LED工作原理圖
單片機的I/O口有兩種狀態“1”和“0”,當為“1”時其管腳輸出為高電平,即為5V,當為“0”時為低電平,即為0V。
由上圖可以,當P0.0為高時發光二級管兩端電壓相同,即不會產生電流,發光二極管就不會發光,當P0.0為低時,5V和P0.0就會有5V的電壓,就會有電流流過LED0,使發光二極管發光。這樣我們通過控制單片機的I/O口的高低電平就能實現對LED 的亮滅控制。
3.1.1使LED間隔亮滅
圖3.1.3 LED間隔亮滅程序
單片機IO口 模塊接口 杜邦線數量 功能
P0.0 LED1 1 控制LED1
P0.1 LED2 1 控制LED2
P0.2 LED3 1 控制LED3
P0.3 LED4 1 控制LED4
P0.4 LED5 1 控制LED5
P0.5 LED6 1 控制LED6
P0.6 LED7 1 控制LED7
P0.7 LED8 1 控制LED8
表3.1.1 LED間隔亮滅接線方式
實驗現象:LED間隔亮滅,第一個LED不亮,第二個亮,第三個不亮……
圖3.1.4 LED間隔亮滅運行圖
程序講解:
1、#include在reg52.h中有為單片機中特殊寄存器定義的宏,例如P0對應的寄存器為0X90,直接用P0就代替了枯燥的數字,減輕程序員的記憶內容。
2、main()函數。C 程序最大的特點就是所有的程序都是用函數來裝配的。main()稱之為主函數,是所有程 序運行的入口。其余函數分為有參或無參兩種,均由 main()函數或其它一般函數調用,若調用的是有參函數,則參數在調用時傳遞。一個程序有且只有一個 main 函數。
3、while()。計算機的一種基本循環模式。當括號內表達式的值為“1”進入循環,不滿足則跳出。因為本程序只是使一個I/O口拉低,因此在循環里不需要任何內容。
3.1.2 一個LED閃爍
圖3.1.4 LED閃爍流程圖
延時原理:單片機每執行一條指令都需要一定的時間(t),如果某條指令執行N次那么所耗費的時間將會是T=N*t;我們可以通過改變N的大小來改變延時的時間長短。
圖3.1.5 實物連線圖
杜邦線連接——單片機IO和模塊接口
單片機IO口 模塊接口 杜邦線數量 功能
P0.0 LED1 1 LED閃亮
表3.1.2 LED閃爍接線方式
圖3.1.6 LED閃爍程序
程序講解:
sbit 這個關鍵字是C51中特有的,用于定義 SFR(特殊功能寄存器)的位變量。sbit LED=P0^0; 表示定義發光管連接的硬件端口, LED 定義在P1 (特殊功能寄存器的第0位,即P1.0,定義了這個端口以后,下面對P1.0的操作,我們就可以直接用 LED 代替,
LED=1; //將P1.0 口賦值 1,對外輸出高電平
LED=0; //將P1.0 口賦值 0,對外輸出低電平
由于sbit定義位變量,所以賦值結果只有 0和 1。
實驗現象:開發板上的第一個LED閃亮
-
led
+關注
關注
242文章
23362瀏覽量
663244 -
二極管
+關注
關注
147文章
9706瀏覽量
167584 -
單片機
+關注
關注
6043文章
44621瀏覽量
638625 -
發光二極管
+關注
關注
13文章
1205瀏覽量
66513
發布評論請先 登錄
相關推薦
使用51單片機控制數碼管的動靜態顯示和控制LED亮滅的程序及資料
![使用51<b class='flag-5'>單片機</b><b class='flag-5'>控制</b>數碼管的動靜態顯示和<b class='flag-5'>控制</b><b class='flag-5'>LED</b><b class='flag-5'>亮</b><b class='flag-5'>滅</b>的程序及資料](https://file.elecfans.com/web1/M00/A5/C0/o4YBAF12C8SAQjVmAANsMbq09g0596.png)
使用51單片機UART通信進行發送和接收數及控制LED亮滅的程序說明
![使用51<b class='flag-5'>單片機</b>UART通信進行發送和接收數及<b class='flag-5'>控制</b><b class='flag-5'>LED</b><b class='flag-5'>亮</b><b class='flag-5'>滅</b>的程序說明](https://file.elecfans.com/web1/M00/A4/E2/pIYBAF1l8meAP17KAAG3PqFC-ng417.png)
實現單片機控制LED燈循環亮滅的proteus仿真電路和程序免費下載
![<b class='flag-5'>實現</b><b class='flag-5'>單片機</b><b class='flag-5'>控制</b><b class='flag-5'>LED</b>燈循環<b class='flag-5'>亮</b><b class='flag-5'>滅</b>的proteus仿真電路和程序免費下載](https://file.elecfans.com/web1/M00/A4/AC/pIYBAF1jpWuART97AAIzQQTSCN8896.png)
評論