基于ADC0809的數(shù)字電壓表-設(shè)計應(yīng)用_第1頁
基于ADC0809的數(shù)字電壓表-設(shè)計應(yīng)用_第2頁
基于ADC0809的數(shù)字電壓表-設(shè)計應(yīng)用_第3頁
基于ADC0809的數(shù)字電壓表-設(shè)計應(yīng)用_第4頁
基于ADC0809的數(shù)字電壓表-設(shè)計應(yīng)用_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于ADC0809的數(shù)字電壓表-設(shè)計應(yīng)用摘要:本設(shè)計用ADC0809來進行電壓的采集及模數(shù)轉(zhuǎn)換,用AT89S52單片機來做控制單元,進行電壓的測量和顯示。該數(shù)字電壓表具有電路簡單,成本低等優(yōu)點,可以方便地進8路A/D轉(zhuǎn)換量的測量,并可選擇在數(shù)碼管上滾動顯示或單路顯示的不同工作模式。

1.引言

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

2硬件設(shè)計

2.1系統(tǒng)構(gòu)成

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

2.2數(shù)據(jù)采集電路

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

圖1數(shù)據(jù)采集電路

3軟件設(shè)計

3.1主程序

主程序包含初始化部分,調(diào)用A/D轉(zhuǎn)換子程序和調(diào)用顯示子程序,如圖2所示。

圖2主程序流程圖

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

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

3.2數(shù)據(jù)處理子程序

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

VI=Dout/255×5(1)

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

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

4結(jié)語

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

參考文獻:

[1].ADC0809datasheet/datasheet/ADC0809_123186

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論