倒車?yán)走_(dá)課程教學(xué)設(shè)計(jì)_第1頁
倒車?yán)走_(dá)課程教學(xué)設(shè)計(jì)_第2頁
倒車?yán)走_(dá)課程教學(xué)設(shè)計(jì)_第3頁
倒車?yán)走_(dá)課程教學(xué)設(shè)計(jì)_第4頁
倒車?yán)走_(dá)課程教學(xué)設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2015-2016第一學(xué)期單片機(jī)課程

設(shè)計(jì)報(bào)告

題目:倒車?yán)走_(dá)設(shè)計(jì)_____________________

班級:_____13電子科學(xué)與技術(shù)________________

學(xué)號:130803056________________________

姓名:周健_____________________________

指導(dǎo)老師:袁新娣___________________________

硬件得分文檔得分總評分

(70%)(30%)

目錄

摘要...........................................................................1

1緒論........................................................................2

1.1項(xiàng)目研究背景及意義...................................................2

2總體設(shè)計(jì)方案及論證.........................................................2

2.1總體方案設(shè)計(jì).........................................................2

3硬件實(shí)現(xiàn)及單元電路設(shè)計(jì).....................................................3

3.1主控制模塊...........................................................3

3.2電源設(shè)計(jì).............................................................4

3.3超聲波測試模塊.......................................................4

3.3.1超聲波的特性..................................................5

3.3.2超聲波換能器..................................................6

3.4超聲波傳感器原理.....................................................8

3.5測距分析............................................................12

3.6時(shí)鐘電路的設(shè)計(jì)......................................................13

3.7復(fù)位電路的設(shè)計(jì)......................................................13

3.8聲音報(bào)警電路的設(shè)計(jì)..................................................14

3.9顯示模塊............................................................14

4軟件設(shè)計(jì)...................................................................15

4.1主程序工作流程圖....................................................15

5總結(jié).......................................................................16

6參考文獻(xiàn)...................................................錯(cuò)誤!未定義書簽。

附錄.........................................................................17

附件1:原理圖................................................................17

附件2:程序..................................................................18

附件3:元件清單..............................................................28

附件4:實(shí)物圖................................................錯(cuò)誤!未定義書簽。

摘要

STC89C52是STC系列單片機(jī)里應(yīng)用比較廣泛的一款,在自動控制領(lǐng)域里享

有很高的價(jià)值,以其易用性和多功能性受到了廣大電子設(shè)計(jì)愛好者的好評。本

次設(shè)計(jì)主要是利用STC89C52單片機(jī)、超聲波傳感器完成測距報(bào)警系統(tǒng)的制作,

以STC89c52為主控芯片,利用超聲波對距離的檢測,將前方物體的距離探測

出來,然后單片機(jī)處理運(yùn)算,與設(shè)定的報(bào)警距離值進(jìn)行比較判斷,當(dāng)測得距離

小于設(shè)定值時(shí),STC89C52發(fā)出指令控制蜂鳴器報(bào)警。

關(guān)鍵詞:超聲波傳感器STC89C52

1緒論

1.1項(xiàng)目研究背景及意義

由于超聲測距是一種非接觸檢測技術(shù),不受光線、被測對象顏色等的影響,

較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境,具有少維

護(hù)、不污染、高可靠、長壽命等特點(diǎn)。因此可廣泛應(yīng)用于紙業(yè)、礦業(yè)、電廠、

化工業(yè)、水處理廠、污水處理廠、農(nóng)業(yè)用水、環(huán)保檢測、食品(酒業(yè)、飲料業(yè)、

添加劑、食用油、奶制品)、防汛、水文、明渠、空間定位、公路限高等行業(yè)

中。可在不同環(huán)境中進(jìn)行距離準(zhǔn)確度在線標(biāo)定,可直接用于水、酒、糖、飲料

等液位控制,可進(jìn)行差值設(shè)定,直接顯示各種液位罐的液位、料位高度。因此,

超聲在空氣中測距在特殊環(huán)境下有較廣泛的應(yīng)用。利用超聲波檢測往往比較迅

速、方便、計(jì)算簡單、易于實(shí)現(xiàn)實(shí)時(shí)控制,并且在測量精度方面能達(dá)到工業(yè)實(shí)

用的指標(biāo)要求,因此為了使移動機(jī)器人能夠自動躲避障礙物行走,就必須裝備

測距系統(tǒng),以使其及時(shí)獲取距障礙物的位置信息(距離和方向)。因此超聲波

測距在移動機(jī)器人的研究上得到了廣泛的應(yīng)用。同時(shí)由于超聲波測距系統(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ì)的核心模塊來說,單片機(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)的研制過程包括總體設(shè)計(jì)、硬件

設(shè)計(jì)、軟件設(shè)計(jì)等幾個(gè)階段。系統(tǒng)采用STC89c52單片機(jī)作為核心控制單元,當(dāng)

測得的距離小于設(shè)定距離時(shí),主控芯片將測得的數(shù)值與設(shè)定值進(jìn)行比較處理。

然后控制蜂鳴器報(bào)警。系統(tǒng)總體的設(shè)計(jì)方框圖如圖1所示。

電源

超聲波傳感器模塊S按鍵控制

T

C

8

9

c

5

24位數(shù)碼管顯

控示模塊

蜂鳴器報(bào)器

警模塊塊

圖1系統(tǒng)方框圖

3硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)

3.1主控制模塊

主控制最小系統(tǒng)電路如圖2所示。

硬件電路總設(shè)計(jì)見圖3,從以上的分析可知在本設(shè)計(jì)中要用到如下器件:

STC89C52.超聲波傳感器、按鍵、四位數(shù)碼管、蜂鳴器等一些單片機(jī)外圍應(yīng)用

電路。其中D1為電源工作指示燈。電路中用到3個(gè)按鍵,一個(gè)是設(shè)定鍵,

個(gè)加鍵,一個(gè)減鍵。

0.S,0.日.

圖3總設(shè)計(jì)電路圖

3.2電源設(shè)計(jì)

電源部分的設(shè)計(jì)采用3節(jié)5號干電池4.5V供電。

3.3超聲波測試模塊

超聲波模塊采用現(xiàn)成的HC—SR04超聲波模塊,該模塊可提供

2cm-400cm的非接觸式距離感測功能,測距精度可達(dá)高到3mll1。模塊包括超聲

波發(fā)射器、接收器與控制電路?;竟ぷ髟恚翰捎?0口TRIG觸發(fā)測距,

給至少10us的高電平信號;模塊自動發(fā)送8個(gè)40khz的方波,自動檢測是

否有信號返回;有信號返回,通過10口ECHO輸出一個(gè)高電平,高電平持續(xù)

的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測試距離=(高電平時(shí)間*聲速

(340M/S))/2?實(shí)物如下圖4。其中VCC供5V電源,GND為地線,TRIG觸發(fā)

控制信號輸入,ECHO回響信號輸出等四支線。

圖4超聲波模塊實(shí)物圖

超聲波探測模塊HC-SR04的使用方法如下:10口觸發(fā),給Trig口至少10us

的高電平,啟動測量;模塊自動發(fā)送8個(gè)40Khz的方波,自動檢測是否有信號

返回;有信號返回,通過10口Echo輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是

超聲波從發(fā)射到返回的時(shí)間,測試距離=(高電平時(shí)間*340)/2,單位為m。

程序中測試功能主要由兩個(gè)函數(shù)完成。

實(shí)現(xiàn)中采用定時(shí)器0進(jìn)行定時(shí)測量,8分頻,TCNTTO預(yù)設(shè)值OXCE,當(dāng)timerO

溢出中斷發(fā)生2500次時(shí)為125ms,計(jì)算公式為(單位:ms):

T=(定時(shí)器0溢出次數(shù)*(OXFF-OXCE))/1000

其中定時(shí)器0初值計(jì)算依據(jù)分頻不同而有差異。

3.3.1超聲波的特性

聲音是與人類生活緊密相關(guān)的一種自然現(xiàn)象。當(dāng)聲的頻率高到超過人耳聽

覺的頻率極限(根據(jù)大量實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì),取整數(shù)為20000赫茲)時(shí),人們就會覺

察不出周圍聲的存在,因而稱這種高頻率的聲為“超”聲。人的聽覺范圍如圖

5所示。

?0

。

4(<

圖5人的聽覺范圍

超聲波的特性有:

(1)束射特性

由于超聲波的波長短,超聲波射線可以和光線一樣,能夠反射、折射,也

能聚焦,而且遵守幾何光學(xué)上的所有定律。即超聲波射線從一種物質(zhì)表面反射

時(shí),入射角等于反射角,當(dāng)射線透過一種物質(zhì)進(jìn)入另一種密度不同的物質(zhì)時(shí)就

會產(chǎn)生折射現(xiàn)象,也就是要改變它的傳播方向,兩種物質(zhì)的密度差別愈大,則

折射率也愈大。

(2)吸收特性

聲波在各種介質(zhì)中傳播時(shí),隨著傳播距離的增加,其強(qiáng)度會逐漸減弱,這

是因?yàn)榻橘|(zhì)要吸收掉它的部分能量。對于同一介質(zhì),聲波的頻率越高,介質(zhì)吸

收就越強(qiáng)。對于一個(gè)頻率一定的聲波,在氣體中傳播時(shí)吸收尤為歷害,在液體

中傳播時(shí)吸收就比較弱,在固體中傳播時(shí)吸收是最小的。

(3)超聲波的能量傳遞特性

超聲波之所以能在各個(gè)工業(yè)部門中得到廣泛的應(yīng)用,主要原因還在于比聲

波具有強(qiáng)大得多的功率。為什么有這么強(qiáng)大的功率呢?因?yàn)楫?dāng)聲波進(jìn)入某一介

質(zhì)中時(shí),由于聲波的作用使物質(zhì)中的分子也隨之振動,振動的頻率和聲波頻率

一樣,分子振動的頻率決定了分子振動的速度。頻率愈高速度愈大。物資分子

由于振動所獲得的能量除了與分子本身的質(zhì)量有關(guān)外,主要是由分子的振動速

度的平方?jīng)Q定的,所以如果聲波的頻率愈高,也就是物質(zhì)分子愈能得到更高的

能量。超聲波的頻率比普通聲波要高出很多,所以它可以使物質(zhì)分子獲得很大

的能量;換句話來說,超聲波本身就可以供給物質(zhì)分子足夠大的功率。

(4)超聲波的聲壓特性

當(dāng)聲波進(jìn)入某物體時(shí),由于聲波振動使物質(zhì)分子相互之間產(chǎn)生壓縮和稀疏

的作用,將使物質(zhì)所受的壓力產(chǎn)生變化。由于聲波振動引起附加壓力現(xiàn)象叫聲

壓作用。

3.3.2超聲波換能器

完成產(chǎn)生超聲波和接收超聲波這種功能的裝置就是超聲波傳感器,習(xí)慣上

稱為超聲換能器,或者超聲波探頭。超聲波探頭主要由壓電晶片組成,既可以

發(fā)射超聲波,也可以接收超聲波。小功率超聲探頭多用作探測方面。它有許多

不同的結(jié)構(gòu),可分直探頭(縱波)、斜探頭(橫波)、表面波探頭(表面波)、

蘭姆波探頭(蘭姆波)、雙探頭(一個(gè)探頭反射、一個(gè)探頭接收)等。

超聲探頭的核心是其塑料外套或者金屬外套中的一塊壓電晶片。構(gòu)成晶片

的材料可以有許多種。由于晶片的大小,如直徑和厚度也各不相同,因此每個(gè)

探頭的性能都是不同的,我們使用前必須預(yù)先了解清楚該探頭的性能參數(shù)。

超聲波傳感器的主要性能指標(biāo)包括:

(1)工作頻率。工作頻率就是壓電晶片的共振頻率。當(dāng)加到它兩端的交

流電壓的頻率和晶片的共振頻率相等時(shí),輸出的能量最大,靈敏度也最高。

(2)工作溫度。由于壓電材料的居里點(diǎn)一般比較高,特別時(shí)診斷用超聲

波探頭使用功率較小,所以工作溫度比較低,可以長時(shí)間地工作而不失效。醫(yī)

療用的超聲探頭的溫度比較高,需要單獨(dú)的制冷設(shè)備。

(3)靈敏度。主要取決于制造晶片本身。機(jī)電耦合系數(shù)大,靈敏度高。

人類能聽到的聲音頻率范圍為:20Hz?20kHz,即為可聽聲波,超出此頻

率范圍的聲音,即20Hz以下頻率的聲音稱為低頻聲波,20kHz以上頻率的聲音

稱為超聲波。超聲波為直線傳播方式,頻率越高,繞射能力越弱,但反射能力

越強(qiáng)。為此,利用超聲波的這種性能就可制成超聲波傳感器。另外,超聲波在

空氣中的傳播速度較慢,為340m/s,這就使得超聲波傳感器使用變得非常簡

便。我們選用壓電式超聲波傳感器。它的探頭常用材料是壓電晶體和壓電陶瓷,

是利用壓電材料的壓電效應(yīng)來進(jìn)行工作的。逆壓電效應(yīng)將高頻電振動轉(zhuǎn)換成高

頻機(jī)械振動,從而產(chǎn)生超聲波,可作為發(fā)射探頭;而利用正壓電效應(yīng),將超聲

振動波轉(zhuǎn)換成電信號,可作為接收探頭。

為了研究和利用超聲波,人們已經(jīng)設(shè)計(jì)和制成了許多種超聲波發(fā)生器。

總體上講,超聲波發(fā)生器大體可以分為兩大類:一類是用電氣方式產(chǎn)生超聲

波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電

動型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的

頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是

壓電式超聲波發(fā)生器。

圖6超聲波傳感器結(jié)構(gòu)

壓電式超聲波發(fā)生器實(shí)際上是利用壓電晶體的諧振來工作的。超聲波發(fā)生

器內(nèi)部結(jié)構(gòu)如圖所示,它有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極外加脈沖

信號,其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會發(fā)生共振,并帶

動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當(dāng)共振板接

收到超聲波時(shí),將壓迫壓電晶片作振動,將機(jī)械能轉(zhuǎn)換為電信號,這時(shí)它就成

為超聲波接收器了。如圖6所示。

3.4超聲波傳感器原理

市面上常見的超聲波傳感器多為開放型,其內(nèi)部結(jié)構(gòu)如圖7所示,一個(gè)復(fù)

合式振動器被靈活地固定在底座上。該復(fù)合式振動器是由諧振器以及一個(gè)金屬

片和一個(gè)壓電陶瓷片組成的雙壓電晶片元件振動器。諧振器呈喇叭形,目的是

能有效地輻射由于振動而產(chǎn)生的超聲波,并且可以有效地使超聲波聚集在振動

器的中央部位。

當(dāng)電壓作用于壓電陶瓷時(shí),就會隨電壓和頻率的變化產(chǎn)生機(jī)械變形。另一

方面,當(dāng)振動壓電陶瓷時(shí),則會產(chǎn)生一個(gè)電荷。利用這一原理,當(dāng)給由兩片壓

電陶瓷或一片壓電陶瓷和一個(gè)金屬片構(gòu)成的振動器,所謂叫雙壓電晶片元件,

施加一個(gè)電信號時(shí),就會因彎曲振動發(fā)射出超聲波。相反,當(dāng)向雙壓電晶片元

件施加超聲振動時(shí),就會產(chǎn)生一個(gè)電信號?;谝陨献饔?,便可以將壓電陶瓷

用作超聲波傳感器。

圖7超聲波內(nèi)部結(jié)構(gòu)

超聲波是一種在彈性介質(zhì)中的機(jī)械振蕩,其頻率超過20KHz,分橫向振蕩

和縱向振蕩兩種,超聲波可以在氣體、液體及固體中傳播,其傳播速度不同。

它有折射和反射現(xiàn)象,且在傳播過程中有衰減。

超聲波的基本特性如下所述:

1.波長

波的傳播速度是用頻率乘以波長來表示。電磁波的傳播速度是3X10sm/s,

而聲波在空氣中的傳播速度很慢,約為344m/s(20C時(shí))。在這種比較低的傳

播速度下,波長很短,這就意味著可以獲得較高的距離和方向分辨率。正是由

于這種較高的分辨率特性,才使我們有可能在進(jìn)行測量時(shí)獲得很高的精確度。

2.反射

要探測某個(gè)物體是否存在,超聲波就能夠在該物體上得到反射。由于金屬、

木材、混凝土、玻璃、橡膠和紙等可以反射近乎100%的超聲波,因此我們可

以很容易地發(fā)現(xiàn)這些物體。由于布、棉花、絨毛等可以吸收超聲波,因此很難

利用超聲波探測到它們。同時(shí),由于不規(guī)則反射,通??赡芎茈y探測到凹凸表

面以及斜坡表面的物體,這些因素決定了超聲波的理想測試環(huán)境是在空曠的場

所,并且測試物體必須反射超聲波。

3.溫度效應(yīng)

聲波傳播的速度“c”可以用下列公式表示。c=331.5+0.607t(m/s)式

中,t=溫度(C)也就是說,聲音傳播速度隨周圍溫度的變化而有所不同。因

此,要精確的測量與某個(gè)物體之間的距離時(shí),始終檢查周圍溫度是十分必要的,

尤其冬季室內(nèi)外溫差較大,對超聲波測距的精度影響很大,此時(shí)可用18B20作

溫度補(bǔ)償來減小溫度變化所帶來的測量誤差,考慮到本設(shè)計(jì)的測試環(huán)境是在室

內(nèi),而且超聲波主要是用于測距功能,對測量精度要求不高,所以關(guān)于溫度效

應(yīng)對系統(tǒng)的影響問題在這里不做深入的探討。

4.衰減

傳播到空氣中的超聲波強(qiáng)度隨距離的變化成比例地減弱,這是因?yàn)檠苌洮F(xiàn)

象所導(dǎo)致的在球形表面上的擴(kuò)散損失,也是因?yàn)榻橘|(zhì)吸收能量產(chǎn)生的吸收損

失。如圖8所示,超聲波的頻率越高,衰減率就越高,超聲波的傳播距離也就

越短,由此可見超聲波的衰減特性直接影響了超聲波傳感器有效距離。

m

p

)

-4020(kHz)

40(kHz)

80(kHz)

-50

200(kHz)

-60

0.10.51.05.010.0

距離(m)

圖8聲壓在不同距離下的衰減特性

5.聲壓特性

聲壓級(S.P.L)是表示音量的單位,利用下列公式予以表示。

S.P.L.=201ogP/Pre(dB)式中,“P”為有效聲壓(ubar),“Pre”為參

考聲壓(2義10-4ubar)如圖6所示為幾種常用超聲波傳感器的聲壓圖。

距離30cm

揚(yáng)入電壓lOVrms(正弦波二

0dB=2X10-4nbar

LHD

.

一140

三130

120

110

10JS0

80

3035404550

知率他Hz)

圖9超聲波傳感器的聲壓圖

6.靈敏度特性

靈敏度是表示聲音接收級的單位,使用下列公式予以表示。

靈敏度二201ogE/P(dB)式中,“E”為所產(chǎn)生的電壓(Vrms),“P”為輸

入聲壓(ixbar)。超聲波傳感器的靈敏度直接影響著系統(tǒng)測距范圍,如圖7所示

為幾種中常見超聲波傳感器的靈敏度圖,從圖中可以發(fā)現(xiàn)40KHz時(shí)傳感器的聲

壓級最高,也就是說40KHz時(shí)所對應(yīng)的靈敏度最高。

7.輻射特性

把超聲波傳感器安裝在臺面上。然后,測量角度與聲壓(靈敏度)之間的

關(guān)系。為了準(zhǔn)確地表達(dá)輻射,與前部相對比,聲壓(靈敏度)級衰減6dB的角

度被稱為半衰減角度,用01/2表示。超聲波設(shè)備的外表面尺寸較小易于獲得

精確的輻射角度。如圖11所示為幾種常見超聲波傳感器的輻射特性示意圖。

頻率40kHz

輸入電壓lOVrms(正弦波)

距離30cm

圖11超聲波傳感器輻射特性示意圖

分析以上研究結(jié)果不難看出超聲波傳感器工作在40KHz范圍內(nèi)具有最大的

聲壓級和最高的靈敏度。

3.5測距分析

超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),

超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到

反射波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)

時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離(s),即:s=340t/2

最常用的超聲測距的方法是回聲探測法,超聲波發(fā)射器向某一方向發(fā)射超

聲波,在發(fā)射時(shí)刻的同時(shí)計(jì)數(shù)器開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障

礙物面阻擋就立即反射回來,超聲波接收器收到反射回的超聲波就立即停止計(jì)

時(shí)。超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以

計(jì)算出發(fā)射點(diǎn)距障礙物面的距離s,即:豆34042。

由于超聲波也是一種聲波,其聲速V與溫度有關(guān)。在使用時(shí),如果傳播介

質(zhì)溫度變化不大,則可近似認(rèn)為超聲波速度在傳播的過程中是基本不變的。如

果對測距精度要求很高,則應(yīng)通過溫度補(bǔ)償?shù)姆椒▽y量結(jié)果加以數(shù)值校正。

聲速確定后,

只要測得超聲波往返的時(shí)間,即可求得距離。這就是超聲波測距儀的基本

原理。如圖12所示:

H-Scos。

(3-1)

0=arctg電)

ri

(3-2)

式中:L-一兩探頭之間中心距離的一半.

又知道超聲波傳播的距離為:

2s=vt

(3-3)

式中:v—超聲波在介質(zhì)中的傳播速度;

t—超聲波從發(fā)射到接收所需要的時(shí)間.

將(3—2)、(3—3)代入(3-1)中得:

H^-vtcos\arctg—]

2H

(3-4)

其中,超聲波的傳播速度v在一定的溫度下是一個(gè)常數(shù)(例如在溫度T=30度

時(shí),V=349m/s);當(dāng)需要測量的距離H遠(yuǎn)遠(yuǎn)大于L時(shí),則(3—4)變?yōu)椋?/p>

H=-vt

2

(3-5)

所以,只要需要測量出超聲波傳播的時(shí)間t,就可以得出測量的距離H.

3.6時(shí)鐘電路的設(shè)計(jì)

XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置

為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動器件,

XTAL2應(yīng)不接。

因?yàn)橐粋€(gè)機(jī)器周期含有6個(gè)狀態(tài)周期,而每個(gè)狀態(tài)周期為2個(gè)振蕩周期,

所以一個(gè)機(jī)器周期共有12個(gè)振蕩周期,如果外接石英晶體振蕩器的振蕩頻率

為12MHZ,一個(gè)振蕩周期為l/12us,故而一個(gè)機(jī)器周期為luso如圖13所示為

時(shí)鐘電路。

1^—

圖13時(shí)鐘電路圖

3.7復(fù)位電路的設(shè)計(jì)

復(fù)位方法一般有上電自動復(fù)位和外部按鍵手動復(fù)位,單片機(jī)在時(shí)鐘電路工

作以后,在RESET端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作。

例如使用晶振頻率為12MHz時(shí),則復(fù)位信號持續(xù)時(shí)間應(yīng)不小于如s。本設(shè)計(jì)采

用的是自動復(fù)位電路。如圖14示為復(fù)位電路。

vcc

圖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

a-S―1=1-k---1=1-k-D-s0.El.El.El.

圖16數(shù)碼管電路

4軟件設(shè)計(jì)

4.1主程序工作流程圖

按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖17所

示;

圖17主程序工作流程圖

超聲波探測程序流程圖:

圖19超聲波探測程序流程圖

5總結(jié)

本設(shè)計(jì)研究了一種基于單片機(jī)技術(shù)的超聲波智能測距報(bào)警系統(tǒng)。該系統(tǒng)通

過以STC89C52單片機(jī)為工作處理器核心,超聲波傳感器,它是一種新穎的被

動式超聲波探測器件,能夠以非接觸測出前方物體距離,并將其轉(zhuǎn)化為相應(yīng)的

電信號輸出.該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡單、易懂、靈活;且

安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人們安全意識的增強(qiáng)以及科學(xué)技術(shù)

的快速發(fā)展,相信報(bào)警器必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。

附錄

附件1:原理圖

附件2:程序

#include<reg52.h>

^include<intrins.h>

#include〃eepom52?h〃

#defineucharunsignedchar

#defineuintunsignedint

〃數(shù)碼管段選定義0123456789

ucharcode

smg_du[]={0xc0,0xf9,0xa4,OxbO,0x99,0x92,0x82,0xf8,0x80,0x90,

0x88,0x83,0xc6,Oxal,0x86,0x8e,Oxff};〃斷碼

〃數(shù)碼管位選定義

ucharcodesmg_we[]={0xe0,OxdO,OxbO,0x70};

uchardis_smg[8]={0xc0,0xf9,0xa4,OxbO,0x99,0x92,0x82,0xf8};

sbitsmg_wel=P34〃數(shù)碼管位選定義

sbitsmg_we2=P3^5

sbitsmg_we3=P36

sbitsmg_we4=P37

sbitc_send=P3c2;〃超聲波發(fā)射

sbitc_recive=P33;〃超聲波接收

ucharflag_hc_value;〃超聲波中間變量

sbitbeep=P2-3;〃蜂鳴器10口定義

bitflag_key_b_en,flag_key_set_en;〃按鍵蜂鳴器使能

ucharsmg_i=3;〃顯示數(shù)碼管的個(gè)位數(shù)

bitflag_300ms;

bitkey_500ms;

longdistance;//距離

uintset_d;〃距離

bitflag_csb_juli;〃超聲波超出量程

uintflag_timeO;〃用來保存定時(shí)器0的時(shí)候的

//按鍵的I。變量的定義

ucharkey_can;〃按鍵值的變量

ucharzd_break_en,zd_break_value;〃自動退出設(shè)置界面

ucharmenu_shudu=10;〃用來控制連加的速度

bitflag_lj_en;〃按鍵連加使能

bitflag_lj_3_en;〃按鍵連3次連加后使能加的數(shù)就越大了

ucharkey_time,flag_value;〃用做連加的中間變量

ucharmenu_l;〃菜單設(shè)計(jì)的變量

uchara_a;

/***********************ims延時(shí)函數(shù)

voiddelay_lms(uintq)

(

uinti,j;

for(i=0;i<q;i++)

for(j=0;j<120;j++);

)

/***********************處理總巨離函數(shù)

voidsmg_display()

(

dis_smg[0]=smg_du[distance%10];

dis_smg[l]=smg_du[distance/10%10];

dis_smg[2]=smg_du[distance/100%10]&0x7f;

)

/******************把數(shù)據(jù)保存到單片機(jī)內(nèi)部eepom中

voidwrite_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中讀出來

voidread_eepom()

(

set_d=byte_read(0x2001);

set_d<<=8;

set_d|=byte_read(0x2000);

a_a=byte_read(0x2058);

/**************開機(jī)自檢eepom初始化*****************/

voidinit_eepom()

(

read_eepom();//先讀

if(a_a!=1)〃新的單片機(jī)初始單片機(jī)內(nèi)問EEPOM

(

set_d=100;

a_a=1;

write_eepom();

)

)

/****************獨(dú)立按鍵處理函數(shù)********************/

voidkey()

(

staticucharkey_new=0,key_old=0,key_value=0;

if(key_new==0)

{一//按鍵松開的時(shí)候做松手檢測

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>=5)

(

key_value=0;

key_new=0;

flag_lj_en=1;〃連加使能

zd_break_en=1;〃自動退出設(shè)置界使能

zd_break_value=0;〃自動退出設(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)

case0x06:key_can=3break;〃得到k2鍵值

case0x05:key_can=2break;〃得到k3鍵值

case0x03:key_can=1break;//得到k4鍵值

//dis_smg[3]=smg_du[key_can%10];

)

key_old=key_new;

voidsmg_we_switch(uchari)

(

switch(i)

{

case0:smg_wel=0;smg_we21;smg_we3=1smg_we4=1

break;

case1:smg_wel=1;smg_we20;smg_we3=1smg_we4=1

break;

case2:smg_wel=1;smgwe21;smg_we3=0smg_we4=1

break;

case3:smg_wel=1;smgwe21;smg_we3=1smg_we4=0

break;

)

/***********************數(shù)碼顯示函數(shù)

voiddisplay()

(

staticuchari;

i++;

if(i>=smg_i)

i=0;

//Pl=Oxff;〃段選

//P3=OxfO|(P3&OxOf);〃位選

//P3=smg_we[i]|(P3&OxOf);〃位選

smg_we_switch(i);

Pl=dis_smg[i];〃段選

voiddelay()

(

_nop_();〃執(zhí)行一條_nop_()指令就是lus

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

/*********************超聲波測距程序

voidsend_wave()

(

c_send=1;//10us的高電平觸發(fā)

delay();

c_send=0;

THO=0;〃給定時(shí)器0清零

TLO=0;

TRO=0;〃關(guān)定時(shí)器0定時(shí)

flag_hc_value=0;

while(!c_recive);〃當(dāng)c_recive為零時(shí)等待

TRO=1;

while(c_recive)〃當(dāng)c_recive為1計(jì)數(shù)并等待

flag_timeO=THO*256+TLO;

if((flag_hc_value>1)||(flag_time0>65000))〃當(dāng)超聲

波超過測量范圍時(shí),顯示3個(gè)888

TRO=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í)器。定時(shí)

distance=THO;〃讀出定時(shí)器0的時(shí)間

distance=distance*256+TLO;

distance+=(flag_hc_value*65536);〃算出超聲波測距的時(shí)間

得到單位是ms

distance*=0.017;//0.017=340M/2=170M=

0.017M算出來是米

if(distance>350)〃距離=速度*時(shí)間

distance=888;〃如果大于3.8m就超出超聲波

的量程

/*********************定時(shí)器0、定時(shí)器1初始化******************/

voidtime_init()

EA=1;〃開總中斷

TMOD=0X11;//定時(shí)器0、定時(shí)器1工作方式1

ETO=1//開定時(shí)器0中斷

TRO=1〃允許定時(shí)器。定時(shí)

ET1=1〃開定時(shí)器1中斷

TRI=1〃允許定時(shí)器1定時(shí)

/****************按鍵處理數(shù)碼管顯示函數(shù)***************/

voidkey_with()

if(key_can==1)

menu_l++;

if(menu_l>=2)

menu_l=0;

)

if(menu_l==0)

menu_shudu=20;

dis_smg[0]=smg_du[distance%10];

dis_smg[l]=smg_du[distance/10%10];

dis_smg[2]=smg_du[distance/100%10]&0x7f;

smg_i=3;

)

if(menu_l==1)

menu_shudu=1;

dis_smg[0]=smg_du[set_d%10];

dis_smg[l]=smg_du[set_d/10%10];

dis_smg[2]=smg_du[set_d/100%10]&0x7f;

dis_smg[3]=0x88;

smg_i=4;

}

if(menu_l=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++;〃按鍵按下未松開自動加三次

if(set_d>350)

set_d=350;

dis_smg[0]=smg_du[set_d%10];〃取小數(shù)顯

dis_smg[l]=smg_du[set_d/10%10];〃取個(gè)位顯

dis_smg[2]=smg_du[set_d/100%10]&0x7f;〃取十位顯

dis_smg[3]=0x88;//a

if(key_can==3)

(

set_d-;〃按鍵按下未松開自動加三次

if(set_d<=1)

set_d=1;

dis_smg[O]=smg_du[set_d%10];〃取小數(shù)顯

dis_smg[l]=smg_du[set_d/10%10];〃取個(gè)位顯示

dis_smg[2]=smg_du[set_d/100%10]&0x7f;〃取

十位顯示

dis_smg[3]=0x88;//a

}

//write_eepom();

)

voidclock_h_l()

staticucharvalue;

if(distance<=set_d)

(

value++;〃消除實(shí)際距離在設(shè)定距離左右變化時(shí)的干擾

if(value>=5)

(

beep="beep;〃蜂鳴器報(bào)警

)

)

else

(

value=0;

beep=1;〃取消報(bào)警

)

/****************按鍵按下蜂鳴器響下**********************/

voidkey_beep()

(

staticuintvalue;

if((f1ag_key_b_en==1)&&(flag_key_set_en==1))

(

beep=0;〃打開蜂鳴器

value++;

if(value>800)

(

value=0;

flag_key_b_en=0;

beep=1;〃關(guān)閉蜂鳴器

voidmainO

(

send_wave();〃測距離函數(shù)

smg_display();〃處理距離顯示函數(shù)

time_init();

init_eepom();〃讀eepom數(shù)據(jù)

while(l)

(

if(flag_300ms==1)

(

flag_300ms=0;

clock_h_l();〃報(bào)警函數(shù)

send_wave();〃測距離函數(shù)

if(menu_l==0)

smgdisplay();〃處理距離顯示函數(shù)

if(zd_break

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論