基于單片機(jī)控制的數(shù)字電壓表.doc_第1頁
基于單片機(jī)控制的數(shù)字電壓表.doc_第2頁
基于單片機(jī)控制的數(shù)字電壓表.doc_第3頁
基于單片機(jī)控制的數(shù)字電壓表.doc_第4頁
基于單片機(jī)控制的數(shù)字電壓表.doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余8頁可下載查看

下載本文檔

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

文檔簡介

基于單片機(jī)控制的數(shù)字電壓表摘 要:在現(xiàn)代檢測技術(shù)中,常需要高精度數(shù)字電壓表進(jìn)行現(xiàn)場檢測,將檢測到的數(shù)據(jù)送入微計(jì)算機(jī)系統(tǒng),完場計(jì)算、存儲、控制和顯示等功能。本文中數(shù)字電壓表的控制系統(tǒng)采用AT89c51單片機(jī),A/D轉(zhuǎn)換器采用ADC0809為主要硬件,實(shí)現(xiàn)數(shù)字電壓表的硬件電路與軟件設(shè)計(jì)。該系統(tǒng)的數(shù)字電壓表電路簡單,所用元器件較少,成本低,調(diào)節(jié)工作可實(shí)現(xiàn)自動(dòng)化。還可方便地進(jìn)行8路A/D轉(zhuǎn)換量的測量,遠(yuǎn)程測量結(jié)果傳送等功能。數(shù)字電壓表可以測量05V的8路輸入電壓值,并在四路LED數(shù)碼管上輪流顯示或單路選擇顯示。關(guān)鍵字:單片機(jī);數(shù)字電壓表;A/D轉(zhuǎn)換;模擬信號1. 引言數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ),電壓表的數(shù)字化是將連續(xù)的模擬量如直流電壓轉(zhuǎn)化成不連續(xù)的離散的數(shù)字形式并加以顯示,這是有區(qū)別于傳統(tǒng)的以指針加刻度盤進(jìn)行讀數(shù)的方法,避免了讀數(shù)的視差和視覺疲勞。目前數(shù)字萬用表的內(nèi)部核心器件是A/D轉(zhuǎn)換器,轉(zhuǎn)換器的精度很大程度上影響了數(shù)字萬用表的精確度,本文的A/D轉(zhuǎn)換器采用ADC0809對模擬信號進(jìn)行轉(zhuǎn)換,控制核心AT89c51再轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算和處理,最后驅(qū)動(dòng)輸出裝置顯示數(shù)字電壓信號。2. 總體設(shè)計(jì)方案2.1 設(shè)計(jì)思路本設(shè)計(jì)采用ADC0809對模擬信號進(jìn)行轉(zhuǎn)換,經(jīng)控制核心89C51再轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算和處理,最后由驅(qū)動(dòng)輸入裝置74245顯示數(shù)字電壓信號。ADC0809通過IN0IN7采集模擬電壓信號送給單片機(jī),單片機(jī)將采集來的信號通過一定的處理然后通過并口擴(kuò)展的共陽極LED數(shù)碼管顯示采集的電壓值。2.1.1 方案確立經(jīng)過各個(gè)方面的考慮,總共得出兩個(gè)比較可行的方案,如下。(1)方案一:用電位器控制輸入電壓,經(jīng)ADC0809模數(shù)轉(zhuǎn)換,然后送入AT89C51處理,最后經(jīng)74LS164驅(qū)動(dòng)顯示數(shù)字電壓信號,本電路一個(gè)特點(diǎn)就是另外接一報(bào)警電路,顯示電路屬串行顯示,優(yōu)點(diǎn)是電路原理比較簡單,但所用元器件較為冗多(6個(gè)74LS164,LM386、ADC0809、AT89C51各一個(gè),極性電容、發(fā)光二極管等若干)。大致電路設(shè)計(jì)原理圖見附錄一。(2)方案二:主要用4個(gè)芯片AT89C51,ADC0809,74245,14024來控制整個(gè)電路,優(yōu)點(diǎn)是所用元器件個(gè)數(shù)較少,原理圖簡單明了,但也存在一定的缺點(diǎn),就是實(shí)際制作電路板時(shí)所需跳線較多,電路設(shè)計(jì)原理圖見附錄二。本設(shè)計(jì)經(jīng)多方位考慮,采用方案二,所用電子元器件見表1。 表1 電子元器件清單材料類型材料型號數(shù)量ICAT89C511ADC0809174LS2451140241電阻51074.7K68.2K3三極管85504共陽數(shù)碼管XD110504非極性電容30F210F1晶振12MHz12.2 總體設(shè)計(jì)框圖本設(shè)計(jì)采用方案二,根據(jù)ADC0809、AT89C51的特點(diǎn)以及他們的接口順序,繪出總體設(shè)計(jì)方框圖如下圖1所示。3. 設(shè)計(jì)原理分析3.1 數(shù)字電壓表硬件電路設(shè)計(jì)硬件電路設(shè)計(jì)主要包括:89C51單片機(jī)系統(tǒng),A/D轉(zhuǎn)換電路,顯示電路。測量最大電壓位5V,顯示最大值為5.00V。圖2為數(shù)字電壓表硬件電路原理圖。3.1.1 89C51單片機(jī)系統(tǒng)和顯示電路由于單片機(jī)體積小、重量輕、價(jià)格便宜,所以本系統(tǒng)采用89C51內(nèi)部有4KB的EEPROM,128字節(jié)的RAM,所以一般都要根據(jù)系統(tǒng)所需存儲容量的大小來擴(kuò)展ROM,所以一般都要根據(jù)系統(tǒng)所需存儲容量大小來擴(kuò)展ROM和RAM。本電路/EA接高電平,沒擴(kuò)展片外ROM和RAM。89C51的P1、P3.0P3.3端口作為四位LED數(shù)碼管控制。P3.5端口用作單路顯示轉(zhuǎn)換按鈕,P3.6端口用作單路顯示時(shí)選擇通道。P0端口用作0809的A/D轉(zhuǎn)換數(shù)據(jù)讀入用,P2端口用作0809的A/D轉(zhuǎn)換控制。8路模擬輸入A/D轉(zhuǎn)換89C51單片機(jī)通訊模塊LED顯示 圖1 總體設(shè)計(jì)方框圖圖2 數(shù)字電壓表硬件電路原理圖3.1.2 A/D轉(zhuǎn)換電路 A/D轉(zhuǎn)換由集成電路0809完成。0809具有8路模擬信號輸入端口,地址線(2325腳)可決定對哪一路模擬信號進(jìn)行A/D轉(zhuǎn)換。22腳為地址鎖存控制。6腳為測試控制,當(dāng)輸入一個(gè)2s寬高電平脈沖時(shí),就開始A/D轉(zhuǎn)換。7管腳為A/D轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng)A/D轉(zhuǎn)換數(shù)據(jù)結(jié)束時(shí),7管腳輸出高電平。9管腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制端,當(dāng)OE腳為高電平時(shí),A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為0809的時(shí)鐘輸入端,利用單片機(jī)30引腳的六分頻晶振頻率再通過14024二分頻得到1MHz時(shí)鐘。3.1.3 ADC0809的結(jié)構(gòu)和工作原理ADC0809是一種8位逐次逼近型A/D轉(zhuǎn)換器,帶8個(gè)模擬量輸入通道,芯片內(nèi)有通道地址譯碼鎖存器,有輸出三態(tài)數(shù)據(jù)鎖存器,啟動(dòng)信號為脈沖啟動(dòng)方式,每個(gè)通道的轉(zhuǎn)換大約為100s,可以和單片機(jī)直接接口。ADC0809的引腳圖和內(nèi)部邏輯結(jié)構(gòu)如圖3所示。由圖3可知,ADC0809是由一個(gè)八路模擬開關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)八位A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個(gè)模擬通道IN0IN7,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖存器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí)才可以從三態(tài)輸出鎖存器取出轉(zhuǎn)換完的數(shù)據(jù)。IN0IN7:8條模擬量輸入通道。ADC0809對輸入模擬量要求:信號單極性,電壓范圍是05V,若信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條。ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表2所示。數(shù)字量輸出及控制線:11條。ST為轉(zhuǎn)換啟動(dòng)信號。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。CLK為時(shí)鐘輸入信號線。因ADC0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號必須由外界提供,通常使用頻率為500KHZ,VREF(),VREF()為參考電壓輸入。3.1.4ADC0809應(yīng)用說明 (1)ADC0809內(nèi)部帶有輸出鎖存器,可以與AT89C51單片機(jī)直接相連。(2)初始化時(shí),使ST和OE信號全為低電平。(3)送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。(4)在ST端給出一個(gè)至少有100ns寬的正脈沖信號。(5)是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號來判斷。(6)當(dāng)EOC變?yōu)楦唠娖綍r(shí),這時(shí)給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。表2 通道選擇表地址編碼被選中的通道ABC000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7如果中斷允許控制位為1,則表示第二次中斷,再判斷T0運(yùn)行的時(shí)間;如果運(yùn)行的時(shí)間13.5ms或1ms,則認(rèn)為是誤碼,退出;如果在1ms和13.5ms之間,再判斷是否小于2ms,2ms可判為收到的數(shù)據(jù)為“0”,轉(zhuǎn)到數(shù)據(jù)“0”處理;如果2ms,再判斷是否11.25ms,11.25ms的可判為接收到的數(shù)據(jù)為“1”,轉(zhuǎn)數(shù)據(jù)“1”處理;如果11.25ms,則收到的為簡碼。數(shù)據(jù)“0”和“1”用C位儲存,數(shù)據(jù)“0”時(shí)C=0,數(shù)據(jù)“1”時(shí)C=1。用移位指令將數(shù)據(jù)進(jìn)行移位保存。連續(xù)接收32位數(shù)據(jù)后進(jìn)行數(shù)據(jù)有效性判斷,可再判斷用戶碼是否和自己需要的相同。如果數(shù)據(jù)有效,則將低8位用戶碼、高8位用戶碼、按鍵碼進(jìn)行BCD碼分離并存于顯示緩沖中作顯示用,數(shù)據(jù)無效則退出外中斷0。中斷退出時(shí)重設(shè)T0初值為0,T0中斷中將引導(dǎo)標(biāo)志位置0,為下次接收紅外線信號做準(zhǔn)備。3.1.5 ADC0809的接口方法圖4是ADC0809和ATC89c51單片機(jī)的連線圖,此圖是最簡單的連接方法,本設(shè)計(jì)就基本采用此種接法。由圖4可以看出,ADC0809的D0D7直接與單片機(jī)的總線P0相連。時(shí)鐘CLK由單片機(jī)的ALE取得,對于晶振為12MHz的單片機(jī)ALE輸出為2MHz的方波,而本設(shè)計(jì)又在此基礎(chǔ)上加以變化,又另接14024二分頻器,使其輸出1MHz的方波,前面提到ADC0809的時(shí)鐘頻率一般為500KHz,最大能超過1280KHz,故1MHz的信號可以使ADC0809正常工作。3.2 數(shù)字電壓表系統(tǒng)的軟件設(shè)計(jì)3.2.1 初始化程序系統(tǒng)上電后,初始化程序?qū)?0H77H內(nèi)存單元清0,P2口置0。系統(tǒng)默認(rèn)為循環(huán)顯示8個(gè)通道的電壓值,當(dāng)進(jìn)行一次測量后,將顯示每一通道的A/D轉(zhuǎn)換值,每次通道顯示時(shí)間為1s。70H77H內(nèi)存單元存放采樣值,78H7BH內(nèi)存放顯示數(shù)據(jù),依次為個(gè)位、十位、百位、通道標(biāo)志位。3.2.2 A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用來控制對0809八路模擬輸入電壓的A/D轉(zhuǎn)換,并將對應(yīng)的數(shù)值存入70H77H內(nèi)存單元。 圖3 ADC0809引腳圖和內(nèi)部邏輯結(jié)構(gòu)圖3.2.3 顯示子程序顯示子程序采用動(dòng)態(tài)掃描實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示。測量數(shù)據(jù)在顯示時(shí)需轉(zhuǎn)換成BCD碼放在78H7BH內(nèi)存單元中,其中7BH存放通道標(biāo)志位。R3作為8路循環(huán)控制,R0用作顯示數(shù)據(jù)指針。3.2.4 程序流程圖主程序流程圖和A/D轉(zhuǎn)換測量程序流程圖分別如圖5(a)、(b)所示。圖4 ADC0809和89C51的連線圖開始開始啟動(dòng)測試初始化A/D轉(zhuǎn)換結(jié)束?P3.7=1?調(diào)用A/D轉(zhuǎn)換子程序取數(shù)據(jù)(P2.5=1)調(diào)用顯示子程序(a )主程序0809地址加1地址數(shù)小于8?返回 (b ) A/D轉(zhuǎn)換測試程序 圖5 數(shù)字電壓表程序流程圖4 結(jié)束語根據(jù)以上設(shè)計(jì)進(jìn)行測試,該數(shù)字電表可以測量05V電壓值,89C51為8位處理器,當(dāng)ADC0809輸入電壓值為5.00V時(shí),輸出數(shù)據(jù)為255(FFH),因此最大分辨率為0.0196V(5/255),滿足設(shè)計(jì)要求最大分辨率0.02V。如需獲得更大的分辨率,可采用12位、13位的A/D轉(zhuǎn)換器,數(shù)字電壓顯示可能有偏差??梢酝ㄟ^校正0809的基準(zhǔn)電壓來解決,或者用軟件編程來校正測量值。本系統(tǒng)用89C51構(gòu)成數(shù)字電壓表控制系統(tǒng),具有精度高、速度快、性能穩(wěn)定和電路簡單且工作可靠等特點(diǎn),具有很好的實(shí)用價(jià)值。參考文獻(xiàn) 1李朝青.單片機(jī)原理及接口技術(shù)M.第三版.北京:北京航空航天大學(xué)出版社,2005.259262 2余永權(quán),汪明慧,黃英.單片機(jī)在控制系統(tǒng)中的應(yīng)用M.電子工業(yè)出版社,2003.10 3丁元杰.單片微機(jī)原理及應(yīng)用M.北京:機(jī)械工業(yè)出版社,1994 4邱關(guān)源.電路M.第五版.北京:高等教育出版社,2006 5康華光.電子技術(shù)基礎(chǔ)M.第五版.北京:高等教育出版社,20066謝自美.電子線路設(shè)計(jì)實(shí)驗(yàn)測試M.第三版.武漢:華中科技大學(xué)出版社,2006.08附錄一 圖6 數(shù)字電壓表硬件電路原理圖附錄二 圖7 方案一電路設(shè)計(jì)原理圖附錄三數(shù)字電壓表匯編源程序清單:ORG 0000HLJMP STARTORG 0003HRETIORG 000BHRETIORG 0013HRETIORG 001BHRETIORG 0023HRETICLEAREMEMIO:CLR A MOV P2,A MOV R0,#70H MOV R2,#0CHLOOPMEM:MOV R0,A INC R0 DJNZ R2,LOOPMEM MOV A,#0FFH MOV P0,A MOV P1,A MOV P3,ARETSTART:LCALL CLEAREMEMIOMAIN:LCALL DISPLAY LCALL TEST AJMP MAIN NOP NOP NOP LJMP STARTDISPLAY:MOV R3,#08H MOV R0,#70H MOV 7BH,#00HDISLOOP1:MOV A,R0 MOV B,#100 DIV AB MOV 7AH,A MOV A,#10 XCH A,B DIV AB MOV 79H,A MOV 78H,B MOV R2,#0FFHDISLOOP2:LCALL DISP DJNE R2,DISLOOP2 INC R0 INC 7BH DJNZ R3,DISLOOP1 RETDISP:MOV R1,#78H MOV R5,#0FEHPLAY:MOV P1,#0FFH MOV A,R5 ANL P3,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A LCALL DL1MS INC R1 MOV A,P3 JNB ACC.3,ENDOUT RL A MOV R5,A MOV P3,#0FFH AJMP PLAYENDOUT:MOV P3,#0FFH MOV P1,#0FFHRETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFHDL1MS:MOV R6,#14HDL1:MOV R7,#19HDL2:DJNZ R7,DL2 DJNZ R6,DL1RETTEST:CLR A MOV P2,A MOV R0,#70H MOV R7,#08H LCALL TESTARTWAIT:JB P3.7,MOVD AJM

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論