基于51單片機(jī)數(shù)字萬(wàn)用表的制作_第1頁(yè)
基于51單片機(jī)數(shù)字萬(wàn)用表的制作_第2頁(yè)
基于51單片機(jī)數(shù)字萬(wàn)用表的制作_第3頁(yè)
基于51單片機(jī)數(shù)字萬(wàn)用表的制作_第4頁(yè)
基于51單片機(jī)數(shù)字萬(wàn)用表的制作_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

34基于51單片機(jī)數(shù)字萬(wàn)用表的制作基于51單片機(jī)數(shù)字萬(wàn)用表摘要:本設(shè)計(jì)采用AT89C52為主控芯片配以振蕩電路設(shè)計(jì)設(shè)計(jì)了一個(gè)數(shù)字萬(wàn)用表,可用于測(cè)量直流電壓,直流電流,電阻和電容,并配以檔位轉(zhuǎn)換。本系統(tǒng)使用ADC0832作為數(shù)據(jù)轉(zhuǎn)換芯片,LM358作為放大芯片,通過(guò)LCD1602顯示,各模塊主要通過(guò)AD轉(zhuǎn)換以及電壓放大實(shí)現(xiàn)測(cè)量功能。緒論:數(shù)字多用表(GMM)就是在電氣測(cè)量中要用到的電子儀器。它可以有很多特殊功能,但主要功能就是對(duì)電壓、電阻和電流進(jìn)行測(cè)量。傳統(tǒng)的指針式萬(wàn)用表功能單精度低,不能滿(mǎn)足數(shù)字化時(shí)代的需求,采用單片機(jī)制作的數(shù)字萬(wàn)用表,具有精度高、抗干擾能力強(qiáng),可擴(kuò)展力強(qiáng)、集成方便等優(yōu)點(diǎn),目前,由各種單片機(jī)芯片構(gòu)成的數(shù)字電萬(wàn)用表,已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域,顯示出強(qiáng)大的生命力。總體設(shè)計(jì)設(shè)計(jì)方案:電壓電壓分壓電路AD電路單分壓電路AD電路單片機(jī)顯示電路顯示電路電流放大電路AD電路電流放大電路AD電路電阻晶振電路電阻晶振電路振蕩電路放大電路路路振蕩電路放大電路路路電容電容功能開(kāi)關(guān)功能開(kāi)關(guān)1.電壓測(cè)量原理與AD轉(zhuǎn)換電路ADC0832是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片。其最高分辨可達(dá)256級(jí),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時(shí)間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過(guò)DI數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。本系統(tǒng)只對(duì)CH0進(jìn)行單通道轉(zhuǎn)換。電壓信號(hào)輸入單片機(jī)顯示電壓信號(hào)輸入單片機(jī)顯示AD轉(zhuǎn)換分壓AD轉(zhuǎn)換分壓電壓測(cè)量流程圖對(duì)于本設(shè)計(jì)分壓電路模塊介紹之前首先分析以下兩種設(shè)計(jì)方案。多量程分壓電路多量程分壓器原理上述兩圖所制作的多量程電壓測(cè)量,其內(nèi)阻比較小,不能達(dá)到測(cè)量要求,對(duì)電路做以下改進(jìn)。對(duì)于本次設(shè)計(jì)的電壓模塊只設(shè)置5V,30V兩個(gè)檔位,如圖直接采用一組分壓電路既可達(dá)到要求。2.電流測(cè)量原理與放大電路對(duì)于電流模塊此處給予多種方案:(本系統(tǒng)采用的方案二)方案一:原理:通過(guò)改變檢流電阻的大小實(shí)現(xiàn)不同檔位的轉(zhuǎn)換。圖中保險(xiǎn)絲可保護(hù)電流過(guò)大,二極管防止電壓過(guò)大,當(dāng)二極管兩端電壓達(dá)到導(dǎo)通電壓,檢流電阻連端電壓將達(dá)到穩(wěn)定,從而有效的控制輸入電壓的大小。方案二:電流測(cè)量原理與方案一基本相同,但在相同電流的測(cè)量上此電路比方案一電路的內(nèi)組更小,由于加入了運(yùn)算放大器,所以最大的輸出電壓不會(huì)超過(guò)電源電壓(實(shí)驗(yàn)數(shù)據(jù)顯示不會(huì)超過(guò)3.6V)并不用擔(dān)心檢流電阻兩端電壓大小。而且此方案還有一個(gè)最大的優(yōu)勢(shì),它的分辨率更高,理由如下:根據(jù)ADC0832的最小分辨率x可知,此方案中測(cè)量電流的最小分辨電流i滿(mǎn)足i*R*k=x(R為檢流電阻,k為放大器放大倍數(shù)),得到i=x/(R*k)在方案一中,i’=x/R’,由于電阻材質(zhì)的問(wèn)題其本身電壓不能超過(guò)額定電壓,在量程相同的情況下Imax*R*k=3,Imax*R’<3.因此Rx>R’即i<i’.(LM358內(nèi)部包括有兩個(gè)獨(dú)立的、高增益、內(nèi)部頻率補(bǔ)償?shù)碾p運(yùn)算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無(wú)關(guān)。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運(yùn)算放大器的場(chǎng)合。)單片機(jī)處理3.電阻模塊的測(cè)量原理單片機(jī)處理顯示AD轉(zhuǎn)換放大電壓選擇量程接入電阻顯示AD轉(zhuǎn)換放大電壓選擇量程接入電阻放大電路放大器的最大放大電壓為3V左右(實(shí)際放大為3.5V左右,這里取3V),則輸入電壓滿(mǎn)足5*10<V(1010+R).V是最大輸入電壓,R是待測(cè)電阻。可以知道待測(cè)電阻R=50k/Uo-1010.ADC0832的最小分辨率為0.02V即放大后的最小電壓為0.02V.則輸入電壓滿(mǎn)足5*10>v(1010+R).v是最小輸入電壓。根據(jù)上述說(shuō)明可以得出各個(gè)檔位測(cè)量范圍。檔位1(V=0.05,v=0.0003..),R<148990檔位2(V=0.005,v=0.00003..),8990<R<1498990檔位3(V=0.0005,v=0.000003..),98990<R<14998990.如果擋位1取9000,檔位2取99000,檔位3取999000.在上述電路制作成功后并沒(méi)有達(dá)到比較好的測(cè)量效果,對(duì)于大電阻的測(cè)量測(cè)量值往往會(huì)遠(yuǎn)小于實(shí)際電阻值。針對(duì)這個(gè)問(wèn)題,在對(duì)放大器各級(jí)電壓比較后發(fā)現(xiàn)主要是由于大電阻測(cè)量時(shí)輸入電壓太小以至于達(dá)不到放大器的正常放大電壓,因此上述電路在很大程度上限制了測(cè)量電阻的范圍。對(duì)電路做以下改變:直接將前兩級(jí)放大合并為一級(jí)放大,達(dá)到減小放大的門(mén)款電壓。其他測(cè)量方法:原理圖如下:通過(guò)恒流源(恒流電路此處用電流源代替)給待測(cè)電阻供電,放大待測(cè)電阻的電壓,輸出給電壓表。此方法和上述方案原理上的差別在于一個(gè)利用的是電流恒定,另一個(gè)利用的是電壓恒定,對(duì)于電流的恒定,一方面,它的電路設(shè)計(jì)比較復(fù)雜,另一方面,如果電流源電路設(shè)計(jì)的不太理想,電流源的大小變化會(huì)產(chǎn)生很大的測(cè)量誤差。不過(guò)它可以使測(cè)量誤差比較穩(wěn)定,在測(cè)量誤差不大的情況下電壓恒定電路的誤差變化可以忽約嗎,因此本設(shè)計(jì)不采用這種設(shè)計(jì)思路。4.電容的測(cè)量原理與振蕩電路:?jiǎn)纹瑱C(jī)電容充放電選擇量程接入電容單片機(jī)電容充放電選擇量程接入電容顯示顯示根據(jù)555定時(shí)器構(gòu)成單穩(wěn)態(tài),產(chǎn)生脈沖波形,通過(guò)單片機(jī)讀取高低電平得出頻率,通過(guò)公式換算得到電容值。總結(jié):整個(gè)設(shè)計(jì)基本上是圍繞放大器所組成的放大電路展開(kāi),放大器的放大誤差直接決定著測(cè)量的誤差。此設(shè)計(jì)設(shè)計(jì)電路簡(jiǎn)單,測(cè)量精度比較小。而且材料成本低,對(duì)于直流電路的測(cè)量有著很好的實(shí)用性。程序主函數(shù)#include"lcd.h"sbitAAD_CS=P1^0;sbitAAD_D0=P1^2;sbitAAD_D1=P1^3;sbitAAD_CLK=P1^1;sbitAVD_CS=P1^4;sbitAVD_D0=P1^6;sbitAVD_D1=P1^7;sbitAVD_CLK=P1^5;sbitkey_boat=P3^3;unsignedcharAAD_read(),AVD_read();unsignedchardat[4]={0,0,0,0};unsignedchardate=0,date1=0,key=0,time=18;unsignedlongadd;voidmain(){init();TH0=0x3c;TL0=0xb0;TH1=0x3c;TL1=0xb0;TMOD=0x11;EA=1;EX0=1;EX1=1;IT0=1;IT1=1;ET0=1;ET1=1;PT0=0;PX0=0;PX1=1;TR0=1;while(1);}voidcapac()interrupt0 //電容測(cè)量,記數(shù)中斷 {add++;TR0=1;}voidtime_ADC()interrupt1 //其他測(cè)量,數(shù)據(jù)采集周期{time--;if(time==0){if(date==1) //電壓檔位1{add=AVD_read();dat[0]=add*196/10000;dat[1]=(add*196/1000)%10;dat[2]=(add*196/100)%10;writedate(0x80,dat[0]+'0');writedate(0x81,'.');writedate(0x82,dat[1]+'0');writedate(0x83,dat[2]+'0');}if(date==2) //電壓檔位2{add=AVD_read();dat[0]=add*1176/100000;dat[1]=(add*1176/10000)%10;dat[2]=(add*1176/1000)%10;dat[3]=(add*1176/100)%10;writedate(0x80,dat[0]+'0');writedate(0x81,dat[1]+'0');writedate(0x82,'.');writedate(0x83,dat[2]+'0');writedate(0x84,dat[3]+'0');}if(date1==1) //電流檔位1{add=AAD_read();if(add<163){dat[0]=(add*1000/163)/100;dat[1]=((add*1000/163)/10)%10;dat[2]=(add*1000/163)%10;writedate(0xc0,dat[0]+'0');writedate(0xc1,'.');writedate(0xc2,dat[1]+'0');writedate(0xc3,dat[2]+'0');}elsewritedate(0xc0,'1');}if(date1==2) //電流檔位2{add=AAD_read();if(add<173){dat[0]=(add*1000/173)/100;dat[1]=((add*1000/173)/10)%10;dat[2]=(add*1000/173)%10;writedate(0xc0,dat[0]+'0');writedate(0xc1,dat[1]+'0');writedate(0xc2,'.');writedate(0xc3,dat[2]+'0');}elsewritedate(0xc0,'1');}if(date1==3) //電流檔位3{add=AAD_read();if(add<144){dat[0]=(add*150/144)/100;dat[1]=((add*150/144)/10)%10;dat[2]=(add*150/144)%10;writedate(0xc0,dat[0]+'0');writedate(0xc1,dat[1]+'0');writedate(0xc2,dat[2]+'0');}elsewritedate(0xc0,'1');}if(date1==4) //電阻檔位1{add=AAD_read(); if(add>13){dat[0]=(153000/add-1010)/1000;dat[1]=((153000/add-1010)/100)%10;dat[2]=((153000/add-1010)/10)%10;dat[3]=(153000/add-1010)%10;writedate(0xc0,dat[0]+'0');writedate(0xc1,dat[1]+'0');writedate(0xc2,dat[2]+'0');writedate(0xc3,dat[3]+'0');}elsewritedate(0xc0,'1');} if(date1==5) //電阻檔位2{add=AAD_read();if(add>16){dat[0]=(168300/add-101)/1000;dat[1]=((168300/add-101)/100)%10;dat[2]=((168300/add-101)/10)%10;dat[3]=(168300/add-101)%10;writedate(0xc0,dat[0]+'0');writedate(0xc1,dat[1]+'0');writedate(0xc2,'.'); writedate(0xc3,dat[2]+'0'); writedate(0xc4,dat[3]+'0');} else writedate(0xc0,'1'); }if(date1==6) //電阻檔位3{ add=AAD_read(); if(add>15){dat[0]=(1545300/add-101)/10000;dat[1]=((1545300/add-101)/1000)%10;dat[2]=((1545300/add-101)/100)%10;dat[3]=((1545300/add-101)/10)%10;writedate(0xc0,dat[0]+'0');writedate(0xc1,dat[1]+'0');writedate(0xc2,dat[2]+'0'); writedate(0xc3,'.'); writedate(0xc4,dat[3]+'0'); }elsewritedate(0xc0,'1');}if(date1==7) //電容檔位1{TR0=0;if(add>51){dat[0]=(505000/add)/1000;dat[1]=((505000/add)/100)%10;dat[2]=((505000/add)/10)%10;dat[3]=(505000/add)%10;writedate(0x80,dat[0]+'0');writedate(0x81,dat[1]+'0');writedate(0x82,dat[2]+'0'); writedate(0x83,'.'); writedate(0x84,dat[3]+'0');} elsewritedate(0x80,'1'); add=0;}if(date1==8) //電容檔位2{TR0=0;if(add>51){dat[0]=(505000/add)/1000;dat[1]=((505000/add)/100)%10;dat[2]=((505000/add)/10)%10;dat[3]=(505000/add)%10;writedate(0x80,dat[0]+'0');writedate(0x81,dat[1]+'0');writedate(0x82,dat[2]+'0'); writedate(0x83,'.'); writedate(0x84,dat[3]+'0');} elsewritedate(0x80,'1'); add=0; }if(date1==9) //電容檔位3(此檔位不可用){TR0=0;writedate(0xc0,add/10000000+'0'); writedate(0xc1,(add/1000000)%10+'0'); writedate(0xc2,(add/100000)%10+'0'); writedate(0xc3,(add/10000)%10+'0'); writedate(0xc4,(add/1000)%10+'0'); writedate(0xc5,(add/100)%10+'0'); writedate(0xc6,(add/10)%10+'0'); writedate(0xc7,(add)%10+'0'); add=0;}time=18;}TH0=0x3c;TL0=0xb0; } voidkeyboat()interrupt2 //功能轉(zhuǎn)換開(kāi)關(guān){ unsignedchartrange=200;if(key_boat==0){ delay(50);if(key_boat==0){key++;TR0=0;if(key>11){key=1; TR0=1;}writeadd(1);switch(key){case1:writedate(0x80+13,'U');writedate(0x80+14,'5');writedate(0x80+15,'v');break;case2:writedate(0x80+12,'U');writedate(0x80+13,'3');writedate(0x80+14,'0');writedate(0x80+15,'v');break;case3:writedate(0xc0+11,'I');writedate(0xc0+12,'1');writedate(0xc0+13,'0');writedate(0xc0+14,'m');writedate(0xc0+15,'A');break;case4:writedate(0xc0+11,'I');writedate(0xc0+12,'8');writedate(0xc0+13,'0');writedate(0xc0+14,'m');writedate(0xc0+15,'A');break;case5:writedate(0xc0+10,'I');writedate(0xc0+11,'1');writedate(0xc0+12,'5');writedate(0xc0+13,'0');writedate(0xc0+14,'m');writedate(0xc0+15,'A');break;case6: writedate(0xc0+13,'R');writedate(0xc0+14,'9');writedate(0xc0+15,'K');break;case7:writedate(0xc0+12,'R');writedate(0xc0+13,'9');writedate(0xc0+14,'9');writedate(0xc0+15,'K');break;case8:writedate(0xc0+11,'R');writedate(0xc0+12,'9');writedate(0xc0+13,'9');writedate(0xc0+14,'9');writedate(0xc0+15,'K');break;case9:writedate(0x80+12,'C');writedate(0x80+13,'=');writedate(0x80+14,'u');writedate(0x80+15,'F');break;case10:writedate(0x80+12,'C');writedate(0x80+13,'=');writedate(0x80+14,'n');writedate(0x80+15,'F');break;case11:writedate(0x80+10,'e');writedate(0x80+11,'r');writedate(0x80+12,'r');writedate(0x80+13,'o');writedate(0x80+14,'r');break;} date=key;date1=key-2;}}delay(50);while(key_boat==0&&trange)trange--;key_boat=1;TR0=1;}unsignedcharAAD_read() //電流測(cè)量端數(shù)據(jù)接收函數(shù){unsignedchardat,i,test=0,adval=0;AAD_CLK=0;//AAD_D1=1;_nop_();AAD_CS=0;_nop_();AAD_CLK=1;_nop_();AAD_CLK=0; //AAD_D1=0;_nop_();AAD_CLK=1;_nop_();AAD_CLK=0; //AAD_D1=0;_nop_();AAD_CLK=1;_nop_();AAD_CLK=0;AAD_D1=1;for(i=0;i<8;i++){_nop_();adval<<=1;AAD_CLK=1;_nop_();AAD_CLK=0;if(AAD_D0)adval|=1;}for(i=0;i<8;i++){_nop_();test>>=1;if(AAD_D0)test|=0x80;AAD_CLK=1;_nop_();AAD_CLK=0;}if(adval==test)dat=test;_nop_();AAD_CS=1;AAD_D0=1;AAD_D1=1;AAD_CLK=1;returndat;}unsignedcharAVD_read() //電壓測(cè)量端ADC0832數(shù)據(jù)接收函數(shù){unsignedchardat,i,test=0,adval=0;AVD_CLK=0;//AVD_D1=1;_nop_();AVD_CS=0;_nop_();AVD_CLK=1;_nop_();AVD_CLK=0; //AVD_D1=0;_nop_();AVD_CLK=1;_nop_();AVD_CLK=0; //AVD_D1=0;_nop_();AVD_CLK=1;_nop_();AVD_CLK=0;AVD_D1=1;for(i=0;i<8;i++){_nop_();adval<<=1;AVD_C

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論