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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機(jī)的數(shù)控直流穩(wěn)壓電源的設(shè)計與實現(xiàn)

          基于51單片機(jī)的數(shù)控直流穩(wěn)壓電源的設(shè)計與實現(xiàn)

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

          2.3 電源部分

          2.3.1 主電源電路

          電源部分輸入220V、50Hz 交流電,輸出全機(jī)所需的三種電壓:+5V、+15V、-5V,主要 供數(shù)控部分和D/A 轉(zhuǎn)換芯片使用;+15V 作為運放的正電源,同時也是穩(wěn)壓輸出電路的主電 源。該電源模塊部分拓展了-5V 負(fù)電壓,同時作為運放的負(fù)電源,如圖5 所示。

          2.3.2 穩(wěn)壓輸出部分

          穩(wěn)壓輸出部分是將控制部分送來的電壓控制字?jǐn)?shù)據(jù)轉(zhuǎn)換成穩(wěn)定的電壓輸出。它由轉(zhuǎn)化器 (DAC0808)、集成運放LM358、晶體三極管、基準(zhǔn)電壓源(+15V)、過流檢測電路組成。 穩(wěn)壓輸出模塊包括過流檢測電路,當(dāng)電源過流時,過流檢測電路輸出為低電平其,送到 CPU 的 INT0 申請中斷,CPU 接收后,延遲5ms。

          3 系統(tǒng)軟件設(shè)計

          軟件控制程序由主程序和過流保護(hù)程序兩部分,其主要實現(xiàn)步進(jìn)加減、D/A 轉(zhuǎn)換、鍵盤 掃描、LED 顯示、電流報警等功能。

          3.1 主程序

          首先初始化系統(tǒng),即AT89S51 系統(tǒng)的初始化,再對系統(tǒng)時間進(jìn)行設(shè)置 ,調(diào)用按 鍵處理子程序,判斷是否有按鍵按下,若有就調(diào)用顯示處理程序,顯示處理程序在數(shù)碼管上 顯示預(yù)置電壓,由控制的信號經(jīng)D/A 轉(zhuǎn)換后,通過檢測電路判斷是否短路,若短路則 啟動中斷保護(hù)。否則,實現(xiàn)穩(wěn)壓輸出。主流程圖如圖6 所示。

          3.2 過流保護(hù)程序

          從數(shù)模轉(zhuǎn)換電路轉(zhuǎn)換出的信號,一路經(jīng)過流檢測電路,把檢測到的信號,送入最 小系統(tǒng)進(jìn)行處理,若過流,則蜂鳴器鳴叫。過流保護(hù)程序流程圖如圖7 所示。

          圖6 主程序流程圖 圖7 過流保護(hù)程序流程圖

          4 結(jié)束語

          本設(shè)計以單片機(jī)為核心設(shè)計一種智能穩(wěn)壓電源,不但電路簡單,結(jié)構(gòu)緊湊,價格低廉, 性能卓越。所研制的智能穩(wěn)壓電源可利用單片機(jī)設(shè)置周密的保護(hù)監(jiān)測系統(tǒng),確保電源運行可 靠。輸出電壓采用數(shù)字顯示,輸人采用鍵盤方式,電源的外表美觀,操作使用方便,具有較 高的使用價值。

          蜂鳴器相關(guān)文章:蜂鳴器原理

          上一頁 1 2 下一頁

          評論


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