資料 基于單片機的超聲波測距系統(tǒng)_第1頁
資料 基于單片機的超聲波測距系統(tǒng)_第2頁
資料 基于單片機的超聲波測距系統(tǒng)_第3頁
資料 基于單片機的超聲波測距系統(tǒng)_第4頁
資料 基于單片機的超聲波測距系統(tǒng)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的超聲波測距1 超聲波測距原理:超聲波測距原理是通過超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播時碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為v ,而根據(jù)計時器記錄的測出發(fā)射和接收回波的時間差t ,就可以計算出發(fā)射點距障礙物的距離S ,即: S = v·t /2 由于超聲波也是一種聲波, 其聲速C與溫度有關(guān),表1列出了幾種不同溫度下的聲速。在使用時,如果溫度變化不大, 則可認(rèn)為聲速是基本不變的。常溫下超聲波的傳播速度是334 米/秒,但其傳播速度V 易受空氣中溫度、濕度、壓強等因素的影響,其中受溫

2、度的影響較大,如溫度每升高1 , 聲速增加約0. 6 米/ 秒。如果測距精度要求很高, 則應(yīng)通過溫度補償?shù)姆椒右孕Uū鞠到y(tǒng)正是采用了溫度補償?shù)姆椒ǎR阎F(xiàn)場環(huán)境溫度T 時, 超聲波傳播速度V 的計算公式為:V = 331.45 + 0.607T, 聲速確定后, 只要測得超聲波往返的時間,即可求得距離。2 硬件系統(tǒng) 圖1 超聲波測距儀系統(tǒng)框圖基于單片機的超聲波測距系統(tǒng)構(gòu)成如圖1所示。該系統(tǒng)由單片機定時器產(chǎn)生40KHZ的頻率信號、超聲波傳感器、接收處理電路和顯示電路等構(gòu)成。單片機是整個系統(tǒng)的核心部件,它協(xié)調(diào)和控制各部分電路的工作。工作過程:開機,單片機復(fù)位,然后控制程序使單片機輸出載波為40

3、kHz的10個脈沖信號加到超聲波傳感器上,使超聲波發(fā)射器發(fā)射超聲波。當(dāng)?shù)谝粋€超聲波脈沖群發(fā)射結(jié)束后,單片機片內(nèi)計數(shù)器開始計數(shù),在檢測到第一個回波脈沖的瞬間,計數(shù)器停止計數(shù),這樣就得到了從發(fā)射到接收的時間差t;根據(jù)公式S = v·t /2、V = 331.45 + 0.607T計算出被測距離,由顯示裝置顯示出來。3 軟件程序設(shè)計程序采用模塊化設(shè)計,由主程序、發(fā)射子程序、接收子程序、定時子程序、顯示子程序等模塊組成,圖2為程序流程圖。該系統(tǒng)的主程序處于鍵控循環(huán)工作方式,當(dāng)按下測量鍵時,主程序開始調(diào)用發(fā)射子程序、查詢接收子程序、定時子程序,并把測量結(jié)果用顯示子程序在數(shù)碼顯示器上顯示出來。

4、圖2 測距流程圖圖3 定時器中斷子程序 圖4 外部中斷服務(wù)子程序4 參考程序#include<reg51.h> #include<math.h> /*定義數(shù)據(jù)類型*/ #define uint unsigned int #define uchar unsigned char /*定義系統(tǒng)常數(shù)*/ long int time; /* 時間 */ bit CLflag; /* 測量標(biāo)志 */ char cshu; /* 串?dāng)?shù) */ #define T12us (256-12) /*定時器設(shè)初值 T=(256-T12us)*12/12MHZ */ /*定義功能位,串口用于顯示

5、 */ sbit VOLCK=P1.0; /* 發(fā)射 */sbit MING=P3.2; /* 外部中斷0檢測接收信號 */ char idata disp9; /* 顯示數(shù)據(jù) */ char idata number9; /* 顯示數(shù)據(jù) */ char code table =0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09; /* 碼表 0,1,2,3,4,5,6,7,8,9 */ void dispfb() /* 顯示5位數(shù)據(jù) */ char i; for(i=0;i<5;i+) dispi=tablenumberi; disp3=

6、disp3+1; /* 置小數(shù)點 */ for(i=0;i<6;i+) SBUF=dispi; while(TI=0); TI=0; /* 通用延時子程序 */ void delay( int j ) int i; for(i=0;i<j;) i+; /* 初始化定時器,CTC0、CTC1用于定時 */ void init_CTC(void ) TMOD = 0x21; /* 設(shè)CTC1工作于模式2 */ ET0 = 0; /* 不允許CTC0中斷 */ void init_INT( ) /* 外部中斷初始化為高優(yōu)先級,并開中斷 */ IP=0x01; /* 置外部中斷INT0優(yōu)先

7、級為高 */ TCON=0; /* 設(shè)置外部中斷0的中斷方式為電平觸發(fā) */ void serve_INT0( ) interrupt 0 /* 外部中斷0,用于檢測接收信號 */ TR0=0; /* 關(guān)閉定時器0 */ EX0=0; /* 關(guān)中斷 */ time=(long)TL0; time+=(long)TH0*256; CLflag=1; /* CTC1中斷服務(wù)程序,12.5us 中斷一次,用于發(fā)射 */ void CTC1_INT ( ) interrupt 3 VOLCK=VOLCK; cshu+; void CTC0_INT ( ) interrupt 1 TR0=0; ET0=

8、0; void Timetojuli( ) /* 將測量的時間轉(zhuǎn)換為距離 */ long i; i=(long)time; i=i*340; i=i/2; number4=i/10000000; /* 十米 */ i=i-number4*10000000; number3=i/1000000; /* 米 */ i=i-number3*1000000; number2=i/100000; /* 分米 */ i=i-number2*100000; number1=i/10000; /* 厘米 */ i=i-(long)number1*10000; number0=i/1000; /* 毫米 */

9、uchar getkey( ); /* 讀鍵盤 */ /*主程序*/ void main() int i, key; init_CTC( ); /* 初始化定時器 */ init_INT( ); /* 初始化外部中斷 */ CLflag=1; /* 測量標(biāo)志 */ for(i=6;i>4;i-) dispi=0xff; cshu=0; /* 傳數(shù) */ delay(200); /*延時*/; IE=0x80; /* 開中斷 */ ET1=0; ET0=0; TR1=0; TR0=0; TL1=T12us; TH1=T12us; while(1) key=getkey( ); /* 讀鍵盤

10、 */ if(key=0x0fe && CLflag=1 ) /* 測量 */ key=0; CLflag=0; cshu=0; TL1=T12us; TH1=T12us; TL0 = 0; TH0 = 0; /* 定時器0的初始時間 */ TR0=1; /* 啟動定時器0,開始記時 */ TR1=1; /* 啟動定時器1,發(fā)送信號 */ ET1=1; while(cshu<12) ; ET1=0; /* 發(fā)十個脈沖串 */ TR1=0; delay(95); EX0=1; while(!CLflag); if( cshu>=10 && CLflag=1) Timetojuli( ); dispfb(); uchar getkey( ) c

溫馨提示

  • 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

提交評論