多路數字電壓表_第1頁
多路數字電壓表_第2頁
多路數字電壓表_第3頁
多路數字電壓表_第4頁
多路數字電壓表_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、多路數字電壓表摘要 隨著電子科學技術的發(fā)展,電子測量成為廣大電子工作者必須掌握的手段,對測量的精度和功能的要求也越來越高,而電壓的測量甚為突出,因為電壓的測量最為普遍。數字電壓表(Digital Voltmeter)簡稱DVM,它采用數字化測量技術,把連續(xù)的模擬量(直流輸入電壓)轉換成不連續(xù)、離散的數字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數字化時代的需求,采用單片機的數字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。目前,由各種單片A/D轉換器構成的數字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領域

2、,示出強大的生命力。 本文中數字電壓表的控制系統(tǒng)采用AT89C52單片機,A/D轉換器采用 ADC0809為主要硬件,實現數字電壓表的硬件電路與軟件設計該系統(tǒng)的數字電壓表電路簡單,所用的元件較少,成本低,調節(jié)工作可實現自動化。還可以方便地進行8路A/D轉換量的測量遠程測量結果傳送等功能。數字電壓表可以測量0-5V的8路輸入電壓值,并在四位LED數碼管上輪流顯示或單路選擇顯示。關鍵詞:單片機,電壓,A/D轉換,ADC0809AbstractIn modern measuring technology,it is often required to conduct site measuring w

3、ith a digital voltmeterThe data measured will then be input into the micro-computer system to execute such functions like calculating,storing,controlling and displayingThe digital voltmeter control system described in this paper makes use of AT89C52 SC computer and ADC0809 A/D converter to fulfill t

4、he designing of the software as well as the electrical circuitThe voltmeter features in simple electrical circuit,Lower use of elements,low cost and automatic regulation,while it can also easily carry out the duties of measuring A/D converted values from 8 routes and remote transfer of measuring dat

5、aThe meter is capable of measuring voltage inputs from 8 routes ranging from 0 to 5 voltAnd displaying the measurements in turn or only that from a selected routeKey words: Micro Controller Unit,Voltmeter,A/D switch,ADC0809目錄摘要IAbstractII引言11 設計任務描述21.1 設計題目21.2 設計任務要求21.3 設計目的22 總體設計32.1總體方案框圖32.2

6、方案論證32.3 系統(tǒng)原理分析43 系統(tǒng)設計53.1 系統(tǒng)硬件設計53.1.1 AT89C52介紹53.1.2 ADC0809介紹63.1.3 LED數碼管介紹73.2 系統(tǒng)軟件設計73.2.1 主程序73.2.2 A/D轉換子程序83.2.3 顯示子程序94 調試及性能分析104.1 調試與測試104.2 性能分析105 控制源程序清單11總結16致謝17參考文獻18III引言單片機是一種集成電路芯片,采用超大規(guī)模技術把具有數據處理能力(如算術運算,邏輯運算、數據傳送、中斷處理)的微處理器(CPU)。隨著單片機技術的飛速發(fā)展,各種單片機蜂擁而至,單片機技術已成為一個國家現代化科技水平的重要標

7、志。 單片機可單獨地完成現代工業(yè)控制所要求的智能化控制功能,這是單片機最大的特征。單片機控制系統(tǒng)能夠取代以前利用復雜電子線路或數字電路構成的控制系統(tǒng),可以軟件控制來實現,并能夠實現智能化?,F在單片機控制范疇無所不在,例如通信產品、家用電器、智能儀器儀表、過程控制和專用控制裝置等等,單片機的應用領域越來越廣泛。本次課程設計的課題是“基于單片機的多路數字電壓表的設計”。主要考核我們對單片機技術,編程能力等方面的情況。觀察獨立分析、設計單片機的能力,以及實際編程技能。 傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足數字化時代的需求,采用單片機的數字電壓表,由精度高、抗干擾能力強,可

8、擴展性強、集成方便。通過單片機,采用數字化測量技術,把連續(xù)的模擬量轉換成不連續(xù)、離散的數字形式并加以顯示的儀表,使測得的結果更為精準。本次設計了一個多路數字電壓表,該電壓表測量范圍在05V之間。它主要利用A/D轉換器,對多路電壓值進行采樣,得到相應的數字量,然后按照數字量與模擬量的比例關系得到對應的模擬電壓值,通過顯示設備顯示出來。系統(tǒng)過程就是采用數字化測量技術,把連續(xù)的模擬量轉換成不連續(xù)、離散的數字形式并加以顯示。由于采用高性能的單片機芯片為核心,同時利用LED數碼管為顯示設備,這樣就使顯示清晰直觀、讀數準確,大大地減少了因人為因素所造成的測量誤差事件,大大的提高了測量的精確度。1 設計任務

9、描述1.1 設計題目多路數字電壓表1.2 設計任務要求 用單片機設計出一個多路數字電壓表。此多路數字電壓表完成采集外部電壓值并在系統(tǒng)內部LED中顯示出來功能。設計一個多路數字電壓表,該多路數字電壓表工作過程和設計內容:先用A/D轉換器對各路電壓值進行采樣,得到相應的數字量,再按數字量與模擬量成正比關系運算得到對應的模擬電壓值,最后模擬值通過顯示器顯示出來。設計時假設待測的輸入電壓為8路,電壓值的范疇為0-5V,要求能在4位LED數碼管輪流顯示或單路選擇顯示。測量的最小分辨率為0.019V,測量誤差為±0.02V。同時為了使用方便,本題目還需要設計幾個簡單按鍵,可以通過按鍵選擇可8路循

10、環(huán)顯示,也可單路顯示,單路顯示可通過按鍵選擇顯示的通道數。1.3 設計目的能綜合運用單片機技術知識,進行實際電子系統(tǒng)的設計、安裝和調測,以加深對單片機基本知識的理解,提高綜合應用知識的能力、分析解決問題的能力和電子技術實踐技能,初步培養(yǎng)研制實用電子系統(tǒng)的能力。1.通過這次課程設計可以更好的掌握單片機的基本知識; 2.可以學會安裝,調試與仿真等集成電路組成的多級電子電路小系統(tǒng)。3.可以更好的掌握課本上所學的知識,培養(yǎng)自己對所學專業(yè)的熱愛。2 總體設計2.1總體方案框圖 在現代測量中,數字電壓表的用途越來越廣泛,在教學、測量、以及工程等方面有著不可或缺的作用。其優(yōu)質特點更深受用戶喜愛。數字電壓表(

11、Digital Voltmeter)簡稱DVM,它采用數字顯示,直觀準確,無視覺誤差,并具有極性自動顯示功能。測量精度和分辨率都很高。電路的集成度高,便于組裝和維修,使用更為可靠和耐久。所以研究制作一種多路數字電壓表是非常有意義的。本設計從各個角度分析了由單片機組成的數字電壓表的設計過程及各部分電路的組成及其原理,并且分析了程序如何驅動單片機進而使系統(tǒng)運行起來的原理及方法。系統(tǒng)設計總體框圖如圖2.1所示。圖2.1 系統(tǒng)設計總體框圖2.2 方案論證按照系統(tǒng)功能要求,控制系統(tǒng)采用AT89C52單片機,A/D轉換采用ADC0809,系統(tǒng)除能確保實現要求的功能外,還可以方便地進行其它功能的擴展。數字電

12、壓表系統(tǒng)設計方案框圖如圖2.2所示。 圖2.2 數字電壓表系統(tǒng)設計方案2.3 系統(tǒng)原理分析 根據系統(tǒng)的功能要求,控制系統(tǒng)采用AT89C52單片機,A/D轉換器采用ADC0809。ADC0809是8位的A/D轉換器。當輸入電壓為5.00V時,輸出的數據值為255(0FFH),因此最大分辨率為0.0196V(5/255)。ADC0809具有8路模擬量輸入端口,通過3位地址輸入端能從8路中選擇一路進行轉換。如每隔一段時間依次輪流改變3位地址輸入端的地址,就能依次對8路輸入電壓進行測量。LED數碼管顯示采用軟件譯碼動態(tài)顯示。通過按鍵選擇可8路循環(huán)顯示,也可單路顯示,單路顯示可通過按鍵選擇顯示的通道數。

13、多路數字電壓表應用系統(tǒng)主要利用A/D轉換器,處理過程如下:先用A/D轉換器對各路電壓值進行采樣,得到相應的數字量,再按數字量與模擬量成正比關系運算得到對應的模擬電壓值,然后把模擬值通過顯示器顯示出來。設計時假設待測的輸入電壓為8路,電壓值的范疇為0-5V,要求能在4位LED數碼管上輪流顯示或單路選擇顯示。測量的最小分辨率為0.019V,絕對測量誤差為+0.02V和-0.02V。3 系統(tǒng)設計3.1 系統(tǒng)硬件設計8路數字電壓測量電路由A/D轉換、數據處理及顯示控制等組成電路原理圖如圖3.1所示。A/D轉換由集成電路0809完成,0809具有8路模擬輸入端口,地址線(2325腳)可決定對哪一路模擬輸

14、入作A/D轉換。22腳為地址鎖存控制,當輸入為高電平時,對地址信號進行鎖存。6腳為測試控制,當輸入一個2us寬高電平脈沖時,就開始A/D轉換。7腳為A/D轉換結束標志,當A/D轉換結束時,7腳輸出高電平。9腳為A/D轉換數據輸出允許控制,當OE腳為高電平時,A/D轉換數據從端口輸出。10腳為0809的時鐘輸入端,利用單片機30腳的6分頻晶振頻率,再通過二進制計數器14 024二分頻得到1MHz的時鐘。單片機的P1口、P3.0P3.3端口作為4位LED數碼管顯示控制。P3.5端口按鈕可用作單路顯示/循環(huán)顯示,P3.6端口按鈕可用作單路顯示時選擇通道。P0端口作A/D轉換數據讀入,P2端口用作08

15、09的A/D轉換控制。圖3.1 數字電壓表電路原理圖3.1.1 AT89C52介紹 單片機采用MCS-51系列單片機。由ATMEL公司生產的AT89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80C51產品指令和引腳完全兼容。在單芯片上,擁有靈巧的8位CPU 和在線系統(tǒng)可編程Flash,使得AT89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、有效的解決方案。AT89C52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數據指針,三個16位定時器/計數器

16、,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路??臻e模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。而且,它還具有一個看門狗(WDT)定時/計數器,如果程序沒有正常工作,就會強制整個系統(tǒng)復位,還可以在程序陷入死循環(huán)的時候,讓單片機復位而不用整個系統(tǒng)斷電,從而保護你的硬件電路。 AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,2個16位可編程定時計數器,2個全雙工串行通信口,片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于

17、常規(guī)編程器。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。其芯片引腳圖如圖3.2所示。圖3.2 AT89C52引腳圖3.1.2 ADC0809介紹 ADC0809具有8路模擬量輸入通道IN0IN7,通過3位地址輸入端C、B、A(2325引腳)進行選擇。22引腳為地址鎖存控制端ALE,當輸入為高電平時,C、B、A引腳輸入的地址鎖存于ADC0809內部的鎖存器中,經內部譯碼選中相應的模擬通道。6引腳為啟動轉換控制端START,當輸入一個2us寬的高電平脈沖時,就啟動ADC0809開始對輸入通道的模擬量進行轉換。7引腳為A/D轉換結束信號EO

18、C,ADC0809為逐次比較型A/D轉換器,當開始轉換時,EOC信號為低電平,經過一定時間,轉換結束,轉換結束信號EOC輸出高電平,轉換的結果存放在ADC0809內部的輸出數據鎖存器中。9引腳為A/D轉換數據輸出允許控制端OE,當OE為高電平時,存放在輸出數據鎖存器中的數據通過ADC0809的數據線D0D7輸出。10引腳為ADC0809的時鐘信號輸入端CLOCK。在連接時,ADC0809的數據線D0D7與AT89C51的P0口相連,ADC0809的地址引腳、地址鎖存端ALE、啟動信號START、數據輸出允許控制端OE分別與AT89C52的P2口相連,轉換結束信號EOC與AT89C52的P3.7

19、相連。時鐘信號輸入端CLOCK信號的頻率為1MHZ。3.1.3 LED數碼管介紹 LED數碼管采用動態(tài)掃描方式連接,通過AT89C52的P1口控制。P1口為LED數碼管的字段碼輸出端。 K1和K2是兩個按鍵開關,它通過單片機的P3.5和P3.6相連,K1用于單路顯示或多路循環(huán)顯示轉換控制,K2當單路顯示時通道選擇。3.2 系統(tǒng)軟件設計 多路數字電壓表系統(tǒng)軟件程序主要由主程序、A/D轉換子程序和顯示子程序這三部分構成。3.2.1 主程序主程序包含初始化部分、調用A/D轉換子程序和調用顯示程序,初始化部分包含存放通道數據的緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外,對于單路顯示和循環(huán)顯示,系統(tǒng)設置一個標

20、志位00H控制,初始化時00H位設置為0,默認為循環(huán)顯示,當它為1時改變?yōu)閱温凤@示控制,00H位通過單路/循環(huán)按鍵控制。系統(tǒng)上電后,程序先將P2口置0,然后調用顯示子程序和A/D轉換測量子函數并進入循環(huán)。系統(tǒng)默認依次循環(huán)顯示8個通道的電壓值,每個通道的數據顯示時間在1S左右,電壓測量的周期約為8S。主函數執(zhí)行流程圖如圖3.3所示。圖3.3 主函數流程圖3.2.2 A/D轉換子程序A/D轉換子程序用于對ADC0809八路輸入模擬電壓進行A/D轉換,并將轉換的數值存入8個相應的存儲單元中,如圖3.4所示。A/D轉換子程序每隔一定時間調用一次,即隔一段時間對輸入電壓采樣一次。 開始 啟動一次轉換 A

21、/D轉換結束? EOC=1? 取數據(OE=1) 0809地址加1地址數小于8? 返回 N Y Y N 圖3.4 A/D轉換測量子函數流程圖3.2.3 顯示子程序LED數碼管采用軟件譯碼動態(tài)掃描方式。在顯示子程序中包含多路循環(huán)顯示程序和單路顯示程序,多路循環(huán)顯示程序把8個存儲單元的數值依次取出送到4個數碼管上顯示,每一路顯示1秒。單路顯示程序只對當前選中的一路數據進行顯示。每路或多路循環(huán)顯示通過標志位00H控制。在顯示控制程序中加入了對單路或多路循環(huán)按鍵和通道選擇按鍵的判斷。4 調試及性能分析4.1 調試與測試采用Keil C51的C編譯器進行C源程序編譯及調試,同時進行硬件電路板的設計制作,

22、然后進行軟硬件聯(lián)調,最后進行端口電壓的對比測試。測試對比表如表1.1所列,表中標準電壓值采用數字萬用表測得。表1.1簡易數字電壓表與“標準”數字電壓表對比測試表標準值/V0.00 0.150.851.00 1.25 1.75 1.98 2.322.65 測量值/V0.00 0.170.861.02 1.26 1.76 2.00 2.332.66 絕對誤差/V0.00+0.02+0.01+0.02+0.01+0.01+0.02+0.01+0.01標準值/V3.00 3.453.554.00 4.50 4.60 4.70 4.814.90 測量值/V3.01 3.473.564.01 4.52 4

23、.62 4.72 4.824.92 絕對誤差/V0.01 0.020.01+.0.010.02 0.02 0.02 0.010.02 從表中可以看出,簡易數字電壓表與“標準”數字電壓表測得的絕對誤差均在0.02V以內,這與采用8位A/D轉換器所能達到的理論誤差精度一致,在一般的應用場合完全可以滿足要求。4.2 性能分析由于單片機為8位處理器,當輸入電壓為5.00V時,ADC0809輸出數據值為255(FFH),因此單片機最大數值分辨率為0.0196V(5/255),這就決定了該電壓表的最大分辨率只能達到0.0196V,測試時電壓數值的變化一般以0.02的電壓幅度變化。如果要獲得更高的精度要求,

24、應采用12位、13位的A/D轉換器。簡易電壓表測得的值基本上均比標準值偏大0.010.02V,這可以通過校正ADC0809的基準電壓來解決。因為該電壓表設計時直接用5V的供電電源作為基準電壓,所以電壓可能有偏差。另外,可以用軟件編程來校正測量值。ADC0809的直流輸入阻抗為1M歐姆,能滿足一般的電壓測試需要。另外,經測試ADC0809可直接在2MHz的時鐘頻率下工作,這樣可省去分頻器14 024。5 控制源程序清單 以下是8路數字電壓表的單片機控制匯編語言程序:ORG 0000HLJMP STARTORG 0003HRETIORG 000BHRETIORG 0013HRETIORG 001B

25、HRETIORG 0023HRETIORG 002BHRETI;CLEARMEMIO:CLR AMOV P2,AMOV R0,#70HMOV R2,#0DHLOOPMEM:MOV R0,AINC R0DJNZ R2,LOOPMEMMOV 20H,#00HMOV A,#0FFHMOV P0,AMOV P1,AMOV P3,ARET;START:LCALL CLEARMEMIOMAIN:LCALL TESTLCALL DISPLAYAJMP MAINNOPNOPNOPLJMP START;DISPLAY:JB 00H,DISP11MOV R3,#08HMOV R0,#70HMOV 7BH,#00H

26、DISLOOP1:LCALL TUNBCDMOV R2,#0FFHDISLOOP2:LCALL DISPLCALL KEYWORK1DJNZ R2,DISLOOP2INC R0INC 7BHDJNZ R3,DISLOOP1RETDISP11:MOV A,7BHSUBB A,#01HMOV 7BH,AADD A,#70HMOV R0,ADISLOOP11:LCALL TUNBCDMOV R2,#0FFHDISLOOP22:LCALL DISPLCALL KEYWORK2DJNZ R2,DISLOOP22INC 7BHRET;TUNBCD:MOV A,R0MOV B,#51HDIV ABMOV 7

27、AH,AMOV A,BCLR F0SUBB A,#1AHMOV F0,CMOV A,#10HMUL ABMOV B,#51DIV ABJB F0,LOOP2ADD A,#5LOOP2:MOV 79H,AMOV A,BCLR F0SUBB A,#1AHMOV F0,CMOV A,#10HMUL ABMOV B,#51DIV ABJB F0,LOOP3ADD A,#5LOOP3:MOV 78H,ARET;DISP:MOV R1,#78HMOV R5,#0FEHPLAY:MOV P1,#0FFHMOV A,R5ANL P3,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV

28、 P1,AJB P3.2,PLAY1CLR P1.7PLAY1:LCALL DL1MSINC R1MOV A,P3JNB ACC.3,ENDOUTRL AMOV R5,AMOV P3,#0FFHAJMP PLAYENDOUT:MOV P3,#0FFHMOV P1,#0FFHRETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;DL10MS:MOV R6,#0D0HDL1:MOV R7,#10HDL2:DJNZ R7,DL2DJNZ R6,DL1RET;DL1MS:MOV R4,#0FFHDL3:DJNZ R4,DL3MOV R

29、4,#0FFHDL4:DJNZ R4,DL4RET;TEST:CLR AMOV P2,AMOV R0,#70HMOV R7,#08HLCALL TESTARTWAIT:JB P3.7,MOVDAJMP WAIT;TESTART:SETB P2.3NOPNOPCLR P2.3SETB P2.4NOPNOPCLR P2.4NOPNOPNOPNOPRET;MOVD:SETB P2.5MOV A,P0MOV R0,ACLR P2.5INC R0MOV A,P2INC AMOV P2,ACJNE A,#08H,TESTENDTESTEND:JC TESTCONCLR AMOV P2,AMOV A,#0F

30、FHMOV P0,AMOV P1,AMOV P3,ARET;TESTCON:LCALL TESTARTLJMP WAITKEYWORK1:JNB P3.5,KEY1KEYOUT:RET;KEY1:LCALL DISPJB P3.5,KEYOUTWAIT11:JNB P3.5,WAIT12CPL 00HMOV R2,#01HMOV R3,#01HRET;WAIT12:LCALL DISPAJMP WAIT11;KEYWORK2:JNB P3.5,KEY1JNB P3.6,KEY2RET;KEY2:LCALL DISPJB P3.6,KEYOUTWAIT22:JNB P3.6,WAIT21INC

31、7BHMOV A,7BHCJNE A,#08H,KEYOUT11KEYOUT11:JC KEYOUT1MOV 7BH,#00HKEYOUT1:RET;WAIT21:LCALL DISPAJMP WAIT22END;總結經過兩個個星期緊張的課程設計,我們終于完成了多路數字電壓表的課程設計,對于這一課設題目,我們很迷茫,感覺不知道從哪開始做起,兩周的時間雖說比較充裕,但是對于從未接觸過單片機課設的我們而言,相當緊張,但是我們有自信,我們能夠做一個完美的設計。課題到手后我就開始查關于數字電壓表的課程設計資料,網絡、書本等等,能幫到我的一點也不能放過。我從參考書上找到了自己需要的知識,便從書上開始,從最基本的學起。最難的就是對題目的理解,我查閱了很多資料,同時也向同學們請教,來解決自己的問題。經過幾天的努力,我終于把自己的多路數字電壓表這一課題完整地做了出來,看見自己的成果,心里有前所未有的自豪感。最好的學習便是實踐,我深信不疑這句話。在學習單片機這一科目的的時候,我的編程不是很好,在經過這次課程設計后,我感覺我對單片機有了另一番了解。單片機課設讓我對我的專業(yè)有了更

溫馨提示

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

評論

0/150

提交評論