新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 基于DAC0832的LED亮度控制系統設計

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

        作者: 時間:2011-06-23 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/168962.htm

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

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

          裝置硬件原理圖如圖5。

          2 軟件

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

          2.1 主程序

          使各個LED循環點亮通過主程序循環實現,將表示三個LED亮度的三個數據放到連續的三個RAM單元30H、31H、32H中,主程序中循環讀取這三個單元的數據送到 轉換,根據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曲線變化。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东方市| 靖边县| 武清区| 岑巩县| 临朐县| 章丘市| 黑水县| 枣阳市| 同江市| 正镶白旗| 虹口区| 昌邑市| 买车| 五指山市| 新巴尔虎右旗| 寿宁县| 宜君县| 平湖市| 南川市| 阳原县| 沅陵县| 新乐市| 黄骅市| 绍兴县| 嘉祥县| 大关县| 通州区| 二连浩特市| 东方市| 廉江市| 平凉市| 贡觉县| 德令哈市| 文化| 嵩明县| 十堰市| 灌南县| 乌鲁木齐市| 景泰县| 普格县| 漳浦县|