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

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1 設(shè)計任務(wù)本文采用超聲波傳感器,IAP15單片機以及LCD顯示模塊設(shè)計了一種超聲波測距顯示器,可以實現(xiàn)測量物體到儀器距離以及顯示等功能。是一種結(jié)構(gòu)簡單、性能穩(wěn)定、使用方便、價格低廉的超聲波距離測量器,具有一定的實用價值。2 設(shè)計思路2.1 超聲波測距2.1.1 超聲波超聲波是指頻率在20kHz以上的聲波,它屬于機械波的范疇。近年來,隨著電子測量技術(shù)的發(fā)展,運用超聲波作出精確測量已成可能。隨著經(jīng)濟發(fā)展,電子測量技術(shù)應(yīng)用越來越廣泛,而超聲波測量精確高,成本低,性能穩(wěn)定則備受青睞。超聲波也遵循一般機械波在彈性介質(zhì)中的傳播規(guī)律,如在介質(zhì)的分界面處發(fā)生反射和折射現(xiàn)象,在進入介

2、質(zhì)后被介質(zhì)吸收而發(fā)生衰減等。正是因為具有這些性質(zhì),使得超聲波可以用于距離的測量中。隨著科技水平的不斷提高,超聲波測距技術(shù)被廣泛應(yīng)用于人們?nèi)粘9ぷ骱蜕钪?。一般的超聲波測距儀可用于固定物位或液位的測量,適用于建筑物內(nèi)部、液位高度的測量等。超聲在空氣中測距在特殊環(huán)境下有較廣泛的應(yīng)用。利用超聲波檢測往往比較迅速、方便、計算簡單、易于實現(xiàn)實時控制,并且在測量精度方面能達到工業(yè)實用的指標要求,因此為了使移動機器人能夠自動躲避障礙物行走,就必須裝備測距系統(tǒng),以使其及時獲取距障礙物的位置信息(距離和方向)。因此超聲波測距在移動機器人的研究上得到了廣泛的應(yīng)用。同時由于超聲波測距系統(tǒng)具有以上的這些優(yōu)點,因此在

3、汽車倒車雷達的研制方面也得到了廣泛的應(yīng)用。2.1.2 超聲波測距原理最常用的超聲測距的方法是回聲探測法,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時計數(shù)器開始計時,超聲波在空氣中傳播,途中碰到障礙物面阻擋就立即反射回來,超聲波接收器收到反射回的超聲波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物面的距離s,即:s=340t/2。 由于超聲波也是一種聲波,其聲速V與溫度有關(guān)。在使用時,如果傳播介質(zhì)溫度變化不大,則可近似認為超聲波速度在傳播的過程中是基本不變的。如果對測距精度要求很高,則應(yīng)通過溫度補償?shù)姆椒▽y量結(jié)果加以數(shù)值校正。聲

4、速確定后,只要測得超聲波往返的時間,即可求得距離。距離計算公式:d=S2=C×T2(2-1)其中d為被測物與測距器的距離,s為聲波的來回路程,c為聲波,t為聲波來回所用的時間。其中聲速c與溫度有關(guān)。C=331.5+0.607T (2-2)如果要提高測距精確度,則必須考慮溫度的影響,也可取室溫簡化電路設(shè)計,將溫度傳感器作為擴展電路,在力所能及的情況下完成。2.1.3 超聲波測距模塊HC-SR04HC-SR04超聲波測距模塊可提供2cm至400cm的非接觸式距離感測功能,測距精度可達3mm;模塊自身包括超聲波發(fā)射器、接收器與控制電路。實物如圖2-1所示:圖2-1 HC-SR04模塊實物圖

5、HC-SR04工作原理及說明:1、給Trig觸發(fā)控制信號IO端口至少10us的高電平信號。2、模塊自動發(fā)送8個40khz的方波,并自動檢測是否有信號返回。3、有信號返回時,Echo回響信號輸出端口輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。4、兩次測距時間間隔最少在60ms以上,以防止發(fā)射信號對回響信號的影響。如圖2-2所示:圖2-2 HC-SR04工作原理2.2 LCD1602顯示屏LCD1602顯示屏實物如圖2-3所示:圖2-3 LCD1602顯示屏LCD1602電路原理圖如圖2-4所示:圖2-4 LCD1602電路原理圖2.3 IAP單片機IAP15F2K61S2單片機

6、為增強型8051CPU,具有1個單時鐘/機器周期,其工作電壓為4.2V5.5V,速度比普通的8051快812倍;61K字節(jié)片內(nèi)FLASH程序存儲器,片內(nèi)大容量2048字節(jié)的SRAM,大容量的片內(nèi)EEPPOM,擦寫次數(shù)在10萬次以上;一共有8道10位高速ADC,速度高達30萬次/s,3路PWM還可當3路DA使用;共有3通道比較單元,內(nèi)部高可靠復(fù)位,8級可選復(fù)位門檻電壓,徹底省掉外部復(fù)位電路;內(nèi)部高精度RC時鐘,內(nèi)部時鐘從5MHz35MHz可選,相當于普通8051的60MHz420MHz;兩組高速異步串行通信端口,可以在5組管腳之間進行切換,分時復(fù)用可當5組串口使用;各種接口擴展齊全,一根USB線

7、實現(xiàn)系統(tǒng)供電、程序下載及通信功能。單片機實物圖及引腳圖如圖2-5、圖2-6所示:圖2-5 IAP單片機實物圖圖2-6 IAP單片機引腳圖2.4 單片機最小系統(tǒng)對于一個單片機系統(tǒng),能夠工作的前提是具有最小系統(tǒng)模塊,最小系統(tǒng)一般包括單片機、晶振電路、復(fù)位電路。單片機的復(fù)位及晶振電路都是常見的接法,電源用一個按鍵控制接通與斷開,使得程序下載變得方便。電路如圖2-7所示:圖2-7單片機最小系統(tǒng)2.4.2 電源電路此最小系統(tǒng)中的電源供電模塊的電源可以通過計算機的USB口供給,也可使用外部穩(wěn)定的5V電源供電模塊供給。2.4.1 時鐘電路單片機是為系統(tǒng)提供基本的時鐘信號。內(nèi)部時鐘電路的晶振頻率一般選擇在4M

8、HZ12MHZ之間(本設(shè)計選用12MHZ),外接兩個諧振電容,該電容的典型值為30pF。如圖2-8所示:圖2-8 時鐘電路2.4.3 復(fù)位電路按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個開關(guān),當開關(guān)按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復(fù)位。如圖2-9:圖2-9 復(fù)位電路2.4 系統(tǒng)整體設(shè)計系統(tǒng)主要由三部分組成:單片機,超聲波測距模塊和LCD1602顯示屏構(gòu)成。單片機在控制中作為控制器,用于對超聲波模塊的控制和計時,顯示電路主要實時顯示測量數(shù)值。系統(tǒng)框圖如圖2-10所示:超聲波接收單片機控制器超聲波發(fā)送LCD顯示圖2-10 系統(tǒng)框圖3 原理圖根據(jù)前面對

9、設(shè)計的各個相關(guān)模塊的分別講述,再結(jié)合單片機的引腳功能,從而得到系統(tǒng)整體電路圖,如圖3-1所示: 圖3-1 原理圖在圖3-1中,LCD1602的D0到D7連接10K上拉排阻并外接到單片機的P2.0到P2.7端口,用于顯示所測量距離,超聲波HC-SR04的trig端、echo端分別接在單片機的P0.0、P3.2這兩個端口,利用單片機的計時器將時間計算出來。最后通過程序設(shè)計將計算出的距離顯示到LCD1602液晶顯示屏上。4 PCB圖生成PCB如圖4-1、4-2所示:圖4-1 PCB原理圖圖4-2 PCB圖5 程序流程圖5.1 主程序設(shè)計這次軟件設(shè)計使用的軟件是Keil uVision4。Keil 4

10、集成開發(fā)環(huán)境是一個窗口化的軟件開發(fā)平臺,它集成了功能強大的編輯器、工程管理器以及各種編譯工具Keil 4使用簡單、功能強大,是設(shè)計者完成設(shè)計任務(wù)的重要保證,還能加速單片機應(yīng)用程序的開發(fā)過程。主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)定定時器T0工作模式為6位定時計數(shù)器模式,置位總中斷允許位EA并給顯示端口P2清0。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時約0.1ms(這也就是超聲波測距器會有一個最小測距離的原因)后,才打開外中斷0接收返回的超聲波信號。由于采用的是12MHz的晶振,計算器每計一個數(shù)就是1us,,當主程序檢測到接收成功的標

11、志位后,將計數(shù)器T0中的數(shù)(即超聲波來回所用的時間)按計算公式計算,即可得被測物體與測距器之間的距離,設(shè)計時取聲速為340m/s。超聲波測距程序見附錄。5.2 程序流程圖主程序流程圖如圖5-1所示:開始系統(tǒng)初始化顯示結(jié)果0.5s發(fā)射超聲波脈沖計算距離等待反射超聲波圖5-1 主程序流程圖測距程序流程圖如圖5-2所示:圖5-2 測距程序流程圖6 設(shè)計感想在本次實訓(xùn)中,我們首先第一周進行了FPGA的學(xué)習,由老師帶領(lǐng)我們學(xué)習FPGA的基本操作以及簡單電路的設(shè)計,其中我認為最為主要的就是讓我們認識到了FPGA的發(fā)展現(xiàn)狀以及發(fā)展前景。通過了解,我們知道了FPGA的方便,可以用語言來實現(xiàn)我們需要的功能,進而

12、自動實現(xiàn)其電路的設(shè)計,幫助我們簡化了很多步驟,在這一周的學(xué)習當中,我們首先學(xué)會了如何用語言來實現(xiàn)流水燈的設(shè)計,以及其基本的設(shè)計思路和方法還有quartus2軟件的使用方法,繼而學(xué)會了如何捕捉上升沿,這個很重要,對于以后我們工作能夠起很大的作用,最主要的是我們學(xué)到了很多電路設(shè)計方面的經(jīng)驗,這些是我們平常在書本上學(xué)不到的,能夠幫助我們在以后的工作當中節(jié)省很多的時間,創(chuàng)造了很多捷徑,能夠提高我們的效率。在第二周的時間里,我設(shè)計了超聲波測距電路,首先當我拿到這個題目時,對于這個課題只有一些初步的想法,通過理論課的學(xué)習對此有一個初始的印象,然后就是去找資料,了解到了我們要設(shè)計的這個電路具體的實現(xiàn)原理、所

13、需模塊等方面,以及他的組成部分,基于這個單片機,我們首先就要設(shè)計它的最小系統(tǒng),然后我們還需要超聲波傳感器。并且還需要對于測完的距離進行顯示,這時就需要顯示裝置,這里我們用的是LCD 1602A顯示屏。拿到這些裝置以后,我并不會連接,所以就需要認識每個器件的引腳功能,工作原理,引腳的定義以及接法等等,然后我們就要進行繪制原理圖,然后生成PCB板,在確認無誤之后才能進行焊接,在焊接過程當中我們要注意的是焊點是否焊嚴,焊錫不能過多,走線要符合布局,在開始這次的設(shè)計工程當中,沒有安排好布局,把LCD1602的數(shù)據(jù)口和單片機引腳接反,這是一個失誤的地方,在老師指導(dǎo)下糾正過來。我在焊接完板子之后,要進行測

14、試,首先測試顯示裝置,由于沒有電位器,我們就要計算電阻,使顯示器能夠正常工作,有適當?shù)膶Ρ榷?,亮度等等,在我們進行測試的時候,換了好幾個電阻才調(diào)整到了適當?shù)牧炼取T诟髂K都工作正常后,我們要進行程序的編寫,要考慮很多方面,例如接口,語法,邏輯等有沒有錯誤,這些是很必要的,然后進行調(diào)試,更改程序等等。本次設(shè)計的超聲波測距電路經(jīng)過測試,誤差在1CM左右是0-2CM里可以接受的范圍。經(jīng)過本次實訓(xùn),使我收獲良多,首先我們認識到了FPGA的發(fā)展現(xiàn)狀,然后我們了解了電路設(shè)計制作的基本流程,讓我對這方面的工作有了一定的認識,幫助我們規(guī)劃以后的工作,這些是我們本次實訓(xùn)的最大收獲。而且,在設(shè)計超聲波測距電路過程

15、中我查閱了很多的資料,自主的學(xué)習了很多以前沒有注意但是實際需要的東西,幫助我們完善了知識儲備,也在一定程度上增強了了我們實際的工作能力,這些是我們在課堂學(xué)習當中沒辦法實踐的方面,然而在以后我們走上工作崗位上這些卻是很重要的東西,所以很感謝這次生產(chǎn)實習讓我學(xué)到了這么多的東西,做出了實物也使我很有成就感,對這方面的內(nèi)容有了更大的興趣以及了解,能夠在我走上工作崗位之前給自己提個醒,未雨綢繆,提早做好工作之前的準備。參考文獻1 張巖,張鑫.單片機原理及應(yīng)用.機械工業(yè)出版社,2015.6.2 范立南.單片機原理及應(yīng)用教程.北京大學(xué)出版社,2013.3 樓然苗,李光飛.單片機課程設(shè)計指導(dǎo).北京航空航天大學(xué)

16、出版社,2012.4 俞國亮.MCS-51單片機原理及應(yīng)用.清華大學(xué)出版社,2008.5 瞿金輝,周蓉生.超聲波測距系統(tǒng)的設(shè)計.中國儀器儀表,2007. 8.6 譚浩強.C語言程序設(shè)計(第四版).清華大學(xué)出版社,2011. 117 周凱,趙望達,趙迪. 高精度超聲波測距系統(tǒng). 測試技術(shù)卷,2007附錄A器件清單:器件清單如表A-1所示:元件說明數(shù)量IAP15F2K61S2單片機1HC-SR04超聲波模塊1LCD1602液晶顯示屏1CH340GUSB轉(zhuǎn)TTL下載器1按鍵開關(guān)四腳1自鎖開關(guān)六腳1瓷片電容30pF2電解電容10uF1滑動變阻器10310K1排阻A102J10K上拉電阻1電阻10K1電

17、阻3001晶振12MHz1導(dǎo)線若干表A-1 器件清單附錄B程序代碼:#include <stc15f2k60s2.h>#include<intrins.h>#define uint unsigned int #define uchar unsigned char uint s,time,a,b,c,d;sbit RS=P36;sbit RW=P35;sbit EN=P37;sbit Trig=P01;sbit Ecoh=P00;uchar code dis_code1="Distance Test: "uchar dis_code2="0.

18、00M "uchar cache3=0,0,0;void delay_ms(uint timer)uchar i=0;while (timer-)for(i=600;i>0;i-);void Delay15us(unsigned char i)/12.000MHz_nop_();_nop_();i = 42;while (-i);void wait()RS=0;RW=1;EN=0;_nop_();_nop_();_nop_();EN=1;P2=0XFF;while(P2&0X80) ;EN=0;void write_lcd_com(uchar com)wait();RS

19、=0;RW=0;EN=0;_nop_();EN=1;P2=com;delay_ms(5);EN=0;void write_lcd_data(uchar dat) wait();RS=1;RW=0;EN=0;_nop_();EN=1;delay_ms(5);P2=dat;EN=0;void lcd_init()EN=0;write_lcd_com(0x38); delay_ms(1);write_lcd_com(0x06);delay_ms(1);write_lcd_com(0x0C);delay_ms(1);write_lcd_com(0x01);delay_ms(1);void chaoshengbo(void) time=TH0*256+TL0; TH0=0; TL0=0; s=time*0.17; /?CM cache0=s/1000; cache1=s/100%10; cache2=s/10%10; dis_code20=cache0+'0' dis_code22=cache1+&

溫馨提示

  • 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

提交評論