<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>
你的位置:首頁(yè) > 電源管理 > 正文

基于DAC0832的LED亮度控制系統設計

發(fā)布時(shí)間:2012-01-05

中心議題:
  • 基于DAC0832的LED亮度控制系統設計
  • 硬件電路設計
解決方案:
  • 用單緩沖方式輸入數據
  • 選用LM336—5型隱埋式齊納二極管

引言

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

1 硬件電路設計

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

(1) DAC0832與單片機的接口電路設計。

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

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

1.1 DAC0832與單片機的接口電路

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

圖中,由于選片端CS接到了P217,所以啟動(dòng)DAC0832開(kāi)始轉換時(shí),需要將單片機的P217 腳設置為低電平。

輸出的電流經(jīng)過(guò)運算放大器轉換成電壓,如果需轉換的數字量為B, 則對應輸出電壓值為:
\"\"

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

1.2 基準電壓的設計


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

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

1.3 如何同時(shí)控制多個(gè)LED的亮度


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

該芯片是一個(gè)常用的8路到1路的多路電子開(kāi)關(guān),工作電壓最高為32 V,通過(guò)ABC三個(gè)地址管腳確定選通哪個(gè)通道。
[page]
因為前面轉換出的電壓為負值最低為- 5 V,所以CD4051 的工作電壓取VDD = 10 V, VEE =- 10 V, 地址控制端A、B、C分解接到單片機的P210、P211、P212 口,用來(lái)選通某個(gè)通道通, D/A轉換后的模擬量接到多路開(kāi)關(guān)的電壓輸入端3引腳,輸出引腳13、14、15分別控制發(fā)光二極管D1、D2、D3。

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

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

裝置硬件原理圖如圖5。
\"\"

2 軟件設計

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

2.1 主程序設計

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

2.2 中斷程序設計

控制LED亮度變化通過(guò)定時(shí)器T0定時(shí)中斷程序實(shí)現, T0中斷改變30H、31H和32H的數值就可以改變LED 亮度了,若實(shí)現燈光旋轉的效果,則三個(gè)LED的亮度應按圖6曲線(xiàn)變化。
\"\"

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

圖6中的橫坐標表示亮度,也就是對應的要轉換成模擬量的數字量的數值。在主程序中三個(gè)字節30H、31H、32H中數值對應三個(gè)發(fā)光二極管的亮度,設定三個(gè)字節33H、34H和35H 的值控制三個(gè)二極管亮度增加還是減弱( 1 增強, 0 減弱)。假設開(kāi)始時(shí)D1對應亮度為0,D0、D2對應亮度均為170,則三個(gè)二極管的亮度變化應該是D0和D2亮度增加,D2亮度減弱,則三個(gè)亮度控制字節的值分別為33H、35H中為1, 35H中為0。
[page]
采用T0中斷實(shí)現三個(gè)發(fā)光二極管亮度的改變,則每到一次定時(shí)中斷將完成如下功能:

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

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

由于在主程序中和中斷子程序同時(shí)使用工作寄存器R0,所以在中斷程序的開(kāi)始和結束有一個(gè)保存和恢復R0中數值的過(guò)程。

中斷程序的程序框圖為:
\"\"

即: TH0 = F0H, TL0 =BEH3

3 結語(yǔ)

文中設計了基于DAC0832實(shí)現對LED控制的系統,在單片機的控制下,利用多路開(kāi)關(guān)和電壓保持電路實(shí)現了對多個(gè)發(fā)光二極管亮度的變化控制,實(shí)現了LED燈的燈光旋轉的效果。如果將此電路擴展,接更多的模數轉換器和多路開(kāi)關(guān),就可以實(shí)現各種復雜圖案的變化。采用電壓保持電路的辦法也可以應用到其它領(lǐng)域的模擬控制中。
要采購開(kāi)關(guān)么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>