畢業(yè)設(shè)計(jì)論文基于單片機(jī)的超聲波測(cè)距系統(tǒng)論文_第1頁(yè)
畢業(yè)設(shè)計(jì)論文基于單片機(jī)的超聲波測(cè)距系統(tǒng)論文_第2頁(yè)
畢業(yè)設(shè)計(jì)論文基于單片機(jī)的超聲波測(cè)距系統(tǒng)論文_第3頁(yè)
畢業(yè)設(shè)計(jì)論文基于單片機(jī)的超聲波測(cè)距系統(tǒng)論文_第4頁(yè)
畢業(yè)設(shè)計(jì)論文基于單片機(jī)的超聲波測(cè)距系統(tǒng)論文_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)報(bào)告書 課 題: 超聲波測(cè)距報(bào)警系統(tǒng) 專 業(yè): 班 級(jí): 學(xué) 號(hào): 學(xué)生姓名: 目錄摘要11 緒論21.1項(xiàng)目研究背景及意義22 總體設(shè)計(jì)方案及論證22.1 總體方案設(shè)計(jì)23 硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)33.1 主控制模塊33.2 電源設(shè)計(jì)43.3 超聲波測(cè)試模塊43.3.1 超聲波的特性53.3.2 超聲波換能器63.4 超聲波傳感器原理83.5 測(cè)距分析113.6 時(shí)鐘電路的設(shè)計(jì)133.7 復(fù)位電路的設(shè)計(jì)133.8 聲音報(bào)警電路的設(shè)計(jì)144 軟件設(shè)計(jì)154.1 主程序工作流程圖155 系統(tǒng)調(diào)試過(guò)程165.1 原理圖和印制板圖繪制165.1.1 在dxp軟件中繪制原理圖165.1.2 在

2、dxp軟件繪制pcb圖175.2 keil程序調(diào)試185.3 實(shí)物仿真調(diào)試18總結(jié)20參考文獻(xiàn)21附 錄一:原理圖22附錄二:實(shí)物圖23附錄三:物料清單24附錄四:程序源代碼25摘要stc89c52是stc系列單片機(jī)里應(yīng)用比較廣泛的一款,在自動(dòng)控制領(lǐng)域里享有很高的價(jià)值,以其易用性和多功能性受到了廣大電子設(shè)計(jì)愛(ài)好者的好評(píng)。本次設(shè)計(jì)主要是利用stc89c52單片機(jī)、超聲波傳感器完成測(cè)距報(bào)警系統(tǒng)的制作,以stc89c52為主控芯片,利用超聲波對(duì)距離的檢測(cè),將前方物體的距離探測(cè)出來(lái),然后單片機(jī)處理運(yùn)算,與設(shè)定的報(bào)警距離值進(jìn)行比較判斷,當(dāng)測(cè)得距離小于設(shè)定值時(shí),stc89c52發(fā)出指令控制蜂鳴器報(bào)警。關(guān)鍵

3、詞:超聲波傳感器 stc89c52 1 緒論1.1 項(xiàng)目研究背景及意義由于超聲測(cè)距是一種非接觸檢測(cè)技術(shù),不受光線、被測(cè)對(duì)象顏色等的影響,較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境,具有少維護(hù)、不污染、高可靠、長(zhǎng)壽命等特點(diǎn)。因此可廣泛應(yīng)用于紙業(yè)、礦業(yè)、電廠、化工業(yè)、水處理廠、污水處理廠、農(nóng)業(yè)用水、環(huán)保檢測(cè)、食品(酒業(yè)、飲料業(yè)、添加劑、食用油、奶制品)、防汛、水文、明渠、空間定位、公路限高等行業(yè)中。可在不同環(huán)境中進(jìn)行距離準(zhǔn)確度在線標(biāo)定,可直接用于水、酒、糖、飲料等液位控制,可進(jìn)行差值設(shè)定,直接顯示各種液位罐的液位、料位高度。因此,超聲在空氣中測(cè)距在特殊環(huán)境下有較廣泛的應(yīng)用。利用超聲

4、波檢測(cè)往往比較迅速、方便、計(jì)算簡(jiǎn)單、易于實(shí)現(xiàn)實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用的指標(biāo)要求,因此為了使移動(dòng)機(jī)器人能夠自動(dòng)躲避障礙物行走,就必須裝備測(cè)距系統(tǒng),以使其及時(shí)獲取距障礙物的位置信息(距離和方向)。因此超聲波測(cè)距在移動(dòng)機(jī)器人的研究上得到了廣泛的應(yīng)用。同時(shí)由于超聲波測(cè)距系統(tǒng)具有以上的這些優(yōu)點(diǎn),因此在汽車倒車?yán)走_(dá)的研制方面也得到了廣泛的應(yīng)用。2 總體設(shè)計(jì)方案及論證2.1 總體方案設(shè)計(jì) 本設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)部分。模塊劃分為數(shù)據(jù)采集、按鍵控制、四位數(shù)碼管顯示、報(bào)警等子模塊。電路結(jié)構(gòu)可劃分為:超聲波傳感器、蜂鳴器、單片機(jī)控制電路。就此設(shè)計(jì)的核心模塊來(lái)說(shuō),單片機(jī)就是設(shè)計(jì)的中心單元,所以

5、此系統(tǒng)也是單片機(jī)應(yīng)用系統(tǒng)的一種應(yīng)用。單片機(jī)應(yīng)用系統(tǒng)也是有硬件和軟件組成。硬件包括單片機(jī)、輸入/輸出設(shè)備、以及外圍應(yīng)用電路等組成的系統(tǒng),軟件是各種工作程序的總稱。單片機(jī)應(yīng)用系統(tǒng)的研制過(guò)程包括總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)等幾個(gè)階段。系統(tǒng)采用stc89c52單片機(jī)作為核心控制單元,當(dāng)測(cè)得的距離小于設(shè)定距離時(shí),主控芯片將測(cè)得的數(shù)值與設(shè)定值進(jìn)行比較處理。然后控制蜂鳴器報(bào)警。系統(tǒng)總體的設(shè)計(jì)方框圖如圖1所示。電源stc89c52主控制器模塊超聲波傳感器模塊按鍵控制4位數(shù)碼管顯示模塊蜂鳴器報(bào)警模塊圖1 系統(tǒng)方框圖 3硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)3.1 主控制模塊主控制最小系統(tǒng)電路如圖2所示。 圖2 最小系統(tǒng)硬件電路

6、總設(shè)計(jì)見圖3,從以上的分析可知在本設(shè)計(jì)中要用到如下器件: stc89c52、超聲波傳感器、按鍵、四位數(shù)碼管、蜂鳴器等一些單片機(jī)外圍應(yīng)用電路。其中d1為電源工作指示燈。電路中用到3個(gè)按鍵,一個(gè)是設(shè)定鍵, 一個(gè)加鍵,一個(gè)減鍵。圖3 總設(shè)計(jì)電路圖3.2 電源設(shè)計(jì)電源部分的設(shè)計(jì)采用3節(jié)5號(hào)干電池4.5v供電或用示波器5v電壓供電。3.3 超聲波測(cè)試模塊 超聲波模塊采用現(xiàn)成的超聲波模塊,該模塊可提供 2cm-400cm 的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)高到 3mm。模塊包括超聲波發(fā)射器、接收器與控制電路。基本工作原理:采用 io 口 trig 觸發(fā)測(cè)距,給至少 10us 的高電平信號(hào);模塊自動(dòng)發(fā)送

7、8 個(gè) 40khz 的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;有信號(hào)返回,通過(guò) io 口 echo 輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速(340m/s)/2。實(shí)物如下圖4。其中vcc 供5v 電源,gnd 為地線,trig 觸發(fā)控制信號(hào)輸入,echo 回響信號(hào)輸出等四支線。圖4 超聲波模塊實(shí)物圖超聲波探測(cè)模塊hc-sr04的使用方法如下:io口觸發(fā),給trig口至少10us的高電平,啟動(dòng)測(cè)量;模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;有信號(hào)返回,通過(guò)io口echo輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,測(cè)試距離=

8、(高電平時(shí)間*340)/ 2,單位為m。程序中測(cè)試功能主要由兩個(gè)函數(shù)完成。 實(shí)現(xiàn)中采用定時(shí)器0進(jìn)行定時(shí)測(cè)量,8分頻,tcntt0預(yù)設(shè)值0xce,當(dāng)timer0溢出中斷發(fā)生2500次時(shí)為125ms,計(jì)算公式為(單位:ms):t = (定時(shí)器0溢出次數(shù) * (0xff - 0xce)/ 1000 其中定時(shí)器0初值計(jì)算依據(jù)分頻不同而有差異。3.3.1 超聲波的特性聲音是與人類生活緊密相關(guān)的一種自然現(xiàn)象。當(dāng)聲的頻率高到超過(guò)人耳聽覺(jué)的頻率極限(根據(jù)大量實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì),取整數(shù)為20000赫茲)時(shí),人們就會(huì)覺(jué)察不出周圍聲的存在,因而稱這種高頻率的聲為“超”聲。人的聽覺(jué)范圍如圖5所示。圖5 人的聽覺(jué)范圍 超聲波

9、的特性有:(1)束射特性由于超聲波的波長(zhǎng)短,超聲波射線可以和光線一樣,能夠反射、折射,也能聚焦,而且遵守幾何光學(xué)上的所有定律。即超聲波射線從一種物質(zhì)表面反射時(shí),入射角等于反射角,當(dāng)射線透過(guò)一種物質(zhì)進(jìn)入另一種密度不同的物質(zhì)時(shí)就會(huì)產(chǎn)生折射現(xiàn)象,也就是要改變它的傳播方向,兩種物質(zhì)的密度差別愈大,則折射率也愈大。(2)吸收特性聲波在各種介質(zhì)中傳播時(shí),隨著傳播距離的增加,其強(qiáng)度會(huì)逐漸減弱,這是因?yàn)榻橘|(zhì)要吸收掉它的部分能量。對(duì)于同一介質(zhì),聲波的頻率越高,介質(zhì)吸收就越強(qiáng)。對(duì)于一個(gè)頻率一定的聲波,在氣體中傳播時(shí)吸收尤為歷害,在液體中傳播時(shí)吸收就比較弱,在固體中傳播時(shí)吸收是最小的。(3)超聲波的能量傳遞特性超聲

10、波之所以能在各個(gè)工業(yè)部門中得到廣泛的應(yīng)用,主要原因還在于比聲波具有強(qiáng)大得多的功率。為什么有這么強(qiáng)大的功率呢?因?yàn)楫?dāng)聲波進(jìn)入某一介質(zhì)中時(shí),由于聲波的作用使物質(zhì)中的分子也隨之振動(dòng),振動(dòng)的頻率和聲波頻率樣,分子振動(dòng)的頻率決定了分子振動(dòng)的速度。頻率愈高速度愈大。物資分子由于振動(dòng)所獲得的能量除了與分子本身的質(zhì)量有關(guān)外,主要是由分子的振動(dòng)速度的平方?jīng)Q定的,所以如果聲波的頻率愈高,也就是物質(zhì)分子愈能得到更高的能量。超聲波的頻率比普通聲波要高出很多,所以它可以使物質(zhì)分子獲得很大的能量;換句話來(lái)說(shuō),超聲波本身就可以供給物質(zhì)分子足夠大的功率。 (4)超聲波的聲壓特性當(dāng)聲波進(jìn)入某物體時(shí),由于聲波振動(dòng)使物質(zhì)分子相互之

11、間產(chǎn)生壓縮和稀疏的作用,將使物質(zhì)所受的壓力產(chǎn)生變化。由于聲波振動(dòng)引起附加壓力現(xiàn)象叫聲壓作用。3.3.2 超聲波換能器完成產(chǎn)生超聲波和接收超聲波這種功能的裝置就是超聲波傳感器,習(xí)慣上稱為超聲換能器,或者超聲波探頭。超聲波探頭主要由壓電晶片組成,既可以發(fā)射超聲波,也可以接收超聲波。小功率超聲探頭多用作探測(cè)方面。它有許多不同的結(jié)構(gòu),可分直探頭(縱波)、斜探頭(橫波)、表面波探頭(表面波)、蘭姆波探頭(蘭姆波)、雙探頭(一個(gè)探頭反射、一個(gè)探頭接收)等。超聲探頭的核心是其塑料外套或者金屬外套中的一塊壓電晶片。構(gòu)成晶片的材料可以有許多種。由于晶片的大小,如直徑和厚度也各不相同,因此每個(gè)探頭的性能都是不同的

12、,我們使用前必須預(yù)先了解清楚該探頭的性能參數(shù)。超聲波傳感器的主要性能指標(biāo)包括:(1)工作頻率。工作頻率就是壓電晶片的共振頻率。當(dāng)加到它兩端的交流電壓的頻率和晶片的共振頻率相等時(shí),輸出的能量最大,靈敏度也最高。(2)工作溫度。由于壓電材料的居里點(diǎn)一般比較高,特別時(shí)診斷用超聲波探頭使用功率較小,所以工作溫度比較低,可以長(zhǎng)時(shí)間地工作而不失效。醫(yī)療用的超聲探頭的溫度比較高,需要單獨(dú)的制冷設(shè)備。(3)靈敏度。主要取決于制造晶片本身。機(jī)電耦合系數(shù)大,靈敏度高。人類能聽到的聲音頻率范圍為:20hz20khz,即為可聽聲波,超出此頻率范圍的聲音,即20hz以下頻率的聲音稱為低頻聲波,20khz以上頻率的聲音稱

13、為超聲波。超聲波為直線傳播方式,頻率越高,繞射能力越弱,但反射能力越強(qiáng)。為此,利用超聲波的這種性能就可制成超聲波傳感器。另外,超聲波在空氣中的傳播速度較慢,為340ms,這就使得超聲波傳感器使用變得非常簡(jiǎn)便。我們選用壓電式超聲波傳感器。它的探頭常用材料是壓電晶體和壓電陶瓷,是利用壓電材料的壓電效應(yīng)來(lái)進(jìn)行工作的。逆壓電效應(yīng)將高頻電振動(dòng)轉(zhuǎn)換成高頻機(jī)械振動(dòng),從而產(chǎn)生超聲波,可作為發(fā)射探頭;而利用正壓電效應(yīng),將超聲振動(dòng)波轉(zhuǎn)換成電信號(hào),可作為接收探頭。為了研究和利用超聲波,人們已經(jīng)設(shè)計(jì)和制成了許多種超聲波發(fā)生器。總體上講,超聲波發(fā)生器大體可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超

14、聲波。電氣方式包括壓電型、磁致伸縮型和電動(dòng)型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。 圖6 超聲波傳感器結(jié)構(gòu) 壓電式超聲波發(fā)生器實(shí)際上是利用壓電晶體的諧振來(lái)工作的。超聲波發(fā)生器內(nèi)部結(jié)構(gòu)如圖所示,它有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng),便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接收器了。如圖6所示。3.4 超聲波傳

15、感器原理市面上常見的超聲波傳感器多為開放型,其內(nèi)部結(jié)構(gòu)如圖7所示,一個(gè)復(fù)合式振動(dòng)器被靈活地固定在底座上。該復(fù)合式振動(dòng)器是由諧振器以及一個(gè)金屬片和一個(gè)壓電陶瓷片組成的雙壓電晶片元件振動(dòng)器。諧振器呈喇叭形,目的是能有效地輻射由于振動(dòng)而產(chǎn)生的超聲波,并且可以有效地使超聲波聚集在振動(dòng)器的中央部位。當(dāng)電壓作用于壓電陶瓷時(shí),就會(huì)隨電壓和頻率的變化產(chǎn)生機(jī)械變形。另一方面,當(dāng)振動(dòng)壓電陶瓷時(shí),則會(huì)產(chǎn)生一個(gè)電荷。利用這一原理,當(dāng)給由兩片壓電陶瓷或一片壓電陶瓷和一個(gè)金屬片構(gòu)成的振動(dòng)器,所謂叫雙壓電晶片元件,施加一個(gè)電信號(hào)時(shí),就會(huì)因彎曲振動(dòng)發(fā)射出超聲波。相反,當(dāng)向雙壓電晶片元件施加超聲振動(dòng)時(shí),就會(huì)產(chǎn)生一個(gè)電信號(hào)。基于

16、以上作用,便可以將壓電陶瓷用作超聲波傳感器。圖7 超聲波內(nèi)部結(jié)構(gòu)超聲波是一種在彈性介質(zhì)中的機(jī)械振蕩,其頻率超過(guò)20khz,分橫向振蕩和縱向振蕩兩種,超聲波可以在氣體、液體及固體中傳播,其傳播速度不同。它有折射和反射現(xiàn)象,且在傳播過(guò)程中有衰減。超聲波的基本特性如下所述:1 波長(zhǎng)波的傳播速度是用頻率乘以波長(zhǎng)來(lái)表示。電磁波的傳播速度是3×108m/s,而聲波在空氣中的傳播速度很慢,約為344m/s (20時(shí))。在這種比較低的傳播速度下,波長(zhǎng)很短,這就意味著可以獲得較高的距離和方向分辨率。正是由于這種較高的分辨率特性,才使我們有可能在進(jìn)行測(cè)量時(shí)獲得很高的精確度。2 反射要探測(cè)某個(gè)物體是否存在

17、,超聲波就能夠在該物體上得到反射。由于金屬、木材、混凝土、玻璃、橡膠和紙等可以反射近乎100的超聲波,因此我們可以很容易地發(fā)現(xiàn)這些物體。由于布、棉花、絨毛等可以吸收超聲波,因此很難利用超聲波探測(cè)到它們。同時(shí),由于不規(guī)則反射,通??赡芎茈y探測(cè)到凹凸表面以及斜坡表面的物體,這些因素決定了超聲波的理想測(cè)試環(huán)境是在空曠的場(chǎng)所,并且測(cè)試物體必須反射超聲波。3 溫度效應(yīng)聲波傳播的速度“c”可以用下列公式表示。c=331.5+0.607t (m/s)式中,t=溫度 ()也就是說(shuō),聲音傳播速度隨周圍溫度的變化而有所不同。因此,要精確的測(cè)量與某個(gè)物體之間的距離時(shí),始終檢查周圍溫度是十分必要的,尤其冬季室內(nèi)外溫差

18、較大,對(duì)超聲波測(cè)距的精度影響很大,此時(shí)可用18b20作溫度補(bǔ)償來(lái)減小溫度變化所帶來(lái)的測(cè)量誤差,考慮到本設(shè)計(jì)的測(cè)試環(huán)境是在室內(nèi),而且超聲波主要是用于測(cè)距功能,對(duì)測(cè)量精度要求不高,所以關(guān)于溫度效應(yīng)對(duì)系統(tǒng)的影響問(wèn)題在這里不做深入的探討。4. 衰減傳播到空氣中的超聲波強(qiáng)度隨距離的變化成比例地減弱,這是因?yàn)檠苌洮F(xiàn)象所導(dǎo)致的在球形表面上的擴(kuò)散損失,也是因?yàn)榻橘|(zhì)吸收能量產(chǎn)生的吸收損失。如圖8所示,超聲波的頻率越高,衰減率就越高,超聲波的傳播距離也就越短,由此可見超聲波的衰減特性直接影響了超聲波傳感器有效距離。圖8 聲壓在不同距離下的衰減特性5聲壓特性聲壓級(jí) (s.p.l.) 是表示音量的單位,利用下列公式予

19、以表示。s.p.l.= 20logp/pre (db)式中,“p”為有效聲壓 (bar),“pre”為參考聲壓 (2×10-4bar)如圖6所示為幾種常用超聲波傳感器的聲壓圖。圖9 超聲波傳感器的聲壓圖6靈敏度特性靈敏度是表示聲音接收級(jí)的單位,使用下列公式予以表示。靈敏度= 20log e/p (db)式中,“e”為所產(chǎn)生的電壓 (vrms),“p”為輸入聲壓(bar)。超聲波傳感器的靈敏度直接影響著系統(tǒng)測(cè)距范圍,如圖7所示為幾種中常見超聲波傳感器的靈敏度圖,從圖中可以發(fā)現(xiàn)40khz時(shí)傳感器的聲壓級(jí)最高,也就是說(shuō)40khz時(shí)所對(duì)應(yīng)的靈敏度最高。圖10 超聲波傳感器靈敏度示意圖7輻射特

20、性把超聲波傳感器安裝在臺(tái)面上。然后,測(cè)量角度與聲壓 (靈敏度) 之間的關(guān)系。為了準(zhǔn)確地表達(dá)輻射,與前部相對(duì)比,聲壓 (靈敏度) 級(jí)衰減6db的角度被稱為半衰減角度,用1/2表示。超聲波設(shè)備的外表面尺寸較小易于獲得精確的輻射角度。如圖11所示為幾種常見超聲波傳感器的輻射特性示意圖。圖11 超聲波傳感器輻射特性示意圖分析以上研究結(jié)果不難看出超聲波傳感器工作在40khz范圍內(nèi)具有最大的聲壓級(jí)和最高的靈敏度。3.5 測(cè)距分析超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來(lái),超聲波接收器收到反射波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為340m

21、/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離(s),即:s=340t/2最常用的超聲測(cè)距的方法是回聲探測(cè)法,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)計(jì)數(shù)器開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物面阻擋就立即反射回來(lái),超聲波接收器收到反射回的超聲波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物面的距離s,即:s=340t/2。 由于超聲波也是一種聲波,其聲速v與溫度有關(guān)。在使用時(shí),如果傳播介質(zhì)溫度變化不大,則可近似認(rèn)為超聲波速度在傳播的過(guò)程中是基本不變的。如果對(duì)測(cè)距精度要求很高,則應(yīng)通過(guò)溫度補(bǔ)償?shù)姆椒▽?duì)測(cè)

22、量結(jié)果加以數(shù)值校正。聲速確定后,只要測(cè)得超聲波往返的時(shí)間,即可求得距離。這就是超聲波測(cè)距儀的基本原理。如圖12所示: 超聲波發(fā)射 障礙物 s h 超聲波接收?qǐng)D12 超聲波的測(cè)距原理 (3-1) (3-2)式中:l-兩探頭之間中心距離的一半.又知道超聲波傳播的距離為: ( 3-3)式中:v超聲波在介質(zhì)中的傳播速度; t超聲波從發(fā)射到接收所需要的時(shí)間.將(32)、(33)代入(3-1)中得: ( 3-4)其中,超聲波的傳播速度v在一定的溫度下是一個(gè)常數(shù)(例如在溫度t=30度時(shí),v=349m/s);當(dāng)需要測(cè)量的距離h遠(yuǎn)遠(yuǎn)大于l時(shí),則(34)變?yōu)? ( 3-5) 所以,只要需要測(cè)量出超聲波傳播的時(shí)間t

23、,就可以得出測(cè)量的距離h.3.6 時(shí)鐘電路的設(shè)計(jì)xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。因?yàn)橐粋€(gè)機(jī)器周期含有6個(gè)狀態(tài)周期,而每個(gè)狀態(tài)周期為2個(gè)振蕩周期,所以一個(gè)機(jī)器周期共有12個(gè)振蕩周期,如果外接石英晶體振蕩器的振蕩頻率為12mhz,一個(gè)振蕩周期為1/12us,故而一個(gè)機(jī)器周期為1us。如圖13所示為時(shí)鐘電路。圖13 時(shí)鐘電路圖3.7 復(fù)位電路的設(shè)計(jì)復(fù)位方法一般有上電自動(dòng)復(fù)位和外部按鍵手動(dòng)復(fù)位,單片機(jī)在時(shí)鐘電路工作以后, 在reset端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)

24、位操作。例如使用晶振頻率為12mhz時(shí),則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)不小于2us。本設(shè)計(jì)采用的是自動(dòng)復(fù)位電路。如圖14示為復(fù)位電路。圖14 復(fù)位電路圖3.8 聲音報(bào)警電路的設(shè)計(jì)如下圖所示,用一個(gè)speaker和三極管、電阻接到單片機(jī)的p13引腳上,構(gòu)成聲音報(bào)警電路,如圖15示為聲音報(bào)警電路。圖15 聲音報(bào)警電路圖3.9 顯示模塊 顯示模塊采用數(shù)碼管顯示接口電路如圖16圖16 數(shù)碼管電路4 軟件設(shè)計(jì)4.1 主程序工作流程圖按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖17所示;系統(tǒng)初始化報(bào)警結(jié)束測(cè)得距離與設(shè)定值比較,小于距離比較,報(bào)警是否持續(xù)開始啟動(dòng)報(bào)警電路開始報(bào)警再次檢測(cè)等待下次報(bào)警結(jié)束y

25、nnyyn圖17 主程序工作流程圖超聲波探測(cè)程序流程圖如下圖18所示:圖18 超聲波探測(cè)程序流程圖5系統(tǒng)調(diào)試過(guò)程通過(guò)上面的設(shè)計(jì),設(shè)計(jì)已經(jīng)基本完成。下面主要實(shí)現(xiàn)altium designer的原理圖、印制板圖的繪制和做相關(guān)檢測(cè),對(duì)keil進(jìn)行相應(yīng)的檢查和調(diào)試。5.1原理圖和印制板圖繪制5.1.1 在dxp軟件中繪制原理圖打開dxp軟件,繪制系統(tǒng)的原理圖。原理圖包括能輸出時(shí)鐘電路,驅(qū)動(dòng)電路以及復(fù)位電路。繪制完成的原理圖如圖19所示:圖19 原理圖5.1.2 在dxp軟件繪制pcb圖由原理圖生成的pcb圖如圖20所示:圖20 pcb圖5.2 keil程序調(diào)試程序調(diào)試結(jié)果如圖21所示:creating

26、 hex file from "基于51單片機(jī)超聲波測(cè)距報(bào)警系統(tǒng).c."基于51單片機(jī)超聲波測(cè)距報(bào)警系統(tǒng)" - 0 error(s), 0 warning(s).圖22 keil程序調(diào)試圖5.3 實(shí)物仿真調(diào)試本次調(diào)試設(shè)置超聲波測(cè)量報(bào)警距離為30cm(報(bào)警距離可調(diào),其調(diào)節(jié)范圍為20cm-400cm之間)。報(bào)警狀態(tài)圖如圖23所示 圖23 報(bào)警狀態(tài)圖 非報(bào)警狀態(tài)如圖24所示圖24 非報(bào)警狀態(tài)總結(jié)本設(shè)計(jì)研究了一種基于單片機(jī)技術(shù)的超聲波智能測(cè)距報(bào)警系統(tǒng)。該系統(tǒng)通過(guò)以stc89c52單片機(jī)為工作處理器核心,超聲波傳感器,它是一種新穎的被動(dòng)式超聲波探測(cè)器件,能夠以非接觸測(cè)出前方

27、物體距離,并將其轉(zhuǎn)化為相應(yīng)的電信號(hào)輸出. 其算法設(shè)計(jì)原理為超聲波發(fā)生器t在某一時(shí)刻發(fā)出一個(gè)超聲波信號(hào),當(dāng)這個(gè)超聲波遇到被測(cè)物體后反射回來(lái),就被超聲波接收器r所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號(hào)到接收到返回信號(hào)所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)單片機(jī)內(nèi)部的定時(shí)器t0,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)收到超聲波反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在int1端產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)外部中斷請(qǐng)求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡(jiǎn)單、易懂、靈活;且安裝方便、智能性高

28、、誤報(bào)率低。隨著現(xiàn)代人們安全意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快速發(fā)展,相信報(bào)警器必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。參考文獻(xiàn)1 吳政江. 單片機(jī)控制紅外線防盜報(bào)警器j. 錦州師范學(xué)院學(xué)報(bào), 2001.2 宋文緒. 傳感器與檢測(cè)技術(shù)m. 北京: 高等教育出版社, 2004.3 余錫存. 單片機(jī)原理及接口技術(shù)m. 西安: 西安電子科技大學(xué)出版社, 2000.4 唐桃波, 陳玉林. 基于at89c51的智能無(wú)線安防報(bào)警器 j. 電子設(shè)計(jì)應(yīng)用, 2003, 5(6): 4951.5 李全利. 單片機(jī)原理及接口技術(shù)m. 北京: 北京航空航天大學(xué)出版社, 2004.6 薛均義, 張彥斌. mcs-51系列單片微

29、型計(jì)算機(jī)及其應(yīng)用m. 西安: 西安交通大學(xué)出版社, 2005.7 徐愛(ài)鈞, 彭秀華. 單片機(jī)高級(jí)語(yǔ)言c51應(yīng)用程序設(shè)計(jì)m. 北京: 北京航空航天大學(xué)出版社, 2006.8 康華光. 電子技術(shù)基礎(chǔ)(模擬部分)m. 北京: 高等教育出版社, 2004.附 錄一:原理圖附錄二:實(shí)物圖附錄三:物料清單元件注解元件類型元件稱號(hào)數(shù)量10k電阻r14110uf電容c1112m晶振y11d 指示燈發(fā)光二極管d11ds04數(shù)碼管ds11sw-灰色 電源開關(guān)開關(guān)sw11u1單片機(jī)u11蜂鳴器蜂鳴器b119012三極管q5120電容c2, c32header 4超聲波接口p11sw-pb 獨(dú)立按鍵按鍵s1, s2,

30、 s3, s449012三極管q1, q2, q3, q442k 電阻電阻r4, r5, r6, r7, r13, r1561k電阻r1, r2, r3, r8, r9, r10, r11, r128附錄四:程序源代碼#include <reg52.h>#include <intrins.h>#include "eepom52.h"#define uchar unsigned char #define uint unsigned int/數(shù)碼管段選定義 0 1 2 3 4 56 7 8 9uchar code smg_du=0xc0,0xf9,0xa

31、4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff; /斷碼/數(shù)碼管位選定義uchar code smg_we=0xe0,0xd0,0xb0,0x70;uchar dis_smg8 =0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;sbit smg_we1 = p34; /數(shù)碼管位選定義sbit smg_we2 = p35;sbit smg_we3 = p36;sbit smg_we4 = p37;sbit c_send = p32;/超聲波發(fā)射sbit c_reciv

32、e = p33;/超聲波接收uchar flag_hc_value; /超聲波中間變量sbit beep = p23; /蜂鳴器io口定義bit flag_key_b_en,flag_key_set_en; /按鍵蜂鳴器使能uchar smg_i = 3; /顯示數(shù)碼管的個(gè)位數(shù)bit flag_300ms ;bit key_500ms ;long distance; /距離uint set_d; /距離bit flag_csb_juli; /超聲波超出量程uint flag_time0; /用來(lái)保存定時(shí)器0的時(shí)候的/ 按鍵的io變量的定義uchar key_can; /按鍵值的變量uchar

33、zd_break_en,zd_break_value; /自動(dòng)退出設(shè)置界面uchar menu_shudu = 10; /用來(lái)控制連加的速度bit flag_lj_en; /按鍵連加使能bit flag_lj_3_en; /按鍵連3次連加后使能 加的數(shù)就越大了 uchar key_time,flag_value; /用做連加的中間變量uchar menu_1; /菜單設(shè)計(jì)的變量uchar a_a;/*1ms延時(shí)函數(shù)*/void delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<120;j+);/*處理距離函數(shù)*/void smg_

34、display()dis_smg0 = smg_dudistance % 10;dis_smg1 = smg_dudistance / 10 % 10;dis_smg2 = smg_dudistance / 100 % 10 & 0x7f;/*把數(shù)據(jù)保存到單片機(jī)內(nèi)部eepom中*/void write_eepom()sectorerase(0x2000);byte_write(0x2000, set_d % 256);byte_write(0x2001, set_d / 256);byte_write(0x2058, a_a);/*把數(shù)據(jù)從單片機(jī)內(nèi)部eepom中讀出來(lái)*/void re

35、ad_eepom()set_d = byte_read(0x2001);set_d <<= 8;set_d |= byte_read(0x2000);a_a = byte_read(0x2058);/*開機(jī)自檢eepom初始化*/void init_eepom()read_eepom();/先讀if(a_a != 1)/新的單片機(jī)初始單片機(jī)內(nèi)問(wèn)eepomset_d = 100;a_a = 1;write_eepom();/*獨(dú)立按鍵處理函數(shù)*/void key()static uchar key_new = 0,key_old = 0,key_value = 0;if(key_ne

36、w = 0) /按鍵松開的時(shí)候做松手檢測(cè)if(p2 & 0x07) = 0x07)key_value +;else key_value = 0;if(key_value >= 5)key_value = 0;key_new = 1;flag_lj_en = 0;/關(guān)閉連加使能flag_lj_3_en = 0;/關(guān)閉3秒后使能flag_value = 0;/清零key_time = 0;write_eepom();else if(p2 & 0x07) != 0x07)key_value +; /按鍵按下的時(shí)候else key_value = 0;if(key_value &

37、gt;= 5)key_value = 0;key_new = 0;flag_lj_en = 1; /連加使能zd_break_en = 1; /自動(dòng)退出設(shè)置界使能zd_break_value = 0; /自動(dòng)退出設(shè)置界變量清零flag_key_b_en = 1; /按鍵蜂鳴器使能key_can = 20;if(key_500ms = 1)/連加key_500ms = 0;key_new = 0;key_old = 1;zd_break_value = 0;if(key_new = 0) && (key_old = 1)switch(p2 & 0x07)case 0x06

38、: key_can = 3; break; /得到k2鍵值case 0x05: key_can = 2; break; /得到k3鍵值case 0x03: key_can = 1; break; /得到k4鍵值/dis_smg3 = smg_dukey_can % 10; key_old = key_new; void smg_we_switch(uchar i)switch(i)case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;case 1: smg_we1 = 1; smg_we2 = 0; smg_we3

39、= 1; smg_we4 = 1; break;case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break;case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break;/*數(shù)碼顯示函數(shù)*/void display()static uchar i; i+;if(i >= smg_i)i = 0;/p1 = 0xff; /段選 /p3 = 0xf0 | (p3 & 0x0f); /位選/p3 = smg_wei | (p3 & 0x0

40、f); /位選smg_we_switch(i);p1 = dis_smgi; /段選 void delay()_nop_(); /執(zhí)行一條_nop_()指令就是1us_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); /*超聲波測(cè)距程序*/void send_wave()c_send = 1; /10us的高電平觸發(fā) delay();c_send = 0; th0 = 0; /給定時(shí)器0清零tl0 = 0;tr0 = 0; /關(guān)定時(shí)器0定時(shí)flag_hc_value = 0;while(!c_recive); /當(dāng)c_recive為零時(shí)等

41、待tr0=1;while(c_recive) /當(dāng)c_recive為1計(jì)數(shù)并等待flag_time0 = th0 * 256 + tl0;if(flag_hc_value > 1) | (flag_time0 > 65000) /當(dāng)超聲波超過(guò)測(cè)量范圍時(shí),顯示3個(gè)888tr0 = 0;flag_csb_juli = 2;distance = 888;flag_hc_value = 0;break ;else flag_csb_juli = 1;if(flag_csb_juli = 1)tr0=0; /關(guān)定時(shí)器0定時(shí)distance = th0; /讀出定時(shí)器0的時(shí)間distance

42、= distance * 256 + tl0;distance +=( flag_hc_value * 65536);/算出超聲波測(cè)距的時(shí)間 得到單位是msdistance *= 0.017; / 0.017 = 340m / 2 = 170m = 0.017m 算出來(lái)是米if(distance > 350) /距離 = 速度 * 時(shí)間distance = 888; /如果大于3.8m就超出超聲波的量程 /*定時(shí)器0、定時(shí)器1初始化*/void time_init() ea = 1; /開總中斷tmod = 0x11; /定時(shí)器0、定時(shí)器1工作方式1et0 = 1; /開定時(shí)器0中斷 t

43、r0 = 1; /允許定時(shí)器0定時(shí)et1 = 1; /開定時(shí)器1中斷 tr1 = 1; /允許定時(shí)器1定時(shí)/*按鍵處理數(shù)碼管顯示函數(shù)*/void key_with()if(key_can = 1)menu_1 +;if(menu_1 >= 2)menu_1 = 0;if(menu_1 = 0)menu_shudu = 20;dis_smg0 = smg_dudistance % 10; dis_smg1 = smg_dudistance / 10 % 10 ; dis_smg2 = smg_dudistance / 100 % 10 & 0x7f; smg_i = 3;if(me

44、nu_1 = 1)menu_shudu = 1;dis_smg0 = smg_duset_d % 10; dis_smg1 = smg_duset_d / 10 % 10; dis_smg2 = smg_duset_d / 100 % 10 & 0x7f ; dis_smg3 = 0x88;smg_i = 4;if(menu_1 = 1)/設(shè)置高溫報(bào)警if(flag_lj_3_en = 0) /三次連加之后速度加快menu_shudu = 10 ; /500ms 加減一次else menu_shudu = 1; /250ms 加減一次if(key_can = 2)set_d + ;/按鍵按下未松開自動(dòng)加三次if(set_d > 350)set_d = 350;dis_smg0 = smg_duset_d % 10; /取小數(shù)顯示dis_smg1 = smg_duset_d / 10 % 10 ; /取個(gè)位顯示dis_smg2 = smg_duset_d / 100 % 10 &

溫馨提示

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

評(píng)論

0/150

提交評(píng)論