數(shù)字萬用表的課程設(shè)計(jì)_第1頁
數(shù)字萬用表的課程設(shè)計(jì)_第2頁
數(shù)字萬用表的課程設(shè)計(jì)_第3頁
數(shù)字萬用表的課程設(shè)計(jì)_第4頁
數(shù)字萬用表的課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程名稱: 數(shù)字萬用表的設(shè)計(jì)專 業(yè): 電子信息工程 班 級(jí): 0學(xué) 號(hào): 姓 名: 指導(dǎo)教師 : 目 錄1 、設(shè)計(jì)任務(wù)3 1.1設(shè)計(jì)目的31.2設(shè)計(jì)指標(biāo)及要求32、設(shè)計(jì)思路與總體框圖33、系統(tǒng)硬件電路的設(shè)計(jì)43.1主控芯片43.2模數(shù)轉(zhuǎn)換部分43.3 電阻測(cè)量輸入電路63.4電壓測(cè)量輸入電路73、5電流輸入測(cè)量電路93.6 自鎖開關(guān)104、軟件設(shè)計(jì)104.1主程序設(shè)計(jì)104.2 a/d轉(zhuǎn)換子模塊115、系統(tǒng)調(diào)試 115.1硬件調(diào)試115.2 硬件故障115.3硬件調(diào)試方法125.4軟件調(diào)試125.5軟件故障125.6軟件調(diào)試方法 126 實(shí)驗(yàn)數(shù)據(jù)處理126.1實(shí)驗(yàn)數(shù)據(jù) 126.2實(shí)驗(yàn)數(shù)據(jù)分析

2、137總結(jié)與體會(huì)137.1 總結(jié) 147.2體會(huì)148 參考文獻(xiàn)149 附錄程序141、設(shè)計(jì)任務(wù)11設(shè)計(jì)目的采用a/d轉(zhuǎn)換器adc0804和stc89c51單片機(jī),設(shè)計(jì)一臺(tái)數(shù)字多用表,能進(jìn)行電壓、電流和電阻的測(cè)量,測(cè)量結(jié)果通過lcd液晶顯示器顯示,通過按鍵進(jìn)行測(cè)量功能轉(zhuǎn)換。12設(shè)計(jì)指標(biāo)及要求電壓測(cè)量范圍020v,測(cè)量誤差約為0.05v,電流測(cè)量范圍1200ma,測(cè)量誤差約為0.5ma,電阻測(cè)量范圍01000,測(cè)量誤差約為2。2、設(shè)計(jì)思路與總體框圖1.方案選擇 用單片機(jī)stc89c51與adc0804設(shè)計(jì)一個(gè)數(shù)字萬用表,配合分流電阻、分壓電阻、基準(zhǔn)電阻可以測(cè)量直流電壓值,直流電流、直流電阻,四位

3、數(shù)碼顯示。實(shí)現(xiàn)各級(jí)量程的直流電壓測(cè)量,其量程范圍為020(v)。實(shí)現(xiàn)不同量程的直流電流測(cè)量,其量程范圍為0200(ma)。實(shí)現(xiàn)不同量程的電阻測(cè)量,其量程范圍為01000()。adc0804是帶有8位a/d轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的cmos組件。它是逐次逼近式a/d轉(zhuǎn)換器,可以和單片機(jī)直接接口。首先,利用p1 口數(shù)據(jù)地址復(fù)用,將地址通過p1口輸入到單片機(jī)中。然后,充分利用單片機(jī)強(qiáng)大的運(yùn)算轉(zhuǎn)化功能將其轉(zhuǎn)成適當(dāng)?shù)亩M(jìn)制信號(hào)控制數(shù)顯以確保正確的顯示被測(cè)量的讀數(shù)。 2.總體框圖液晶顯示stc89c51單片機(jī)(實(shí)現(xiàn)譯碼驅(qū)動(dòng))模數(shù)轉(zhuǎn)換(adc0804)待測(cè)電壓分檔電壓(量程轉(zhuǎn)換)待測(cè)電

4、阻待測(cè)電流分檔電流(量程轉(zhuǎn)換)分檔電阻(量程轉(zhuǎn)換)圖一:總體框圖3、系統(tǒng)硬件電路的設(shè)計(jì)3.1主控芯片本電壓表采用stc89c52為主控芯片,電路如下圖所接:3.2模擬轉(zhuǎn)換部分該電壓表采用的adc0804,此芯片優(yōu)點(diǎn)是并行輸出,速率快,缺點(diǎn)是只有8位,精度不高。下來adc0804芯片圖:?jiǎn)纹瑱C(jī)的p2.0 p2.2引腳通過一個(gè)轉(zhuǎn)換開關(guān)接地,通過判斷p2.0 p2.2引腳電平的高低,決定是否進(jìn)行電阻測(cè)量、電壓測(cè)量或電流測(cè)量。為了方便,將數(shù)字地和模擬地都直接接到了一起,db0db7為并行輸出口,cs,rd,wr為控制芯片模數(shù)轉(zhuǎn)換及讀取芯片數(shù)據(jù)和寫數(shù)據(jù)的引腳,adc0804可以自己產(chǎn)生時(shí)鐘,只要在clk

5、r和clkin端接入電阻(10k)和電容(理論為150pf本人接的220pf),可產(chǎn)生脈沖信號(hào)。vref為參考電壓端,vin+和vin為電壓輸入端。當(dāng)電壓加在vin+和vin端時(shí),在db0db7可輸出八位到單片機(jī),本處參考電壓為5v,則當(dāng)輸入電壓u時(shí),輸出數(shù)據(jù)為temp,則u/temp=5/255.3.3數(shù)字多用表電阻輸入電路圖-二 圖-二所示為數(shù)字多用表的電阻測(cè)量輸入電路。運(yùn)算放大器的反饋電阻rx作為待測(cè)電阻,通過1k電阻r10接到5v電源上,那么放大器的輸出電壓rv=5*rx/(rp+r15+r0+rx),將rv送給adc0804,轉(zhuǎn)換后得到數(shù)字量為dv=rv*255/5。單片機(jī)讀取a/d

6、轉(zhuǎn)換數(shù)據(jù),再經(jīng)過逆向運(yùn)算可得rx=dv*(r1p+r0+r15)/(5-dv)*255,注意此時(shí)得到的rx是二進(jìn)制數(shù),需要轉(zhuǎn)化成十進(jìn)制數(shù)后才能送給1602顯示,程序中采取用4字節(jié)無符號(hào)除法,連續(xù)進(jìn)行4次除以10的除法,依次取得4位數(shù)值,并且電阻測(cè)量范圍只保證在01k范圍內(nèi)誤差不超過2,如果要測(cè)量其他電阻,則需該改rp的值。3.4數(shù)字多用表的電壓測(cè)量輸入電路圖-四圖-四所示為數(shù)字多用表的交流電壓測(cè)量輸入電路,acv量程為012v待測(cè)電壓經(jīng)交流電壓測(cè)量圖過低通濾波器濾除干擾,再經(jīng)過同向放大器送給adc0804,電壓測(cè)量輸入范圍012,adc084的分辨率為8位,測(cè)量誤差為12/255=0.05v。

7、d5為整流管,d4起保護(hù)作用。r24、c6組成平滑濾波器。c5、c4為隔直電容。uout=uac(有效值)圖-五直流電壓測(cè)量圖圖-五直流電壓測(cè)量電路。dcv量程為012v。uout=r8*u/(r7+r8+r11),所以,u=(r7+r8+r11)* uout/r8。r7和r8為分壓電阻,大小都為10m。r11為匹配電阻,保證等值分壓。r13為限流電阻,大小為1m。3.5數(shù)字萬用表的電流測(cè)量輸入電路圖-六電流測(cè)量電路圖圖-六是數(shù)字萬用表電流測(cè)量輸入電路。電流測(cè)量范圍為1-200ma,因?yàn)閍dc0804是電壓轉(zhuǎn)化器,必須將電壓才能進(jìn)行測(cè)量,這可以通過串接電阻rp來實(shí)現(xiàn),注意rp必須很小(如0.1

8、),否則營(yíng)銷電流數(shù)值,由于待測(cè)電流和rl都很小,rl兩端的電壓也很小,必須將其放大到adc0804能夠分辨的范圍之內(nèi)。r12為限流電阻,大小為1m。d2,d3為雙向限幅過壓保護(hù)二極管,起過流保護(hù)作用。3.6 自鎖開關(guān) 圖-七 自鎖開關(guān)圖用來控制測(cè)量哪一種變量,同時(shí)用來檢測(cè)正測(cè)的信息,通過導(dǎo)線送入到單片機(jī)。上面接10k的限流電阻。4、軟件設(shè)計(jì)4.1主程序 主程序包括初始化部分 調(diào)用a/d轉(zhuǎn)換子程序和調(diào)用顯示程序,如下圖所示:4.2 a/d轉(zhuǎn)換子模塊:a/d轉(zhuǎn)換子程序用于對(duì)adc0804八路輸入模擬電壓進(jìn)行a/d轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)值存入八個(gè)相應(yīng)的存儲(chǔ)單元中,如下圖: 5、系統(tǒng)調(diào)試基于單片機(jī)的數(shù)字電

9、壓表在組裝好以后,便可進(jìn)入系統(tǒng)的在線調(diào)試,起主要任務(wù)是排除樣機(jī)硬件故障并完善其硬件結(jié)構(gòu),試運(yùn)行所設(shè)計(jì)的程序,排除程序錯(cuò)誤,優(yōu)化程序結(jié)構(gòu),使系統(tǒng)達(dá)到預(yù)期的功能,進(jìn)而固化軟件。5.1硬件調(diào)試單片機(jī)應(yīng)用系統(tǒng)的硬件和軟件調(diào)試時(shí)交叉進(jìn)行的,但通常是先排除樣機(jī)中明顯的硬件故障,尤其是電源故障,才能安全和仿真器相連,進(jìn)行綜合調(diào)試。5.2 硬件電路故障(1)錯(cuò)線 開路 短路;(2)元器件損壞(3)電源故障5.3 硬件調(diào)試方法 本設(shè)計(jì)調(diào)試中所用的調(diào)試方法是靜態(tài)測(cè)試: 在樣機(jī)加電之前,首先用萬用表等工具,根據(jù)硬件電器原理圖和裝配圖仔細(xì)檢查樣機(jī)線路的正確性,并核對(duì)元器件的型號(hào) 規(guī)格和安裝是否符合要求。第二步是加電后

10、檢查各插件上引腳的點(diǎn)位,仔細(xì)測(cè)量各電位是否正常。第三步是在不加電的情況下,除單片機(jī)以外,插上所有的元器件,最后用仿真適配器將樣機(jī)的單片機(jī)插座盒仿真器的仿真接口相連,為聯(lián)機(jī)調(diào)試做準(zhǔn)備。5.4 軟件調(diào)試5.5 軟件電路故障(1)當(dāng)以斷點(diǎn)或連續(xù)方式運(yùn)行時(shí),目標(biāo)系統(tǒng)沒有按規(guī)定的功能進(jìn)行操作或什么結(jié)果也沒有,這是由于程序轉(zhuǎn)移到意外之外或在某處死循環(huán)所造成的。(2)結(jié)果不正確5.6 軟件調(diào)試方法軟件調(diào)試所使用的方法有:計(jì)算程序的調(diào)試方法,i/o處理程序的調(diào)試法,綜合調(diào)試法6、實(shí)驗(yàn)數(shù)據(jù)處理6.1實(shí)驗(yàn)數(shù)據(jù)012直流電壓為 012交流電壓為次數(shù)標(biāo)準(zhǔn)值電壓示值滿度誤差次數(shù)標(biāo)準(zhǔn)值電壓示值滿度誤差1122334455

11、667788991010111112121313141415151617181920實(shí)驗(yàn)數(shù)據(jù)0-1k電阻為 0-200ma電流為次數(shù)標(biāo)準(zhǔn)值電壓示值滿度誤差次數(shù)標(biāo)準(zhǔn)值電壓示值滿度誤差112233445566778899101011111212131314141515161718192062實(shí)驗(yàn)數(shù)據(jù)分析 直流0-12v量程精度為 滿度誤差 為 交流0-21v量程精度為 滿度誤差為 電流0-200ma量程精度為滿度誤差為7、 總結(jié)與體會(huì)數(shù)字多用表的課程設(shè)計(jì),從確定方案、查找資料、仿真電路圖,到最后電路設(shè)計(jì)實(shí)踐,耗時(shí)2個(gè)星期。數(shù)字多用表的設(shè)計(jì)方案采取stc89c51單片機(jī)結(jié)合a/d轉(zhuǎn)換器,從而實(shí)現(xiàn)對(duì)電

12、阻、電流和電壓的測(cè)量的方案,從而實(shí)現(xiàn)電阻、電流和電壓的數(shù)字化測(cè)量。本次課程設(shè)計(jì),雖然方案基本出來了,但是在硬件制作方面出現(xiàn)了幾個(gè)問題,這也暴露出我們知識(shí)方面的一欠缺。不足主要體現(xiàn)在以下幾個(gè)方面:(1)adc0804的第10腳的時(shí)鐘信號(hào),我們是通過單片機(jī)編程實(shí)現(xiàn)的但是由于頻率過低,只有500khz,造成1602液晶顯示器顯示不穩(wěn)定而出現(xiàn)閃爍現(xiàn)象。最終驗(yàn)收時(shí)是通過從外部信號(hào)發(fā)生器輸入2mhz時(shí)鐘信號(hào)解決的。(2)萬用板焊接時(shí),由于布線不太合理,使得背面線很零亂。并給后面的線路檢查帶來了不少麻煩。(3)51單片機(jī)基礎(chǔ)知識(shí)不扎實(shí),電路分析遇到比較多的問題歷經(jīng)兩個(gè)星期的課程設(shè)計(jì)后我深得做課程設(shè)計(jì)同時(shí)也是

13、對(duì)課本知識(shí)的鞏固和加強(qiáng),由于課本上的知識(shí)太多,平時(shí)課間的學(xué)習(xí)并不能很好的理解和運(yùn)用各個(gè)元件的功能,而且考試內(nèi)容有限,所以在這次課程設(shè)計(jì)過程中,我們了解了很多元件的功能,并且對(duì)于其在電路中的使用有了更多的認(rèn)識(shí)。雖然最終的結(jié)果讓人失望,但在此期間我們也曾一度熱情高漲。從開始時(shí)滿8、參考文獻(xiàn)單片機(jī)原理及應(yīng)用 張毅剛 主編 高等教育出版社單片機(jī)原理實(shí)用教程 徐愛鈞 編著 電子工業(yè)出版社電子技術(shù)基礎(chǔ)康華光 主編 高等教育出版社集成電路原理及應(yīng)用譚博學(xué)、苗匯靜 主編 電子工業(yè)出版社9、附錄程序主程序:#include /頭文件#include /頭文件#include#include#include#in

14、clude#include#include#include void main()while(1)write_com(0x01);lcd_init(); display_voltage(); 1、 宏定義和定義變量:#define uchar unsigned char /宏定義#define uint unsigned intuchar table= measurement: ;uchar range20=range020v: ;uchar range200=range0200ma: ;uchar range2000=range02k:;uchar warning=please choice

15、! ;/*uchar error=error!; */ uint measure10; sbit key3=p27;sbit key0=p22;sbit key1=p21;sbit key2=p20;sbit lcd_rs=p23; / 定義液晶的rs端口sbit lcd_rw=p24; / 定義液晶的rw端口sbit lcd_en=p25; sbit back=p26;sbit spk=p27; / 定義液晶的en端口sbit cs=p32; / 定義ad的cs端口sbit rd=p31; /定義ad的rd端口sbit wr=p30;/sbit dula=p37;sbit intr=p37;

16、 /定義ad的wr端口uint temp,i,a1,a2,a3,a4; /定義變量 uint date;2、 延時(shí)部分:void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void delay_lcd()/1602指令之間延時(shí)uint x=5;while(x-);3、 ad轉(zhuǎn)換和數(shù)據(jù)傳送: void ad_init() /初始化adc0804cs=0;wr=1;_nop_();wr=0;_nop_();wr=1; uint ad_switch() /ad轉(zhuǎn)換部分uint temp;p1=0xff;rd=1;_nop_();r

17、d=0;_nop_();temp=p1;/將轉(zhuǎn)后的原始值返給單片機(jī)p1口return temp;uint ad_smooth()/軟件濾波uint xx,i,temp;ad_init();for(i=0;i20;i+)measurei=ad_switch();delay(10); /每隔10us adc轉(zhuǎn)換并采集一次數(shù)據(jù),將得 /到的數(shù)據(jù)放到數(shù)組中,采集十個(gè)數(shù)據(jù)for(xx=0;xx20;xx+) /將十個(gè)數(shù)據(jù)冒泡法排序for(i=xx;imeasurei)temp=measurei;measurei=measurexx;measurexx=temp; for(i=6;i16;i+)/去掉了三

18、個(gè)最小值和兩個(gè)最大值, /取中間五個(gè)數(shù)的平均值xx+=measurei;xx=xx/10;return xx; /將濾過波后的值存入單片機(jī)4、 1602子程序:void write_com(uchar com)/寫指令delay(5);lcd_en=0;lcd_rs=0;lcd_rw=0;_nop_();lcd_en=1;p0=com;lcd_en=0;lcd_rs=0;void write_date(uchar date)/寫數(shù)據(jù)delay(5);lcd_en=0;lcd_rs=1;lcd_rw=0;_nop_();lcd_en=1;p0=date;lcd_en=0;lcd_rs=0;voi

19、d lcd_init()/初始化 back=0; delay(15); lcd_en=0; write_com(0x38); write_com(0x38); write_com(0x38); write_com(0x06); write_com(0x0c); write_com(0x01); 5、 鍵盤掃描:uint keyscan()if(key0=0&key1=1&key2=1&key3=1)return 1;else if(key0=1&key1=0&key2=1&key3=1)return (2);else if(key0=1&key1=1&key2=0&key3=1)return

20、(3);else if(key0=1&key1=1&key2=1&key3=0)return (4);else if(key0=1&key1=1&key2=1&key3=1) return(5);else return (6);6、 數(shù)據(jù)整理及顯示:void display20v(uint temp)/量程為20v時(shí)的顯示狀態(tài)uint num0,num1,num2,num3;if(temp7) temp=0;else temp=temp-7;num0=temp/51;num1=temp%51*10/51;num2=temp%51*10%51*10/51;num3=temp%51*10%51*1

21、0%51*10/51;write_com(0x80+0x40+11); write_date(num0+0x30);delay_lcd();write_com(0x80+0x40+12); write_date(.);delay_lcd();write_com(0x80+0x40+13); write_date(num1+0x30);delay_lcd();write_com(0x80+0x40+14); write_date(num2+0x30);delay_lcd();write_com(0x80+0x40+15); write_date(num3+0x30);delay_lcd();vo

22、id display200ma(uint temp)/電流200ma時(shí)的顯示狀態(tài)uint num0,num1,num2,num3;if(temp7) temp=0;else temp=temp-7;num0=temp/510;num1=temp%51*10/510;num2=temp%51*10%51*10/510;num3=temp%51*10%51*10%51*10/510;write_com(0x80+0x40+11); write_date(num0+0x30);delay_lcd();write_com(0x80+0x40+12); write_date(.);delay_lcd()

23、;write_com(0x80+0x40+13); write_date(num1+0x30);delay_lcd();write_com(0x80+0x40+14); write_date(num2+0x30);delay_lcd();write_com(0x80+0x40+15); write_date(num3+0x30);delay_lcd();void display2000(uint temp)/量程為2000歐時(shí)的顯示狀態(tài)uint num0,num1,num2,num3;if(temp7) temp=0;else temp=temp-7;num0=temp/51;num1=tem

24、p%51*10/5.1;num2=temp%51*10%51*10/5.1;num3=temp%51*10%51*10%51*10/5.1;write_com(0x80+0x40+11); write_date(num0+0x30);delay_lcd();write_com(0x80+0x40+12); write_date(.);delay_lcd();write_com(0x80+0x40+13); write_date(num1+0x30);delay_lcd();write_com(0x80+0x40+14); write_date(num2+0x30);delay_lcd();write_com(0x80+0x40+15); write_date(num3+0x30);delay_lcd();void display_voltage()uint numx,temp,temp0,temp1;/float temp;numx=keyscan()

溫馨提示

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

評(píng)論

0/150

提交評(píng)論