基于51單片機數(shù)字萬用表的制作_第1頁
基于51單片機數(shù)字萬用表的制作_第2頁
基于51單片機數(shù)字萬用表的制作_第3頁
基于51單片機數(shù)字萬用表的制作_第4頁
基于51單片機數(shù)字萬用表的制作_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于51單片機數(shù)字萬用表的制作基于51單片機數(shù)字萬用表的制作15/15基于51單片機數(shù)字萬用表的制作基于51單片機數(shù)字萬用表大綱:本設(shè)計采用AT89C52為主控芯片配以振蕩電路設(shè)計設(shè)計了一個數(shù)字萬用表,可用于測量直流電壓,直流電流,電阻和電容,并配以檔位變換。本系統(tǒng)使用ADC0832作為數(shù)據(jù)變換芯片,LM358作為放大芯片,經(jīng)過LCD1602顯示,各模塊主要經(jīng)過AD變換以及電壓放大實現(xiàn)測量功能。緒論:數(shù)字多用表(GMM)就是在電氣測量中要用到的電子儀器。它能夠有很多特別功能,但主要功能就是對電壓、電阻和電流進行測量。傳統(tǒng)的指針式萬用表功能單精度低,不能夠滿足數(shù)字化時代的需求,采用單片體系作的數(shù)字萬用表,擁有精度高、抗攪亂能力強,可擴展力強、集成方便等優(yōu)點,目前,由各種單片機芯片組成的數(shù)字電萬用表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,顯示出富強的生命力。整體設(shè)計設(shè)計方案:顯單AD電路分壓電路電壓片示機電路AD電路放大電路電流晶振蕩電路振放大電路電阻路路電路功能開關(guān)電容電壓測量原理與AD變換電路ADC0832是美國國家半導體公司生產(chǎn)的一種8位分辨率、雙通道A/D變換芯片。其最高分辨可達256級,能夠適應一般的模擬量變換要求。其內(nèi)部電源輸入與參照電壓的復用,使得芯片的模擬電壓輸入在0~5V之間。芯片變換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少許據(jù)誤差,變換速度快且牢固性能強。獨立的芯片使能輸入,使多器件掛接和辦理器控制變的更加方便。經(jīng)過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。本系統(tǒng)只對CH0進行單通道變換。電壓信號輸入分壓AD變換

單片機顯示電壓測量流程圖對于本設(shè)計分壓電路模塊介紹從前第一解析以下兩種設(shè)計方案。多量程分壓電路多量程分壓器原理上述兩圖所制作的多量程電壓測量,其內(nèi)阻比較小,不能夠達到測量要求,對電路做以下改進。對于本次設(shè)計的電壓模塊只設(shè)置5V,30V兩個檔位,如圖直接采用一組分壓電路既可達到要求。電流測量原理與放大電路對于電流模塊此處恩賜多種方案:(本系統(tǒng)采用的方案二)方案一:原理:經(jīng)過改變檢流電阻的大小實現(xiàn)不相同檔位的變換。圖中保險絲可保護電流過大,二極管防范電壓過大,當二極管兩端電壓達到導通電壓,檢流電阻連端電壓將達到牢固,從而有效的控制輸入電壓的大小。方案二:電流測量原理與方案一基真相同,但在相同電流的測量上此電路比方案一電路的內(nèi)組更小,由于加入了運算放大器,因此最大的輸出電壓不會高出電源電壓(實驗數(shù)據(jù)顯示不會高出)其實不用擔憂檢流電阻兩端電壓大小。而且此方案還有一個最大的優(yōu)勢,它的分辨率更高,原由以下:依照ADC0832的最小分辨率x可知,此方案中測量電流的最小分辨電流i滿足i*R*k=x(R為檢流電阻,k為放大器放大倍數(shù)),獲取i=x/(R*k)在方案一中,i’=x/R’,由于電阻材質(zhì)的問題其自己電壓不能夠高出額定電壓,在量程相同的情況下Imax*R*k=3,Imax*R’<3.因此Rx>R’即i<i’.LM358內(nèi)部包括有兩個獨立的、高增益、內(nèi)部頻率補償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也合用于雙電源工作模式,在介紹的工作條件下,電源電流與電源電壓沒關(guān)。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場合。)電阻模塊的測量原理選擇接入電阻放大電壓AD變換單片顯示量放大電路程機處理放大器的最大放大電壓為3V左右(實質(zhì)放大為左右,這里取3V),則輸入電壓滿足5*10<V(1010+R).V是最大輸入電壓,R是待測電阻。能夠知道待測電阻R=50k/Uo-1010.ADC0832的最小分辨率為即放大后的最小電壓為.則輸入電壓滿足5*10>v(1010+R).v是最小輸入電壓。依照上陳說明能夠得出各個檔位測量范圍。檔位1(V=,v=..),R<148990檔位2(V=,v=..),8990<R<1498990檔位3(V=,v=..),98990<R<.若是擋位1取9000,檔位2取99000,檔位3取999000.在上述電路制作成功后并沒有達到比較好的測量收效,對于大電阻的測量測量值經(jīng)常會遠小于實質(zhì)電阻值。針對這個問題,在對放大器各級電壓比較后發(fā)現(xiàn)主若是由于大電阻測量時輸入電壓太小致使于達不到放大器的正常放大電壓,因此上述電路在很大程度上限制了測量電阻的范圍。對電路做以下改變:直接將前兩級放大合并為一級放大,達到減小放大的門款電壓。其他測量方法:原理圖以下:經(jīng)過恒流源(恒流電路此處用電流源代替)給待測電阻供電,放大待測電阻的電壓,輸出給電壓表。此方法和上述方案原理上的差別在于一個利用的是電流恒定,另一個利用的是電壓恒定,對于電流的恒定,一方面,它的電路設(shè)計比較復雜,另一方面,若是電流源電路設(shè)計的不太理想,電流源的大小變化會產(chǎn)生很大的測量誤差。但是它能夠使測量誤差比較牢固,在測量誤差不大的情況下電壓恒定電路的誤差變化能夠忽約嗎,因此本設(shè)計不采用這種設(shè)計思路。電容的測量原理與振蕩電路:選擇接入電容電容充放電單片機顯示量程依照555準時器組成單穩(wěn)態(tài),產(chǎn)生脈沖波形,經(jīng)過單片機讀取高低電平得出頻率,經(jīng)過公式換算獲取電容值。總結(jié):整個設(shè)計基本上是圍繞放大器所組成的放大電路張開,放大器的放大誤差直接決定著測量的誤差。此設(shè)計設(shè)計電路簡單,測量精度比較小。而且資料成本低,對于直流電路的測量有著很好的合用性。程序主函數(shù)#include""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()interrupt0writedate(0x82,dat[1]+'0');writedate(0x83,dat[2]+'0');}

;if(date==2)writedate(0x83,dat[2]+'0');writedate(0x84,dat[3]+'0');}

;if(date1==1)writedate(0xc2,dat[1]+'0');writedate(0xc3,dat[2]+'0');}elsewritedate(0xc0,'1');}

;if(date1==2)writedate(0xc3,dat[2]+'0');}elsewritedate(0xc0,'1');}

;if(date1==3);writedate(0xc3,dat[2]+'0');writedate(0xc4,dat[3]+'0');}elsewritedate(0xc0,'1');}if(date1==6);writedate(0xc4,dat[3]+'0');}elsewritedate(0xc0,'1');}if(date1==7);writedate(0x84,dat[3]+'0');}elsewritedate(0x80,'1');add=0;}if(date1==8);writedate(0x84,dat[3]+'0');}elsewritedate(0x80,'1');add=0;}if(date1==9)//電容檔位3(此檔位不能用){TR0=0;writedate(0xc0,add/+'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//功能變換開關(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+14,'0');writedate(0x80+15,'v');break;case3:writedate(0xc0+11,'I')writedate(0xc0+13,'0');writedate(0xc0+14,'m');writedate(0xc0+15,'A');break;case4:writedate(0xc0+11,'I')writedate(0xc0+13,'0');writedate(0xc0+14,'m');writedate(0xc0+15,'A');break;case5:writedate(0xc0+10,'I')

;writedate(0x80+13,'3');;writedate(0xc0+12,'1');;writedate(0xc0+12,'8');;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+14,'9');writedate(0xc0+15,'K');break;case8:writedate(0xc0+11,'R')

;writedate(0xc0+13,'9');;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(){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;

//電流測量端數(shù)據(jù)接收函數(shù)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()

//電壓測量端

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_CLK=1;_nop_();AVD_CLK=0;if(AVD_D0)adval|=1;}for(i=0;i<8;i++){_nop_();test>>=1;if(AVD_D0)test|=0x80;AVD_CLK=1;_nop_();AVD_CLK=0;}if(adval==test)dat=test;_nop_();AVD_CS=1;AVD_D0=1;AVD_D1=1;AVD_CLK=1;returndat;}顯示函數(shù)#inclu

溫馨提示

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

最新文檔

評論

0/150

提交評論