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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PIC單片機(jī)的可編程電源的設(shè)計(jì)

          基于PIC單片機(jī)的可編程電源的設(shè)計(jì)

          作者: 時(shí)間:2012-07-31 來(lái)源:網(wǎng)絡(luò) 收藏

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

          3.2 控制電路

            16F874是美國(guó)微芯科技公司(Microchip Technology)的一款8位,內(nèi)置4K×14位的Flash、128字節(jié)的RAM和64字節(jié)的EEPROM。另外,它具有豐富的外設(shè)資源,其內(nèi)置1個(gè)UART模塊可供串口通信用,2個(gè)CCP模塊可以產(chǎn)生2路獨(dú)立、10位分辨率的PWM信號(hào),8路10位的A/D轉(zhuǎn)換通道。另外,系列的每個(gè)I/O能提供25 mA的驅(qū)動(dòng)電流,對(duì)于LED的接口電路可以省掉外加晶體管的驅(qū)動(dòng)電路。

            單片機(jī)控制模塊結(jié)構(gòu)框圖如圖5所示。

          按此在新窗口瀏覽圖片
          圖5 單片機(jī)控制模塊結(jié)構(gòu)框圖

            單片機(jī)控制系統(tǒng)的主要接口電路:

          ① 按鍵接口電路。采用暫觸式開(kāi)關(guān)輸入,使用電阻電容去抖。
          ② 數(shù)碼管及LED顯示電路。數(shù)碼管顯示電壓、電流、時(shí)間等信息。LED指示當(dāng)前顯示的參數(shù)種類。單片機(jī)的I/O能夠直接驅(qū)動(dòng)數(shù)碼管和LED。按鍵輸入和顯示接口電路如圖6所示。

          按此在新窗口瀏覽圖片
          圖6 按鍵輸入和顯示接口電路

          ③ A/D采樣和PWM輸出電路。A/D負(fù)責(zé)采樣輸出電壓電流并送到數(shù)碼管顯示。當(dāng)前電流電壓設(shè)定值通過(guò)由單片機(jī)內(nèi)部的CCP模塊產(chǎn)生的兩路PWM信號(hào)來(lái)給模塊提供一個(gè)參考值。單片機(jī)內(nèi)部的CCP模塊可以設(shè)置成PWM輸出模式,通過(guò)寫周期寄存器和脈寬寄存器的值就可由硬件產(chǎn)生不同頻率和占空比的PWM波形。
          ④ 串口通信接口電路。串口通信接口電路采用MAX232芯片作為RS232收發(fā)器。

          4 軟件

          4.1 軟件流程

            軟件用C語(yǔ)言編寫,使用HighTech公司為PIC系列單片機(jī)提供的PICC編譯器。系統(tǒng)上電時(shí),單片機(jī)讀出非易失性存儲(chǔ)器(EEPROM)中上次設(shè)置參數(shù),進(jìn)行電流電壓輸出。在軟件中,采用多個(gè)任務(wù)的概念,可以模擬一個(gè)簡(jiǎn)單的操作系統(tǒng)進(jìn)行任務(wù)的調(diào)度。由定時(shí)器產(chǎn)生一個(gè)5 ms的中斷,在中斷程序中激活各個(gè)任務(wù)的標(biāo)志。如顯示任務(wù)主要負(fù)責(zé)A/D采樣、數(shù)碼管與LED的刷新,可每5 ms執(zhí)行一次。鍵盤處理任務(wù)負(fù)責(zé)按鍵的掃描、軟件去抖、鍵盤命令的解釋和掃行,可每10 ms執(zhí)行一次。PWM輸出任務(wù)負(fù)責(zé)按照設(shè)定的值進(jìn)行PWM的輸出,可以每50 ms執(zhí)行一次。如果有PC機(jī)或其他通過(guò)串口編程,單片機(jī)將在UART中斷中接收編程數(shù)據(jù),接收完改寫EEPROM中設(shè)置并強(qiáng)行復(fù)位。如果接收到通過(guò)按鍵的編程,則在按鍵處理中修改EEPROM的設(shè)置并復(fù)位。程序主流程則掃描各個(gè)任務(wù)是否到時(shí)間執(zhí)行。是,則執(zhí)行該任務(wù);否則,跳過(guò)該任務(wù)。主程序流程如圖7所示。

          按此在新窗口瀏覽圖片
          圖7 主程序流程

          4.2 串口編程軟件

            在PC機(jī)上了軟件來(lái)實(shí)現(xiàn)PC機(jī)與單片機(jī)的通信。通過(guò)該軟件可以方便地實(shí)現(xiàn)對(duì)電流電壓輸出、定時(shí)等參數(shù)的設(shè)定。只要將電源上的RS232口與PC機(jī)串口相連,就可實(shí)現(xiàn)通信。

            利用Visual Basic中的Mscomm控件進(jìn)行串口通信軟件的設(shè)計(jì)(這里僅作簡(jiǎn)要的介紹)。PC端數(shù)據(jù)接收通過(guò)Oncomm事件來(lái)實(shí)現(xiàn),當(dāng)接收緩沖區(qū)的數(shù)據(jù)達(dá)到rthreshold屬性設(shè)定值時(shí),就會(huì)觸發(fā)Oncomm事件,在中斷程序中讀出接收緩沖區(qū)中的數(shù)據(jù),將收到的字符型數(shù)據(jù)轉(zhuǎn)換成字符串后便送到各個(gè)文本框顯示。數(shù)據(jù)發(fā)送時(shí),首先讀出文本框內(nèi)字符串,再將其轉(zhuǎn)換成字符型數(shù)據(jù),最后通過(guò)單擊“發(fā)送”按鈕,將數(shù)據(jù)送到發(fā)送緩沖區(qū)中,從而將數(shù)據(jù)從串口發(fā)送出去。

          結(jié)語(yǔ)

            采用單片機(jī)控制,克服了開(kāi)關(guān)電源單一輸出的缺點(diǎn),能夠提供靈活的電壓輸出。通過(guò)功率聯(lián)合擴(kuò)展的功能,可以滿足不同功率場(chǎng)合的要求。電源也可以被當(dāng)成鉛酸電池充電器來(lái)使用,能自動(dòng)調(diào)整充電電流和電壓,應(yīng)用場(chǎng)合非常廣泛。


          上一頁(yè) 1 2 下一頁(yè)

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