<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 基于DAC0832的LED亮度控制系統(tǒng)設(shè)計

          基于DAC0832的LED亮度控制系統(tǒng)設(shè)計

          作者: 時間:2011-06-23 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/168962.htm

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

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

            裝置硬件原理圖如圖5。

            2 軟件

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

            2.1 主程序

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

            2.2 中斷程序

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



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();