單片機超聲波測距設(shè)計書.doc_第1頁
單片機超聲波測距設(shè)計書.doc_第2頁
單片機超聲波測距設(shè)計書.doc_第3頁
單片機超聲波測距設(shè)計書.doc_第4頁
單片機超聲波測距設(shè)計書.doc_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機設(shè)計超聲波測距儀設(shè)計書目 錄1. 概述22. 超聲波測距模塊驅(qū)動3. 步進電機驅(qū)動模塊4. 12864液晶顯示模塊5. 報警設(shè)置6. 程序7. 總結(jié) 11. 概述通過超聲波發(fā)射裝置發(fā)出超聲波,根據(jù)接收器接到超聲波時的時間差就可以知道距離了。這與雷達測距原理相似。 超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。(超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/2)超聲波指向性強,在介質(zhì)中傳播的距離較遠,因而超聲波經(jīng)常用于距離的測量,如測距儀等都可以通過超聲波來實現(xiàn)。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業(yè)實用的要求,因此在移 動機器人的研制上也得到了廣泛的應(yīng)用。 為了使移動機器人能自動避障行走,就必須裝備測距系統(tǒng),以使其及時獲取距障礙物的距離信息(距離和方向)。本文所介紹的三方向(前、左、右)超聲波系統(tǒng),就是為機器人了解其前方、左側(cè)和右側(cè)的環(huán)境而提供一個運動距離信息。2超聲波測距模塊驅(qū)動 超聲波模塊驅(qū)動線路圖 2 超聲波模塊控制時序圖超聲波模塊啟動程序void StartModule() /啟動模塊TX=1;/啟動一次模塊_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); 3_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();TX=0;超聲波實物圖3、步進電機驅(qū)動模塊 42相6線步進電機驅(qū)動方式L298N步進電機驅(qū)動芯片 5驅(qū)動芯片原理圖L298N實物圖 步進電機實物圖 64、12864顯示模塊讀字節(jié)時序圖寫字節(jié)時序圖 12864顯示實物圖 75聲光報警系統(tǒng)蜂鳴器、二極管實物圖 86、程序#include#include#define uint unsigned int#define uchar unsigned char#define p P3uchar dat8=0x01,0x05,0x04,0x06,0x02,0x0a,0x08,0x09;uchar da8=0x01,0x09,0x08,0x0a,0x02,0x06,0x04,0x05;sbit rs=P24;sbit rw=P25;sbit e=P26;sbit TX=P10;sbit RX=P11;sbit key=P17;sbit beep=P21;sbit dong=P20;uchar table=0123456789;uchar table1=-發(fā)現(xiàn)UFO-; 9uchar table2=距離:CM;uchar s;void delay50us(uint t)uint j;for(;t0;t-)for(j=19;j0;j-);delay(uint t)while(t-);void delay50ms(uint t)uint j;for(;t0;t-)for(j=6245;j0;j-); 10void zl(uchar com)rs=0;rw=0;P0=com;delay50us(2);e=1;delay50us(10);e=0;delay50us(2);void sj(uchar com)rs=1;rw=0;P0=com;delay50us(2);e=1;delay50us(10);e=0;delay50us(2); 11void init()delay50ms(2);zl(0x30);delay50us(4);zl(0x30);delay50us(4);zl(0x0c);delay50us(4);zl(0x01);delay50us(240);zl(0x06);delay50us(10);/*/void StartModule() /啟動模塊 TX=1; /啟動一次模塊 12 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; 13 uchar display() uint a,b,c,time; time=TH0*256+TL0; TH0=0; TL0=0; s=(time*1.7)/100; /算出來是CM a=s/100; b=s%100/10; c=s%10; zl(0x93);delay50us(1);sj(tablea);delay50us(2);sj(tableb);delay50us(2);sj(tablec);delay50us(2); return s; 14void bj() beep=0;delay(5);dong=0;beep=1;delay(5);beep=0;delay(4);beep=1;delay(4);beep=0;delay(3);beep=1;delay(3);beep=0;delay(2);beep=1;delay(2);beep=0; 15delay(1);beep=1;delay(1);void main(void)uint t;init();zl(0x90);delay50us(1);for(t=0;t0;w-) 16for(e=0;e8;e+) uint t; TMOD=0x01; /設(shè)T0為方式1,GATE=1; TH0=0; TL0=0; ET0=1; /允許T0中斷 EA=1; StartModule(); while(!RX);/當RX為零時等待 TR0=1; /開啟計數(shù) while(RX);/當RX為1計數(shù)并等待 TR0=0;/關(guān)閉計數(shù) display(); if(s10) zl(0x81);for(t=0;t12;t+)sj(table1t); 17delay50us(2);while(key)bj();beep=1;dong=1;init();zl(0x90);delay50us(1);for(t=0;t0;w-)for(e=0;e8;e+) uint t; TMOD=0x01; /設(shè)T0為方式1,GATE=1; TH0=0; TL0=0; ET0=1; /允許T0中斷 EA=1; StartModule(); while(!RX);/當RX為零時等待 TR0=1; /開啟計數(shù) while(RX);/當RX為1計數(shù)并等待 TR0=0;/關(guān)閉計數(shù) display(); if(s10) zl(0x81);for(t=0;t12;t+) 19sj(table1t)

溫馨提示

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

最新文檔

評論

0/150

提交評論