《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中LED發(fā)光二極管的編程探討
單片機(jī)中LED發(fā)光二極管的編程探討
摘要: 單片機(jī)是使用最多的一個(gè)CPU器件,而發(fā)光二極管的使用是單片機(jī)最常用的器件。本文對(duì)發(fā)光二級(jí)管的工作原理和最常見(jiàn)的編程方法進(jìn)行介紹和總結(jié),并給出了完整的程序。
Abstract:
Key words :

 

0 引言

  單片機(jī)由于體積小、價(jià)格低廉、功能強(qiáng)、可靠性高、面向控制和價(jià)格低廉等優(yōu)點(diǎn),不僅成為工業(yè)測(cè)控領(lǐng)域使用的智能化控制工具,而且已滲入到人們工作和生活的各個(gè)角落。在工科學(xué)校中基本都開(kāi)設(shè)有《單片機(jī)原理及應(yīng)用》這門(mén)課,而對(duì)所有學(xué)習(xí)單片機(jī)的人來(lái)說(shuō)最入門(mén)的就是對(duì)發(fā)光二級(jí)管LED的控制。

  1 發(fā)光二級(jí)管的工作原理

  發(fā)光二極管Light- Emitting Diode 簡(jiǎn)稱(chēng)為L(zhǎng)ED,由鎵(Ga)與砷(As)、磷(P)的化合物制成的二極管。發(fā)光二極管與普通二極管一樣是由一個(gè)PN結(jié)組成,也具有單向?qū)щ娦浴.?dāng)給發(fā)光二極管加上正向電壓后,從P區(qū)注入到N區(qū)的空穴和由N區(qū)注入到P區(qū)的電子,在PN結(jié)附近數(shù)微米內(nèi)分別與N 區(qū)的電子和P區(qū)的空穴復(fù)合,產(chǎn)生自發(fā)輻射的熒光,因而可以用來(lái)制成發(fā)光二極管。在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示。磷砷化鎵二極管發(fā)紅光,磷化鎵二極管發(fā)綠光,碳化硅二極管發(fā)黃光。

  LED只能往一個(gè)方向?qū)?,發(fā)光二極管的反向擊穿電壓約5 伏。它的正向伏安特性曲線(xiàn)很陡,使用時(shí)必須串聯(lián)限流電阻以控制通過(guò)管子的電流來(lái)控制LED 的亮度。限流電阻R 可用下式計(jì)算:

  R=(E-UF)/IF

  式中E為電源電壓,UF 為L(zhǎng)ED的正向壓降,IF 為L(zhǎng)ED 的一般工作電流。

  2  LED 的編程方法

  假設(shè)LED 的連接電路圖如圖1 所示,八個(gè)紅色發(fā)光二極管通過(guò)限流電阻分別接到單片機(jī)P1 端口的8 個(gè)引腳上,單片機(jī)選用AT89C51.

  2.1 單個(gè)發(fā)光二極管的控制

單個(gè)發(fā)光二極管的控制

  在圖1 中,如圖所示,如果要使發(fā)光二極管D1 點(diǎn)亮,由于D1 的正極通過(guò)電阻R1 接到電源VCC 上,那么D1要正向?qū)ū仨毷笵1 的陰極為低電平,也就是P1.0 引腳為低電平,這個(gè)可以通過(guò)軟件可以控制,完整的C51 程序如下:

完整的C51 程序

  同樣的,如果要使發(fā)光二極管D1 一亮一滅不停地閃爍,則工作原理是讓D1 點(diǎn)亮并延時(shí)一段時(shí)間,接著使D1熄滅并延時(shí)一段時(shí)間并不斷的循環(huán),這樣就可以觀察到D1 一亮一滅不停地閃爍。延時(shí)可以采用軟件延時(shí)或者定時(shí)計(jì)數(shù)器定時(shí)延時(shí)兩種方式,本文采用軟件延時(shí),其工作原理是利用每條指令運(yùn)行都需要一定的時(shí)鐘周期,運(yùn)行一定數(shù)量的時(shí)鐘周期可以實(shí)現(xiàn)延時(shí)的功能,本圖中晶振為12MHz,那么12 個(gè)振蕩周期為1us,延時(shí)1ms 的延時(shí)程序如下:

延時(shí)1ms 的延時(shí)程序

延時(shí)1ms 的延時(shí)程序

  控制發(fā)光二極管D1 一亮一滅不停地閃爍完整C51程序如下:

控制發(fā)光二極管D1 一亮一滅不停地閃爍完整C51程序

 

 2.2 多個(gè)發(fā)光二極管的控制

  多個(gè)多個(gè)發(fā)光二極管的控制原理與單個(gè)發(fā)光二級(jí)管的控制原理一樣,在圖1 中,如果要控制8 個(gè)發(fā)光二極管同時(shí)一亮一滅的閃爍,那么只需要同時(shí)使8 個(gè)發(fā)光二級(jí)管點(diǎn)亮延時(shí)一段時(shí)間,再同時(shí)使8 個(gè)發(fā)光二級(jí)管熄滅并延時(shí)一段時(shí)間,周而復(fù)始不斷循環(huán)就可以實(shí)現(xiàn)8 個(gè)LED 不停地閃爍,完整的C51 程序如下:

8 個(gè)LED 不停地閃爍,完整的C51 程序

8 個(gè)LED 不停地閃爍,完整的C51 程序

  在圖1 中如果要控制8 個(gè)發(fā)光二極管D1,D3,D5,D7奇數(shù)燈和D2,D4,D6,D8 偶數(shù)等交替閃爍,則只需要把P1端口所接8 個(gè)LED 對(duì)應(yīng)狀態(tài)的值送給P1 端口并延時(shí)就可以實(shí)現(xiàn)該功能,完整程序如下:

完整程序

  2.3 花樣流水燈的控制

  對(duì)于花樣流水燈,工作原理和前面多個(gè)發(fā)光二極管的控制原理一樣,只需要把不同狀態(tài)下燈所對(duì)應(yīng)端口的值送到相應(yīng)的控制端口并延時(shí)一定的時(shí)間就可以實(shí)現(xiàn),編程時(shí)可以把所以對(duì)應(yīng)狀態(tài)的端口值放在一個(gè)數(shù)組里存放,不停循環(huán)地取數(shù)組的值,每取一個(gè)值延時(shí)一段時(shí)間,即可以實(shí)現(xiàn),程序略。

  3 總結(jié)

  單片機(jī)在各行各業(yè)中使用越來(lái)越多,文中對(duì)單片機(jī)中發(fā)光二極管的使用和編程方法進(jìn)行總結(jié),并給出各種方法的工作原理和完整的程序。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。