發(fā)光二極管
發(fā)光二極管簡稱為LED。由鎵、砷、磷的化合物制成的二極管,當(dāng)電子與空穴復(fù)合時能輻射出可見光,因而可以用來制成發(fā)光二極管。在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。磷砷化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光。
發(fā)光二極管與普通二極管一樣也具有單向?qū)щ娦浴.?dāng)給發(fā)光二極管加上大于其導(dǎo)通電壓的正向電壓后,就會有電流產(chǎn)生,同時發(fā)出相應(yīng)顏色的光,不同顏色的二極管的工作也是不一樣的,一般發(fā)光二極管的工作電壓是2V,其工作電流大多為5—20mA,因此如果用5V的電源進(jìn)行供電則需要加入限流電阻,其阻值由下式計算:
R=U-Ue/I
圖3.1.1 LED工作原理圖
單片機(jī)的I/O口有兩種狀態(tài)“1”和“0”,當(dāng)為“1”時其管腳輸出為高電平,即為5V,當(dāng)為“0”時為低電平,即為0V。
由上圖可以,當(dāng)P0.0為高時發(fā)光二級管兩端電壓相同,即不會產(chǎn)生電流,發(fā)光二極管就不會發(fā)光,當(dāng)P0.0為低時,5V和P0.0就會有5V的電壓,就會有電流流過LED0,使發(fā)光二極管發(fā)光。這樣我們通過控制單片機(jī)的I/O口的高低電平就能實現(xiàn)對LED 的亮滅控制。
3.1.1使LED間隔亮滅
圖3.1.3 LED間隔亮滅程序
單片機(jī)IO口 模塊接口 杜邦線數(shù)量 功能
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間隔亮滅接線方式
實驗現(xiàn)象:LED間隔亮滅,第一個LED不亮,第二個亮,第三個不亮……
圖3.1.4 LED間隔亮滅運(yùn)行圖
程序講解:
1、#include在reg52.h中有為單片機(jī)中特殊寄存器定義的宏,例如P0對應(yīng)的寄存器為0X90,直接用P0就代替了枯燥的數(shù)字,減輕程序員的記憶內(nèi)容。
2、main()函數(shù)。C 程序最大的特點(diǎn)就是所有的程序都是用函數(shù)來裝配的。main()稱之為主函數(shù),是所有程 序運(yùn)行的入口。其余函數(shù)分為有參或無參兩種,均由 main()函數(shù)或其它一般函數(shù)調(diào)用,若調(diào)用的是有參函數(shù),則參數(shù)在調(diào)用時傳遞。一個程序有且只有一個 main 函數(shù)。
3、while()。計算機(jī)的一種基本循環(huán)模式。當(dāng)括號內(nèi)表達(dá)式的值為“1”進(jìn)入循環(huán),不滿足則跳出。因為本程序只是使一個I/O口拉低,因此在循環(huán)里不需要任何內(nèi)容。
3.1.2 一個LED閃爍
圖3.1.4 LED閃爍流程圖
延時原理:單片機(jī)每執(zhí)行一條指令都需要一定的時間(t),如果某條指令執(zhí)行N次那么所耗費(fèi)的時間將會是T=N*t;我們可以通過改變N的大小來改變延時的時間長短。
圖3.1.5 實物連線圖
杜邦線連接——單片機(jī)IO和模塊接口
單片機(jī)IO口 模塊接口 杜邦線數(shù)量 功能
P0.0 LED1 1 LED閃亮
表3.1.2 LED閃爍接線方式
圖3.1.6 LED閃爍程序
程序講解:
sbit 這個關(guān)鍵字是C51中特有的,用于定義 SFR(特殊功能寄存器)的位變量。sbit LED=P0^0; 表示定義發(fā)光管連接的硬件端口, LED 定義在P1 (特殊功能寄存器的第0位,即P1.0,定義了這個端口以后,下面對P1.0的操作,我們就可以直接用 LED 代替,
LED=1; //將P1.0 口賦值 1,對外輸出高電平
LED=0; //將P1.0 口賦值 0,對外輸出低電平
由于sbit定義位變量,所以賦值結(jié)果只有 0和 1。
實驗現(xiàn)象:開發(fā)板上的第一個LED閃亮
-
led
+關(guān)注
關(guān)注
242文章
23780瀏覽量
672284 -
二極管
+關(guān)注
關(guān)注
148文章
10068瀏覽量
170949 -
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44956瀏覽量
648703 -
發(fā)光二極管
+關(guān)注
關(guān)注
13文章
1216瀏覽量
67444
發(fā)布評論請先 登錄
如何利用單片機(jī)控制LED的亮滅
如何去實現(xiàn)單片機(jī)開關(guān)控制LED亮滅的代碼程序呢
使用51單片機(jī)控制數(shù)碼管的動靜態(tài)顯示和控制LED亮滅的程序及資料

在單片機(jī)上使用開關(guān)控制LED亮滅的程序免費(fèi)下載

使用51單片機(jī)UART通信進(jìn)行發(fā)送和接收數(shù)及控制LED亮滅的程序說明

實現(xiàn)單片機(jī)控制LED燈循環(huán)亮滅的proteus仿真電路和程序免費(fèi)下載

使用51單片機(jī)實現(xiàn)按下LED亮松開滅的簡單按鍵程序免費(fèi)下載

使用51單片機(jī)按鍵控制LED亮滅和單個IO翻轉(zhuǎn)的程序免費(fèi)下載

評論