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

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

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

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

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

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

評(píng)論