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

下載本文檔

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

文檔簡介

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

2、,示出強(qiáng)大的生命力。 本文中數(shù)字電壓表的控制系統(tǒng)采用AT89C52單片機(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ù)字電壓表可以測量0-5V的8路輸入電壓值,并在四位LED數(shù)碼管上輪流顯示或單路選擇顯示。關(guān)鍵詞:單片機(jī),電壓,A/D轉(zhuǎn)換,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 設(shè)計(jì)任務(wù)描述21.1 設(shè)計(jì)題目21.2 設(shè)計(jì)任務(wù)要求21.3 設(shè)計(jì)目的22 總體設(shè)計(jì)32.1總體方案框圖32.2

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

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

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

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

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

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

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

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

14、入作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腳為0809的時(shí)鐘輸入端,利用單片機(jī)30腳的6分頻晶振頻率,再通過二進(jìn)制計(jì)數(shù)器14 024二分頻得到1MHz的時(shí)鐘。單片機(jī)的P1口、P3.0P3.3端口作為4位LED數(shù)碼管顯示控制。P3.5端口按鈕可用作單路顯示/循環(huán)顯示,P3.6端口按鈕可用作單路顯示時(shí)選擇通道。P0端口作A/D轉(zhuǎn)換數(shù)據(jù)讀入,P2端口用作08

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

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

17、常規(guī)編程器。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。其芯片引腳圖如圖3.2所示。圖3.2 AT89C52引腳圖3.1.2 ADC0809介紹 ADC0809具有8路模擬量輸入通道IN0IN7,通過3位地址輸入端C、B、A(2325引腳)進(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è)2us寬的高電平脈沖時(shí),就啟動(dòng)ADC0809開始對(duì)輸入通道的模擬量進(jìn)行轉(zhuǎn)換。7引腳為A/D轉(zhuǎn)換結(jié)束信號(hào)EO

18、C,ADC0809為逐次比較型A/D轉(zhuǎn)換器,當(dāng)開始轉(zhuǎn)換時(shí),EOC信號(hào)為低電平,經(jīng)過一定時(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ù)通過ADC0809的數(shù)據(jù)線D0D7輸出。10引腳為ADC0809的時(shí)鐘信號(hào)輸入端CLOCK。在連接時(shí),ADC0809的數(shù)據(jù)線D0D7與AT89C51的P0口相連,ADC0809的地址引腳、地址鎖存端ALE、啟動(dòng)信號(hào)START、數(shù)據(jù)輸出允許控制端OE分別與AT89C52的P2口相連,轉(zhuǎn)換結(jié)束信號(hào)EOC與AT89C52的P3.7

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

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

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

22、然后進(jìn)行軟硬件聯(lián)調(diào),最后進(jìn)行端口電壓的對(duì)比測試。測試對(duì)比表如表1.1所列,表中標(biāo)準(zhǔn)電壓值采用數(shù)字萬用表測得。表1.1簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測試表標(biāo)準(zhǔn)值/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 絕對(duì)誤差/V0.00+0.02+0.01+0.02+0.01+0.01+0.02+0.01+0.01標(biāo)準(zhǔn)值/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 絕對(duì)誤差/V0.01 0.020.01+.0.010.02 0.02 0.02 0.010.02 從表中可以看出,簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表測得的絕對(duì)誤差均在0.02V以內(nèi),這與采用8位A/D轉(zhuǎn)換器所能達(dá)到的理論誤差精度一致,在一般的應(yīng)用場合完全可以滿足要求。4.2 性能分析由于單片機(jī)為8位處理器,當(dāng)輸入電壓為5.00V時(shí),ADC0809輸出數(shù)據(jù)值為255(FFH),因此單片機(jī)最大數(shù)值分辨率為0.0196V(5/255),這就決定了該電壓表的最大分辨率只能達(dá)到0.0196V,測試時(shí)電壓數(shù)值的變化一般以0.02的電壓幅度變化。如果要獲得更高的精度要求,

24、應(yīng)采用12位、13位的A/D轉(zhuǎn)換器。簡易電壓表測得的值基本上均比標(biāo)準(zhǔn)值偏大0.010.02V,這可以通過校正ADC0809的基準(zhǔn)電壓來解決。因?yàn)樵撾妷罕碓O(shè)計(jì)時(shí)直接用5V的供電電源作為基準(zhǔn)電壓,所以電壓可能有偏差。另外,可以用軟件編程來校正測量值。ADC0809的直流輸入阻抗為1M歐姆,能滿足一般的電壓測試需要。另外,經(jīng)測試ADC0809可直接在2MHz的時(shí)鐘頻率下工作,這樣可省去分頻器14 024。5 控制源程序清單 以下是8路數(shù)字電壓表的單片機(jī)控制匯編語言程序: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;總結(jié)經(jīng)過兩個(gè)個(gè)星期緊張的課程設(shè)計(jì),我們終于完成了多路數(shù)字電壓表的課程設(shè)計(jì),對(duì)于這一課設(shè)題目,我們很迷茫,感覺不知道從哪開始做起,兩周的時(shí)間雖說比較充裕,但是對(duì)于從未接觸過單片機(jī)課設(shè)的我們而言,相當(dāng)緊張,但是我們有自信,我們能夠做一個(gè)完美的設(shè)計(jì)。課題到手后我就開始查關(guān)于數(shù)字電壓表的課程設(shè)計(jì)資料,網(wǎng)絡(luò)、書本等等,能幫到我的一點(diǎn)也不能放過。我從參考書上找到了自己需要的知識(shí),便從書上開始,從最基本的學(xué)起。最難的就是對(duì)題目的理解,我查閱了很多資料,同時(shí)也向同學(xué)們請(qǐng)教,來解決自己的問題。經(jīng)過幾天的努力,我終于把自己的多路數(shù)字電壓表這一課題完整地做了出來,看見自己的成果,心里有前所未有的自豪感。最好的學(xué)習(xí)便是實(shí)踐,我深信不疑這句話。在學(xué)習(xí)單片機(jī)這一科目的的時(shí)候,我的編程不是很好,在經(jīng)過這次課程設(shè)計(jì)后,我感覺我對(duì)單片機(jī)有了另一番了解。單片機(jī)課設(shè)讓我對(duì)我的專業(yè)有了更

溫馨提示

  • 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)論