單片機超聲波測距_第1頁
單片機超聲波測距_第2頁
單片機超聲波測距_第3頁
單片機超聲波測距_第4頁
單片機超聲波測距_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、成績 課程設計報告 題 目 基于單片機的超聲波測距 課 程 名 稱 單片機系統(tǒng)軟件設計與開發(fā) 院 部 名 稱 機電工程學院 專 業(yè) 電氣工程及其自動化 班 級 13電氣工程及其自動化(單) 學 生 姓 名 楊秋平 學 號 1304201016 課程設計地點 工科樓 C304 課程設計學時 20 指 導 教 師 李國利 金陵科技學院教務處制摘 要超聲波具有傳播距離遠、能量耗散少、指向性強等特點,在實際應用中常利用這些特點進行距離測量。超聲波測距具有非接觸式、測量快速、計算簡單、應用性強的特點,在汽車倒車雷達系統(tǒng)、液位測量等方面應用廣泛。本次課設利用超聲波傳播中距離與時間的關系為基本原理,以80C

2、51單片機為核心進行控制及數(shù)據(jù)處理,通過外圍電源、顯示、鍵盤、聲光報警等電路實現(xiàn)系統(tǒng)供電、測距顯示、報警值設置及報警提示的功能。軟件部分采用了模塊化的設計,由系統(tǒng)主程序及各功能部分的子程序組成。超聲波回波信號輸入單片機,經(jīng)單片機綜合分析處理后實現(xiàn)其預定功能。 關鍵詞:80C51單片機;超聲波測距 目 錄一 、概述3二、總體設計方案及說明6三 、系統(tǒng)硬件電路設計7 (1) 時鐘模塊7 (2) 超聲波測距模塊7 (3) 警報電路模塊8 (4) 距離顯示模塊 8 (5) 清零模塊9 (6) 電路總體設計圖9四 、系統(tǒng)軟件部分設計10 系統(tǒng)源程序10五、系統(tǒng)仿真過程與結(jié)果14六、系統(tǒng)實物制作與功能實現(xiàn)

3、15六 、總結(jié)19七 、參考文獻20一、概述1.1單片機簡介單片機是單片微型計算機的簡稱,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機,它最早是被用在工業(yè)控制領域。單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制

4、電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。1.2 超聲波測距原理 常用的超聲測距的方法是回聲探測法,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時計數(shù)器開始計時,超聲波在空氣中傳播,途中碰到障礙物面阻擋就立即反射回來,超聲波接收器收到反射回的超聲波就立即停止計時。設超聲波在空氣中的傳播速度為340m/s(不計介質(zhì)溫度變化對速度的影響),根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物面的距離s,即:s=340t/2。  如圖2-1所示:     

5、60;              式中:  L兩探頭中心之間距離的一半;  又知道超聲波傳播的距離為:  式中:  v超聲波在介質(zhì)中的傳播速度;         t超聲波從發(fā)射到接收所需要的時間;     將式2-1、2-2、2-3聯(lián)立 得:

6、0;  其中,超聲波的傳播速度v在一定的溫度下是一個常數(shù)(例如在溫度T=30度時,V=349m/s);當需要測量的距離H遠遠大于L時,上式變?yōu)?   所以,只要需要測量出超聲波傳播的時間t,就可以得出測量的距離H.2、 總體設計方案與說明2.1:設計要求 1、 以51系列單片機為核心,控制超聲波測距系統(tǒng); 2、測量范圍為:2cm4m,測量精度:1cm; 3、通過鍵盤電路設置報警距離,測出的距離通過顯示電路顯示出來; 4、當所測距離小于報警距離時,聲光報警裝置報警加以提示; 5、設計出相應的電子電路和控制軟

7、件流程及源代碼,并制作實物。2.2系統(tǒng)總體方案設計   本超聲波測距系統(tǒng)由系統(tǒng)硬件電路及軟件程序?qū)崿F(xiàn)兩部分構(gòu)成。其中由以超聲波測距模塊、警報電路模塊、距離顯示模塊、時鐘模塊、清零模塊構(gòu)成硬件系統(tǒng)。以STC89C52單片機為核心,通過按鈕trig控制超聲波測距模塊發(fā)射超聲波并接收回波,測算出前方障礙的距離,輸入單片機進行運算,與預設報警距離比較后判斷是否啟動光報警裝置。   根據(jù)系統(tǒng)功能要求及模塊劃分可繪制出系統(tǒng)硬件框圖,如圖2-2所示: LM016L顯示模塊 時鐘模塊 8 警報電路模塊 0 C 清零模塊 5 超聲波測距模塊 1三、系統(tǒng)

8、硬件部分設計(1)時鐘模塊(2)超聲波測距模塊以一個按鈕代替按下trig超聲波開始測距,按的時間越短則距離越短,按的時間越長則距離越長。最長不可超過400cm,否則顯示為000,且警報燈亮。(3)警報電路模塊在測距超過400cm時,D1亮,表示超出有效測量范圍。(4)距離顯示模塊顯示超聲波測距的距離。(5)清零模塊總體電路設計圖四、系統(tǒng)軟件部分設計#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit rs=P27; /LCD數(shù)據(jù)命令選擇端s

9、bit lcden=P25;/LCD使能端sbit wr=P26;/LCD讀寫端sbit trig=P37; /觸發(fā)控制信號輸入sbit echo=P36; /回響信號輸出sbit out=P21; /距離超出報警uchar code table=" distance:"/數(shù)組定義void delay(uint z) /1ms延時uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void write_com(uchar com)/LCD寫命令子程序rs=0;wr=0;P0=com;delay(5);lcden=1;delay(5

10、);lcden=0;void write_date(uchar date)/LCD寫數(shù)據(jù)子程序rs=1;wr=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void main()uchar k,m;long temp; /距離TMOD=0x01; /設置定時器0為模式1TH0=0x00; /定時器清零TL0=0x00;/定時器清零ET0=1; /開定時器0中斷2EA=1; /開總中斷wr=0; lcden=0;out=0; /關閉報警write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x

11、01);write_com(0x80);for(k=0;k<13;k+)write_date(tablek);delay(5);write_com(0x80+0x40+9);/LCD位置定位write_date('m'); write_date('m');/距離單位mmwhile(1)TH0=0x00;TL0=0x00;trig=1; /觸發(fā)控制信號寫入1for(m=0;m<20;m+)/延時等待20us_nop_();trig=0;/觸發(fā)控制信號寫入0while(!echo);/回響信號輸出為0TR0=1; /開啟定時器0while(echo);/

12、等待回響信號TR0=0; /關閉定時器temp=TH0*256+TL0;/讀出定時器0的時間temp*=170; /距離 = 速度 * 時間 將temp轉(zhuǎn)換成距離單位為 mmtemp/=1000;if(temp<=400) /距離小于40cm時 顯示當前距離out=0;write_com(0x80+0x40+5);write_date(0x30+temp%1000/100);write_date(0x30+temp%100/10);write_date(0x30+temp%10);delay(1000);else /當距離大于40cm時顯示000 并且開啟報警out=1;write_co

13、m(0x80+0x40+5);write_date(0x30+0);write_date(0x30+0);write_date(0x30+0);delay(1000);void time() interrupt 1TH0=0xfc;TL0=0x18;temp1+;系統(tǒng)仿真過程與結(jié)果仿真圖正常測距(距離小于400cm) 超出距離(距離大于400cm) 實物圖: 實驗過程:(1) 距離小于400mm時,顯示當前距離且蜂鳴器不發(fā)出聲音(2) 當距離大于400mm時顯示000 并且開啟報警3、當測試距離為0時:顯示000,并且報警(不在測量范圍內(nèi)) 六、總結(jié)結(jié)論:本次超聲波測距的有效測量范圍為400c

14、m以內(nèi),顯示器顯示測量距離;當測量距離超出400cm時,顯示為“000”,并且警報燈亮。心得與體會:做了幾個星期的基于單片機超聲波測距儀的實訓項目終于完成了!雖然不是很順利,很辛苦,但是看到我們自己做出的實驗課題,自己就覺得值!都說付出就會有收獲,經(jīng)過幾個星期的努力,我和我的小組成員帶著好奇和興奮順利的做完了所有的步驟與程序。說真的,這幾個星期我學到了好多好多,同時眼界也寬了好多好多的。本次實驗最大的難點就在于對程序的調(diào)試,雖然學過單片機的編程,不過還是出現(xiàn)了許多的錯誤,經(jīng)過查找書籍和詢問同學最終完成了程序的編寫。然后帶入仿真圖進行調(diào)試,完善程序上的一些不足。 這次的實物依舊是用開發(fā)板制作的,所以在實物方面還是比較熟練的,畢竟對于開發(fā)板還是比較熟悉的。這次課程設計,能加強我們對于單片機一些軟件的應用,以及對我們編寫程序也有許多的好處,不至于以后對于編程一竅不通。也能鍛煉我們的團隊合作能力,畢竟對于我們而言,單獨一個人是很難完成這個任務的,更多的還是要靠大家一起努力。對于以后的工作有很大的幫助。      總之,“一份耕耘,一份收獲”。通過我們自己的親手操作,我們確實學到了許多

溫馨提示

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

評論

0/150

提交評論