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

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)和LED的汽車照明系統(tǒng)設(shè)計(jì)

          基于單片機(jī)和LED的汽車照明系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2009-11-19 來源:網(wǎng)絡(luò) 收藏

          2 系統(tǒng)軟件設(shè)計(jì)

            本系統(tǒng)軟件部分比較簡單,系統(tǒng)的主程序流程圖如圖4所示。

          系統(tǒng)上電后首先初始化PIC18F448,并讀取其光通量的檢測信號(hào)和溫度信號(hào),然后調(diào)整輸出PWM脈沖的占空比并發(fā)送至LXT604的PWM引腳,循環(huán)往復(fù),從而達(dá)到動(dòng)態(tài)調(diào)光的目的。根據(jù)光通量和溫度信號(hào)值動(dòng)態(tài)調(diào)整PWM輸出脈沖的占空比是系統(tǒng)軟件設(shè)計(jì)中的關(guān)鍵內(nèi)容。操作PIC18F448內(nèi)部的寄存器可調(diào)整輸出PWM脈沖的占空比,其實(shí)現(xiàn)步驟如下:(1)初始化CCP1模塊控制寄存器CCP1CON的低4位為11XX,并將TRISC.2位清零,使CCP1模塊工作在PWM脈沖輸出模式下,可輸出分辨率達(dá)10位的PWN脈沖;(2)寫定時(shí)器TMR2的8位周期寄存器PR2,設(shè)置PWM輸出脈沖的周期;(3)寫定時(shí)器TMR2的控制寄存器T2CON,使能定時(shí)器TMR2并初始化TMR2的前分頻值;(4)CCP1模塊包含2個(gè)8位寄存器CCPR1H(高字節(jié))和CCPR1L(低字節(jié)),通過寫入CCP1CON控制器CCPR1L寄存器的4、5位可得到PWM脈沖的高電平時(shí)間,可在任意時(shí)刻寫入,但僅當(dāng)定時(shí)器TMR2的增量計(jì)數(shù)值與周期寄存器PR2的值相等時(shí),數(shù)據(jù)才真正寫入到CCPR1H寄存器內(nèi)部。其中PWM脈沖周期=[(PR2)+1]×4×Tosc×(TMR2前分頻值),PWM高電平時(shí)間=(CCPR1L:CCP1CON[5:4])×Tosc×(TMR2前分頻值),PWM輸出占空比=(CCPR1L:CCP1CON[5:4])/(PR2+1)×4。

            本系統(tǒng)采用以為控制中心及大功率照明的設(shè)計(jì)方案,具有很好的靈活性和擴(kuò)展性。利用光敏傳感器和溫度傳感器分別測得周圍環(huán)境的光強(qiáng)和溫度,并根據(jù)這些信息實(shí)現(xiàn)動(dòng)態(tài)調(diào)整亮度,能很好地節(jié)約能源。將該照明系統(tǒng)作為汽車尾燈照明,由于亮燈快,能及時(shí)讓尾隨后面的汽車司機(jī)知道前方車輛的行使?fàn)顩r,減少汽車追尾碰撞事故的發(fā)生。高亮度LED已廣泛應(yīng)用于系統(tǒng)中


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(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); })();