基于單片機超聲波測距課程設(shè)計報告_第1頁
基于單片機超聲波測距課程設(shè)計報告_第2頁
基于單片機超聲波測距課程設(shè)計報告_第3頁
基于單片機超聲波測距課程設(shè)計報告_第4頁
基于單片機超聲波測距課程設(shè)計報告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計說明書 題 目:超聲波測距 院 (系):電子工程與自動化 專 業(yè): 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 2011 年 11 月 7 日共 16 頁 第 - 16 - 頁 目錄一、緒論二、對本課程的設(shè)計分析2.1 總體設(shè)計方案介紹2.1.1 超聲波測距原理 2.1.2 超聲波測距原理框圖2.2 系統(tǒng)硬件設(shè)計方案2.2.1 51系列單片機的功能特點及測距原理2.2.1.1 51系列單片機的功能特點2.2.1.2 單片機實現(xiàn)測距原理 三、主要電路模塊的實現(xiàn)方案比較及選擇3.1 超聲波發(fā)射電路3.2 超聲波檢測接收電路3.3 超聲波測距系統(tǒng)的硬件電路設(shè)計3.4 系統(tǒng)電路圖及其PCB圖四、系統(tǒng)的

2、軟件設(shè)計4.1 主程序流程圖4.2超聲波發(fā)射子程序和超聲波接收中斷程序五、測試數(shù)據(jù)以及結(jié)論六、課程設(shè)計過程中遇到的主要問題以及解決辦法七、心得體會1、 緒論 隨著社會的發(fā)展,人們對距離或長度測量的要求越來越高。超聲波測距由于其能進行非接觸測量和相對較高的精度,越來越受到人們的重視。超聲波測距離的一個最重要的功能就是作用于倒車系統(tǒng)上。要實現(xiàn)倒車系統(tǒng)的準確精度,就得把超聲波和單片機相結(jié)合,利用單片機的控制系統(tǒng)和精確的運算使超聲波測距離更加快速和精確。從而,減少事故的發(fā)生。通過該實驗學(xué)習(xí)利用單片機和超聲波探測元件測試距離的基本方法,進一步熟悉單片機定時器技術(shù)、中斷技術(shù)在數(shù)據(jù)采集和數(shù)據(jù)處理過程中的綜合

3、運用方法,提高綜合應(yīng)用程序的編程方法與技巧。發(fā)射器發(fā)出的40KHz超聲波以速度v在空氣中傳播,在到達被測物體時被反射返回,由接收器接收,其往返時間為t,由s=vt/2即可算出被測物體的距離。報告內(nèi)容包括:單片機控制主程序、中斷子程序、延時子程序和超聲波發(fā)射、接收電路、數(shù)碼管驅(qū)動顯示電路以及主電路。二、對本課程設(shè)計的分析2.1總體設(shè)計方案介紹2.1.1超聲波測距原理發(fā)射器發(fā)出的超聲波以速度v在空氣中傳播,在到達被測物體時被反射返回,由接收器接收,其往返時間為t,由s=vt/2即可算出被測物體的距離。由于超聲波也是一種聲波,其聲速v與溫度有關(guān),下表列出了幾種不同溫度下的聲速。在使用時,如果溫度變化

4、不大,則可認為聲速是基本不變的。表1-1 超聲波波速與溫度的關(guān)系表溫度()-30-20-100102030100聲速(ms)313319325323338344349386表1-12.1.2超聲波測距儀原理框圖如下圖采用AT89s52單片機,晶振:12MHZ,單片機P1.0口發(fā)出40kHZ的方波信號,通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號,利用外部中斷0口監(jiān)測超聲波輸出的返回信號,顯示電路采用簡單的4位LED數(shù)碼管,位碼用8550驅(qū)動。 單 片 機超聲波接收數(shù)碼管顯示超聲波發(fā)送掃描驅(qū)動 圖1-1 超聲波測距原理框圖2.2 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計硬件電路的設(shè)計主要包括單片機系統(tǒng)及LE

5、D顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機采用AT89S52來實現(xiàn)對CX20106A紅外接收芯片和TCT40-10系列超聲波轉(zhuǎn)換模塊的控制。采用12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機通過P1.0口經(jīng)反相器來控制超聲波的發(fā)送,然后單片機不斷的檢測INT0引腳,當INT0引腳的電平用高電平變?yōu)榈碗娖綍r就認為超聲波已返回。計數(shù)器所記的數(shù)據(jù)就是超聲波所經(jīng)歷的時間,通過換算就可以得到超聲波傳感器與障礙物的距離。2.2.1 51系列單片機的功能特點及測距原理2.2.1.1 51系列單片機的功能特點 51系列單片機中典型芯片(AT89S52)采用40引腳雙列直插

6、封裝(DIP)形式,內(nèi)部由CPU,8kB的ROM,256 B的RAM,3個16b的定時計數(shù)器TO、T1以及T2,4個8 b的工O端I:IP0,P1,P2,P3,一個全雙功串行通信口等組成。特別是該系列單片機片內(nèi)的Flash可編程、可擦除只讀存儲器(EPROM),使其在實際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。 5l系列單片機提供以下功能:8 kB存儲器;256 BRAM;32條工O線;3個16b定時計數(shù)器;5個2級中斷源;1個全雙向的串行口以及時鐘電路??臻e方式:CPU停止工作,而讓RAM、定時計數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。掉電方式:保存RAM

7、的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下一次硬件復(fù)位。5l系列單片機為許多控制提供了高度靈活和低成本的解決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測距系統(tǒng)。2.2.1.2 單片機實現(xiàn)測距原理 單片機發(fā)出超聲波測距是通過不斷檢測超聲波發(fā)射后遇到障礙物所反射的回波,從而測出發(fā)射和接收回波的時間差t,然后求出距離SCt2,式中的C為超聲波波速。限制該系統(tǒng)的最大可測距離存在4個因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小的可測距離。由于超聲波屬于聲波范圍,其波速C與溫度有關(guān)。3、

8、主要電路模塊的實現(xiàn)方案比較及選擇3.1 超聲波發(fā)射電路超聲波發(fā)射電路原理圖如圖3-1所示。發(fā)射電路主要由反相器CD4069和超聲波發(fā)射換能器TX構(gòu)成,單片機P1.0端口輸出的40kHz的方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個電極,用這種推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強度。圖3-1 超聲波發(fā)射電路原理圖 3.2 超聲波檢測接收電路集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 kHz與測距的超聲波頻率40 kHz較為接近,可以利用它制作

9、超聲波檢測接收電路(如圖3-2)。實驗證明用CX20106A接收超聲波(無信號時輸出高電平),具有很好的靈敏度和較強的抗干擾能力。圖3-2 超聲波檢測接收電路3.3 超聲波測距系統(tǒng)的硬件電路設(shè)計本系統(tǒng)的特點是利用單片機控制超聲波的發(fā)射和對超聲波自發(fā)射至接收往返時間的計時,單片機選用AT89S52,經(jīng)濟易用,且片內(nèi)有8K的ROM,便于編程。單片機系統(tǒng)及顯示電路原理圖如見圖3-3。 圖3-3 單片機系統(tǒng)及顯示電路原理圖3.4 系統(tǒng)電路圖及其PCB圖給出整個系統(tǒng)的電路圖,并加以說明。要詳細說明第3節(jié)中各模塊如何組合在一起來實現(xiàn)系統(tǒng)功能的。圖4-1 系統(tǒng)電路圖及其PCB圖當電源接電的時候由AT89S5

10、2單片機實現(xiàn)對CX20106A紅外接收芯片的控制。單片機通過P1.0引腳經(jīng)反相器來控制超聲波的發(fā)送,然后單片機不停的檢測INT0引腳,當INT0引腳的電平由高電平變?yōu)榈碗娖綍r就認為超聲波已經(jīng)返回。單片機開啟外部中斷使定時器關(guān)閉,定時器所計的數(shù)據(jù)就是超聲波所經(jīng)歷的時間,通過運算就可以得到傳感器與障礙物之間的距離,這時通過BCD碼轉(zhuǎn)換把十六進制的數(shù)據(jù)轉(zhuǎn)換成十進制,并通過查表把距離顯示在LED數(shù)碼管顯示器上。四、系統(tǒng)的軟件設(shè)計4.1 主程序流程圖超聲波測距儀的軟件設(shè)計主要由主程序、超聲波發(fā)射子程序、超聲波接收中斷程序及顯示子程序等部分組成。主程序首先對系統(tǒng)初始化,設(shè)置定時器T0工作模式為16位的定時

11、計數(shù)器模式,置位總中斷允許位EA。然后單片機送出超聲波脈沖,為避免超聲波從發(fā)射器直接傳送到接收器引起的直接波觸發(fā),需延遲一段時間,保持電平20us左右,也就是超聲波頻率大約為40KHZ,連續(xù)發(fā)送8個波形(這也是超聲波測距離會有一個最小可測距離的原因)后,才打開外中斷1接收返回的超聲波信號。由于采用12MHz的晶振,機器周期為1us,當主程序檢測到接收成功的標志位后,將計數(shù)器T0中的數(shù)(即超聲波來回所用的時間)按下式計算即可測得被測物體與測距儀之間的距離,設(shè)計時取20時的聲速為340m/s則有:d=(T0*344)/2(其中T0為計數(shù)器T0的計數(shù)值)測出距離后結(jié)果將以十進制BCD碼方式送到LED

12、顯示管顯示,然后再發(fā)射超聲波脈沖重復(fù)測量過程。主程序框圖如下圖5-1所示: 開始 單片機初始化 N 定時中斷子程序有無回波信號You 一 外部中斷子程序 結(jié)束 圖5-1 超聲波測距離主程序流程圖4.2超聲波發(fā)射子程序和超聲波接收中斷程序 超聲波發(fā)射子程序的作用是通過P1.0端口發(fā)送8個超聲波信號,頻率約40KHz的方波,脈沖寬度為20us左右,同時把計數(shù)器T0打開進行計時。超聲波測距離主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(INT0引腳出現(xiàn)低電平),立即進入中斷程序。進入該中斷后就立即關(guān)閉計時器T0停止計時,并將測距成功標志位賦值1.,中斷子程序流程圖如圖5-2所示:

13、外部中斷入口 定時中斷入口 關(guān)外部中斷 定時初始化 讀取時間值N 發(fā)射超聲波 計算距離 是否發(fā)射完 結(jié)果顯示 停止發(fā)射 返回 返回圖5-2 定時中斷子程序流程圖 外部中斷子程序流程圖五、測試數(shù)據(jù)以及結(jié)論在溫度為25度左右環(huán)境下測試:實際距離(mm)707580859095100105110實際距離(mm)727681879296100105110超聲波測距儀的制作和調(diào)試都比較簡單,其中超聲波發(fā)射和接收采用15的超聲波換能器TCT40-10F1(T發(fā)射)和TCT40-10S1(R接收),中心頻率為40kHz,安裝時應(yīng)保持兩換能器中心軸線平行并相距48cm,其余元件無特殊要求。若能將超聲波接收電路

14、用金屬殼屏蔽起來,則可提高抗干擾能力。 硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機試運行。根據(jù)實際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時間,以適應(yīng)不同距離的測量需要。根據(jù)所設(shè)計的電路參數(shù)和程序,測距儀能測的范圍為0.061m,測距儀最大誤差不超過1mm。系統(tǒng)調(diào)試完后應(yīng)對測量誤差和重復(fù)一致性進行多次實驗分析,不斷優(yōu)化系統(tǒng)使其達到實際使用的測量要求。改裝:由于技術(shù)水平所限暫時不能給該設(shè)計加入語音程序,如果能加入語音程序的話,就能使超聲波測距離在倒車系統(tǒng)和其他領(lǐng)域中得到最完美的體現(xiàn)。超聲波測距離在生活中的應(yīng)用越來越廣泛,且也使汽車在倒車的時候能最大可

15、能的減少事故的發(fā)生。其有很高的開發(fā)的價值和十分廣泛的應(yīng)用領(lǐng)域,為提高生活和科學(xué)技術(shù)水平提供了選擇。六、課程設(shè)計過程中遇到的主要問題以及解決辦法問題一:該實驗不能在Protues上進行仿真由于不能在Protues上仿真出超聲波信號的發(fā)射和接收所以進行不了仿真,這時候我只能通過查資料直接在Protel上畫出該實驗的整個電路圖,直接做出硬件來進行調(diào)試。問題二:接受超聲波電路的電容用錯 電解電容用了瓷片電容,而且電容的大小用小了七、心得體會超聲波測距離讓我想到雷達探測,因為其利用的就是超聲波原理。由于暑假電賽培訓(xùn)時候已經(jīng)做過了其電路板,只是當時程序下載到板子上時候沒有成功。所以我把上次遺留下來的問題,

16、一并的在這次課設(shè)中考慮進去了,可以說是帶著很疑問去做課設(shè)的。板子很快就做好了,而程序的編寫都是自己通過網(wǎng)上查找資料以及詢問高年級學(xué)長才一步一個坎,一步一個腳印,最終編程成功,達到了我所想要的結(jié)果。過程不算很難,同時看著自己所做出來的成果,感覺挺開心的。通過該實驗,我們認識的到了單片機在控制領(lǐng)域中的強大作用,也使我加深了所學(xué)的單片機知識,為我們以后的就業(yè)和學(xué)習(xí)提供了很多的基礎(chǔ)。 附錄 超聲波測距離程序#include <reg52.h> #define uchar unsigned char #define uint unsigned int#define ulong unsigne

17、d longsbit Tx = P10; /產(chǎn)生脈沖引腳sbit Rx = P32; /回波引腳uchar code SEG710=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; uint distance4; /測距接收緩沖區(qū)uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i; bit succeed_flag; /測量成功標志void conversion(uint temp_data);void delay_20us();void csb_init();void main() / 主程序 ui

18、nt distance_data,a,b; uchar CONT_1; i=0; flag=0; csb_init(); while(1) EA=0; Tx=1; delay_20us(); Tx=0; /產(chǎn)生一個20us的脈沖,在Tx引腳 while(Rx=0); /等待Rx回波引腳變高電平 succeed_flag=0; /清測量成功標志 EX0=1; /打開外部中斷 TH1=0; TL1=0; TF1=0; TR1=1; /啟動定時器1 EA=1; while(TH1 < 30); /等待測量的結(jié)果,周期65.535毫秒(可用中斷實現(xiàn)) TR1=0; /關(guān)閉定時器1 EX0=0;

19、/關(guān)閉外部中斷 if(succeed_flag=1) distance_data=outcomeH; /測量結(jié)果的高8位 distance_data<<=8; /放入16位的高8位 distance_data=distance_data|outcomeL;/與低8位合并成為16位結(jié)果數(shù)據(jù) distance_data*=12; /因為定時器默認為12分頻 distance_data/=58; /微秒的單位除以58等于厘米 / X秒=( 2*Y米)/344 X秒=0.0058*Y米 if(succeed_flag=0) distance_data=0; /沒有回波則清零 distanc

20、ei=distance_data; /將測量結(jié)果的數(shù)據(jù)放入緩沖區(qū) i+; if(i=3) distance_data=(distance0+distance1+distance2+distance3)/4; a=distance_data; if(b=a) CONT_1=0; if(b!=a) CONT_1+; if(CONT_1>=3) CONT_1=0; b=a;conversion(b); i=0; /外部中斷0,用做判斷回波電平INTO_() interrupt 0 / 外部中斷是0號 outcomeH =TH1; outcomeL =TL1; succeed_flag=1; EX0=0; /關(guān)閉外部中斷/定時器0中斷,用做顯示timer0() interrupt 1 / 定時器0中斷是1號 TH0=0x

溫馨提示

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

評論

0/150

提交評論