數字電壓表的設計_第1頁
數字電壓表的設計_第2頁
數字電壓表的設計_第3頁
數字電壓表的設計_第4頁
數字電壓表的設計_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設計 院系: 工學院 專業:機械設計制造及其自動化 班級: 10機電三班 姓名: * 學號: 0000000000 數字電壓表的設計 摘 要數字電壓表(digital voltmeter)簡稱dvm,它是采用數字化測量技術,把連續的模擬量(直流輸入電壓)轉換成不連續、離散的數字形式并加以顯示的儀表。傳統的指針式電壓表功能單一、精度低,不能滿足數字化時代的需求,采用單片機的數字電壓表,不僅精度高、抗干擾能力強,可擴展性強、集成方便,還可與pc進行實時通信。目前,由各種單片a/d 轉換器構成的數字電壓表,已被廣泛用于電子及電工測量、工業自動化儀表、自動測試系統等智能化測量領域,示出強大的

2、生命力。與此同時,由dvm擴展而成的各種通用及專用數字儀器儀表,也把電量及非電量測量技術提高到嶄新水平。本文設計了一款基于at89c51單片機的數字電壓表,設計中采adc0809逐次逼近式a/d轉換電路,可實現直流05v的電壓測量,并將測量結果通過3位lcd數碼管進行顯示。該電路設計新穎、功能強大、可擴展性強,系統采用c語言進行程序設計,并通過proteus仿真實現。關鍵詞:數字電壓表,單片機,at89c51,adc0809目 錄1 設計總方案11.1設計任務11.2設計要求11.3設計思路12 硬件電路設計12.1 a/d轉換模塊adc0809逐次逼近式電路說明22.1.1 工作原理22.1

3、.2 典型應用22.1.3 引腳及使用說明42.2 控制模塊單片機電路說明62.3 顯示模塊led數碼顯示電路說明82.4 數據轉換電路接口說明92.5 數據顯示電路接口說明103 系統的軟件設計103.1 數據接收程序設計103.2 主程序設計113.3 數據轉換程序設計113.4 延時程序設計123.5 數據顯示程序設計134 部分模塊仿真134.1 部分模塊電路設計134.2 部分模塊電路仿真144.3 仿真結果分析16總結16參考文獻17附錄a 源程序18附錄b 仿真原理電路231 設計總方案1.1設計任務設計一種基于at89c51單片機的數字電壓表。1.2設計要求(1)采用1路模擬量

4、輸入,能夠測量05v之間的直流電壓值。(2)電壓顯示用4位一體的led數碼管顯示,至少能夠顯示兩位小數。(3)以mcs-51系列單片機為核心器件,組成一個簡單的直流數字電壓表。(4)盡量使用較少的元器件。1.3設計思路(1)根據設計要求,選擇at89c51單片機為核心控制器件。(2)a/d轉換采用adc0809實現,與單片機的接口為p1口和p2口的高四位引腳。(3)led數碼的段碼輸入,由并行端口p0產生:位碼輸入,用并行端口p2低四位產生。(4)電壓顯示采用3位一體的led數碼管。2 硬件電路設計本采用模塊化設計,主要由a/d轉換模塊、控制模塊和led顯示模塊組成(如圖2.1)。 圖2.1

5、系統總體硬件框圖2.1 a/d轉換模塊adc0809逐次逼近式電路說明2.1.1 工作原理adc0809集成了一個8位的a/d轉換器、一個8路通道和一個兼容控制邏輯的微處理器。其中,8位的a/d轉換器采用了連續逼近的轉換技術,具有高阻抗穩定的斷續比較器特性,包括一個帶模擬開關樹的256r的分壓器和一個逐次逼近寄存器;而由adc0809中的8路通道,可直接從8個單一模擬信號中獲取任何一個作為輸入信號。(1)復用器,這個器件包括一個8通道單端模擬信號復用器。通過使用地址解碼器,選擇一個輸入通道。在地址鎖存能使信號由低到高變化時,地址被鎖存住。(2)轉換器,這個器件的數據獲取系統的關鍵部分是它的8位

6、模/數轉換器。轉換器的數字輸出是正實數,這個轉換器被設計成能在寬的溫度范圍內達到快速、精確、可重復的轉換。該轉換器分成3個主要部分:256r的階梯網絡、連續逼近的電阻和比較器。256r的階梯網絡用逼近的辦法替代了傳統的r/2r階梯,其本身的單一性保證了不會丟失數字編碼在閉環反饋系統中,這種單一性尤其重要(一個非單一性的關系可能引起振蕩,這種振蕩對于系統可能是災難性的)。同時,256r的階梯網絡不會在參考電壓上引起負載變化,對于adc0809,使用256r網絡就可以把逼近技術延伸到8位。a/d轉換器的連續逼近寄存器(sar)在起始轉換(sc)脈沖的上升沿復位,轉換在起始轉換脈沖下降沿開始,處理過

7、程中的轉換將被新的起始轉換脈沖中斷。把轉換結束標示(eoc)輸出連接到sc輸入,這樣可以達到連續轉換的目的。假如使用這個模式,則在上電后,需要從外部輸入一個起始轉換脈沖,在起始轉換脈沖的上升沿后08個時鐘脈沖之間eoc將變低。a/d轉換器最重要的部分是比較器,它負責整個轉換器的最終精度。一個穩定斷續比較器提供了符合所有轉換器要求的最有效方法。這個穩定斷續比較器把dc輸入信號轉換成一個ac信號,這個信號通過一個高增益ac放大器反饋,并且能回復dc電平。既然漂移的是dc分量,它不會通過ac放大器,因此這個技術就限制了放大器的漂移分量,使得整個a/d轉換器對于極端的溫漂、長期漂移和輸入偏移誤差都不敏

8、感。2.1.2 典型應用(1)比例制轉換,adc0809可設計成一個比例制轉換系統的完整數據獲取系統(das)。在比例制系統中,被測量的物理變量是用一個對全量程的百分比來表達的,不需要有一個絕對標準相關。下面公式描述了adc0809的輸入電壓: (2.1) 其中,vin 為adc0809的輸入電壓,vfs 為全量程電壓,vz為0電壓,dx 為被測試的數據點,dmax 為最大數據極限,dmin 為最小數據極限。一個比例制轉換器的最好例子就是作為位置傳感器的電位計,滑變點的位置就是通過電位計的全量程電壓的一部分。由于數據是全量程的一部分,這樣涉及的要求就大大減少,對于許多應用就消除了很多誤差源和費

9、用。adc0809的最大優點是輸入電壓范圍等于供電范圍,以至于變換器能直接和電源相連,其輸出又可以直接與復用器輸入相連。 (2)電阻階梯限制,在轉換中來自電阻階梯組的電壓被按照設定的電壓比較8次,電壓通過一個模擬開關樹與比較器相耦合,這些模擬開關樹是以供電電源作為參考的。該階梯電阻組的上部、中部與底部都必須被嚴格控制,以保持正確地操作。階梯電阻組的頂部電壓(ref(+))不能高于供電電壓,底部電壓(ref(-))不能低于地,而中部電壓必須接近供電電壓的中心,因為在這個點上模擬開關樹由n通道變到p通道。上述條件在比例制系統中可以自動得到滿足,并且在以地為參考的系統中很容易獲得。adc0809需要

10、的供電電流小于1個毫安,因此對于參考端的要求很容易達到。下圖(2.2)顯示了一個地參考系統,該系統由參考電壓供電。 圖2.2 地參考系統(3)轉換器等式,在相鄰碼n和n+1之間的轉變可通過以下公式給出: (2.2)輸出編碼n的中心可通過以下公式給出: (2.3)對于任意輸入的輸出代碼n,它應是以下公式范圍描述范圍內的整數: (2.4)上述公式中,vin 為比較器輸入電壓,vref(+) 是ref(+)端的電壓,而vref(+)是ref(-)端的電壓,vtue 為不可調節的誤差總和,其典型值一般為vref(+)/512。(4)模擬比較器輸入,動態比較器的輸入電流是由偏移電容的周期性開關引發的,這

11、些電流作為斷續穩定比較器的操作部分,交替連接到電阻階梯/開關樹網絡的輸出端和比較器的輸入端。比較器輸入電流的平均值是直接隨著時鐘頻率和vin 而變化的。假如在模擬輸入端沒有濾波電容,同時信號源的阻抗為低,那么比較器的輸入電流就不會引入到轉換器的誤差,這是因為電容的瞬時放電現象在比較器輸出被探測到之前就已經消失了。若為了減少噪音和信號調節需要加輸入濾波電容時,它們會平衡動態比較器的輸出電流,然后呈現出dc偏移電流的特性,這時電流的影響一般可以被預測出來。2.1.3 引腳及使用說明adc0809是cmos集成工藝制成的逐次比較逼近型a/d轉換芯片。分辨率8位,輸入模擬電壓范圍0至5v,片內含8通道

12、多路開關,單電源+5v工作。引腳排列見圖2.3所示。各引腳功能為:(1)in0in7(第15 腳,第26 28腳):8路模擬量輸入腳,可以從8個腳輸入0v至+5v待轉換模擬電。(2)clock(第10腳):時鐘cp輸入端,adc0809只有在cp信號同步下,才能進行a/d轉換。時鐘頻率的上限是640khz。(3)ale(第22腳):地址鎖存允許端。當ale=1時地址鎖存和譯碼部分把外部數據的值輸入和譯碼并接通in0in7之一。當 ale=0時,把此值鎖存起來。 圖2.3 adc0809引腳圖(4)start(第6腳):啟動脈沖輸入端,啟動脈沖的上升沿清除逐次逼近寄存器sar,下跳沿啟動adc開

13、始轉換。(5)vdd(第11腳):電源輸入端:+5v+6.5v。(6)gnd(第13腳):接地。(7)vref(+)(第12腳)vref(-)(第16腳):分別為基準電壓的高電平和低電平端。(8)eoc(第7腳):轉換結束信號端。eoc=0,表示轉換正在進行,輸出數據不可信。eoc=1表示轉換已完成,輸出數據可信。(9)b0b7(第8、14、15、1721腳):轉換所得八位輸出數據,b7是最高位,b0是最低位。(10)oe(第9腳):允許輸出端。oe端控制輸出鎖存器的三態門。當oe=1時,轉換所得的數據送到b0b7端,當oe=0時,b0b7腳對外呈高阻狀態。(11)adda、addb、addc

14、(第2523腳):通道地址輸入端(如表2.1)。 表2.1 通道地址表 selected analog channeladdress linecban0n1n2n3n4n5n6n7llllhhhhllhhllhhlhlhlhlh2.2 控制模塊單片機電路說明 at89c51(如圖2.4)是一種帶4k字節閃爍可編程可擦除只讀存儲器(fperom)的低電壓,高性能cmos8位微處理器,俗稱單片機。主要管腳說明:(1)p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p0口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。

15、在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。 圖2.4 單片機外部引腳圖(2)p1口:p1口是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。在flash編程和校驗時,p1口作為第八位地址接收。 (3)p2口:p2口為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流。p2口在flash編程和校驗時接收高八位地址信號和控制信號。(4)p3口:p3口管腳是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。p3口也可作為at89c51的一些特殊功能口,如:p3.3 /i

16、nt1(外部中斷1)。p3口同時為閃爍編程和編程校驗接收一些控制信號。(5)rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。 (6)ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時,ale只有在執行movx,movc指令是ale才起作用。另外,該引腳被

17、略微拉高。如果微處理器在外部執行狀態ale禁止,置位無效。(7)xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。(8)xtal2:來自反向振蕩器的輸出。振蕩器特性:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,xtal2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.3 顯示模塊led數碼顯示電路說明四位一體led數碼顯示器分別采用位選和段選位來控制,ag為段選位,14為選為位,dp位小數點控制位(如圖2.5)

18、。當其為有效信號時則被點亮。 圖2.5 三位動態數碼管動態數碼顯示采用循環點亮的方式即假設第一位點亮則其它都不點亮,因此如果要顯示數據即要不停的循環點亮,利用余暉效應顯示出所有的數據。2.4 數據轉換電路接口說明數據轉換電路主要由單片機和a/d數據轉換模塊組成。adc0809的out端口直接與單片機的p2口相連即將轉換后的數據直接并行傳入單片機。adc0809的控制主要由單片機來完成。啟動端口(ale/start)與p3.0口相連;狀態顯示位(eoc)與p3.2相連;傳送控制位(oe)與p3.1相連;時鐘信號cp輸入端(clock)與p3.3相連(如圖2.6)。在clock時鐘下當p3.0口出

19、現高低高變化時則啟動轉換,此時eoc自動變為低電平,當轉換完成后則又變回高電平,此時只需將p3.1口置高電平即可將數據傳入單片機。 圖2.6 adc0809與單片機連接圖 圖2.7 數據顯示電路連接圖2.5 數據顯示電路接口說明數據顯示電路主要由led數碼顯示器和單片機組成。led數碼顯示器段選線與p0口直接相連;而位選線則由p1-p4口控制(如圖2.7)。單片機將數據分別由p0口傳給led顯示器,而由位控線控制循環點亮即達到目的。3 系統的軟件設計程序設計(programming)是指設計、編制、調試程序的方法和過程。在單片機控制系統中,大體上可分為數據處理、過程控制兩個基本類型。為了完成上

20、述任務,在進行軟件設計時,通常采用模塊程序設計法。本系統軟件采用模塊化結構,由主程序數據接收子程序、數據轉換子程序、數據顯示子程序構成(程序見附錄a)。3.1 數據接收程序設計 圖3.1 數據接收子程序流程圖3.2 主程序設計 圖3.2 主程序流程圖3.3 數據轉換程序設計 圖3.3 數據轉換子程序流程圖3.4 延時程序設計 圖3.4 延時子程序流程圖3.5 數據顯示程序設計 圖3.5 數據顯示子程序流程圖4 部分模塊仿真該設計利用proteus軟件進行仿真。4.1 部分模塊電路設計將數據轉換、顯示模塊電氣原理圖進行proteus設計。打開proteus的isis編輯環境,從proteus中選

21、取該電路所需要的元器件,放置元器件、放置電源和地、連線得到如圖4.1所示的電氣原理圖,再點菜單欄工具下拉的電氣規則檢查,當規則檢查出現:“netlist generated ok no erc errord found”,表示通過檢查。電路設計完成。圖4.1 系統部分電氣原理圖4.2 部分模塊電路仿真用偉福編輯器,實現對匯編程序的編譯,其操作步驟是:(1)新建源文件:點菜單文件新建文件,新建“電.asm” 源文件。(2)程序設計:將將所編寫的程序輸入到文本中。 (3)源程序編譯:點菜單執行全速執行編譯匯編源程序,生成目標代碼文件“電.hex”,若編譯失敗,可對程序進行修改調試直至編譯成功。(4

22、)目標代碼加載:在proteus編輯環境雙擊at89c51,在program file一欄中單擊打開按鈕,選中“電.hex”文件。在clock frequency欄中設置系統工作頻率為12mhz,單擊“確定”完成目標程序代碼加載。最后,點擊運行按鈕,啟動系統仿真。仿真未出現錯誤,仿真成功。仿真結果如圖4.2所示。 圖4.2 仿真結果圖當滑動變阻器改變阻值時放著結果如下圖: 圖4.3 第一次仿真結果圖 圖4.4 第二次仿真結果圖4.3 仿真結果分析通過對上述模塊的仿真,可以看出基于單片機控制的電壓表在proteus軟件上可以很好的實現顯示模塊、adc0808逐次逼近式a/d轉換模塊的仿真。當仿真

23、開始運行時,各個模塊處于初始狀態。當滑動變阻器改變時,顯示的電壓值也相應改變。因此,從仿真結果可以看出測量值與標準值相同,本設計可以得到預期效果。總結經過兩周的課程設計,讓我對單片機這門課有了更進一步的了解。在這次課程設計的過程中我遇到了很多困難,硬件上的理論知識學得不夠扎實,對電路的仿真方面也不夠熟練,這使得我的這次課程設計進度很慢,同時是也讓我認識到平時的不足。在同學的幫助下完成了本次設計。這次課程設計讓我對單片機和軟件編程有了更深的認識。 這次電路的設計和仿真,基本上達到了設計的功能要求。在以后的實踐中,我將繼續努力學習電路設計方面的理論知識,并理論聯系實際。 參考文獻1 張毅剛.單片機

24、原理及應用m.北京:高等教育出版社,2004.2 吳金戎.8051單片機實踐與應用m.北京:清華大學出版社,2003.3 夏路易.單片機技術基礎教程與實踐m.北京:電子工業出版社,2008.4 皮大熊.單片機課程設計指導書m.北京:北京理工大學出版社,2012.附錄a 源程序/*簡易數字電壓表*#include#define uint unsigned int#define uchar unsigned char unsigned long getdata;code uchar table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/共

25、陰字型碼code uchar table1=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,;/帶小數點的共陰段碼0-9sbit k1=p13; /第1位數碼管的段選sbit k2=p12; /第2位數碼管的段選sbit k3=p11; /第3位數碼管的段選sbit k4=p10; /第4位數碼管的段選 sbit start=p15; /adc0809的開始信號sbit oe=p17; /adc0809的輸出允許信號sbit eoc=p16; /adc0809的轉換完成信號sbit clock=p14; /定義0809時鐘位/*延時函數*/void delay(int z) int x; uint y; for(x=z;x0;x-) for(y=110;y0;y-);/* get_data()從adc0809獲取數據*/void get_data() p2=0xff; /先寫1,為讀p2口作準備 start=0; /產生一個起始脈沖信號 start=1; start=0; while(eoc=0);/等到轉換完成:eoc-0:沒完成;eoc-1,完成 oe=1; /允許輸

溫馨提示

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

評論

0/150

提交評論