超聲波測距儀課程設(shè)計_第1頁
超聲波測距儀課程設(shè)計_第2頁
超聲波測距儀課程設(shè)計_第3頁
超聲波測距儀課程設(shè)計_第4頁
超聲波測距儀課程設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 題目名稱:超聲波測距的設(shè)計 班 級: 電信101班 一、設(shè)計題目 基于單片機(jī)超聲波測距二、設(shè)計目的及意義 日常生活應(yīng)用發(fā)面:人們生活水平的提高,城市發(fā)展建設(shè)加快,城市車輛逐漸增多,因為停車不當(dāng)而造成的交通事故也越來越多。為了避免此類事故的發(fā)生一個能夠直觀地測出汽車與障礙物之間的距離的裝置就變得十分必要。它可以及時將車輛與障礙物之間的距離反映出來,給司機(jī)以更準(zhǔn)確的信息和更多的反應(yīng)時間,減少事故的發(fā)生;軍事應(yīng)用方面:超聲波聲納已廣泛應(yīng)用于偵查探測等方面,如何提高其測量精度已是正在著重研究的課題之一,相信在不久的將來,超聲波測距一定會在偵查反偵察方面起到更大的作用;工業(yè)應(yīng)用方面:超聲波測距儀的設(shè)計

2、方便了管道的距離探測,消除了一些空間方面的限制,在其測量精度得到提升后,對一些精密設(shè)備的測量也將起到良好的效果。三、設(shè)計要求及主要技術(shù)指標(biāo) 1、方案論證,確定總體電路原理方框圖。 2、單元電路設(shè)計,元器件選擇。 3、仿真調(diào)試及測量結(jié)果。 主要技術(shù)指標(biāo): 設(shè)計一超聲波測距儀,任務(wù): 1、了解超聲波測距原理。 2、根據(jù)超聲波測距原理,設(shè)計超聲波測距器的硬件結(jié)構(gòu)電路。 設(shè)計一超聲波測距儀,要求: 1、設(shè)計出超聲波測距儀的硬件結(jié)構(gòu)電路。 2、對設(shè)計的電路進(jìn)行分析能夠產(chǎn)生超聲波,實現(xiàn)超聲波的發(fā)送與接收,從而實現(xiàn) 利用超聲波方法測量物體間的距離。 3、對設(shè)計的電路進(jìn)行分析。 4、以數(shù)字的形式顯示測量距離。

3、一、方案論證與比較1.1 方案提出方案一:采用cpld來控制的超聲波測距儀 采用cpld來控制的超聲波測距儀,主要是在軟件上運(yùn)用vhdl編寫程序使用max+plusii軟件進(jìn)行軟硬件設(shè)計的仿真和調(diào)試,最終實現(xiàn)測距功能。使用本方案的優(yōu)點(diǎn)在于在超聲波測距儀設(shè)計中采用的是max7000s系列中的epm7128slc84-15的cpld器件,其最高頻率可達(dá)175.4mhz,可用于組合邏輯電路、時序邏輯電路、算法、雙端口ram等的設(shè)計。充分利用了其多達(dá)128個宏單元、68pin可編程i/o口,使該器件可以將分頻功能、計數(shù)功能、顯示編碼功能、振蕩功能全部集于一體。又因其延時平均的特點(diǎn),保證了測距結(jié)果精度高

4、、響應(yīng)速度快。缺點(diǎn)是方案中需要一塊fpga,一塊雙口ram,還需要一塊用來存儲波形數(shù)據(jù)的eeprom,那么設(shè)計的成本較高。同時在fpga中還要用硬件描述語言(vhdl語言)編寫程序來實現(xiàn)硬件電路功能。由于epm7128slc84-15的算法復(fù)雜,所以在軟件實現(xiàn)起來編程也復(fù)雜。方案二:采用51單片機(jī)控制的超聲波測距系統(tǒng) 采用單片機(jī)來控制的超聲波測距儀是先由單片機(jī)產(chǎn)生一個信號,經(jīng)過信號線,把信號引入到與超聲波發(fā)射器相連的信號引腳上,再由超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳

5、播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點(diǎn)距障礙物的距離(s)。1.2設(shè)計方案的論證和選擇超聲波測距的原理是利用超聲波的發(fā)射和接受, 由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量。利用超聲波檢測距離,設(shè)計比較方便,計算處理也較簡單。實用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計;一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測距儀。此次設(shè)計采用方案二的方式。 原理框圖: 圖1-1 超聲波的測距原理二、系統(tǒng)的功能及設(shè)計框圖2.1 系統(tǒng)的全部功能1、本系統(tǒng)實現(xiàn)要求測量距離范圍為0.1

6、3米,精度誤差在1厘米以內(nèi),并且使用 lcd1602顯示所測距離。 2、該系統(tǒng)硬件部分由發(fā)送模塊、接收模塊、顯示模塊組成。發(fā)送模塊部分主要由超聲波發(fā)射器組成;接收模塊主要由超聲波接收探頭組成;顯示模塊則有液晶顯示器lcd1602及其輔助電路組成。3、以數(shù)字的形式顯示測量距離。(1)超聲波測距的方法有多種:如往返時間檢測法、相位檢測法、聲波幅值檢測法。 (2)本設(shè)計采用往返時間檢測法測距。其原理是超聲波傳感器發(fā)射一定頻率的超聲波,借助空氣媒質(zhì)傳播,到達(dá)測量目標(biāo)或障礙物后反射回來,經(jīng)反射后由超聲波接收器接收脈沖,其所經(jīng)歷的時間即往返時間,往返時間與超聲波傳播的路程的遠(yuǎn)近有關(guān)。(3)假定s為被測物體

7、到測距儀之間的距離,測得的時間為t,超聲波傳播速度為 v表示,則有關(guān)系式 s=vt22.2確定設(shè)計框圖(系統(tǒng)包含的單元電路及結(jié)構(gòu))和總體設(shè)計方案 本系統(tǒng)的超聲波發(fā)射和接收電路采用hc-sr04系列超聲波測距模塊,此模塊的特點(diǎn)是可提供1cm-300cm的非接觸式距離感測功能,測距精度可高達(dá)3mm。模塊包括超聲波發(fā)射器、接收器與控制電路。 系統(tǒng)的性能指標(biāo)依據(jù)hc-sr04系列超聲波測距模塊的電氣參數(shù),系統(tǒng)可提供1cm-300cm的非接觸式距離感測功能,超出測量范圍液晶1602顯示out of range,測距精度可高達(dá)3mm,但是本系統(tǒng)最小的顯示單位是1cm,所以測量的最小精度是1cm。 超聲波測

8、距系統(tǒng)的一般結(jié)構(gòu)如下圖1-1所示。(本系統(tǒng)要求不是很精確,所以舍去了溫度補(bǔ)償電路)。障 礙 物發(fā)射探頭接收探頭發(fā)射電路接收電路單 片 機(jī)顯示電路 圖2-2 系統(tǒng)一般結(jié)構(gòu)框圖2.3軟件流程圖:外 部 中 斷 入 口定 時 中 斷 入 口 開 始關(guān) 外 部 中 斷定 時 器 初 始 化單 片 機(jī) 初 始 化讀 取 時 間 值放 射 超 聲 波定 時 中 斷 程 序 nn計 算 距 離發(fā)射是否完成有回波嗎y結(jié) 果 輸 出y外部中斷子程序開 外 部 中 斷 停 止 發(fā) 射返 回返 回(c)外部中斷服務(wù)子程序(a) 主程序流程圖(b)定時中斷服務(wù)子程序 圖2-3 主程序流程圖三、 系統(tǒng)調(diào)試分析3.1設(shè)計

9、原理圖圖3-1 超聲波測距原理圖四、結(jié)束語 在本次設(shè)計中,我們充分考慮了整個設(shè)計中的各個環(huán)節(jié)。包括產(chǎn)生40khz的方波,在接收電路中,對所接收方波進(jìn)行濾波、放大、整形等步驟。但由于條件和技術(shù)所限,對于很多以上所分析的在發(fā)射和接收過程中所產(chǎn)生的誤差沒有得到有效的校正。比如溫度誤差、硬件電路誤差等。 在我們?yōu)槠谖逄斓脑O(shè)計中,我們用到了以前學(xué)到的很多知識,比如電路、單片機(jī)、和匯編語言等。這使我們意識到,任何一件產(chǎn)品的產(chǎn)生,都不是單一知識所能實現(xiàn)的。而且在電路的設(shè)計和程序的編制過程中,出現(xiàn)了很多意想不到的錯誤,讓我們措手不及,有些甚至是一些非常低級的錯誤,但是這些錯誤也同樣讓我們獲益非淺,它使我們意識

10、到,研究是一個非常嚴(yán)肅的過程,來不得半點(diǎn)馬虎。必須有一個嚴(yán)謹(jǐn)?shù)膽B(tài)度,加上100的努力才有可能獲得成功的喜悅。 總之,在本課題的設(shè)計過程中盡管走了很多的彎路,但是還是學(xué)到了不少知識,從中受益匪淺。了解了超聲波傳感器的原理、設(shè)計,也掌握了單片機(jī)的開發(fā)過程中所用到的開發(fā)方法和工具。動手能力與自學(xué)能力得到了鍛煉與提高,對待事物的態(tài)度也發(fā)生了變化。理論總是離不開實踐的,設(shè)計制作過程中,盲目地追尋理論知識根本不足以解決任何問題,一味的死研究課本是不會真正掌握單片機(jī)的。只有真正動手去做才能發(fā)現(xiàn)問題,解決問題,提高能力。五、參考文獻(xiàn)1吳金戌沈慶陽郭庭8051單片機(jī)實踐與應(yīng)用,清華大學(xué)出版社,2003年4月版。

11、2李建忠單片機(jī)原理及應(yīng)用,西安電子科技大學(xué)出版社,2005年版。3張金鐸傳感器用其應(yīng)用,西安電子科技大學(xué)出版社,2002年版。4求是科技單片機(jī)典型外圍器件及應(yīng)用實例,人民郵電出版社,2006年版。5應(yīng)崇福超聲學(xué),北京科學(xué)出版社1990年。6甕嘉民單片機(jī)應(yīng)用開發(fā)技術(shù)基于proteus仿真和c語言編程,中國電力出版社,2009年版。附錄1:設(shè)計中用到的元器件、芯片的外引腳圖及引腳功能說明。1、 51系列單片機(jī)的功能特點(diǎn)5l系列單片機(jī)中典型芯片(stc89c52)采用40引腳雙列直插封裝(dip)形式,內(nèi)部由cpu,8kb的rom,256b的ram,2個16b的定時計數(shù)器to和t1,4個8b的工o端

12、i:ip0,p1,p2,p3,一個全雙功串行通信口等組成。特別是該系列單片機(jī)片內(nèi)的flash可編程、可擦除只讀存儲器(eprom),使其在實際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。該系列單片機(jī)引腳與封裝如圖4-1所示。 圖4-12、超聲波發(fā)生器 如有圖所示,如右圖接線,vcc供5v電源,gnd為地線,trig觸發(fā)控制信號輸入,echo回響信號輸出等四個接口端。基本工作原理:(1) 采用io口trig觸發(fā)測距,給至少10us的高電平信號。(2) 模塊自動發(fā)射8個40khz的方波,并檢測信號是否有返回。(3)有信號返回,通過io端口echo輸出一個高電平,高電平

13、持續(xù)的時間就是超聲波從發(fā)射到接收所用的時間。測量距離=高電平持續(xù)時間*聲速/2。實物圖如圖4-2所示: 圖4-23、lcd1602顯示器 lcd1602可以顯示2行16個字符,有8位數(shù)據(jù)總線d0d7和rs,r/w,en三個控制端口,工作電壓為5v,并且具有字符對比度調(diào)節(jié)和背光功能。 (1)引腳參數(shù)如下: lcd1602可以顯示2行16個字符,有8位數(shù)據(jù)總線d0d7和rs,r/w,en三 個控制端口,工作電壓為5v,并且具有字符對比度調(diào)節(jié)和背光功能。u smc1602a液晶顯示模塊的接口信號說明:編號符號引腳說明編號符號引腳說明1vss電源地9d2data i/o2vdd電源正極10d3data

14、 i/o3vl液晶顯示偏壓信號11d4data i/o4rs數(shù)據(jù)/命令選擇端(h/l)12d5data i/o5r/w讀寫選擇端(h/l)13d6data i/o6e使能信號14d7data i/o7d0data i/o15bla背光源正極8d1data i/o16blk背光源負(fù)極(2)1602型lcd的主要技術(shù)參數(shù)如下:顯示容量16x2個字符芯片工作電壓4.55.5v工作電流2.0ma(5.0v)模塊最佳工作電壓5.0v字符尺寸2.95x4.35(wxh)mm(3) 基本操作程序:讀狀態(tài):輸入:rs=l,rw=h,e=h 輸出:d0d7=狀態(tài)字讀數(shù)據(jù):輸入:rs=h,rw=h,e=h 輸出:

15、無寫指令:輸入:rs=l,rw=l,d0d7=指令碼,e=高脈沖 輸出:d0d7=數(shù)據(jù)寫數(shù)據(jù):輸入:rs=h,rw=l,d0d7=數(shù)據(jù),e=高脈沖 輸出:無讀操作時序:寫操作時序:附錄3:源程序#include /器件配置文件#include #include sbit echo=p36;sbit trig=p37;sbit lcm_rw=p25 ;/定義lcd引腳sbit lcm_rs=p24;sbit lcm_e=p26;#define lcm_data p0#define busy 0x80 /用于檢測lcm狀態(tài)字中的busy標(biāo)識void lcminit(void);/lcd初始化函數(shù)v

16、oid displayonechar(unsigned char x, unsigned char y, unsigned char ddata);/lcd顯示一個字符函數(shù)void displaylistchar(unsigned char x, unsigned char y, unsigned char code *ddata);/lcd顯示一個字符串函數(shù)void delay5ms(void);/延時5毫秒函數(shù)void delay400ms(void);/延時400毫秒函數(shù)void decode(unsigned char scancode);void writedatalcm(unsig

17、ned char wdlcm);/lcd1602寫數(shù)據(jù)函數(shù)void writecommandlcm(unsigned char wclcm,buysc);/lcd寫命令函數(shù)unsigned char readstatuslcm(void);unsigned char code ascii13 = 0123456789.-m;unsigned char code table=distance:000.0cm;unsigned char code table1=out of range !;/static unsigned char disnum = 0; /顯示用指針 unsigned int

18、time=0;unsigned long s=0;bit flag =0;unsigned char disbuff4= 0,0,0,0,;/寫數(shù)據(jù)void writedatalcm(unsigned char wdlcm) readstatuslcm(); /檢測忙lcm_data = wdlcm;lcm_rs = 1;lcm_rw = 0;lcm_e = 0; /若晶振速度太高可以在這后加小的延時lcm_e = 0; /延時lcm_e = 1;/寫指令void writecommandlcm(unsigned char wclcm,buysc) /buysc為0時忽略忙檢測if (buys

19、c) readstatuslcm(); /根據(jù)需要檢測忙lcm_data = wclcm;lcm_rs = 0;lcm_rw = 0;lcm_e = 0;lcm_e = 0;lcm_e = 1;/讀狀態(tài)unsigned char readstatuslcm(void)lcm_data = 0xff; lcm_rs = 0;lcm_rw = 1;lcm_e = 0;lcm_e = 0;lcm_e = 1;while (lcm_data & busy); /檢測忙信號return(lcm_data);void lcminit(void) /lcm初始化lcm_data = 0;writecomma

20、ndlcm(0x38,0); /三次顯示模式設(shè)置,不檢測忙信號delay5ms(); writecommandlcm(0x38,0);delay5ms(); writecommandlcm(0x38,0);delay5ms(); writecommandlcm(0x38,1); /顯示模式設(shè)置,開始要求每次檢測忙信號writecommandlcm(0x08,1); /關(guān)閉顯示writecommandlcm(0x01,1); /顯示清屏writecommandlcm(0x06,1); / 顯示光標(biāo)移動設(shè)置writecommandlcm(0x0c,1); / 顯示開及光標(biāo)設(shè)置/按指定位置顯示一個字

21、符void displayonechar(unsigned char x, unsigned char y, unsigned char ddata)y &= 0x1;x &= 0xf; /限制x不能大于15,y不能大于1if (y) x |= 0x40; /當(dāng)要顯示第二行時地址碼+0x40; x |= 0x80; /算出指令碼writecommandlcm(x, 1); /發(fā)命令字writedatalcm(ddata); /發(fā)數(shù)據(jù)/按指定位置顯示一串字符void displaylistchar(unsigned char x, unsigned char y, unsigned char c

22、ode *ddata)unsigned char listlength; listlength = 0;y &= 0x1;x &= 0xf; /限制x不能大于15,y不能大于1while (ddatalistlength0x19) /若到達(dá)字串尾則退出if (x =7000)|flag=1) /超出測量范圍 flag=0; displaylistchar(0, 0, table1); else disbuff0=s%10; disbuff1=s/10%10; disbuff2=s/100%10; disbuff3=s/1000; displaylistchar(0, 0, table); displayonechar(9, 0, asciidisbuff3); displayonechar(10, 0, asciidisbuff2); displayonechar(1

溫馨提示

  • 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

提交評論