《電子技術(shù)應用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應用 > 基于DAC0832的LED亮度控制系統(tǒng)設(shè)計
基于DAC0832的LED亮度控制系統(tǒng)設(shè)計
摘要: 文中設(shè)計了基于DAC0832實現(xiàn)對LED控制的系統(tǒng),在單片機的控制下,,利用多路開關(guān)和電壓保持電路實現(xiàn)了對多個發(fā)光二極管亮度的變化控制,,實現(xiàn)了LED燈的燈光旋轉(zhuǎn)的效果。如果將此電路擴展,,接更多的模數(shù)轉(zhuǎn)換器和多路開關(guān),,就可以實現(xiàn)各種復雜圖案的變化。采用電壓保持電路的辦法也可以應用到其它領(lǐng)域的模擬控制中,。
Abstract:
Key words :
 

  引言

  LED在城市化的過程中功不可沒,,各種夜景燈牌和廣告顯示屏,都在日益充斥人們新奇的眼球,。以往霓虹燈的發(fā)光體只有亮和滅兩種狀態(tài),,亮度都是突然變化的,往往給人一種圖案變化生硬的感覺,;而現(xiàn)在很多霓虹燈已經(jīng)實現(xiàn)了發(fā)光體亮度逐漸變化,,這樣形成的各種變化的霓虹燈圖案更加柔和、流暢,??刂瓢l(fā)光體亮度變化總體上可以分為模擬方法和數(shù)字方法,其中通過單片機控制D/A轉(zhuǎn)換器實現(xiàn)發(fā)光體亮度控制的方法具有電路簡單,、維護和調(diào)整方便的特點,,是當前霓虹燈控制的發(fā)展方向。霓虹燈的發(fā)光體以氣體放電燈管為主,,現(xiàn)在隨著高亮度發(fā)光二極管的產(chǎn)生,,壽命長、能耗低的LED燈牌應用越來越廣泛,。這里討論應用DAC0832在單片機控制下如何控制多個發(fā)光二極管的亮度變化,。

  1硬件電路設(shè)計

  通過單片機和D/A轉(zhuǎn)換芯片DAC0832控制三個發(fā)光二極管亮度按順序逐漸變化,實現(xiàn)一種燈管旋轉(zhuǎn)的效果,。設(shè)計中主要考慮下面三個問題:

 ?。?)DAC0832與單片機的接口電路設(shè)計。

  (2)基準電壓源的設(shè)計,。

 ?。?)同時控制多個LED按不同規(guī)律改變亮度的電路設(shè)計。

  1.1DAC0832與單片機的接口電路

  啟動ADC0832實現(xiàn)模數(shù)轉(zhuǎn)換有單緩沖和雙緩沖兩種方式,。多緩沖方式是在多片ADC0832配合時采用,;本設(shè)計中只須一片ADC0832就可完成工作,所以采用單緩沖方式,,向其8位數(shù)據(jù)輸入口輸入數(shù)據(jù),,然后在其寫觸發(fā)管腳WR1發(fā)送一低電平脈沖,該芯片就會將收到的數(shù)字量轉(zhuǎn)換成模擬量輸出,。其輸出為電流輸信號,,而控制發(fā)光二極管亮度需要用電壓實現(xiàn),,所以需要外接由運算放大器構(gòu)成的電流電壓轉(zhuǎn)換電路,,ADC0832與單片機的接口電路如圖1:

  圖中,由于選片端CS接到了P217,所以啟動DAC0832開始轉(zhuǎn)換時,,需要將單片機的P217腳設(shè)置為低電平,。

  輸出的電流經(jīng)過運算放大器轉(zhuǎn)換成電壓,如果需轉(zhuǎn)換的數(shù)字量為B,則對應輸出電壓值為:

  其中VREF是外接的基準電壓,,輸出電壓最高為0V,最低為-VREF,如果基準電壓取5V,則最低輸出電壓為-5V,為了滿足負電壓輸出的要求,,運算放大器的電源電壓VCC要高于5V,VEE要低于-5V,本設(shè)計中運算放大器采用LM324芯片,電源電壓VCC取10V,VEE取-10V,。

  1.2基準電壓的設(shè)計

  要保證DAC0832數(shù)模轉(zhuǎn)換的精度和準確度,,必須提供一個高度穩(wěn)定的基準電壓。在數(shù)模轉(zhuǎn)換器中一般選用帶隙基準電壓源或隱埋式齊納穩(wěn)壓管,。

  設(shè)計中選用了LM336—5型隱埋式齊納二極管,,它具有價格低、使用方便的特點,,其接線如圖2:

  1.3如何同時控制多個LED的亮度

  設(shè)計中需要控制三個發(fā)光二極管,,每個發(fā)光二極管的亮度和變化規(guī)律都不一樣,而ADC0832只有一路模擬量輸出,,為了控制三個發(fā)光二極管的亮度,,需要加一個多路電子開關(guān),本例中選用的是CD4051,該芯片的引腳圖如下:

  該芯片是一個常用的8路到1路的多路電子開關(guān),,工作電壓最高為32V,通過ABC三個地址管腳確定選通哪個通道,。

  因為前面轉(zhuǎn)換出的電壓為負值最低為-5V,所以CD4051的工作電壓取VDD=10V,VEE=-10V,地址控制端A、B,、C分解接到單片機的P210,、P211、P212口,,用來選通某個通道通,,D/A轉(zhuǎn)換后的模擬量接到多路開關(guān)的電壓輸入端3引腳,,輸出引腳13、14,、15分別控制發(fā)光二極管D1,、D2、D3,。

  DAC0832只有1路模擬輸出,,必須采用分時控制的方式循環(huán)控制三個發(fā)光二極管的亮度,實現(xiàn)接通某一個LED時,,其它LED保持要原有亮度不能熄滅,,為了達到這個目的,這里采用了運算放大器接成電壓跟隨器的形式控制LED的亮度,,即多路電子開關(guān)的每個輸出與發(fā)光二極管間都接一個電壓跟隨器,,而且在運算放大器的正向輸入端接了一個保持電容,使輸入電壓能夠保持一段時間,,其接線如下:

  由于運算放大器的輸入阻抗很大,,所以Ch2上的電壓能夠保持一段時間,在數(shù)模轉(zhuǎn)換器輸出電壓控制其它發(fā)光二極管期間,,該運算放大器的輸出電壓能夠保持不變,。

  裝置硬件原理圖如圖5。

  2軟件設(shè)計

  軟件主要完成兩個功能,,第一,,完成各個LED的循環(huán)點亮;第二,,通過程序控制各個LED亮度的變化,。本例中要實現(xiàn)燈光旋轉(zhuǎn)的效果,所以每個LED都按三角波的型式亮度變化,,先逐漸變亮,,達到最亮時再由最亮逐漸變暗,如此反復進行,;三個LED的亮度變化要有一個時差,,如果一個LED從暗到亮再到暗作為一個周期的話,則D2比D1滯后1/3周期,,D3比D2滯后1/3個周期,。

  2.1主程序設(shè)計

  使各個LED循環(huán)點亮通過主程序循環(huán)實現(xiàn),將表示三個LED亮度的三個數(shù)據(jù)放到連續(xù)的三個RAM單元30H,、31H,、32H中,主程序中循環(huán)讀取這三個單元的數(shù)據(jù)送到DAC0832轉(zhuǎn)換,根據(jù)30H,、31H,、32H中數(shù)值的不同,轉(zhuǎn)換輸出的模擬電壓也不同,,單片機控制多路電子開關(guān)將不同的模擬電壓送給不同的LED,從而實現(xiàn)各個LED具有不同的亮度,。由于本例中用P2口控制ADC0832的選通和電子開關(guān)的選通,根據(jù)原理圖接線可知,,點亮發(fā)光二極管D0,、D1、D2對應的P2口數(shù)據(jù)分別為00H,、01H,、02H。

  2.2中斷程序設(shè)計

  控制LED亮度變化通過定時器T0定時中斷程序?qū)崿F(xiàn),,T0中斷改變30H,、31H和32H的數(shù)值就可以改變LED亮度了,若實現(xiàn)燈光旋轉(zhuǎn)的效果,,則三個LED的亮度應按圖6曲線變化,。

  圖中橫坐標表示時間,在一個周期內(nèi)發(fā)光二極管的亮度會按三角形規(guī)律變化,,設(shè)每個變化周期為T,第二個發(fā)光二極管D1的變化滯后第一個發(fā)光二極管D0三分之一周期,同樣D2滯后D1三分之一周期,。

  圖6中的橫坐標表示亮度,,也就是對應的要轉(zhuǎn)換成模擬量的數(shù)字量的數(shù)值。在主程序中三個字節(jié)30H,、31H,、32H中數(shù)值對應三個發(fā)光二極管的亮度,設(shè)定三個字節(jié)33H,、34H和35H的值控制三個二極管亮度增加還是減弱(1增強,,0減弱)。假設(shè)開始時D1對應亮度為0,D0,、D2對應亮度均為170,則三個二極管的亮度變化應該是D0和D2亮度增加,,D2亮度減弱,則三個亮度控制字節(jié)的值分別為33H,、35H中為1,35H中為0,。

  采用T0中斷實現(xiàn)三個發(fā)光二極管亮度的改變,則每到一次定時中斷將完成如下功能:

  1)根據(jù)三個字節(jié)33H,、34H和35H的值,,分別對30H、31H和32H的值進行增1或減1操作。

  2)當亮度字節(jié)的數(shù)值增加到255時對應控制字節(jié)數(shù)值清零,,亮度字節(jié)數(shù)值減到0時,,對應控制字節(jié)數(shù)值置1。

  由于在主程序中和中斷子程序同時使用工作寄存器R0,所以在中斷程序的開始和結(jié)束有一個保存和恢復R0中數(shù)值的過程,。

  中斷程序的程序框圖為:

  即:TH0=F0H,TL0=BEH3

  3結(jié)語

  文中設(shè)計了基于DAC0832實現(xiàn)對LED控制的系統(tǒng),,在單片機的控制下,利用多路開關(guān)和電壓保持電路實現(xiàn)了對多個發(fā)光二極管亮度的變化控制,,實現(xiàn)了LED燈的燈光旋轉(zhuǎn)的效果,。如果將此電路擴展,接更多的模數(shù)轉(zhuǎn)換器和多路開關(guān),,就可以實現(xiàn)各種復雜圖案的變化,。采用電壓保持電路的辦法也可以應用到其它領(lǐng)域的模擬控制中。



 

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