《單片機原理及應(yīng)用》課程設(shè)計報告基于單片機的數(shù)字電壓表設(shè)計_第1頁
《單片機原理及應(yīng)用》課程設(shè)計報告基于單片機的數(shù)字電壓表設(shè)計_第2頁
《單片機原理及應(yīng)用》課程設(shè)計報告基于單片機的數(shù)字電壓表設(shè)計_第3頁
《單片機原理及應(yīng)用》課程設(shè)計報告基于單片機的數(shù)字電壓表設(shè)計_第4頁
《單片機原理及應(yīng)用》課程設(shè)計報告基于單片機的數(shù)字電壓表設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應(yīng)用課程設(shè)計報告設(shè)計題目: 基于單片機的數(shù)字電壓表設(shè)計 所屬系部: 資源與環(huán)境工程學(xué)院 專 業(yè): 計算機應(yīng)用礦井監(jiān)測 班 級: 101班 姓 名: 學(xué)號: 指導(dǎo)教師: 成績: 完成日期: 2011 年 12 月 21 日 【摘要】隨著微電子技術(shù)的不斷發(fā)展,微處理器芯片的集成程度越來越高,單片機已可以在一塊芯片上同時集成cpu、存儲器、定時器計數(shù)電路,這就很容易將計算機技術(shù)與測量控制技術(shù)結(jié)合,組成智能化測量控制系統(tǒng)。 數(shù)字電壓表它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。與此同時,由dvm擴展而成的各種通用及專用數(shù)字儀器儀表,也

2、把電量及非電量測量技術(shù)提高到嶄新水平。本章重點介紹單片a/d 轉(zhuǎn)換器以及由它們構(gòu)成的基于單片機的數(shù)字電壓表的工作原目前,由各種單片a/d 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,示出強大的生命力理。at89c51單片機的一種電壓測量電路,該電路采用adc0808本文介紹一種基于a/d轉(zhuǎn)換電路,測量范圍直流 05v 的4路輸入電壓值,并在四位led數(shù)碼管上顯示或單路選擇顯示。測量最小分辨率為0.019v,測量誤差約為正負(fù)0.02v。本次設(shè)計就是為了更好地掌握單片機及相關(guān)的電子技術(shù),在參閱一些資料的基礎(chǔ)上利用adc0808而設(shè)計的數(shù)字電壓表

3、。關(guān)鍵詞:單片機,adc0808,數(shù)字電壓,a/d轉(zhuǎn)換目 錄一、設(shè)計任務(wù)和性能指標(biāo)41.1設(shè)計任務(wù)41.2性能指標(biāo)4二、設(shè)計方案42.1系統(tǒng)總體設(shè)計方案5三、硬件系統(tǒng)設(shè)計53.1 at89c51的功能介紹63.2 adc0808的引腳及功能介紹73.3 74ls374介紹8 3.4 部分電路的介紹 93.5 led數(shù)碼管的控制顯示9四、系統(tǒng)軟件設(shè)計103.1 主程序113.2 a/d轉(zhuǎn)換子程序123.3 中斷顯示程序13五、數(shù)字電壓表仿真圖14六、課程設(shè)計體會15參考文獻16附錄1系統(tǒng)原理圖17附錄 2源程序代碼18一、設(shè)計任務(wù)和性能指標(biāo)本設(shè)計是利用單片機at89c51與adc0808設(shè)計一個

4、數(shù)字電壓表,測量05v之間的直流電壓值,四位數(shù)碼顯示,但要求使用的元器件數(shù)目最少。1.1設(shè)計任務(wù) adc0808是8位的a/d轉(zhuǎn)換器。當(dāng)輸入電壓為5.00v時,輸出的數(shù)據(jù)值為255(0ffh),因此最大分辨率為0.0196(5/255)。adc0808具有8路模擬量輸入端口,通過3位地址輸入端能從8路中選擇一路進行轉(zhuǎn)換。如每隔一段時間依次輪流改變3位地址輸入端的地址,就能依次對8 路輸入電壓進行測量。led數(shù)碼管顯示采用軟件譯碼動態(tài)顯示。通過按鍵選擇可對8路循環(huán)顯示,也可單路顯示,單路顯示可通過按鍵選擇顯示的通道數(shù)。可以測量05v范圍內(nèi)的3路直流電壓值。在4位led數(shù)碼管上輪流顯示各路電壓值或

5、單路選擇顯示,其中3位led數(shù)碼管顯示電壓值,顯示范圍為0.00v5.00v,1位led數(shù)碼管顯示路數(shù),3路分別為0-2。要求測量的最小分辨率為0.02v。1.2性能指標(biāo)數(shù)字電壓表是將被測模擬電壓量轉(zhuǎn)換為數(shù)字量,核心器件是一個間接型a/d轉(zhuǎn)換器,并進行實時數(shù)字顯示的測試儀表。正確選擇出電路中的a/d轉(zhuǎn)換器、顯示譯碼器、三極管、電阻、等元器件,性能優(yōu)越強,能為很多領(lǐng)域,工作的敬群性和可靠性較高,能提高較好的實時轉(zhuǎn)換。二、設(shè)計方案2.1 系統(tǒng)總體設(shè)計方案本系統(tǒng)由以下幾個模塊組成:at89c51、adc0808、led數(shù)碼管、部分電路多路數(shù)字電壓表應(yīng)用系統(tǒng)硬件電路由單片機、a/d轉(zhuǎn)換器、數(shù)碼管顯示電

6、路和按鍵處理電路組成,由于adc0808在進行a/d轉(zhuǎn)換時需要有clk信號,本試驗中adc0808的clk直接由外部電源提供為500khz的方波。由于adc0808的參考電壓vrefvcc,所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。實際顯示的電壓值(d/256*vref) adc0808采用逐次逼近法轉(zhuǎn)換,把模擬電壓轉(zhuǎn)換成16進制的d,由于是對直流電壓05v進行采集,所以d對應(yīng)的電壓為v0,我們的目的就是要把v0顯示在led顯示器上,因為單片機不好進行小數(shù)點計算,所以有:v0=2*d擴大了100倍,擴大100倍后的結(jié)果高八位放寄存器b,低八位放寄存器a,分寄存器b為0或不為0的

7、情況進行存取數(shù)據(jù),得到的結(jié)果個位放入r0,十位放入r1,通過查表使之顯示在led顯示器。簡易數(shù)字電壓測量電路由a/d轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成。電路原理圖見附錄2。a/d轉(zhuǎn)換由集成電路0808完成。0808具有8路模擬輸入端口,地址(23-25)腳可決定對哪路模擬輸入作a/d轉(zhuǎn)換,22腳為地址鎖存控制,當(dāng)輸入為高電平時,對地址信號進行鎖存。6腳為測試控制,當(dāng)輸入一個2us寬高電平脈沖時,就開始a/d轉(zhuǎn)換。7腳為a/d轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng)a/d轉(zhuǎn)換結(jié)束時7腳輸出高電平。9腳為a/d轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當(dāng)oe腳為高電平時,a/d轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為0808的時鐘輸入端,由外部信號源提供

8、。單片機的p1、p3.0-p3.3端口作為四位led數(shù)碼管現(xiàn)實控制。p3.5端口用作單路顯示/循環(huán)顯示轉(zhuǎn)換按鈕,p3.6端口用作單路顯示時選擇通道。p0端口作a/d轉(zhuǎn)換數(shù)據(jù)讀入用,p2端口用作0808的a/d轉(zhuǎn)換控制。三、硬件系統(tǒng)設(shè)計3.1 at89c51單片機簡介at89c51是51系列單片機的一個型號,它是atmel公司生產(chǎn)的。at89c52是一個低電壓、高性能cmos 8為單片機。將通用的微處理器和flash存儲器結(jié)合在一起,可反復(fù)擦寫的flash存儲器可有效地降低開發(fā)成本。at89c51有pdip、pqfp/tqfp及plcc等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性:1、 低

9、功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能。2、 兼容mcs51指令系統(tǒng),8k可反復(fù)擦寫(1000次)flash rom。3、 3個16位可編程定時/計數(shù)器中斷,時鐘頻率0-24mhz。4、 32個雙向i/o口,256b內(nèi)部ram。5、 2個串行中斷,可編程uart串行通道。6、 2個外部中斷源,共6個中斷源。7、 2個讀寫中斷口線,3級加密位。3.2 adc0808的引腳及功能介紹adc0808是一種典型的a/d轉(zhuǎn)換器。它是由8位a/d轉(zhuǎn)換器,一個8路模擬量開關(guān),8位模擬量地址鎖存譯碼器和一個三態(tài)數(shù)據(jù)輸出鎖存器組成; +5v單電源供電,轉(zhuǎn)化 時間在100us左右;內(nèi)部沒有時鐘電路,故需外部提

10、供時鐘信號。芯片模型如圖3-4所示。圖adc0808芯片模型(1) in0in7:8路模擬量輸入端。(2) d0d7:8位數(shù)字量輸出端口。(3) start:a/d轉(zhuǎn)換啟動信號輸入端。(4) ale:地址鎖存允許信號,高電平有效。(5) eoc:輸出允許控制信號,高電平有效。(6) oe: 輸出允許控制信號,高電平有效。(7) clk:時鐘信號輸入端。(8)a、b、c:轉(zhuǎn)換通道地址,控制8路模擬通道的切換。a、b、c分別與地址線或數(shù)據(jù)線相連,三位編碼對應(yīng)8個通道地址端口,a、b、c=000111分別對應(yīng)in0in7通道的地址端口。adc 0808 采用逐次比較的方法完成a/d轉(zhuǎn)換,由單一的+5

11、v電源供電。片內(nèi)帶有鎖存功能的8路選1的模擬開關(guān),由a、b、c的編碼來決定所選的通道。adc0809完成一次轉(zhuǎn)換需100s左右,它具有輸出ttl三態(tài)鎖存緩沖器,可直接連接到at89c51的數(shù)據(jù)總線上。通過適當(dāng)?shù)耐饨与娐?,adc0808可對05v的模擬信號進行轉(zhuǎn)換。3.3 74ls374的介紹74ls374為具有三態(tài)輸出的八 d 邊沿觸發(fā)器,共有 54/74s374 和 54/74ls374 兩種線路結(jié)構(gòu)型式,374 的輸出端 o0o7 可直接與總線相連。當(dāng)三態(tài)允許控制端 oe 為低電平時,o0o7 為正常邏輯狀態(tài),可用來驅(qū)動負(fù)載或總線。當(dāng) oe 為高電平時,o0o7 呈高阻態(tài),即不驅(qū)動總線,也

12、不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)時鐘端 cp 脈沖上升沿的作用下,o 隨數(shù)據(jù) d 而變。由于 cp 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善400mv。引出端符號:d0d7 數(shù)據(jù)輸入端oe 三態(tài)允許控制端(低電平有效)cp 時鐘輸入端o0o7 輸出端3.4 部分電路的介紹1、晶振電路接12mhz晶振,根據(jù)芯片手冊,適合并聯(lián)30pf微調(diào)電容,從而構(gòu)成并聯(lián)諧振,幫助和穩(wěn)定輸出波形。2、復(fù)位電路at89c51單片機要求至少兩個高電平,以便單片機做好準(zhǔn)備工作。當(dāng)上電時,由于電容的電壓不能突變,會輸出高電平,當(dāng)電容充電到一定程度,就會輸出低電平,單片機利用輸出高電平的

13、這段時間復(fù)位。電阻和電容的值選擇要合適。在這要求r1r2,所以選取r1=8.2k,r2=2003、 模擬輸入電路通過可變電阻一端接電源+5v,一端接地gnd,通過改變電阻的阻值3.5 led數(shù)碼管的控制顯示介紹led數(shù)碼管模型如圖所示。led 的段碼端口ag分別接至74ls374的qoq7口.四、系統(tǒng)軟件設(shè)計 4.1 主程序主程序包含初始化部分、調(diào)用a/d轉(zhuǎn)換子程序和相應(yīng)外部0中斷顯示電壓數(shù)值程序,初始化部分包含存放通道的緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外,對于單路顯示和循環(huán)顯示,系統(tǒng)設(shè)置了一個標(biāo)志位00h控制,初始化時00h位設(shè)置為0,默認(rèn)為循環(huán)顯示,當(dāng)它為1時改變?yōu)閱温凤@示控制,00h位

14、通過單路、循環(huán)按鍵控制。 開始 顯示子程序 a/d轉(zhuǎn)換子程序 初始化4.2 a/d轉(zhuǎn)換子程序a/d轉(zhuǎn)換子程序用于對adc0808的4路輸入模擬電壓進行a/d轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)值存入4個相應(yīng)的存儲單元中,a/d轉(zhuǎn)換子程序每隔一定時間調(diào)用一次,即隔一段時間對輸入電壓采樣一次。 進行十六進制調(diào)整 開始a/d轉(zhuǎn)換調(diào)用延時存轉(zhuǎn)換后的十六進制數(shù)數(shù)據(jù)指針加一入棧保護4路轉(zhuǎn)換次數(shù)減一顯示電壓值ny 判斷是否為04.3 中斷顯示程序設(shè)計中采用中斷的方式來讀取轉(zhuǎn)換完成的數(shù)據(jù)能節(jié)省cpu的資源當(dāng)系統(tǒng)設(shè)置好后,一旦數(shù)據(jù)轉(zhuǎn)換完成,便會進入外部中斷0,然后在中斷中讀取轉(zhuǎn)換的數(shù)值,處理數(shù)據(jù)并送數(shù)碼管顯示輸出。 led 數(shù)碼

15、管采用軟件譯碼動態(tài)掃描的方式。在中斷程序中包含多路循環(huán)顯示程序和單路顯示程序,多路循環(huán)顯示程序把4個存儲單元的數(shù)值依次取出送到4個數(shù)碼管上顯示,每一路顯示一秒。單路顯示程序只對當(dāng)前選中的一路數(shù)據(jù)進行顯示。每路數(shù)據(jù)顯示時需經(jīng)過轉(zhuǎn)換變成十進制bcd碼,放于4個數(shù)碼管顯示緩沖區(qū)中。單路或多路循環(huán)顯示通過標(biāo)志位00h控制。在顯示控制程序中加入了對單路或多路循環(huán)按鍵的判斷。數(shù)字量送p1口取段碼地址p3.1=1?調(diào)用循環(huán)顯示程序調(diào)用單路顯示程序顯示的是第4路重新調(diào)用顯示程序nyny五、proteus軟件仿真調(diào)試與測試本設(shè)計應(yīng)用proteus7軟件,首先根據(jù)自己設(shè)計的電路圖用proteus7軟件畫出電路模型

16、,關(guān)于這個軟件的使用通過查一些資料和自己的摸索學(xué)習(xí);然后我們用keil51軟件對所編寫的程序進行編譯、鏈接,如果沒有錯誤和警告便可生成程序的hex文件,將此文件加到電路圖上使軟硬件結(jié)合運行,最后進行端口電壓的對比測試,測試的第一路對比見圖4-1中標(biāo)準(zhǔn)電壓值采用proteus7軟件中的模擬電壓表測得。從圖中可以看出,簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表測得的絕對誤差均在0.02v以內(nèi),這與采用8位a/d轉(zhuǎn)換器所能達到的理論誤差精度相一致,在一般的應(yīng)用場合可以完全滿足要求。由于單片機為8位處理器,當(dāng)輸入電壓為5.00v時,輸出數(shù)據(jù)值為255(ffh)因此單片機最大的數(shù)值分辨率為0.0196v(5/2

17、55)。這就決定了該電壓表的最大分辨率(精度)只能達到0.0196v。測試時電壓數(shù)值的變化一般以0.02v的電壓幅度變化,如要獲得更高的精度要求,應(yīng)采用12位、13位的a/d轉(zhuǎn)換器。簡易數(shù)字電壓表測得的值基本上均比標(biāo)準(zhǔn)值偏大0.01-0.02v。這可以通過校正0808的基準(zhǔn)電壓來解決,因為該電壓表設(shè)計時直接用7805的供電電源作為基準(zhǔn)電壓,電壓可能有偏差。另外可以用軟件編程來校正測量值。adc0808的直流輸入阻抗為1m歐姆,能滿足一般的電壓測試需要。另外,經(jīng)測試adc0808可直接在2mhz的頻率下工作,這樣可省去分頻率14024。六、課程設(shè)計體會經(jīng)過兩周的努力終于設(shè)計成功,led的顯示結(jié)果

18、和直接用數(shù)字電壓表測試模擬量輸入所得結(jié)果幾乎一致,誤差完全在合理的范圍之內(nèi)。由于儀器誤差,led顯示最大值只能是4.9v,離標(biāo)準(zhǔn)最大值5.0v已經(jīng)不遠(yuǎn),達到預(yù)期目的,設(shè)計成功。 本設(shè)計參考了at89c51與adc0809轉(zhuǎn)換的接口連線,設(shè)計出電路圖的連線,從并中理解了許多基本的知識和接線方法,在程序的設(shè)計與電壓表調(diào)試的過程中中遇到了很多的問題,剛開始時四個數(shù)碼管根本不顯示,后來發(fā)現(xiàn)用的是共陽極的數(shù)碼管,而設(shè)計是共陰極的,更換后數(shù)碼管終于顯示,但問題又出現(xiàn)了,單路顯示和循環(huán)顯示的開關(guān)不能控制電路的單路顯示和循環(huán)顯示,經(jīng)過仔細(xì)地檢查電路和修改程序,采用中斷的方法,產(chǎn)生一次外部中斷0,程序轉(zhuǎn)移到單路

19、顯示,按一次單路顯示開關(guān),地址加一,轉(zhuǎn)換的模擬通道相應(yīng)的加一,如果按下循環(huán)按鍵就返回循環(huán)顯示的程序,功夫不負(fù)有心人,最后終于調(diào)試成功。在此再次向帶領(lǐng)我們這次課程設(shè)計的老師說聲:謝謝! 參考文獻1 蔣廷彪,劉電霆,高富強,方華.單片機原理及應(yīng)用.出版社:重慶大學(xué)出版社.出版時間:2005年1月第2次印刷2 8051實驗指導(dǎo)書電子電氣綜合實訓(xùn)系統(tǒng).出版社:北京精儀達盛科技有限公司3 徐愛鈞.智能化測量控制儀表原理與設(shè)計(第二版)m.北京:北京航空航天大學(xué)出版社,20044 吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應(yīng)用m.北京:清華大學(xué)出版社,20025 張國勛.縮短icl7135a/d采樣程序

20、時間的一種方法j.電子技術(shù)應(yīng)用.1993.第一期6 高峰.單片微型計算機與接口技術(shù)m.北京科學(xué)出版社,2003.7 劉偉,趙俊逸,黃勇.一種基予c8051f單片機的soc型數(shù)據(jù)采錄器的設(shè)計與實現(xiàn)附錄1: 系統(tǒng)原理圖附錄2:源程序代碼#include#include #define uchar unsigned char#define uint unsigned int#define adc 0x7fff/定義adc0808端口地址#define disp 0xfeff/定義顯示端口地址sbit d1=p10;sbit d2=p11;sbit d3=p12;sbit d4=p13;sbit din=p33;uchar resultat4 _at_ 0x30;uchar dispat4 _at_ 0x34;code cha

溫馨提示

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

評論

0/150

提交評論