引言
控制發(fā)光體亮度變化總體上可以分為模擬方法和數(shù)字方法,其中通過單片機控制D/A轉(zhuǎn)換器實現(xiàn)發(fā)光體亮度控制的方法具有電路簡單、維護和調(diào)整方便的特點,是當前霓虹燈控制的發(fā)展方向。霓虹燈的發(fā)光體以氣體放電燈管為主,現(xiàn)在隨著高亮度發(fā)光二極管的產(chǎn)生,壽命長、能耗低的LED燈牌應(yīng)用越來越廣泛。這里討論應(yīng)用DAC0832在單片機控制下如何控制多個發(fā)光二極管的亮度變化。
通過單片機和D/A轉(zhuǎn)換芯片DAC0832控制三個發(fā)光二極管亮度按順序逐漸變化,實現(xiàn)一種燈管旋轉(zhuǎn)的效果。設(shè)計中主要考慮下面三個問題:
(1) DAC0832與單片機的接口電路設(shè)計。
(2) 基準電壓源的設(shè)計。
(3) 同時控制多個LED按不同規(guī)律改變亮度的電路設(shè)計。
1.1 DAC0832與單片機的接口電路
啟動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, 則對應(yīng)輸出電壓值為:
?
其中VREF是外接的基準電壓,輸出電壓最高為0 V,最低為- VREF ,如果基準電壓取5 V,則最低輸出電壓為- 5 V,為了滿足負電壓輸出的要求,運算放大器的電源電壓VCC要高于5 V,VEE要低于- 5 V,本設(shè)計中運算放大器采用LM324芯片,電源電壓VCC取10 V,VEE取- 10 V。
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),工作電壓最高為32 V,通過ABC三個地址管腳確定選通哪個通道。
因為前面轉(zhuǎn)換出的電壓為負值最低為- 5 V,所以CD4051 的工作電壓取VDD = 10 V, VEE =- 10 V, 地址控制端A、B、C分解接到單片機的P210、P211、P212 口,用來選通某個通道通, D/A轉(zhuǎn)換后的模擬量接到多路開關(guān)的電壓輸入端3引腳,輸出引腳13、14、15分別控制發(fā)光二極管D1、D2、D3。