色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>發光二極管>

DAC0832實現LED亮度控制系統 - 全文

2011年10月12日 17:47 本站整理 作者:李永,李芙玲 用戶評論(0

  引言

  控制發光體亮度變化總體上可以分為模擬方法和數字方法,其中通過單片機控制D/A轉換器實現發光體亮度控制的方法具有電路簡單、維護和調整方便的特點,是當前霓虹燈控制的發展方向。霓虹燈的發光體以氣體放電燈管為主,現在隨著高亮度發光二極管的產生,壽命長、能耗低的LED燈牌應用越來越廣泛。這里討論應用DAC0832在單片機控制下如何控制多個發光二極管的亮度變化。

  1 硬件電路設計

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

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

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

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

  1.1 DAC0832與單片機的接口電路

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

  

?

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

  輸出的電流經過運算放大器轉換成電壓,如果需轉換的數字量為B, 則對應輸出電壓值為:

  

?

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

  1.2 基準電壓的設計

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

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

  

?

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

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

  

?

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

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

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

  

?

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

  裝置硬件原理圖如圖5。

  

?

  2 軟件設計

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

  2.1 主程序設計

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

  2.2 中斷程序設計

  控制LED亮度變化通過定時器T0定時中斷程序實現, T0中斷改變30H、31H和32H的數值就可以改變LED 亮度了,若實現燈光旋轉的效果,則三個LED的亮度應按圖6曲線變化。

  

?

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

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

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

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

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

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

  中斷程序的程序框圖為:

  

?

  即: TH0 = F0H, TL0 =BEH3

  3 結語

  如果將此電路擴展,接更多的模數轉換器和多路開關,就可以實現各種復雜圖案的變化。采用電壓保持電路的辦法也可以應用到其它領域的模擬控制中。

上一頁123全文

非常好我支持^.^

(5) 100%

不好我反對

(0) 0%

( 發表人:小蘭 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 99在线观看视频免费| 秋霞影音先锋一区二区| 亚洲午夜精品一区二区公牛电影院 | qvod 电影| 一二三四在线观看高清电视剧| 日本ccc三级| 麻豆婷婷狠狠色18禁久久| 色欲久久精品AV无码| 一个人免费完整观看日本 | 乌克兰14一18处交见血| 嫩草影院地址一二三| 久久re热在线视频精99| 国产麻豆福利AV在线观看| 刺激一区仑乱| fyeex性欧美人与曾| 最近中文字幕完整版高清 | 亚洲色欲色欲WWW在线丝| 帅哥男男GV在线1080P| 欧美亚洲日韩自拍高清中文| 狼好色有你好看| 精品欧美小视频在线观看| 国产剧情麻豆mv| 国产a级黄色毛片| 成人免费公开视频| www黄色大片| AAA级精品无码久久久国片| 2021自产拍在线观看视频| 野花日本手机观看大全免费3 | 欧美性狂猛AAAAAA| 毛片亚洲毛片亚洲毛片| 久久99热成人精品国产| 狠狠色在在线视频观看| 国产中文字幕乱码免费| 国产乱码精品一区二区三区四川| 国产AV电影区二区三区曰曰骚网| youjizz怎么看| 成人在线观看免费视频| 哺乳溢出羽月希中文字幕| Y8848高清私人影院软件优势| BLACKED太粗太长| 芭乐视频网页版在线观看|