超聲波測距儀的設(shè)計_第1頁
超聲波測距儀的設(shè)計_第2頁
超聲波測距儀的設(shè)計_第3頁
超聲波測距儀的設(shè)計_第4頁
超聲波測距儀的設(shè)計_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

附錄一:元件清單編號型號、規(guī)格描述數(shù)量編號型號、規(guī)格描述數(shù)量w17*9萬用板1w2HC-SR04超聲波模塊超聲波模塊1w3AT89c51單片機(jī)1w440pIC座1w54p單排母座1a19012三極管5LEDHS310561K共陽數(shù)碼管4R12.2K1/4W電阻器6R210K1/4W電阻器1BYBEEP5V有源蜂鳴器1c310uF電解電容1C530pF瓷片電容器1c6100uf電解電容1C8104電解電容1Y112MHz晶振1USBUSBUSB接口1K1SW-0606按鍵1K2SW-0606按鍵1K3SW-0606按鍵1JP1DC電源插口電源插口1B7M-7.6高頻變壓器1TQ電池供電1附錄二:高精度超聲波測距報警系統(tǒng)電路圖附錄三:單片機(jī)c源程序代碼#include<reg52.H>//器件配置文件#include<intrins.h>//按鍵聲明sbitRX=P3^2;sbitTX=P3^3;sbitS1=P1^4;sbitS2=P1^5;sbitS3=P1^6;//蜂鳴器sbitFeng=P2^0;//變量聲明unsignedinttime=0;unsignedinttimer=0;unsignedcharposit=0;unsignedlongS=0;unsignedlongBJS=50;//報警距離80CM//模式0正常模式1調(diào)整charMode=0;bitflag=0;unsignedcharconstdiscode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff/*-*/};unsignedcharconstpositon[4]={0xfd,0xfb,0xf7,0xfe};unsignedchardisbuff_BJ[4] ={0,0,0,0};//報警信息//延時100msvoiddelay(void)//誤差0us{unsignedchara,b,c;for(c=10;c>0;c--)for(b=38;b>0;b--)for(a=130;a>0;a--);}//按鍵掃描voidKey_(){ //+ if(S1==0) { delay(); while(S1==0) { P1=P1|0x0f; } BJS++; if(BJS==151) { BJS=0; } } //- elseif(S2==0) { while(S2==0) { P1=P1|0x0f; } BJS--; if(BJS==0) { BJS=150; } } //功能 elseif(S3==0) { delay(); while(S3==0) { P1=P1|0x0f; } Mode++; if(Mode==2) { Mode=0; } }}/**********************************************************************************************************///掃描數(shù)碼管voidDisplay(void) { //正常顯示 if(Mode==0) { if(posit==0)//數(shù)碼管的米標(biāo)志 { P0=(discode[disbuff[posit]])|0x80; } else { P0=discode[disbuff[posit]]; } if(++posit>=3) posit=0; } //報警顯示 else { if(posit==0)//數(shù)碼管的米標(biāo)志 { P0=(discode[disbuff_BJ[posit]])|0x80; } elseif(posit==3) { P0=0x76; } else { P0=discode[disbuff_BJ[posit]]; } P1=positon[posit]; }}/**********************************************************************************************************///計算voidConut(void){ time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.7)/100;//算出來是CM if(Mode==0) { if((S>=700)||flag==1)//超出測量范圍顯示“-” { Feng=0; flag=0; disbuff[0]=10; //“-” disbuff[1]=10; //“-” disbuff[2]=10; //“-” } else { //距離大于報警距 if(S<=BJS) { Feng=0; } else { Feng=1; } disbuff[0]=S%1000/100; disbuff[1]=S%1000%100/10; disbuff[2]=S%1000%10%10; } } else { Feng=1; disbuff_BJ[0]=BJS%1000/100; disbuff_BJ[1]=BJS%1000%100/10; disbuff_BJ[2]=BJS%1000%10%10; }}/**********************************************************************************************************///定時器0voidzd0()interrupt1 //T0中斷用來計數(shù)器溢出,超過測距范圍{ flag=1; //中斷溢出標(biāo)志}/**********************************************************************************************************///定時器1voidzd3()interrupt3 //T1中斷用來掃描數(shù)碼管和計800MS啟動模塊{ TH1=0xf8; TL1=0x30; Key_(); Display(); timer++; if(timer>=400) { timer=0; TX=1; //800MS啟動一次模塊 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; }}/**********************************************************************************************************///主函數(shù)voidmain(void){ TMOD=0x11; //設(shè)T0為方式1,GATE=1; TH0=0; TL0=0; TH1=0xf8; //2MS定時 TL1=0x3

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論