基于單片機(jī)的數(shù)字式電壓表課程設(shè)計(jì)報(bào)告_第1頁
基于單片機(jī)的數(shù)字式電壓表課程設(shè)計(jì)報(bào)告_第2頁
基于單片機(jī)的數(shù)字式電壓表課程設(shè)計(jì)報(bào)告_第3頁
基于單片機(jī)的數(shù)字式電壓表課程設(shè)計(jì)報(bào)告_第4頁
基于單片機(jī)的數(shù)字式電壓表課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于單片機(jī)的數(shù)字電壓表設(shè)計(jì)信息科學(xué)與工程學(xué)院 課 程 設(shè) 計(jì) 報(bào) 告設(shè)計(jì)題目: 基于單片機(jī)的數(shù)字式電壓表設(shè)計(jì) 名 稱: 單片機(jī)原理與應(yīng)用課程設(shè)計(jì) 班 級: 12電子1班 姓 名: 蔣尚華 學(xué) 號: 12403100103 設(shè)計(jì)時(shí)間: 2014.12.29 至 2015.01.11 指導(dǎo)教師: 胡偉 評 語: 評閱成績: 評閱教師: 目 錄引 言I一、課程設(shè)計(jì)的性質(zhì)和目的2二、課程設(shè)計(jì)的要求2三、主要儀器設(shè)備及軟件2四、課程設(shè)計(jì)題目及要求2五、課題分析及設(shè)計(jì)思路25.1、課題分析及總體設(shè)計(jì)25.2、硬件設(shè)計(jì)25.2.1 系統(tǒng)總體設(shè)計(jì)框圖25.2.2 單片機(jī)系統(tǒng)35.2.3 AD轉(zhuǎn)換電路65.3、

2、軟件設(shè)計(jì)8六、程序主要代碼與分析8七、實(shí)驗(yàn)結(jié)果截圖10八、心得體會11參考文獻(xiàn)12引 言 電子電壓表主要用于測量各種高、低頻信號電壓,它是電子測量中使用最廣泛的儀器之一。根據(jù)測量結(jié)果的顯示方式及測量原理不同,電壓測量儀器可分為兩大類:模擬式電壓表(AVM)和數(shù)字式電壓表(DVM)。模擬式電壓表是指針式的,多用磁電式電流表作為指示器,并在表盤上刻以電壓刻度。數(shù)字式電壓表首先將模擬量經(jīng)模數(shù)(A/D)轉(zhuǎn)換器變成數(shù)字量,然后用電子計(jì)數(shù)器計(jì)數(shù),并以十進(jìn)制數(shù)字顯示被測電壓值。眾所周知,模擬電壓表精度較高,曾經(jīng)有很廣闊的市場,現(xiàn)在依然有不少工程師依然在使用模擬電壓表。的確模擬電壓表在顯示測量值方面精度校準(zhǔn),

3、然而卻也存在問題。模擬電壓表采用用指針式,里面是磁電或電磁式結(jié)構(gòu),所以其響應(yīng)速度較慢。然而在高速發(fā)展的當(dāng)今社會,高速信號處理的需求越來越多,由于模擬電壓表響應(yīng)速度較慢已經(jīng)不適用與高速信號領(lǐng)域,取而代之的將是數(shù)字電壓表。但數(shù)字電壓表由于存在采樣誤差,精度不是很高。不過目前可以通過技術(shù)手段來縮小誤差。使其精度達(dá)到與模擬電壓表一樣精確甚至更高??梢妼頂?shù)字電壓表必將取代模擬電壓表。現(xiàn)在有越來越多的數(shù)字測量儀器的出現(xiàn)但原理皆與數(shù)字電壓表殊途同歸,因此研究數(shù)字電壓表有著很大現(xiàn)實(shí)意義。一、課程設(shè)計(jì)的性質(zhì)和目的通過課程設(shè)計(jì),鞏固在課堂上學(xué)到的有關(guān)電子技術(shù)、單片機(jī)、微機(jī)原理等課程的基本知識和基本方法,強(qiáng)化知識

4、的綜合運(yùn)用和技能基本訓(xùn)練,通過硬件電路的設(shè)計(jì)和相應(yīng)軟件的編寫,掌握軟硬結(jié)合的控制程序設(shè)計(jì),達(dá)到能獨(dú)立閱讀、編制和調(diào)試一定規(guī)模的電子產(chǎn)品制作或仿真。二、課程設(shè)計(jì)的要求1、遵循軟硬件模塊化設(shè)計(jì)。2、要求程序結(jié)構(gòu)化設(shè)計(jì)。3、要求程序結(jié)構(gòu)合理,語句使用得當(dāng),并附有必要的注釋。4、適當(dāng)追求編程技巧和程序運(yùn)行效率。三、主要儀器設(shè)備及軟件PC機(jī)、Protrus繪圖軟件、Keil C仿真軟件等。四、課程設(shè)計(jì)題目及要求題目:基于單片機(jī)的數(shù)字電壓表設(shè)計(jì)要求:1.利用單片機(jī)設(shè)計(jì)數(shù)字電壓表,用4段數(shù)碼管顯示; 2.能夠較準(zhǔn)確的測量05V之間的直流電壓值,測量最小分辨率為0.02V。五、課題分析及設(shè)計(jì)思路5.1、課題分

5、析及總體設(shè)計(jì)通過滑動變阻器產(chǎn)生可變電壓;用ADC0809采集模擬電壓轉(zhuǎn)換成數(shù)字信號;將此數(shù)字信號用七段數(shù)碼管顯示。5.2、硬件設(shè)計(jì)5.2.1 系統(tǒng)總體設(shè)計(jì)框圖 本系統(tǒng)采樣Atmel89C52單片機(jī)作為控制核心,以ADC0809為數(shù)據(jù)采樣系統(tǒng),實(shí)現(xiàn)被測電壓的數(shù)據(jù)采樣;使用系列比較器檢測輸入電壓的范圍,用共陰極數(shù)碼管顯示結(jié)果。 顯示電路 51單片機(jī) AD轉(zhuǎn)換 輸入電壓圖1 5.2.2 單片機(jī)系統(tǒng)單片機(jī)最小系統(tǒng)包括復(fù)位電路,晶振電路,電源電路,仿真時(shí)需搭建復(fù)位電路和晶振電路。晶振電路:圖2復(fù)位電路: 圖3 單片機(jī)最小系統(tǒng)如下所示,其中P2口用于驅(qū)動數(shù)碼管,P1口用于數(shù)碼管顯示,P0口用于接收ADC0

6、809轉(zhuǎn)換的數(shù)據(jù),P3接74LS74 D觸發(fā)器電路。單片機(jī)最小系統(tǒng): 圖45.2.3 AD轉(zhuǎn)換電路 ADC0809的特性:ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。 (1)ADC0809的內(nèi)部邏輯結(jié)構(gòu)     由下圖可知,ADC0809由一個(gè)8路模擬開關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三

7、態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。(2)ADC0809引腳結(jié)構(gòu) ADC0809各腳功能如下:D7-D0:8位數(shù)字量輸出引腳。IN0-IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負(fù)端。START:A/D轉(zhuǎn)換啟動信號輸入端。ALE:地址鎖存允許信號輸入端。(以上兩種信號用于啟動A/D轉(zhuǎn)換).EOC:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時(shí)鐘信號輸入端(一般為500KHz)。A、B、C:地址輸入線。     ADC0809

8、對輸入模擬量要求:信號單極性,電壓范圍是05V,若信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條     ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)入轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示。CBA選擇的通道CBA 選擇的通道000IN0101IN5001IN1110IN6010IN2111IN7011IN31

9、00IN4數(shù)字量輸出及控制線:11條     ST為轉(zhuǎn)換啟動信號。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。 CLK為時(shí)鐘輸入信號線。因ADC0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號必須由外界提供,通常使用頻率為500KHZ, VREF(),VREF()為參考電壓輸入。 2 A

10、DC0809應(yīng)用說明 (1)ADC0809內(nèi)部帶有輸出鎖存器,可以與AT89S51單片機(jī)直接相連。 (2)初始化時(shí),使ST和OE信號全為低電平。 (3)送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。 (4)在ST端給出一個(gè)至少有100ns寬的正脈沖信號。 (5)是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號來判斷。 (6) 當(dāng)EOC變?yōu)楦唠娖綍r(shí),這時(shí)給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。 3 實(shí)驗(yàn)任務(wù) 如下圖所示,從ADC0809的通道IN0輸入05V之間的模擬量,通過ADC0809轉(zhuǎn)換成數(shù)字量在數(shù)碼管上以十進(jìn)制形成顯示出來。ADC0809的VREF接5V電壓。 ADC0809與單片機(jī)的連接: 圖65.

11、2.3 觸發(fā)電路74ls74中文資料       74LS74內(nèi)含兩個(gè)獨(dú)立的D上升沿雙d觸發(fā)器,每個(gè)觸發(fā)器有數(shù)據(jù)輸入(D)、置位輸入()復(fù)位輸入()、時(shí)鐘輸入(CP)和數(shù)據(jù)輸出(Q、)。、的低電平使輸出預(yù)置或清除,而與其它輸入端的電平無關(guān)。當(dāng)、均無效(高電平式)時(shí),符合建立時(shí)間要求的D數(shù)據(jù)在CP上升沿作用下傳送到輸出端。74ls74功能表: 3 實(shí)驗(yàn)任務(wù) 如下圖所示,通過74LS74產(chǎn)生時(shí)鐘源,數(shù)據(jù)轉(zhuǎn)換過程需要在外部工作時(shí)鐘的控制下進(jìn)行。5.2.4 數(shù)碼管顯示電路四位數(shù)碼管引腳圖:四位數(shù)碼管與單片機(jī)的連接:5.3、軟件設(shè)計(jì)(設(shè)計(jì)思路及軟件流程圖

12、) 軟件部分采用模塊化程序設(shè)計(jì)的方法,由單片機(jī)控制主程序、A/D轉(zhuǎn)換子程序、電壓檢測、七段數(shù)碼管顯示組成。系統(tǒng)軟件設(shè)計(jì)是在KeilC編譯環(huán)境下進(jìn)行的,由于C語言程序可移植性好,所以提高了編程的效率。軟件程序流程圖:聲明函數(shù)設(shè)置掃描信號初始值開始讀取顯示區(qū)數(shù)組,轉(zhuǎn)換顯示編碼輸出/延遲3個(gè)字?20次?返回NoNoyesyes開始聲明變量與函數(shù)調(diào)用顯示函數(shù)讀取ADC轉(zhuǎn)換結(jié)果轉(zhuǎn)換千位數(shù)轉(zhuǎn)換百位數(shù)轉(zhuǎn)換十位數(shù)轉(zhuǎn)換個(gè)位數(shù) 顯示函數(shù) 主程序六、程序主要代碼與分析(關(guān)鍵代碼要有注釋):#include <reg52.h> Unsigned char code dispbitcode =0xfe,0x

13、fd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; Unsigned char code dispcode=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00; unsigned char dispbuf8=10,10,10,10,10,0,0,0; unsigned char dispcount; unsigned char getdata; unsigned int temp; long int i; unsigned int R1; sbit ST=P30; sbit OE=P31; sbit EOC=P32;

14、 sbit CLK=P33; void main(void) ST=0; /ST正脈沖信號啟動A/D轉(zhuǎn)換; OE=0; /EOC為高電平后,若使OE為高電平,轉(zhuǎn)換結(jié)果DATA便可鎖存到D0D7上,CPU讀取轉(zhuǎn)換數(shù)據(jù)后,再使OE變?yōu)榈碗娖?,一次A/D轉(zhuǎn)換過程結(jié)束。 ET0=1;/啟動T0中斷; ET1=1;/啟動T1中斷; EA=1;/開總中斷; TMOD=0x12;/設(shè)置T0定時(shí)方式2,T1定時(shí)方式1 TH0=216; /計(jì)數(shù)初值a=216-t.Fosc/12其中t以us為單位,F(xiàn)osc以MHZ為單位;(t=5ms,T=12MHZ) 十進(jìn)制 TL0=216; TH1=(65536-5000)/

15、256;/0XEC TL1=(65536-5000)%256;/0X78 TR1=1; /啟動T1 TR0=1; /啟動T0 ST=1; /ST產(chǎn)生正脈沖 ST=0; while(1) if(EOC=1) /EOC為高電平后,若使OE為高電平,轉(zhuǎn)換結(jié)果DATA便可鎖存到D0D7上,CPU讀取轉(zhuǎn)換數(shù)據(jù)后,再使OE變?yōu)榈碗娖?,一次A/D轉(zhuǎn)換過程結(jié)束。 OE=1; getdata=P0; OE=0; i=getdata*196; /轉(zhuǎn)換為十進(jìn)制;5V i/o口為八個(gè)5256=196MVdispbuf5=i/10000; i=i%10000; dispbuf6=i/1000;i=i%1000; dis

16、pbuf7=i/100; ST=1; ST=0; void t0(void) interrupt 1 using 0 /定時(shí)器0 中斷服務(wù) CLK=CLK; void t1(void) interrupt 3 using 0 /定時(shí)器1 中斷服務(wù) TH1=(65536-6000)/256; TL1=(65536-6000)%256; P2=0xff; P1=dispcodedispbufdispcount; P2=dispbitcodedispcount; if(dispcount=5) P1=P1 | 0x80; dispcount+; if(dispcount=8) dispcount=0

17、; 七、實(shí)驗(yàn)結(jié)果截圖實(shí)物圖:作為模擬電壓的輸入,滑動變阻器的變化不可以過快;要求:調(diào)一次滑動變阻器使得電壓變化0.02V;所以要求2n>5/0.02=250,因此ADC要選擇8位的,滑動變阻器的精確度為0.02.八、心得體會 本次試驗(yàn)的難度雖不大,但在此過程中我學(xué)到了很多知識,同時(shí)也遇到了一些問題。例如:1. 仿真時(shí)用的是ADC0808但是實(shí)際生活中是用ADC0809,需要通過網(wǎng)上查找資料知道兩者的異同;2. 在網(wǎng)上有許多關(guān)于基于單片機(jī)的數(shù)字電壓表的設(shè)計(jì)資料每份的整體思想一樣,但是所用的芯片是不同的,需要自己根據(jù)老師提供的器件做相應(yīng)的修改;3.作為模擬電壓的輸入,滑動變阻器的變化不可以過快;4.用#define SEG P0不可以加;號;5.無窮循環(huán)while(1)后也不可以加;號;6.在仿真中不必將復(fù)位電路和晶振電路連接上,但是實(shí)際實(shí)驗(yàn)中卻必須加上;7.各芯片都需要接地和接電源才能工作,仿真時(shí)不需要,但是實(shí)際中必須加上;8.在焊接時(shí)要判斷清楚芯片的引腳接線,合理的排版,才能更高效的連線并節(jié)

溫馨提示

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

評論

0/150

提交評論