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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于ADC0809的數字電壓表

          基于ADC0809的數字電壓表

          作者: 時間:2016-12-09 來源:網絡 收藏

          1.引言

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

          本設計待測的輸入電壓為8路,電壓范圍為0~5V,使用目前廣泛使用的AT89S52來做控制系統(tǒng),用ADC0809來進行模擬電壓的采集及模數轉換,實現采集8路數據,并將結果在四位一體數碼管上進行滾動顯示或單獨顯示的功能,測量的最小分辨率為0.019V.

          2 硬件設計

          2 . 1 系統(tǒng)構成

          該系統(tǒng)主要包括幾大模塊:數據采集模塊、A/D轉換模塊、控制模塊、顯示模塊、按鍵模塊等。采用AT89S52作為控制模塊,A/DC0 8 0 9作為A/D轉換模塊的核心,ADC0809本身具有8路模擬量輸入端口,通過C、B、A,3位地址輸入端,能從8路中選擇一路進行轉換。如每隔一段時間依次輪流改變3位地址輸入端的地址,就能依次對8路輸入電壓進行測量。LED數碼管的顯示采用軟件譯碼動態(tài)顯示,通過按鍵模塊的操作可以選擇8路循環(huán)顯示,也可以選擇某條單路顯示。

          2 . 2 數據采集電路

          數據采集電路是系統(tǒng)的主要組成部分,ADC0 8 09具有8路模擬量輸入通道IN0~IN7,通過3位地址輸入端C、B、A(引腳23~25)進行選擇。引腳22為地址鎖存控制端ALE,當輸入為高電平時,C、B、A引腳輸入的地址鎖存于ADC0809內部鎖存器中,經內部譯碼電路譯碼選中相應的模擬通道。引腳6為啟動轉換控制端START,當輸入一個2 μ s寬的高電平脈沖時,就啟動ADC0809開始對輸入通道的模擬量進行轉換。引腳7為A/D轉換器,當開始轉換時,EOC信號為低電平,經過一段時間,轉換結束,轉換結束信號EOC輸出高電平,轉換結果存放于ADC0809內部的輸出數據寄存器中。引腳9腳為A/D轉換數據輸出允許控制端OE,當OE為高電平時,存放于輸出數據鎖存器中的數據通過ADC0809的數據線D0~D7輸出。引腳10為ADC0809的時鐘信號輸入端CLOCK.在連接時,ADC0809的數據線D0~ D7與AT89S52的P1口相連接,ADC0809的地址引腳、地址鎖存端ALE、啟動信號START、數據輸出允許控制端OE分別與AT89S51的P3口相連接,轉換結束信號EOC與AT89S52的P3.2相連接。時鐘信號輸入端CLOCK信號,由單片機的地址鎖存信號ALE得到,采集電路如圖1所示。

          圖1 數據采集電路

          3 軟件設計

          3 . 1 主程序

          主程序包含初始化部分,調用A/D轉換子程序和調用顯示子程序,如圖2所示。

          圖2 主程序流程圖

          初始化部分包含存通道數據緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外,對于單路顯示和循環(huán)顯示,系統(tǒng)設置了一個初始標志位。

          初始化時標志位設置為0,默認為循環(huán)顯示,當它為1時,則單路顯示,標志位通過外部按鍵控制。

          3 . 2 數據處理子程序

          ADC0809轉換之后輸出的結果是8位二進制數。由公式(1)可知,當ADC0809輸出為(111111111)時,輸入電壓值VI=5.00V;當ADC0809輸出為(00000000)時,輸入電壓值為VI=0.00V;當ADC0809輸出為(10000000)時,輸入電壓值VI=2.50V.由于單片機進行數學運算時結果只取整數部分,因此當輸出為(10000000)時計算出的電壓值VI=2.00V,很不準確。為了提高精確度,必須把小數部分保留,具體方法是:如果小數點后保留兩位,在運算的時候分子乘以100,保留三位就乘以1000.本設計是在小數點后保留兩位,運算方式如公式(2)。

          VI=Dout /255×5 (1)

          VI=Dout/255×5×100=Dout×100/51 (2)

          由式(2)可知當ADC0809輸出為(10000000)時,單片機運算結果為250.然后由單片機將250除以10得到商為25,余數為0,再將25除以10得到商為2,余數為5.由此得到較為精確的數值。

          4 結語

          本設計是基于ADC0809設計的電壓檢測裝置。采用AT89S52單片機進行數據控制、處理,結構簡單,元件較少,成本較低,軟件采用C語言實現,程序簡單可讀寫性強,效率高。能夠實現八路待測電壓測量,還能夠自由選擇要測量的通道,與傳統(tǒng)的電路相比,具有方便操作、處理速度快、穩(wěn)定性高、性價比高的優(yōu)點,具有一定的使用價值。



          關鍵詞: ADC0809數字電壓

          評論


          技術專區(qū)

          關閉
          看屁屁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); })();