基于單片機的數字電壓表_第1頁
基于單片機的數字電壓表_第2頁
基于單片機的數字電壓表_第3頁
基于單片機的數字電壓表_第4頁
基于單片機的數字電壓表_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 本科學生設計性實驗報告 項目組長付江杰 學號 0093540 成 員 劉小寶0093522廖為國 0093512 專 業 電子信息工程 班級 09電信 實驗項目名稱基于單片機的數字電壓表 指導教師及職稱 朱華貴 (副教授) 開課學期 2011 至2012 學年一 學期 上課時間 2011 年 12 月 20 日摘 要本文介紹基于AT89C51單片機的一種電壓測量電路,介紹了雙積分電路的原理,AT89C51的特點, ADC0809的功能和應用,LCD1601的功能和應用。該電路設計新穎、功能強大、雙積分A/D轉換電路,測量范圍直流0-±20伏,使用LCD液晶模塊顯示,可以與

2、PC機進行串行通信。正文著重給出了軟硬件系統的各部分電擴展強目錄前言1第1章 概述21.1 數字電壓表的發展前景.2第2章 硬件電路設計32.1 單片機控制模塊設計32.2 逐次逼近式A/D轉換模塊設計32.3 LCD顯示模塊62.4 鍵盤控制模塊:8第3章 系統軟件設計93.1 系統的軟件設計93.2 軟件調試103.3 硬件調試設計小結10附件一 電路原理圖11附件二 部分參考程序12附錄三 硬件實物圖14前 言數字電壓表(Digital Voltmeter)簡稱DVM,它是采用數字化測量技術,把連續的模擬量(直流輸入電壓)轉換成不連續、離散的數字形式并加以顯示的儀表。傳統的指針式電壓表功

3、能單一、精度低,不能滿足數字化時代的需求,采用單片機的數字電壓表,由精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC進行實時通信。數字電壓表與模擬電壓表相比,具有讀數直觀、準確,顯示范圍寬、分辨力高,輸入阻抗大,集成度高、功耗小、抗干擾能力強,可擴展能力強等特點,因此在電壓測量、電壓校準中有著廣泛的應用。數字電壓表也是諸多數字化儀表的核心與基礎。以數字電壓表為核心擴展成的各種數字化儀表幾乎覆蓋了電子電工測量、工業測量、自動化系統等各個領域。目前,由各種單片A/D 轉換器構成的數字電壓表,已被廣泛用于電子及電工測量、工業自動化儀表、自動測試系統等智能化測量領域,示出強大的生命力。與此同時,

4、由DVM擴展而成的各種通用及專用數字儀器儀表,也把電量及非電量測量技術提高到嶄新水平。本文重點介紹通訊模塊,單片機和A/D 轉換器以及由它們構成的基于單片機的數字電壓表的工作原理。第1章 概述1.1 數字電壓表的發展前景.數字電壓表作為數字技術的成功應用,發展相當快。數字電壓表(Digital VoIt Me-ter,DVM),以其功能齊全、精度高、靈敏度高、顯示直觀等突出優點深受用戶歡迎。特別是以AD轉換器為代表的集成電路為支柱,使DVM向著多功能化、小型化、智能化方向發展。DVM應用單片機控制,組成智能儀表;與計算機接口,組成自動測試系統。現代數字電壓表按測量功能可分為直流數字電壓表和交流

5、數字電壓表。數字電壓表一般由模擬部分和數字部分組成,模擬部分主要功能是獲取電壓并將其轉換為相應的數字量,數字部分完成邏輯控制、譯碼和顯示等功能。數字電壓表的核心是A/D轉換器,由A/D轉換器工作原理的不同,數字電壓表又可分為逐次比較型和雙積分型。傳統模擬式電壓表具有電路簡單、成本低、測量方便等特點,但測量精度較差,特別是受表頭精度的限制,即使采用0.5級的高靈敏度表頭,讀測時的分辨力也只能達到半格。再者,模擬式電壓表的輸入阻抗不高,測高內阻源時精度明顯下降。本設計為克服以上缺點選用ICL7135芯片實現雙積分A/D轉換,提高精度,它是一種四位半的雙計分A/D轉換器,具有精度高(精度相當于14位

6、二進制數)、價格低廉、抗干擾能力強等優點。本設計介紹用單片機并行方式采集ICL7135的數據以實現單片機電壓表和小型智能儀表的設計方案。在當今的數字時代,從大到空間雷達,地球衛星定位系統,移動通信,計算機,醫用斷層掃描設備,小到家用計算機,數碼影像設備,數字錄音筆,數碼微波爐等設備中,數字技術與數字電路組成的數字系統已經成為這些現代電子系統的重要組成部分。數字電壓表正進入一個蓬勃發展的新時期,一方面它開拓了電子測量領域的先河,另一方面它本身正朝著高準確度、智能化、低成本的方向發展。此外,數字電壓表在安裝工藝、外觀設計、安全性、可靠性等方面也在不斷改進,日臻完善。第2章 硬件電路設計2.1 單片

7、機控制模塊設計單片機控制模塊設計單片機控制模塊的作用是為控制各單元電路的運行并完成數據的換算或處理,主要由單片機、時鐘電路、復位電路組成。 圖1 系統時鐘電路 圖2 系統復位電路2.2 逐次逼近式A/D轉換模塊設計數字電壓表最終顯示結果是數字信號,但輸入時卻是模擬量,故而需要轉電路使模擬量轉換成數字量。本設計采用A/D轉換器實現此過程,主要芯片是AD0809。A/D轉換器(ADC)的作用是把模擬量轉換成數字量,以便于計算機進行處理。隨著超大規模集成電路技術的飛躍發展,現在有很多類型的A/D轉換器芯片,不同的芯片內部結構不一樣,轉換原理也不僅相同,各種轉換芯片根據轉換原理可分為:計數型A/D轉換

8、器,逐次逼近型A/D轉換器,雙重積分型A/D轉換器,和并行式A/D轉換器等,按轉換方法可分為直接A/D轉換器和間接A/D轉換器;按其分辨率分為4-16位轉換器。逐次逼近型A/D轉換器屬于直接型A/D轉換器,它能把輸入的模擬電壓直接轉換為輸出的數字代碼,而不需要經過中間變量。主要由比較器、環形分配器、控制門、寄存器與D/A轉換器組成。 ADC0809是帶有8位A/D轉換器、8路多路開關以及微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉換器,可以和單片機直接接口。 (1)ADC0809的內部邏輯結構    由下圖可知,ADC0809由

9、一個8路模擬開關、一個地址鎖存與譯碼器、一個A/D轉換器和一個三態輸出鎖存器組成。多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉換器進行轉換。三態輸出鎖器用于鎖存A/D轉換完的數字量,當OE端為高電平時,才可以從三態輸出鎖存器取走轉換完的數據。圖3 ADC0809的內部結構 (2)ADC0809引腳結構ADC0809各腳功能如下:D7-D0:8位數字量輸出引腳。IN0-IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負端。START:A/D轉換啟動信號輸入端。ALE:地址鎖存允許信號輸入端。(以上兩種

10、信號用于啟動A/D轉換).EOC:轉換結束信號輸出引腳,開始轉換時為低電平,當轉換結束時為高電平。OE:輸出允許控制端,用以打開三態數據輸出鎖存器。CLK:時鐘信號輸入端(一般為500KHz)。A、B、C:地址輸入線。圖4 ADC0809硬件以及引腳圖    ADC0809對輸入模擬量要求:信號單極性,電壓范圍是05V,若信號太小,必須進行放大;輸入的模擬量在轉換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。地址輸入和控制線:4條    ALE為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與譯

11、碼器將A,B,C三條地址線的地址信號進行鎖存,經譯碼后被選中的通道的模擬量進轉換器進行轉換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表1所示。CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7表1通道選擇表數字量輸出及控制線11條,ST為轉換啟動信號。當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,ST應保持低電平。EOC為轉換結束信號。當EOC為高電平時,表明轉換結束;否則,表明正在進行A/D轉換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉換得到的數

12、據。OE1,輸出轉換得到的數據;OE0,輸出數據線呈高阻狀態。D7D0為數字量輸出線。CLK為時鐘輸入信號線。因ADC0809的內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,VREF(),VREF()為參考電壓輸入。2.3 LCD顯示模塊LCD顯示器分為字段顯示和字符顯示兩種。其中字段顯示與LED顯示相似,只要送對應的信號到相應的管腳就能顯示。字符顯示是根據需要顯示基本字符。本設計采用的是字符型顯示。系統中采用LCD1602作為顯示器件輸出信息。與傳統的LED數碼管顯示器件相比,液晶顯示模塊具有體積小、功耗低、顯示內容豐富等優點,而且不需要外加驅動電路,現在液晶顯示

13、模塊已經是單片機應用設計中最常用的顯示器件了。LCD1602可以顯示2行16個漢字。如圖4所示。VSS VDD VO RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A KLCD 模 塊1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16圖5 LCD1602模塊1602LCD主要技術參數:顯示容量:16×2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm引腳功能說明1602LCD采用標準的14腳(無背光)或16腳(帶背光)

14、接口,各引腳接口說明如表2所示:編號符號引腳說明編號符號引腳說明1VSS電源地9D2數據2VDD電源正極10D3數據3VL液晶顯示偏壓11D4數據4RS數據/命令選擇12D5數據5R/W讀/寫選擇13D6數據6E使能信號14D7數據7D0數據15BLA背光源正極8D1數據16BLK背光源負極表2:引腳接口說明表第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。第5腳:R/

15、W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。第714腳:D0D7為8位雙向數據線。第15腳:背光源正極。第16腳:背光源負極。1602LCD的指令說明及時序1602液晶模塊內部的控制器共有11條控制指令,如表3所示:序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標返回000000001*3置輸入模式00000001I/DS4顯示開/關控制

16、0000001DCB5光標或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發生存貯器地址0001字符發生存貯器地址8置數據存貯器地址001顯示數據存貯器地址9讀忙標志或地址01BF計數器地址10寫數到CGRAM或DDRAM)10要寫的數據內容11從CGRAM或DDRAM讀數11讀出的數據內容表3液晶模塊內部的控制器控制指令2.4 鍵盤控制模塊通過鍵盤切換,實現對直流信號和交流信號電壓值的測量,并把電壓值實時顯示在LCD顯示屏上。對直流信號電壓值,測量誤差小于1%;對交流信號電壓值,測量誤差小于2%。可通過鍵盤切換實現多級量程的直流電壓測量,其范圍是200Mv、2V、20

17、V。可通過鍵盤切換實現多級量程的交流電壓測量,其范圍是200Mv、2V、20V。鍵盤模塊如圖5所示。圖6鍵盤接口電路仿真圖第3章 系統軟件設計多路液晶顯示數字電壓表系統軟件程序由主程序,A/D轉換子程序和顯示子程序等組成。3.1 主程序設計根據需要,可將系統軟件按照功能劃分為4個模塊,分別是主程序模塊、A/D轉換模塊、液晶顯示模塊、鍵盤程序程序模塊,各模塊的功能關系如圖6所示。編寫系統軟件時,可首先編寫各模塊的底層驅動程序,而后是系統聯機調試,編寫上層主程序。系統主程序液晶管顯示A/D轉換鍵盤程序.45 圖7 系統軟件框圖3.2 軟件調試軟件調試可以先編寫顯示程序并進行硬件的正確性檢驗,然后分

18、別進行主程序、A/D轉換子程序、液晶顯示子程序、鍵盤控制子程序的編譯和調試,由于液晶顯示有交流電壓的一部分,故液晶顯示必須有時時刷新的功能,這樣電路才可以實現正常功能。 3.3硬件調試硬件調試相對較為簡單,首先用萬用表檢查硬件電路的焊接是否正確,是否有短路、斷路、虛焊等。在檢查無誤后,可通電檢測LCD顯示器顯示狀況。如果不理想,繼續調整程序,直到得到正確結果。設計小結電壓測量通過不同的接口電路可實現溫度、濕度、壓力等測量,廣泛應用于工業領域。本電路設計別具一格,是一種高精度、低功耗、寬量程、智能化的電壓表。可擴展鍵盤、EEPROM、報警電路,實現電壓異常記錄、報警。我們小組通過完成一個包括電路

19、設計和程序開發的完整過程,了解了開發單片機應用系統的全過程,強化鞏固所學知識,為以后的學習和工作打下基礎。由于水平有限,我們認為系統還有需要改進的地方。今后的學習中還需要繼續努力,深入的學習和思考問題。本次實驗我們采用C語言編程實現,程序分為三個模塊,通過主函數進行調用,簡單可讀寫性強。實驗是團體配合的工作,團體各成員取長補短,優勢互補,最終圓滿的完成了此次實驗,下面是三位同學各主要負責部分。付江杰:此次實驗,我主要參與設計了LCD上電壓值的刷新顯示程序和鍵盤接口電路。當輸入新的電壓值時,在LCD上需要同步更新顯示,通過三個函數來實現此功能。鍵盤接口電路主要是實現切換量程的功能,由CPU讀取鍵

20、盤值,然后調用刷新顯示函數,切換到對應的量程,編寫了實驗報告。劉小寶:在此次實驗中我設計了A/D轉換電路,編寫部分程序,調試電路。A/D轉換是將連續變化的模擬量轉化成數字量,我們用芯片ADC0808來實現轉換功能。在開始的過程中,模擬電壓輸入,轉換成數字電壓,編寫函數輸入到P1端口,從P0口輸出,編寫了實驗報告。廖為國:在這次實驗中我參與了設計硬件電路以及部分軟件的編程,設計了交流電壓變為直流電壓,交流電壓不便于直接測量,通過整流橋進行整流變成直流,然后用電容進行濾波。焊接電路,一同調試電路,編寫了實驗報告。附件一 電路原理圖附件二 部分參考程序Main.c主程序A/D轉換程序#include

21、<reg52.h>#include <intrins.h>unsigned long dat_adc0808; uint adc0808_init() START=0; OE=0; START=1; START=0; while(EOC=0); OE=1; dat_adc0808=P1; OE=0; return dat_adc0808; void Refresh_show() /刷新顯示 uint t=dat_adc0808*500.0/255; display_buffer17 = t/100+'0' display_buffer19 = t/10%10+'0' display_buffer110 = t%10+'0'液晶顯示程序 /-LCD

溫馨提示

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

評論

0/150

提交評論