基于AT89C51的簡易數(shù)字電壓表設(shè)計(jì)_第1頁
基于AT89C51的簡易數(shù)字電壓表設(shè)計(jì)_第2頁
基于AT89C51的簡易數(shù)字電壓表設(shè)計(jì)_第3頁
基于AT89C51的簡易數(shù)字電壓表設(shè)計(jì)_第4頁
基于AT89C51的簡易數(shù)字電壓表設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于AT89C51的簡易數(shù)字電壓表設(shè)計(jì)摘要:本文介紹了一種基于單片機(jī)的簡易數(shù)字電壓表的設(shè)計(jì)。該設(shè)計(jì)主要由三個(gè)模塊組成:A/D轉(zhuǎn)換模塊,數(shù)據(jù)處理模塊及顯示模塊。A/D轉(zhuǎn)換主要由芯片ADC0808來完成,它負(fù)責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量在傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89C51來完成,其負(fù)責(zé)把ADC0808傳送來的數(shù)字量經(jīng)過一定的數(shù)據(jù)處理,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊進(jìn)行顯示;此外,它還控制著ADC0808芯片工作。該系統(tǒng)的數(shù)字電壓表電路簡單,所用的元件較少,成本低,且測量精度和可靠性較高。此數(shù)字電壓表可以測量0-5V的1路模擬直流輸入電壓值,并通過一個(gè)四位一體的7段數(shù)碼管顯示出來。關(guān)鍵詞:單片機(jī);數(shù)字電壓表;A/D轉(zhuǎn)換TheDesignofSimpleDigitalVoltmeterBasedonSingle-chipMicrocontrollerAbstract:Thispaperwhichintroducesakindofsimpledigitalvoltmeterisbasedonsingle-chipmicrocontrollerdesign.Thecircuitofthevoltagemeterismainlyconsistedofthreemouldpieces:A/Dconvertingmouldpiece,A/DconvertingismainlycompletedbytheADC0808,itconvertsthecollectedanalogdataintothedigitaldataandtransmitstheoutcometothemanifestationcontrollingmouldpiece.DataprocessingismainlycompletedbytheAT89C51chip,itprocessesthedataproducedbytheADC0808chipandgeneratestherightmanifestationcodes,alsotransmitsthecodestothemanifestationcontrollingmouldpiece.Also,theAT89C51chipcontrolstheADC0808chiptowork.Thevoltmeterfeaturesinsimpleelectricalcircuit,loweruseofelements,lowcost,moreover,itsmeasuringprecisionandreliability.Thevoltmeteriscapableofmeasuringvoltageinputsfrom1routerangingfrom0to5volt,anddisplayingthemeasurementsthoughadigitalcodetubeof7piecesofLED.KeyWords:Single-ChipMicrocontroller;DigitalVoltmeter;A/DConverter目錄1引言 12設(shè)計(jì)原理及要求 12.1數(shù)字電壓表的實(shí)現(xiàn)原理 12.2數(shù)字電壓表的設(shè)計(jì)要求 13系統(tǒng)硬件設(shè)計(jì) 23.1設(shè)計(jì)思路 23.2設(shè)計(jì)過程 33.3AT89C51的功能介紹 33.3.1簡單概述 33.3.2主要功能特性 43.3.3AT89C51的引腳介紹 43.4ADC0808的引腳及功能介紹 43.4.1芯片概述 53.4.2引腳簡介 53.4.3ADC0808的轉(zhuǎn)換原理 53.574LS373芯片的引腳及功能 63.5.1芯片概述 63.5.2引腳介紹 73.6LED數(shù)碼管的控制顯示 73.6.1LED數(shù)碼管的模型 73.6.2LED數(shù)碼管的接口簡介 83.7硬件電路圖 94系統(tǒng)軟件程序的設(shè)計(jì) 94.1主程序 94.2A/D轉(zhuǎn)換子程序 104.3中斷顯示程序 145電壓表的調(diào)試及性能分析 155.1調(diào)試與測試 155.2分析性能 17參考文獻(xiàn) 18致謝 19PAGE18PAGE191引言隨著微電子技術(shù)的不斷發(fā)展,微處理器芯片的集成程度越來越高,單片機(jī)已可以在一塊芯片上同時(shí)集成CPU、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)電路,這就很容易將計(jì)算機(jī)技術(shù)與測量控制技術(shù)結(jié)合,組成智能化測量控制系統(tǒng)。數(shù)字電壓表(DigitalVoltmeter)簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。與此同時(shí),由DVM擴(kuò)展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術(shù)提高到嶄新水平。本章重點(diǎn)介紹單片A/D轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機(jī)的數(shù)字電壓表的工作原目前,由各種單片A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動(dòng)化儀表、自動(dòng)測試系統(tǒng)等智能化測量領(lǐng)域,示出強(qiáng)大的生命力理。本設(shè)計(jì)AT89C51單片機(jī)的一種電壓測量電路,該電路采用ADC0808本文介紹一種基于A/D轉(zhuǎn)換電路,測量范圍直流0~5V的4路輸入電壓值,并在四位LED數(shù)碼管上顯示或單路選擇顯示。測量最小分辨率為0.019V,測量誤差約為正負(fù)0.02V。2設(shè)計(jì)原理及要求本設(shè)計(jì)是利用單片機(jī)AT89C51與ADC0808設(shè)計(jì)一個(gè)數(shù)字電壓表,測量0-5V之間的直流電壓值,四位數(shù)碼顯示,但要求使用的元器件數(shù)目最少。2.1數(shù)字電壓表的實(shí)現(xiàn)原理ADC0808是8位的A/D轉(zhuǎn)換器。當(dāng)輸入電壓為5.00V時(shí),輸出的數(shù)據(jù)值為255(0FFH),因此最大分辨率為0.0196(5/255)。ADC0808具有8路模擬量輸入端口,通過3位地址輸入端能從8路中選擇一路進(jìn)行轉(zhuǎn)換。如每隔一段時(shí)間依次輪流改變3位地址輸入端的地址,就能依次對(duì)8路輸入電壓進(jìn)行測量。LED數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。通過按鍵選擇可對(duì)8路循環(huán)顯示,也可單路顯示,單路顯示可通過按鍵選擇顯示的通道數(shù)。2.2數(shù)字電壓表的設(shè)計(jì)要求可以測量0~5V范圍內(nèi)的3路直流電壓值。在4位LED數(shù)碼管上輪流顯示各路電壓值或單路選擇顯示,其中3位LED數(shù)碼管顯示電壓值,顯示范圍為0.00V~5.00V,1位LED數(shù)碼管顯示路數(shù),3路分別為0-2。要求測量的最小分辨率為0.02V。3系統(tǒng)硬件設(shè)計(jì)3.1設(shè)計(jì)思路多路數(shù)字電壓表應(yīng)用系統(tǒng)硬件電路由單片機(jī)、A/D轉(zhuǎn)換器、數(shù)碼管顯示電路和按鍵處理電路組成,由于ADC0808在進(jìn)行A/D轉(zhuǎn)換時(shí)需要有CLK信號(hào),本試驗(yàn)中ADC0808的CLK直接由外部電源提供為500kHz的方波。由于ADC0808的參考電壓VREF=VCC,所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。實(shí)際顯示的電壓值(D/256*VREF)ADC0808采用逐次逼近法轉(zhuǎn)換,把模擬電壓轉(zhuǎn)換成16進(jìn)制的D,由于是對(duì)直流電壓0~5V進(jìn)行采集,所以D對(duì)應(yīng)的電壓為V0

,我們的目的就是要把V0顯示在LED顯示器上,因?yàn)閱纹瑱C(jī)不好進(jìn)行小數(shù)點(diǎn)計(jì)算,所以有:V0=2*D擴(kuò)大了100倍,擴(kuò)大100倍后的結(jié)果高八位放寄存器B,低八位放寄存器A,分寄存器B為0或不為0的情況進(jìn)行存取數(shù)據(jù),得到的結(jié)果個(gè)位放入R0,十位放入R1,通過查表使之顯示在LED顯示器。時(shí)鐘電路時(shí)鐘電路復(fù)位電路A/D轉(zhuǎn)換電路測量電壓輸入顯示系統(tǒng)AT89C51P1P2P2P0圖3-1總體框圖3.2設(shè)計(jì)過程簡易數(shù)字電壓測量電路由A/D轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成。電路原理圖見附錄2。A/D轉(zhuǎn)換由集成電路0808完成。0808具有8路模擬輸入端口,地址(23-25)腳可決定對(duì)哪路模擬輸入作A/D轉(zhuǎn)換,22腳為地址鎖存控制,當(dāng)輸入為高電平時(shí),對(duì)地址信號(hào)進(jìn)行鎖存。6腳為測試控制,當(dāng)輸入一個(gè)2us寬高電平脈沖時(shí),就開始A/D轉(zhuǎn)換。7腳為A/D轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí)7腳輸出高電平。9腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當(dāng)OE腳為高電平時(shí),A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為0808的時(shí)鐘輸入端,由外部信號(hào)源提供。單片機(jī)的P1、P3.0-P3.3端口作為四位LED數(shù)碼管現(xiàn)實(shí)控制。P3.5端口用作單路顯示/循環(huán)顯示轉(zhuǎn)換按鈕,P3.6端口用作單路顯示時(shí)選擇通道。P0端口作A/D轉(zhuǎn)換數(shù)據(jù)讀入用,P2端口用作0808的A/D轉(zhuǎn)換控制。3.3AT89C51的功能介紹3.3.1簡單概述AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖3-2所示。圖3-2AT89C51芯片模型3.3.2主要功能特性(1)4K字節(jié)可編程閃爍存儲(chǔ)器。(2)32個(gè)雙向I/O口;128×8位內(nèi)部RAM。(3)2個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷,時(shí)鐘頻率0-24MHz。(4)可編程串行通道。(5)5個(gè)中斷源。(6)2個(gè)讀寫中斷口線。(7)低功耗的閑置和掉電模式。(8)片內(nèi)振蕩器和時(shí)鐘電路。3.3.3AT89C51的引腳介紹89C51單片機(jī)多采用40只引腳的雙列直插封裝(DIP)方式,下面分別簡單介紹。(1)電源引腳電源引腳接入單片機(jī)的工作電源。Vcc(40引腳):+5V電源。GND(20引腳):接地。(2)時(shí)鐘引腳XTAL1(19引腳):片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器電路的輸入端。XTAL2(20引腳):片內(nèi)振蕩器反相放大器的輸出端。圖3-3電源接入方式3)復(fù)位RST(9引腳)在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腳時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。(4)/Vpp(31引腳)為外部程序存儲(chǔ)器訪問允許控制端。當(dāng)它為高電平時(shí),單片機(jī)讀片內(nèi)程序存儲(chǔ)器,在PC值超過0FFFH后將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器。當(dāng)它為低電平時(shí),只限定在外部程序存儲(chǔ)器,地址為0000H~FFFFH。Vpp為該引腳的第二功能,為編程電壓輸入端。3.4ADC0808的引腳及功能介紹3.4.1芯片概述ADC0808是一種典型的A/D轉(zhuǎn)換器。它是由8位A/D轉(zhuǎn)換器,一個(gè)8路模擬量開關(guān),8位模擬量地址鎖存譯碼器和一個(gè)三態(tài)數(shù)據(jù)輸出鎖存器組成;+5V單電源供電,轉(zhuǎn)化時(shí)間在100us左右;內(nèi)部沒有時(shí)鐘電路,故需外部提供時(shí)鐘信號(hào)。芯片模型如圖3-4所示。圖3-4ADC0808芯片模型3.4.2引腳簡介(1)IN0~IN7:8路模擬量輸入端。(2)D0~D7:8位數(shù)字量輸出端口。(3)START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。(4)ALE:地址鎖存允許信號(hào),高電平有效。(5)EOC:輸出允許控制信號(hào),高電平有效。(6)OE:輸出允許控制信號(hào),高電平有效。(7)CLK:時(shí)鐘信號(hào)輸入端。(8)A、B、C:轉(zhuǎn)換通道地址,控制8路模擬通道的切換。A、B、C分別與地址線或數(shù)據(jù)線相連,三位編碼對(duì)應(yīng)8個(gè)通道地址端口,A、B、C=000~111分別對(duì)應(yīng)IN0~IN7通道的地址端口。3.4.3ADC0808的轉(zhuǎn)換原理ADC0808采用逐次比較的方法完成A/D轉(zhuǎn)換,由單一的+5V電源供電。片內(nèi)帶有鎖存功能的8路選1的模擬開關(guān),由A、B、C的編碼來決定所選的通道。ADC0809完成一次轉(zhuǎn)換需100μs左右,它具有輸出TTL三態(tài)鎖存緩沖器,可直接連接到AT89C51的數(shù)據(jù)總線上。通過適當(dāng)?shù)耐饨与娐?,ADC0808可對(duì)0~5V的模擬信號(hào)進(jìn)行轉(zhuǎn)換。圖3-5ADC0808與單片機(jī)的連接3.574LS373芯片的引腳及功能3.5.1芯片概述74LS373是一種帶有三態(tài)門的8D鎖存器,其在本設(shè)計(jì)中是鎖存P0口的低8位地址,芯片模型如圖3-6所示。圖圖3-674LS373芯片模型3.5.2引腳介紹(1)D0~D7:8位數(shù)據(jù)輸入線;(2)Q0~Q7:8位數(shù)據(jù)輸出線(3)G:數(shù)據(jù)輸入鎖存選通信號(hào)。當(dāng)加到該引腳的信號(hào)為高電平時(shí),外部數(shù)據(jù)選通到內(nèi)部鎖存器,負(fù)跳變時(shí),數(shù)據(jù)鎖存到鎖存器中。(4):數(shù)據(jù)輸出允許信號(hào),低電平有效。當(dāng)該信號(hào)為低電平時(shí),三態(tài)門打開,鎖存器中的數(shù)據(jù)輸出到數(shù)據(jù)輸出線上,當(dāng)該信號(hào)為高電平時(shí),輸出線為高阻態(tài)。74LS373用作地址鎖存器時(shí),應(yīng)使OE為低電平,此時(shí)鎖存使能端C為高電平時(shí),輸出Q1~Q8

狀態(tài)與輸入端D1~8狀態(tài)相同;當(dāng)C發(fā)生負(fù)的跳變時(shí),輸入端D1~D8

數(shù)據(jù)鎖入Q1~Q8。51單片機(jī)的ALE信號(hào)可以直接與74LS373的C連接。在MCS-51單片機(jī)系統(tǒng)中,常采用74LS373作為地址鎖存器使用,其連接方法如上圖所示。其中輸入端D1~D8接至單片機(jī)的P0口,輸出端提供的是低8位地址,G端接至單片機(jī)的地址鎖存允許信號(hào)ALE。輸出允許端OE接地,表示輸出三態(tài)門一直打開。圖3-774LS373與單片機(jī)連接3.6LED數(shù)碼管的控制顯示3.6.1LED數(shù)碼管的模型LED數(shù)碼管模型如圖3-8所示。圖圖3-8LED數(shù)碼管模型3.6.2LED數(shù)碼管的接口簡介LED的段碼端口A~G分別接至AT89C51的P1.0~P1.7口,位選端1~4分別接至P3.5、P3.4、P3.1、P3.0,如圖3-9所示。圖圖3-9LED與AT89C51的硬件連線3.7硬件電路圖用Protues軟件仿真設(shè)計(jì)的電路如圖3-10所示。圖3-10仿真電路4系統(tǒng)軟件程序的設(shè)計(jì)多路數(shù)字電壓表系統(tǒng)軟件程序主要有主程序、A/D轉(zhuǎn)換子程序和中斷顯示程序組成。4.1主程序主程序包含初始化部分、調(diào)用A/D轉(zhuǎn)換子程序和相應(yīng)外部0中斷顯示電壓數(shù)值程序,初始化部分包含存放通道的緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外,對(duì)于單路顯示和循環(huán)顯示,系統(tǒng)設(shè)置了一個(gè)標(biāo)志位00H控制,初始化時(shí)00H位設(shè)置為0,默認(rèn)為循環(huán)顯示,當(dāng)它為1時(shí)改變?yōu)閱温凤@示控制,00H位通過單路、循環(huán)按鍵控制。流程圖如圖4-11所示。開始開始顯示子程序A/D轉(zhuǎn)換子程序初始化圖4-11主程序流程圖主程序:voidmain()

{

ucharvalue[4];

while(1)

{

AD_shift(AD_get());

value_shift(value);

Display(value);

}

}4.2A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用于對(duì)ADC0808的4路輸入模擬電壓進(jìn)行A/D轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)值存入4個(gè)相應(yīng)的存儲(chǔ)單元中,A/D轉(zhuǎn)換子程序每隔一定時(shí)間調(diào)用一次,即隔一段時(shí)間對(duì)輸入電壓采樣一次,如圖4-12所示。啟動(dòng)轉(zhuǎn)換啟動(dòng)轉(zhuǎn)換A/D轉(zhuǎn)換結(jié)束?輸出轉(zhuǎn)換結(jié)果數(shù)值轉(zhuǎn)換顯示結(jié)束開始圖4-12A/D轉(zhuǎn)換流程圖子程序:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint#defineAD_dataP1

//AD0808數(shù)據(jù)輸出端#defineLED_portP0

//數(shù)碼管段#defineLED_posP3

//數(shù)碼管位sbitSTART=P2^5;sbitOE=P2^7;sbitEOC=P2^6;sbitALE=P2^2;uintDCtemp=0;

//電壓臨時(shí)數(shù)據(jù)ucharcodeLED_seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

ucharcodepos[4]={0x01,0x02,0x04,0x08};voidDelay(uchart)

//延時(shí)函數(shù)

{

uchari,j,k;

for(i=0;i<t;i++)

for(j=0;j<20;j++)

for(k=0;k<20;k++);}ucharAD_get(){

ucharDCdata;

START=0;

ALE=1;

//因?yàn)槟M輸入只采用一路,地址段直接接地,使用IN0作為輸入端

START=1;

START=0;

ALE=0;

while(EOC==0);

OE=1;

DCdata=AD_data;

OE=0;

Delay(10);

returnDCdata;}voidAD_shift(ucharDCdata){

uchari;

floatDC=0;

for(i=0;i<8;i++)

{

if(DCdata&1<<i)

{

DC+=(1<<i)*19.6;

}

}

DCtemp=(int)DC;

}voidvalue_shift(ucharvalue[])

{

value[0]=DCtemp/1000;

value[1]=DCtemp/100%10;

value[2]=DCtemp/10%10;

value[3]=DCtemp%10;}voidDisplay(ucharvalue[])

{

uchari;

for(i=0;i<4;i++)

{

LED_pos=pos[i];

//位控制

if(i==0)

LED_port=LED_seg[value[i]]+0x80;

//段碼

else

LED_port=LED_seg[value[i]];

Delay(1);

}

}voidmain()

{

ucharvalue[4];

while(1)

{

AD_shift(AD_get());

value_shift(value);

Display(value);

}

}4.3中斷顯示程序設(shè)計(jì)中采用中斷的方式來讀取轉(zhuǎn)換完成的數(shù)據(jù)能節(jié)省CPU的資源當(dāng)系統(tǒng)設(shè)置好后,一旦數(shù)據(jù)轉(zhuǎn)換完成,便會(huì)進(jìn)入外部中斷0,然后在中斷中讀取轉(zhuǎn)換的數(shù)值,處理數(shù)據(jù)并送數(shù)碼管顯示輸出。LED數(shù)碼管采用軟件譯碼動(dòng)態(tài)掃描的方式。在中斷程序中包含多路循環(huán)顯示程序和單路顯示程序,多路循環(huán)顯示程序把4個(gè)存儲(chǔ)單元的數(shù)值依次取出送到4個(gè)數(shù)碼管上顯示,每一路顯示一秒。單路顯示程序只對(duì)當(dāng)前選中的一路數(shù)據(jù)進(jìn)行顯示。每路數(shù)據(jù)顯示時(shí)需經(jīng)過轉(zhuǎn)換變成十進(jìn)制BCD碼,放于4個(gè)數(shù)碼管顯示緩沖區(qū)中。單路或多路循環(huán)顯示通過標(biāo)志位00H控制。在顯示控制程序中加入了對(duì)單路或多路循環(huán)按鍵的判斷。數(shù)字量送P1口數(shù)字量送P1口取段碼地址P3.1=1?調(diào)用循環(huán)顯示程序調(diào)用單路顯示程序顯示的是第4路重新調(diào)用顯示程序NYNY圖4-13中斷顯示程序流程圖中斷程序:ucharAD_get(){

ucharDCdata;

START=0;

ALE=1;

//因?yàn)槟M輸入只采用一路,地址段直接接地,使用IN0作為輸入端

START=1;

START=0;

ALE=0;

while(EOC==0);

OE=1;

DCdata=AD_data;

OE=0;

Delay(10);

returnDCdata;}5電壓表的調(diào)試及性能分析5.1調(diào)試與測試本設(shè)計(jì)應(yīng)用Proteus6及KEIL51軟件,首先根據(jù)自己設(shè)計(jì)的電路圖用Proteus6軟件畫出電路模型,關(guān)于這個(gè)軟件的使用通過查一些資料和自己的摸索學(xué)習(xí);然后我們用KEIL51軟件對(duì)所編寫的程序進(jìn)行編譯、鏈接,如果沒有錯(cuò)誤和警告便可生成程序的hex文件,將此文件加到電路圖上使軟硬件結(jié)合運(yùn)行,最后進(jìn)行端口電壓的對(duì)比測試,測試的第一路對(duì)比見圖5-14中標(biāo)準(zhǔn)電壓值采用Proteus6軟件中的模擬電壓表測得。圖圖5-14數(shù)字電壓表與標(biāo)準(zhǔn)電壓表的比較從圖中可以看出,簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表測得的絕對(duì)誤差均在0.02V以內(nèi),這與采用8位A/D轉(zhuǎn)換器所能達(dá)到的理論誤差精度相一致,在一般的應(yīng)用場合可以完全滿足要求。(1)當(dāng)IN0口輸入電壓值為0.05V時(shí),顯示結(jié)果如圖5-15所示,測量誤差為0.1V。圖5-15(2)當(dāng)IN0輸入電壓值為1.50V時(shí),顯示結(jié)果如圖5-16所示,測量誤差為0.04V。圖5-16(3)當(dāng)IN0口輸入電壓值為3.50V時(shí),顯示結(jié)果如圖5-17,測量誤差為0.06V。圖5-175.2分析性能通過以上仿真測量結(jié)果可得到簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測試表,如下表5-1所示:表5-1簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測試表標(biāo)準(zhǔn)電壓值/V簡易電壓表測量值/V絕對(duì)誤差/V0.000.000.000.500.520.021.001.000.001.501.510.012.002.020.022.502.500.003.003.000.003.503.510.014.004.000.004.995.000.01由于單片機(jī)AT89C51為8位處理器,當(dāng)輸入電壓為5.00V時(shí),ADC0808輸出數(shù)據(jù)值為255(FFH),因此單片機(jī)最高的數(shù)值分辨率為0.0196V(5/255)。這就決定了電壓表的最高分辨率只能到0.0196V,從上表可看到,測試電壓一般以0.01V的幅度變化。從上表可以看出,簡易數(shù)字電壓表測得的值基本上比標(biāo)準(zhǔn)電壓值偏大0-0.01V,這可以通過校正ADC0808的基準(zhǔn)電壓來解決。因?yàn)樵撾妷罕碓O(shè)計(jì)時(shí)直接用5V的供電電源作為電壓,所以電壓

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論