0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ADC0809和AT89S52單片機(jī)的數(shù)字電壓表的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-11-29 09:12 ? 次閱讀

1.引言

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

2 硬件設(shè)計(jì)

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

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

2 . 2 數(shù)據(jù)采集電路

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

基于ADC0809和AT89S52單片機(jī)的數(shù)字電壓表的設(shè)計(jì)

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

3 軟件設(shè)計(jì)

3 . 1 主程序

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

基于ADC0809和AT89S52單片機(jī)的數(shù)字電壓表的設(shè)計(jì)

圖2 主程序流程圖

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

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

3 . 2 數(shù)據(jù)處理子程序

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

VI=Dout /255×5 (1)

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

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

4 結(jié)語(yǔ)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23409

    瀏覽量

    664187
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6044

    文章

    44633

    瀏覽量

    639540
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6672

    瀏覽量

    110986
收藏 1人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)+ADC0809=數(shù)字電壓表

    單片機(jī)ADC0809數(shù)字電壓表
    發(fā)表于 06-02 17:56

    8155和ADC0809怎么同時(shí)接到At89S52上?????急用?。。。?!.....

    各位大蝦,,小弟才疏學(xué)淺,,跪求8155和ADC0809如何同時(shí)接到At89S52上,,,時(shí)間緊急,,還有一天時(shí)間{:soso_e109:}8155接上了,,ADC0809不知道怎么接了?。?/div>
    發(fā)表于 06-11 17:13

    AT89S52ADC0809電壓采集器,怎么做

    我現(xiàn)在又ADC0809AT89S52 還有一個(gè)共陽(yáng)的4位數(shù)碼管,能不能給我仿真和源程序
    發(fā)表于 11-11 14:51

    基于單片機(jī)數(shù)字電壓表設(shè)計(jì)與仿真

    采用AT89C52單片機(jī)作為控制核心器件,ADC0809作為模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)用。ADC0809是8位的模/數(shù)轉(zhuǎn)換芯片,片內(nèi)有8路模擬選
    發(fā)表于 01-11 09:15

    基于單片機(jī)數(shù)字電壓表proteus仿真

    基于單片機(jī)數(shù)字電壓表proteus仿真 ADC0809模數(shù)轉(zhuǎn)換 液晶顯示0~50V
    發(fā)表于 01-20 10:56

    基于AT89C52單片機(jī)數(shù)字電壓表的設(shè)計(jì)資料分享

    一、系統(tǒng)組成及工作原理1.1 系統(tǒng)組成該基于AT89C52單片機(jī)數(shù)字電壓表設(shè)計(jì)由AT89C51單片機(jī)
    發(fā)表于 12-02 08:30

    單片機(jī)制作的數(shù)字電壓表

    單片機(jī)制作的數(shù)字電壓表利用單片機(jī)AT89S51與ADC0809設(shè)計(jì)一個(gè)
    發(fā)表于 05-16 01:25 ?3744次閱讀
    <b class='flag-5'>單片機(jī)</b>制作的<b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓表</b>

    ADC0809數(shù)字電壓表

    jiyu基于ADC0809和51單片機(jī)實(shí)現(xiàn)的簡(jiǎn)單宜興的數(shù)字電壓表,程序簡(jiǎn)單。
    發(fā)表于 05-16 15:53 ?68次下載

    數(shù)模轉(zhuǎn)換ADC0809的應(yīng)用--數(shù)字電壓表

    數(shù)模轉(zhuǎn)換ADC0809的應(yīng)用--數(shù)字電壓表,快來(lái)下載學(xué)習(xí)吧
    發(fā)表于 07-04 18:26 ?81次下載

    AT89S51單片機(jī)設(shè)計(jì)數(shù)字電壓表應(yīng)用設(shè)計(jì)下載

    利用單片機(jī)AT89S51與ADC0809設(shè)計(jì)一個(gè)數(shù)字電壓表,能夠測(cè)量0-5V之間的直流電壓值,四
    發(fā)表于 08-30 09:26 ?27次下載
    AT<b class='flag-5'>89S</b>51<b class='flag-5'>單片機(jī)</b>設(shè)計(jì)<b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓表</b>應(yīng)用設(shè)計(jì)下載

    使用單片機(jī)ADC0809設(shè)計(jì)數(shù)字電壓表的資料和電路圖及程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)ADC0809設(shè)計(jì)數(shù)字電壓表的資料和電路圖及程序免費(fèi)下載。
    發(fā)表于 08-12 17:33 ?36次下載
    使用<b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>ADC0809</b>設(shè)計(jì)<b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓表</b>的資料和電路圖及程序免費(fèi)下載

    使用單片機(jī)AT89S51和ADC0809設(shè)計(jì)一個(gè)數(shù)字電壓表的資料概述

    利用單片機(jī)AT89S51與ADC0809設(shè)計(jì)一個(gè)數(shù)字電壓表,能夠測(cè)量0-5V之間的直流電壓值,四
    的頭像 發(fā)表于 06-21 11:39 ?4369次閱讀

    單片機(jī)AT89S51與ADC0809設(shè)計(jì)數(shù)字電壓表

    利用單片機(jī)AT89S51與ADC0809設(shè)計(jì)一個(gè)數(shù)字電壓表,能夠測(cè)量0-5V之間的直流電壓值,四
    發(fā)表于 03-18 15:20 ?39次下載
    <b class='flag-5'>單片機(jī)</b>AT<b class='flag-5'>89S</b>51與<b class='flag-5'>ADC0809</b>設(shè)計(jì)<b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓表</b>

    通過(guò)模數(shù)轉(zhuǎn)換芯片ADC0809和51單片機(jī)實(shí)現(xiàn)簡(jiǎn)易電壓表仿真

    通過(guò)ADC0809和51單片機(jī)實(shí)現(xiàn)簡(jiǎn)易電壓表仿真
    發(fā)表于 11-23 16:20 ?50次下載
    通過(guò)模數(shù)轉(zhuǎn)換芯片<b class='flag-5'>ADC0809</b>和51<b class='flag-5'>單片機(jī)</b>實(shí)現(xiàn)簡(jiǎn)易<b class='flag-5'>電壓表</b>仿真

    基于51單片機(jī)ADC0808 ADC0809的自動(dòng)數(shù)字電壓表proteus仿真程序設(shè)計(jì)

    前言:(末尾附文件)之前講過(guò)基于數(shù)碼管顯示的自動(dòng)數(shù)字電壓表,接下來(lái)講一下基于LCD1602顯示的相關(guān)設(shè)計(jì),分別利用的是TI公司的ADC0808和ADC0809。硬件和軟件設(shè)計(jì)基于51
    發(fā)表于 11-23 16:23 ?33次下載
    基于51<b class='flag-5'>單片機(jī)</b>和 <b class='flag-5'>ADC</b>0808 <b class='flag-5'>ADC0809</b>的自動(dòng)<b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓表</b>proteus仿真程序設(shè)計(jì)

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品