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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

20、時間的一種方法j.電子技術應用.1993.第一期6 高峰.單片微型計算機與接口技術m.北京科學出版社,2003.7 劉偉,趙俊逸,黃勇.一種基予c8051f單片機的soc型數據采錄器的設計與實現附錄1: 系統原理圖附錄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 char

溫馨提示

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

評論

0/150

提交評論