超聲波測(cè)距系統(tǒng) 論文_第1頁
超聲波測(cè)距系統(tǒng) 論文_第2頁
超聲波測(cè)距系統(tǒng) 論文_第3頁
超聲波測(cè)距系統(tǒng) 論文_第4頁
超聲波測(cè)距系統(tǒng) 論文_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 畢業(yè)設(shè)計(jì)超聲波測(cè)距系統(tǒng)姓 名 系 別、 專 業(yè) 導(dǎo) 師 姓 名、職 稱 完 成 時(shí) 間 摘要stc89c52是stc系列單片機(jī)里應(yīng)用比較廣泛的一款,在自動(dòng)控制領(lǐng)域里享有很高的價(jià)值,以其易用性和多功能性受到了廣大電子設(shè)計(jì)愛好者的好評(píng)。本次設(shè)計(jì)主要是利用stc89c52單片機(jī)、超聲波傳感器完成測(cè)距報(bào)警系統(tǒng)的制作,以stc89c52為主控芯片,利用超聲波對(duì)距離的檢測(cè),將前方物體的距離探測(cè)出來,然后單片機(jī)處理運(yùn)算,與設(shè)定的報(bào)警距離值進(jìn)行比較判斷,當(dāng)測(cè)得距離小于設(shè)定值時(shí),stc89c52發(fā)出指令控制蜂鳴器報(bào)警。通過ds18b20進(jìn)行溫度補(bǔ)償,減少溫度帶來的干擾,提高測(cè)量精度。關(guān)鍵詞:超聲波傳感器、st

2、c89c52、ds18b20 1 緒論1.1 課題背景及意義 由于超聲測(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è)中??稍诓煌h(huán)境中進(jìn)行距離準(zhǔn)確度在線標(biāo)定,可直接用于水、酒、糖、飲料等液位控制,可進(jìn)行差值設(shè)定,直接顯示各種液位罐的液位、料位高度。因此,超聲在空氣中測(cè)距在特殊環(huán)境下有較廣泛的應(yīng)用。利用超聲波檢測(cè)往

3、往比較迅速、方便、計(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)用。1.2 本設(shè)計(jì)完成的工作(1)熟悉51單片機(jī)集成開發(fā)環(huán)境,運(yùn)用c語言編寫工程文件;(2)熟練應(yīng)用所選用單片機(jī)的內(nèi)部結(jié)構(gòu)、資源,以及軟硬件調(diào)試設(shè)備的基本方法;(3)自行構(gòu)建基于單片機(jī)的最小系統(tǒng),完成相關(guān)硬件電路的設(shè)計(jì)實(shí)現(xiàn);(4)了解超聲波測(cè)距原理,溫度補(bǔ)償實(shí)

4、現(xiàn)方法。 2 總體方案設(shè)計(jì) 本設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)部分。模塊劃分為超聲波、按鍵控制、四位數(shù)碼管顯示、報(bào)警、ds18b20溫度補(bǔ)償?shù)茸幽K。就此設(shè)計(jì)的核心模塊來說,單片機(jī)就是設(shè)計(jì)的中心單元,所以此系統(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)的研制過程包進(jìn)行比較處理。然后控制蜂鳴器報(bào)警。系統(tǒng)總體的設(shè)計(jì)方框圖如圖1所示。電源stc89c52主控制器模塊超聲波傳感器模塊按鍵控制ds18b20溫度補(bǔ)償4位數(shù)碼管顯示模塊蜂鳴器報(bào)警模塊 圖1 系統(tǒng)總體方框圖2.1 硬件設(shè)計(jì)2

5、.1.1 主控制器模塊方案1: 選用一片cpld(如epm7128lc84-15)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。cpld具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點(diǎn),可利用vhdl語言進(jìn)行編寫開發(fā)。但cpld在控制上較單片機(jī)有較大的劣勢(shì)。同時(shí),cpld的處理速度非???,而超聲波測(cè)距對(duì)處理速度要求不可能太高,那么對(duì)系統(tǒng)處理信息的要求也就不會(huì)太高,在這一點(diǎn)上,mcu就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。方案2: 采用單片機(jī)作為整個(gè)系統(tǒng)的核心,用其處理超聲波數(shù)據(jù),以實(shí)現(xiàn)其既定的性能指標(biāo)。充分分析我們的

6、系統(tǒng),其關(guān)鍵在于實(shí)現(xiàn)超聲波測(cè)距,而在這一點(diǎn)上,單片機(jī)就顯現(xiàn)出來它的優(yōu)勢(shì)控制簡(jiǎn)單、方便、快捷。這樣一來,單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋址操作功能、價(jià)格低廉等優(yōu)點(diǎn)。因此,這種方案是一種較為理想的方案。在綜合考慮了傳感器等諸多因素后,我們決定采用一片單片機(jī),充分利用stc89c52單片機(jī)的資源。 綜上所述,我們選擇了方案2。2.1.3 電源模塊 由于本系統(tǒng)采用電池供電,我們考慮了如下幾種方案為系統(tǒng)供電。方案1:采用12v蓄電池為系統(tǒng)供電。蓄電池具有較強(qiáng)的電流驅(qū)動(dòng)能力以及穩(wěn)定的電壓輸出性能。但是蓄電池的體積過于龐大,在使用極為不方便。因此我們放棄了此方案。方案2:采用4節(jié)

7、1.5 v干電池共4.5做電源,經(jīng)過實(shí)驗(yàn)驗(yàn)證系統(tǒng)工作時(shí),單片機(jī)、傳感器的工作電壓穩(wěn)定能夠滿足系統(tǒng)的要求,而且電池更換方便。綜上所述采用方案22.1.4 顯示模塊方案1:用lcd液晶進(jìn)行顯示。lcd由于其顯示清晰,顯示內(nèi)容豐富、清晰,顯示信息量大,使用方便,顯示快速而得到了廣泛的應(yīng)用。對(duì)于此系統(tǒng)我們顯示要求并不是很高,用lcd顯示沒有充分發(fā)揮出lcd的顯示優(yōu)勢(shì),因此我們放棄了此方案。方案2: 用數(shù)碼管進(jìn)行顯示。數(shù)碼管由于顯示速度快,使用簡(jiǎn)單,顯示效果簡(jiǎn)潔明了而得到了廣泛應(yīng)用。在這里我們需要顯示的是測(cè)得的距離值和溫度值,用數(shù)碼管顯示足以滿足要求,因此我們選擇了此方案。2.1.5 溫度補(bǔ)償模塊方案1

8、: 采用pt100作為溫度補(bǔ)償電路的溫度傳感器。pt100傳感器是利用鉑電阻的阻值隨溫度變化而變化、并呈一定函數(shù)關(guān)系的特性來進(jìn)行測(cè)溫的,具有抗振動(dòng)、穩(wěn)定性好、準(zhǔn)確度高、耐高壓等優(yōu)點(diǎn)。但使用起來比較復(fù)雜。方案2: 采用ds18b20作為溫度補(bǔ)償電路的溫度傳感器。ds18b20的數(shù)字溫度輸出通過 “ 一線 ” 總線( 1-wire是一種獨(dú)特的數(shù)字信號(hào)總線協(xié)議,它將獨(dú)特的電源線和信號(hào)線復(fù)合在一起,僅使用一條口線;每個(gè)芯片唯一編碼,支持聯(lián)網(wǎng)尋址、零功耗等待等,是所需硬件連線最少的一種總線)這種獨(dú)特的方式,可以使多個(gè) ds18b20方便地組建成傳感器網(wǎng)絡(luò),為整個(gè)測(cè)量系統(tǒng)的建立和組合提供了更大可能性。它在

9、測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面比其他溫度傳感器有了很大的進(jìn)步,給用戶帶來了更方便的使用和更令人滿意的效果。 通過比較,ds18b20直接輸出數(shù)字溫度值,不需要校正,因此選擇方案2。2.1.6 報(bào)警模塊方案1: 采用語音芯片提示,優(yōu)點(diǎn)可以自由設(shè)定要提示的聲音。缺點(diǎn)使用復(fù)雜,需要專門的編程軟件,成本高控制復(fù)雜,不便于普及。方案2: 采用蜂鳴器提示,電路簡(jiǎn)單實(shí)用,可靠性高。綜上所述我們選擇方案22.2 最終方案經(jīng)過反復(fù)論證,我們最終確定了如下方案:1、主控芯片采用stc89c52單片機(jī)作為主控制器。2、用3節(jié)干電池供電。3、用數(shù)碼管顯示。4、采用ds18b20做溫度補(bǔ)償。3 硬件實(shí)現(xiàn)及單

10、元電路設(shè)計(jì)3.1 主控制模塊主控制最小系統(tǒng)電路如圖5所示。 圖2 單片主控電路3.2 單片機(jī)的時(shí)鐘電路與復(fù)位電路設(shè)計(jì)本系統(tǒng)采用stc系統(tǒng)列單片機(jī),相比其他系列單片機(jī)具有很多優(yōu)點(diǎn)。一般stc單片機(jī)資源比其他單片機(jī)要多,而且執(zhí)行速度快;stc系列單片機(jī)使用串口對(duì)單片機(jī)進(jìn)行燒寫,下載程序較為方便;stc51單片機(jī)內(nèi)部集成了看門狗電路;且具有很強(qiáng)抗干擾能力。本系統(tǒng)采用內(nèi)部方式的時(shí)鐘電路和加電自復(fù)位的復(fù)位電路,如下圖3圖4所示:圖3 時(shí)鐘電路圖4 復(fù)位電路由于單片機(jī)p0口內(nèi)部不含上拉電阻,為高阻態(tài),不能正常地輸出高/低電平,因而該組i/o口在使用時(shí)必須外接上拉電阻。3.3 超聲波測(cè)距模塊 超聲波模塊采用

11、現(xiàn)成的超聲波模塊,該模塊可提供 2cm-400cm 的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)高到 3mm。模塊包括超聲波發(fā)射器、接收器與控制電路。基本工作原理:采用 io 口 trig 觸發(fā)測(cè)距,給至少 10us 的高電平信號(hào);模塊自動(dòng)發(fā)送 8 個(gè) 40khz 的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;有信號(hào)返回,通過 io 口 echo 輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速(340m/s)/2。實(shí)物如下圖5。其中vcc 供5v 電源,gnd 為地線,trig 觸發(fā)控制信號(hào)輸入,echo 回響信號(hào)輸出等四支線。圖5 超聲波模塊實(shí)物3.3.1 超聲波的基本

12、特性超聲波是一種在彈性介質(zhì)中的機(jī)械振蕩,其頻率超過20khz,分橫向振蕩和縱向振蕩兩種,超聲波可以在氣體、液體及固體中傳播,其傳播速度不同。它有折射和反射現(xiàn)象,且在傳播過程中有衰減。超聲波的基本特性如下所述:1 波長(zhǎng)波的傳播速度是用頻率乘以波長(zhǎng)來表示。電磁波的傳播速度是3108m/s,而聲波在空氣中的傳播速度很慢,約為344m/s (20時(shí))。在這種比較低的傳播速度下,波長(zhǎng)很短,這就意味著可以獲得較高的距離和方向分辨率。正是由于這種較高的分辨率特性,才使我們有可能在進(jìn)行測(cè)量時(shí)獲得很高的精確度。2 反射要探測(cè)某個(gè)物體是否存在,超聲波就能夠在該物體上得到反射。由于金屬、木材、混凝土、玻璃、橡膠和紙

13、等可以反射近乎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=溫度 ()也就是說,聲音傳播速度隨周圍溫度的變化而有所不同。因此,要精確的測(cè)量與某個(gè)物體之間的距離時(shí),始終檢查周圍溫度是十分必要的,尤其冬季室內(nèi)外溫差較大,對(duì)超聲波測(cè)距的精度影響很大,此時(shí)可用18b20作溫度補(bǔ)償來減小溫度

14、變化所帶來的測(cè)量誤差,考慮到本設(shè)計(jì)的測(cè)試環(huán)境是在室內(nèi),而且超聲波主要是用于實(shí)現(xiàn)避障功能,對(duì)測(cè)量精度要求不高,所以關(guān)于溫度效應(yīng)對(duì)系統(tǒng)的影響問題在這里不做深入的探討。4. 衰減傳播到空氣中的超聲波強(qiáng)度隨距離的變化成比例地減弱,這是因?yàn)檠苌洮F(xiàn)象所導(dǎo)致的在球形表面上的擴(kuò)散損失,也是因?yàn)榻橘|(zhì)吸收能量產(chǎn)生的吸收損失。如圖11所示,超聲波的頻率越高,衰減率就越高,超聲波的傳播距離也就越短,由此可見超聲波的衰減特性直接影響了超聲波傳感器有效距離。t/r-40-12型超聲波傳感器的震蕩頻率為40khz,傳播10米超聲波信號(hào)強(qiáng)度便衰減到40個(gè)聲壓級(jí),此時(shí)超聲波接收探頭就很難接收到回波信號(hào)。因此,從理論上分析,本設(shè)

15、計(jì)超聲波測(cè)距部分的實(shí)際范圍是10cm500cm,理想的避障范圍是10cm100cm,由于所購買玩具小車的回轉(zhuǎn)半徑為40cm所以實(shí)際壁障安全距離應(yīng)設(shè)在50cm80cm之間。圖6 聲壓在不同距離下的衰減特性3.3.2 超聲波的電器特性1聲壓特性聲壓級(jí) (s.p.l.) 是表示音量的單位,利用下列公式予以表示。s.p.l.= 20logp/pre (db)式中,“p”為有效聲壓 (bar),“pre”為參考聲壓 (210-4bar)如圖12所示為幾種常用超聲波傳感器的聲壓圖。圖7 超聲波傳感器的聲壓圖2靈敏度特性靈敏度是表示聲音接收級(jí)的單位,使用下列公式予以表示。靈敏度= 20log e/p (db

16、)式中,“e”為所產(chǎn)生的電壓 (vrms),“p”為輸入聲壓(bar)。超聲波傳感器的靈敏度直接影響著系統(tǒng)測(cè)距范圍,如圖8所示為幾種中常見超聲波傳感器的靈敏度圖,從圖中可以發(fā)現(xiàn)40khz時(shí)傳感器的聲壓級(jí)最高,也就是說40khz時(shí)所對(duì)應(yīng)的靈敏度最高。圖8 超聲波傳感器靈敏度示意圖3輻射特性把超聲波傳感器安裝在臺(tái)面上。然后,測(cè)量角度與聲壓 (靈敏度) 之間的關(guān)系。為了準(zhǔn)確地表達(dá)輻射,與前部相對(duì)比,聲壓 (靈敏度) 級(jí)衰減6db的角度被稱為半衰減角度,用1/2表示。超聲波設(shè)備的外表面尺寸較小易于獲得精確的輻射角度。如圖9所示為幾種常見超聲波傳感器的輻射特性示意圖。圖9 超聲波傳感器輻射特性示意圖分析

17、以上研究結(jié)果不難看出超聲波傳感器工作在40khz范圍內(nèi)具有最大的聲壓級(jí)和最高的靈敏度,這為設(shè)計(jì)中選擇合適的超聲波傳感器指明了方向。3.3.3 超聲波的工作原理市面上常見的超聲波傳感器多為開放型,其內(nèi)部結(jié)構(gòu)如圖10所示,一個(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è)

18、金屬片構(gòu)成的振動(dòng)器,所謂叫雙壓電晶片元件,施加一個(gè)電信號(hào)時(shí),就會(huì)因彎曲振動(dòng)發(fā)射出超聲波。相反,當(dāng)向雙壓電晶片元件施加超聲振動(dòng)時(shí),就會(huì)產(chǎn)生一個(gè)電信號(hào)。圖10 超聲波傳感器內(nèi)部結(jié)構(gòu)圖圖11 避障原理 如圖15所示,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離(s),即:s=340t/2就是所謂的時(shí)間差測(cè)距法圖12 超聲波接口電路圖3.4 聲音報(bào)警電路的設(shè)計(jì)如下圖所示,用一個(gè)speaker和三極管、電阻接

19、到單片機(jī)的p13引腳上,構(gòu)成聲音報(bào)警電路,如圖13示為聲音報(bào)警電路。圖13 聲音報(bào)警電路圖3.5 顯示模塊 顯示模塊采用數(shù)碼管顯示接口電路如圖14圖14 數(shù)碼管電路3.6 溫度補(bǔ)償電路 溫度采用ds18b20傳感器進(jìn)行測(cè)量,p2.4接ds18b20數(shù)據(jù)總線,控制ds18b20進(jìn)行溫度轉(zhuǎn)換和傳輸數(shù)據(jù),同時(shí)數(shù)據(jù)總線上還接10k的上拉電阻。本系統(tǒng)對(duì)ds18b20采用外部供電,其優(yōu)點(diǎn)在于i/o線不需要強(qiáng)上拉,而且總線控制器無需在溫度轉(zhuǎn)換期間一直保持高電平。這樣在轉(zhuǎn)換期間可以允許在單線總線上進(jìn)行其他數(shù)據(jù)傳輸,硬件結(jié)構(gòu)如圖15所示圖15 溫度傳感器接口電路圖4 系統(tǒng)軟件設(shè)計(jì)方案如圖16所示為超聲波測(cè)距主程

20、序流程圖。系統(tǒng)初始化報(bào)警結(jié)束測(cè)得距離與設(shè)定值比較,小于距離比較,報(bào)警是否持續(xù)開始啟動(dòng)報(bào)警電路開始報(bào)警再次檢測(cè)等待下次報(bào)警結(jié)束ynnyyn圖16 系統(tǒng)軟件的整體流程圖4.1 ds18b20初始化程序流程圖在ds18b20工作之前需要進(jìn)行初始化,流程圖如17:發(fā)復(fù)位命令發(fā)跳過rom命令 初始化成功 結(jié)束 圖17 初始化程序流程圖4.2 超聲波溫度和速度的關(guān)系溫度()超聲波的速度(m/s)近似值c=331.3+0.606*t-20319.18319-19319.786-18320.392-17320.998-16321.604-15322.21322-14322.816-13323.422-1232

21、4.028-11324.634-10325.24325-9325.846-8326.452-7327.058-6327.664-5328.27328-4328.876-3329.482-2330.088-1330.6940331.33311331.9062332.5123333.1184333.7245334.333346334.9367335.5428336.1489336.75410337.3633711337.96612338.57213339.17814339.78415340.3934116340.99617341.60218342.20819342.81420343.4234321

22、344.02622344.63223345.23824345.84425346.4534726347.05627347.66228348.26829348.87430349.4835031350.08632350.69233351.29834351.90435352.5135336353.11637353.72238354.32839354.93440355.5435641356.14642356.75243357.35844357.96445358.57溫度補(bǔ)償程序void init2() /t2con=0x0c; rcap2h=(65536-5)/256; rcap2l=(65536-5)

23、%256; th2=(65536-5)/256; tl2=(65536-5)%256; ea=1; et2=1; tr2=1; / pt2=1; /t2設(shè)為高優(yōu)先級(jí) void main() init1(); /液晶初始化 xianshi(); /溫度字母 init2(); /t2初始化 tx=0; it0=0; /外部中斷低電平觸發(fā) init(); /定時(shí)器初始化 while(1); void timer1() interrupt 3 tx=tx; k+; if(k=3) k=0; tr0=0; tr0=1; delaynus(6); /除共振 ex0=1; /for(d=0;d=0&tz10

24、&tz20&tz30&tz40&tz0;d-); th0=0x00; tl0=0x00; et1=1; tr1=1; o+; if(o=100) o=0; tr1=0; et1=0; tr2=1; et2=1; void timer0() interrupt 1 /計(jì)時(shí) tr1=0; tr0=0; th0=0x00; tl0=0x00; tr1=1; void timer2() interrupt 5 tf2=0; exf2=0; tr2=0; et2=0; / xianshi(); /溫度字母 readyread(); tl=readonechar(); th=readonechar();

25、tz=th*16+tl/16; xianshiwen(tz); delay(10); tr1=1; et1=1; 5 系統(tǒng)的安裝與調(diào)試5.1 安裝步驟1.檢查元件的好壞按電路圖買好元件后首先檢查買回元件的好壞,按各元件的檢測(cè)方法分別進(jìn)行檢測(cè),一定要仔細(xì)認(rèn)真。而且要認(rèn)真核對(duì)原理圖是否一致,在檢查好后才可上件、焊件,防止出現(xiàn)錯(cuò)誤焊件后不便改正。2.放置、焊接各元件按原理圖的位置放置各元件,在放置過程中要先放置、焊接較低的元件,后焊較高的和要求較高的元件。特別是容易損壞的元件要后焊,在焊集成芯片時(shí)連續(xù)焊接時(shí)間不要超過10s,注意芯片的安裝方向。6 總結(jié)本設(shè)計(jì)研究了一種基于單片機(jī)技術(shù)的超聲波智能測(cè)距報(bào)

26、警系統(tǒng)。該系統(tǒng)通過以stc89c52單片機(jī)為工作處理器核心,ds18b20溫度補(bǔ)償,它是一種新穎的被動(dòng)式超聲波探測(cè)器件,能夠以非接觸測(cè)出前方物體距離,并將其轉(zhuǎn)化為相應(yīng)的電信號(hào)輸出.該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡(jiǎn)單、易懂、靈活;且安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人們安全意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快速發(fā)展,相信報(bào)警器必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。7 參考文獻(xiàn) 1 宋文緒. 傳感器與檢測(cè)技術(shù)m. 北京: 高等教育出版社, 2004.2 余錫存. 單片機(jī)原理及接口技術(shù)m. 西安: 西安電子科技大學(xué)出版社, 2000.3 李全利. 單片機(jī)原理及接口技術(shù)m. 北京: 北京航空航天大學(xué)出

27、版社, 2004.4 薛均義, 張彥斌. mcs-51系列單片微型計(jì)算機(jī)及其應(yīng)用m. 西安: 西安交通大學(xué)出版社, 2005.5 徐愛鈞, 彭秀華. 單片機(jī)高級(jí)語言c51應(yīng)用程序設(shè)計(jì)m. 北京: 北京航空航天大學(xué)出版社, 2006.6 康華光. 電子技術(shù)基礎(chǔ)(模擬部分)m. 北京: 高等教育出版社, 2004.附錄1 整機(jī)電路原理圖附錄2 部分源程序#include /調(diào)用單片機(jī)頭文件#define uchar unsigned char /無符號(hào)字符型 宏定義變量范圍0255#define uint unsigned int /無符號(hào)整型 宏定義變量范圍065535#include #inc

28、lude eeprom52.h/數(shù)碼管段選定義 0 1 2 3 4 56 7 8 9uchar code smg_du=0xc0,0xf9,0xa4,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;uint code wendu_buchang146 = /溫度補(bǔ)償表格331,332,333,

29、333,334,334,335,336,336,337,/ 0-9度337,338,339,339,340,341,341,342,342,343,/10-19度343,344,345,345,346,346,347,348,348,349,/20-29度349,350,351,351,352,352,353,354,354,355,/30-39度355,356,357,357,358,358/40-45度;sbit smg_we1 = p34; /數(shù)碼管位選定義sbit smg_we2 = p35;sbit smg_we3 = p36;sbit smg_we4 = p37;sbit dq =

30、 p24;/18b20 io口的定義uint temperature ; /sbit c_send = p32;/超聲波發(fā)射sbit c_recive = p33;/超聲波接收sbit beep = p23; /蜂鳴器io口定義uchar smg_i = 3; /顯示數(shù)碼管的個(gè)位數(shù)bit flag_300ms ;long distance; /距離uint set_d; /距離uchar flag_csb_juli; /超聲波超出量程uint flag_time0; /用來保存定時(shí)器0的時(shí)候的uchar menu_1; /菜單設(shè)計(jì)的變量/*小延時(shí)函數(shù)*/void delay_uint(uint

31、 q)while(q-);/*1ms延時(shí)函數(shù)*/void delay_1ms(uint q)uint i,j;for(i=0;iq;i+)for(j=0;j120;j+);/*處理距離函數(shù)*/void smg_display()dis_smg0 = smg_dudistance % 10;dis_smg1 = smg_dudistance / 10 % 10;dis_smg2 = smg_dudistance / 100 % 10 & 0x7f;/*把數(shù)據(jù)保存到單片機(jī)內(nèi)部eeprom中*/void write_eeprom()sectorerase(0x2000);byte_write(0x2

32、000, set_d % 256);byte_write(0x2001, set_d / 256);byte_write(0x2058, a_a);/*把數(shù)據(jù)從單片機(jī)內(nèi)部eeprom中讀出來*/void read_eeprom()set_d = byte_read(0x2001);set_d = smg_i)i = 0;smg_we_switch(i); /位選p1 = dis_smgi; /段選 /*18b20初始化函數(shù)*/void init_18b20()bit q;dq = 1;/把總線拿高delay_uint(1); /15usdq = 0;/給復(fù)位脈沖delay_uint(80);/

33、750usdq = 1;/把總線拿高 等待delay_uint(10);/110usq = dq;/讀取18b20初始化信號(hào)delay_uint(20);/200usdq = 1;/把總線拿高 釋放總線/*寫18b20內(nèi)的數(shù)據(jù)*/void write_18b20(uchar dat)uchar i;for(i=0;i= 1;/*讀取18b20內(nèi)的數(shù)據(jù)*/uchar read_18b20()uchar i,value;for(i=0;i= 1; /讀數(shù)據(jù)是低位開始dq = 1; /釋放總線if(dq = 1) /開始讀寫數(shù)據(jù) value |= 0x80;delay_uint(5); /60us讀

34、一個(gè)時(shí)間隙最少要保持60us的時(shí)間return value; /返回?cái)?shù)據(jù)/*讀取溫度的值 讀出來的是小數(shù)*/uint read_temp()uint value;uchar low; /在讀取溫度的時(shí)候如果中斷的太頻繁了,就應(yīng)該把中斷給關(guān)了,否則會(huì)影響到18b20的時(shí)序init_18b20(); /初始化18b20write_18b20(0xcc); /跳過64位romwrite_18b20(0x44); /啟動(dòng)一次溫度轉(zhuǎn)換命令delay_uint(50); /500usinit_18b20(); /初始化18b20write_18b20(0xcc); /跳過64位romwrite_18b20

35、(0xbe); /發(fā)出讀取暫存器命令ea = 0;low = read_18b20(); /讀溫度低字節(jié)value = read_18b20(); /讀溫度高字節(jié)ea = 1;value 40000) /當(dāng)超聲波超過測(cè)量范圍時(shí),顯示3個(gè)888tr0 = 0;flag_csb_juli = 2;distance = 888;break ;else flag_csb_juli = 1;if(flag_csb_juli = 1)tr0=0; /關(guān)定時(shí)器0定時(shí)distance =flag_time0; /讀出定時(shí)器0的時(shí)間/distance *= 340 / 2 * 0.0001; / 0.017 = 340m / 2 = 170m = 0.017m 算出來是米if(temperature 500) /距離 = 速度 * 時(shí)間distance = 888; /如果大于3.8m就超出超聲波的量程 /*定時(shí)器0、定時(shí)器1初始化*/void time_init() ea = 1; /開總中斷tm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論