版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> XXXX學(xué)院</b></p><p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 題 目: 超聲波測距倒車?yán)走_(dá)設(shè)計(jì) </p><p> 系 部: 電子工程系 </p>
2、;<p> 專 業(yè): 電氣自動(dòng)化 </p><p> 學(xué) 號: XXX </p><p> 學(xué)生姓名: XX </p><p> 指導(dǎo)教師: XX </p><p> 職
3、稱: XX </p><p><b> 二O一五年四月二日</b></p><p><b> XXX學(xué)院</b></p><p> 畢業(yè)論文(設(shè)計(jì))任務(wù)書</p><p> 課題名稱:__ 超聲波測距倒車?yán)走_(dá)設(shè)計(jì) </p><p> 系
4、 部: 電子工程系 </p><p> 專 業(yè): 電氣自動(dòng)化 </p><p> 姓 名: XX </p><p> 學(xué) 號:___ XX </p>
5、<p> 指導(dǎo)教師: XX </p><p><b> 二O一五年四月二日</b></p><p><b> 超聲波倒車?yán)走_(dá)設(shè)計(jì)</b></p><p><b> 摘要</b></p><p> 本次設(shè)計(jì)采用單片機(jī)STC8
6、9C52來控制整個(gè)超聲波系統(tǒng)。由單片機(jī)控制產(chǎn)生超聲波并且控制定時(shí)器開始計(jì)時(shí),當(dāng)接收電路接收到回波時(shí),定時(shí)器產(chǎn)生中斷,停止計(jì)時(shí)。信號發(fā)出到接收到回波信號所用的時(shí)間是由單片機(jī)計(jì)算完成,從而得到實(shí)測的距離。距離顯示在LED數(shù)碼管上,并控制報(bào)警電路。</p><p> 整個(gè)硬件電路由電源電路、按鍵電路、顯示電路、報(bào)警電路以及超聲波模塊構(gòu)成。按鍵電路用來控制報(bào)警距離的增加或者減少,方便且實(shí)用。本次設(shè)計(jì)具有容易控制和工作穩(wěn)
7、定等優(yōu)點(diǎn)。</p><p> 關(guān)鍵詞:STC89C52 超聲波 測距 </p><p><b> 目錄</b></p><p><b> 第1章 前言1</b></p><p> 1.1 課題研究的目的及意義1</p><p> 1.2 超聲波測距系統(tǒng)的國內(nèi)外
8、現(xiàn)狀1</p><p> 1.3 設(shè)計(jì)的要求1</p><p> 第2章 系統(tǒng)總體方案的選擇2</p><p> 2.1超聲波的簡介2</p><p> 2.2 超聲波測距系統(tǒng)原理2</p><p> 2.3 方案選擇2</p><p> 第3章 整體硬件電路設(shè)計(jì)4&
9、lt;/p><p> 3.1單片機(jī)系統(tǒng)電路4</p><p> 3.1.1復(fù)位電路4</p><p> 3.1.2 時(shí)鐘電路5</p><p> 3.2 蜂鳴器報(bào)警電路6</p><p> 3.3 按鍵電路6</p><p> 3.4 超聲波發(fā)射電路7</p>
10、<p> 3.5 超聲波接收電路7</p><p> 3.6 超聲波模塊8</p><p> 3.7 顯示電路8</p><p> 3.8 電源電路9</p><p> 3.9 系統(tǒng)的整體電路10</p><p> 第4章 軟件部分11</p><p> 4.
11、1 主程序設(shè)計(jì)11</p><p> 4.2 中斷處理程序12</p><p> 4.3 距離的計(jì)算及顯示電路的設(shè)計(jì)13</p><p> 4.4 報(bào)警電路的設(shè)計(jì)14</p><p> 4.5 按鍵電路的設(shè)計(jì)14</p><p> 第5章 硬件的組裝及調(diào)試15</p><p&g
12、t;<b> 結(jié)論17</b></p><p><b> 致謝18</b></p><p><b> 參考文獻(xiàn)19</b></p><p><b> 附錄20</b></p><p><b> 第1章 前言</b>
13、</p><p> 1.1 課題研究的目的及意義</p><p> 經(jīng)濟(jì)的發(fā)展帶來社會(huì)的進(jìn)步,超聲波測距被頻繁的用在人們的日常工作之中。超聲波擁有測量穩(wěn)定、穿透能力強(qiáng)、易接收等特點(diǎn),同時(shí)超聲波測距不用接觸到物體,適用于了情況比較復(fù)雜的環(huán)境。還因?yàn)槌暡y距易于控制,并且達(dá)到了所要求測量的工業(yè)指標(biāo),所以超聲波測距被用于獲取距障礙物的位置信息、移動(dòng)機(jī)器人、汽車倒車?yán)走_(dá)等方面的研究。<
14、/p><p> 1.2 超聲波測距系統(tǒng)的國內(nèi)外現(xiàn)狀</p><p> 國內(nèi)超聲波測距主要針對固體和液體的研究,在測距的穩(wěn)定性和精確性上有了很大程度的提高。并且隨著科學(xué)技術(shù)的不斷提高,超聲波技術(shù)在工業(yè)的自動(dòng)控制、汽車倒車系統(tǒng)等方面也有深入的研究。此外在醫(yī)學(xué)、生物科學(xué)等領(lǐng)域也有突出的地位。</p><p> 國外也做了大量的研究是關(guān)于提高超聲波測距。Figneroa
15、J.F.,Lamancusa J.S.在計(jì)算時(shí)間方法上又有了新的突破,傳播時(shí)間的獲得是通過相加峰值時(shí)延和相位時(shí)延。</p><p><b> 1.3 設(shè)計(jì)的要求</b></p><p> 設(shè)計(jì)一個(gè)超聲波測距系統(tǒng),距離設(shè)定一個(gè)限定值,當(dāng)超聲波探頭與被測物體的距離小于設(shè)定值時(shí),兩者的距離顯示在四位七段數(shù)碼管上并開始報(bào)警。</p><p><
16、;b> 設(shè)計(jì)主要需求如下:</b></p><p> 電路測量的距離為≤6m。并且誤差率不得超過0.03%。</p><p> 與被測物體的距離用數(shù)碼管顯示,并有報(bào)警功能。</p><p> ?。?)設(shè)置按鍵電路,能對設(shè)置的最小報(bào)警距離進(jìn)行改變。</p><p> 第2章 系統(tǒng)總體方案的選擇</p>
17、<p><b> 2.1超聲波的簡介</b></p><p> 我們知道,聲音的發(fā)出是產(chǎn)生了振動(dòng)。我們知道赫茲定義為聲音的振動(dòng)頻率,20~20000赫茲的振動(dòng)頻率是人的耳朵可以接收到的,高于20000赫茲的,我們定義為超聲波。超聲波具有穿透性好、容易獲取等特點(diǎn),在醫(yī)學(xué)、工業(yè)、軍事、農(nóng)業(yè)等方面有著巨大的研究價(jià)值。</p><p> 2.2 超聲波測距系統(tǒng)
18、原理</p><p> 在超聲波測距的過程中,超聲波的發(fā)射端接收到的脈沖為一系列的方波。時(shí)間間隔大小為方波的寬度,距離越遠(yuǎn),脈沖的寬度越大。脈沖的個(gè)數(shù)也隨著測距的遠(yuǎn)近而變化。超聲波測距的方法是:測量出輸出脈沖的寬度即發(fā)出超聲波到接收超聲波的時(shí)間間隔t,利用公式S=1/2vt,算出被測距離。</p><p> 超聲波的算法設(shè)計(jì):X1是超聲波發(fā)出的時(shí)間,X2是超聲波接收的時(shí)間。我們知道聲波
19、的傳播速度為340m/s,所以被測距離L如圖2-1。</p><p><b> 圖2-1測距原理</b></p><p><b> 2.3 方案選擇</b></p><p> 本方案選擇STC89C52單片機(jī)來控制整個(gè)電路,測得的距離顯示在四位數(shù)碼管上,并根據(jù)所設(shè)置的報(bào)警距離開始報(bào)警。超聲波的發(fā)射信號由單片機(jī)發(fā)出并送
20、到發(fā)射電路上,發(fā)出超聲波。接收電路由CX20106A芯片和接收探頭構(gòu)成。報(bào)警電路中,電阻R15為限流電阻、晶體三級管為驅(qū)動(dòng)蜂鳴器。本設(shè)計(jì)將發(fā)射探頭和接收探頭分離,這樣可以避免信號發(fā)生混疊干擾,從而使的測量數(shù)據(jù)更加的精確。根據(jù)以上設(shè)計(jì)如圖2-2。</p><p><b> 圖2-2 系統(tǒng)框圖</b></p><p> 結(jié)合實(shí)際需求,在網(wǎng)上查找了相關(guān)的資料,決定選用H
21、C-SR04超聲波集成模塊。此模塊發(fā)出的超聲波能夠測量的范圍在5m到2cm之間,能夠準(zhǔn)確到3mm,它的發(fā)射角不大于15°,有利于準(zhǔn)確的測量。并且工作頻率在39 kHz~41 kHz左右,完全符合本次設(shè)計(jì)的40kHz的工作頻率。</p><p> 由于超聲波的發(fā)射探頭和接收探頭是放在同一水平直線上的,而且超聲波信號在傳播的過程中會(huì)發(fā)生衰減,所以兩個(gè)探頭不能距離太遠(yuǎn)。又因?yàn)槿绻麅蓚€(gè)探頭離的太近會(huì)產(chǎn)生信號的
22、干擾,測量出來的結(jié)果會(huì)產(chǎn)生誤差。 第3章 整體硬件電路設(shè)計(jì)</p><p> 3.1單片機(jī)系統(tǒng)電路</p><p> 本次設(shè)計(jì)采用了高速、功耗低的STC89C52單片機(jī)。這款STC89C52單片機(jī)在功能上和以前51單片機(jī)的一樣,并且還擴(kuò)展了功能,使得用起來更加的方便。</p><p> 圖3-1 STC89C52引腳圖</p><p>
23、;<b> 3.1.1復(fù)位電路</b></p><p> 在單片機(jī)規(guī)格書中,有這樣一段描述:如果當(dāng)RST端口持續(xù)兩個(gè)周期以上的高電平,系統(tǒng)就會(huì)復(fù)位。電路如下: </p><p><b> 圖3-2 復(fù)位電路</b></p><p> 在VCC供電時(shí),RST的電壓和VCC一樣。隨著從 C3電容的充電,RST電位
24、開始下降,并形成一個(gè)正向的脈沖,只要脈沖寬度足夠就可以實(shí)現(xiàn)復(fù)位。</p><p><b> 關(guān)于RC的計(jì)算:</b></p><p><b> ?。?-1)</b></p><p> 機(jī)械周期=震蕩周期*12 (3-2)</p>&l
25、t;p> 關(guān)于復(fù)位時(shí)間t的計(jì)算:</p><p><b> (3-3)</b></p><p> 查看相關(guān)資料知道,當(dāng)REST上的電壓高于0.7Vcc時(shí),就可以被看為高電平。本次用的系統(tǒng)電壓為5V,所以REST上超過3.5V就可以看成高電平,并且高電平的時(shí)間超過2us,單片機(jī)就可以復(fù)位。最后計(jì)算RST的電位,復(fù)位電路為一階RC電路,所以電壓與電流有一下關(guān)系
26、:</p><p><b> (3-4)</b></p><p><b> 因?yàn)?;;所以?lt;/b></p><p> 設(shè)Reset pin 電壓為,那么: 所以,,</p><p> 當(dāng)?shù)臅r(shí),。當(dāng)且僅當(dāng) 時(shí),系統(tǒng)實(shí)現(xiàn)復(fù)位,并且電阻和電容RC滿足條件。所以用R=10KΩ、C=10μF符合要求。
27、</p><p> 3.1.2 時(shí)鐘電路</p><p> 時(shí)鐘電路的兩個(gè)引腳分別接入XTAL1端口和XTAL2端口。在兩個(gè)引腳之間接入一個(gè)12M的晶振,兩個(gè)22PF的電容和晶振并聯(lián)后接地。電容的可以使電路更加的穩(wěn)定,電路如下:</p><p><b> 圖3-3 時(shí)鐘電路</b></p><p> 3.2 蜂鳴
28、器報(bào)警電路</p><p> 報(bào)警電路由蜂鳴器、三極管、電阻構(gòu)成。蜂鳴器由三極管驅(qū)動(dòng)。R15為1k的電阻,作用是保護(hù)蜂鳴器。單片機(jī)P36端口和電阻R15連接,當(dāng)單片機(jī)P36口發(fā)送一個(gè)低電平到報(bào)警電路時(shí),NPN型三極管開始驅(qū)動(dòng)蜂鳴器進(jìn)行報(bào)警,報(bào)警電路如圖3-4。</p><p><b> 圖3-4報(bào)警電路</b></p><p><b&
29、gt; 3.3 按鍵電路</b></p><p> 按鍵電路由三個(gè)切換開關(guān),一個(gè)LED設(shè)置指示燈和一個(gè)限流電阻構(gòu)成。電路圖3-5如下:</p><p><b> 圖3-5按鍵電路</b></p><p> 按鍵電路的功能是:當(dāng)按下k1鍵位時(shí),指示燈亮起,開始設(shè)置報(bào)警距離。K2按下,報(bào)警距離從原來的距離開始增大,當(dāng)按下K3鍵位
30、報(bào)警距離開始減小。</p><p> 限流電阻R14的計(jì)算:</p><p> R=(U2-U1)/I (3-5)</p><p> 式中U2為提供的5V電壓,U1和I分別為發(fā)光二極管兩端的電壓、電流。此次設(shè)置指示燈用的是綠色發(fā)光二極管,正向壓降UF為2v,工作電流IF為20毫安
31、。所以R14=(5-2)/0.02=150Ω。</p><p> 3.4 超聲波發(fā)射電路</p><p> 發(fā)射電路主要由5個(gè)非門組成74LS04芯片電路組成。單片機(jī)發(fā)出的40 kHz的脈沖不能直接由發(fā)射電路發(fā)出,要經(jīng)過足夠倍數(shù)的放大后,才能由發(fā)射探頭發(fā)出。所以74LS04反相器其實(shí)就是一個(gè)放大電路。超聲波發(fā)射電路如圖3-6所示。</p><p><b&g
32、t; 圖3-6 發(fā)射電路</b></p><p> R16和R17為1K的電阻,能夠74LS04芯片放大的輸出能力。Vcc為整個(gè)電路提供電源。</p><p> 電路工作時(shí),單片機(jī)產(chǎn)生的40 kHz由P0.1端口發(fā)送到發(fā)射電路,信號由74LS04芯片放大并由超發(fā)出。</p><p> 3.5 超聲波接收電路</p><p>
33、; 由于超聲波在傳播的過程中是有衰減的,所以在中長距離的測量中,反射回來的信號被衰減了,所以有必要進(jìn)行信號的放大,放大的倍數(shù)還比較大。查看相關(guān)資料,此次設(shè)計(jì)采用的是CX20106A芯片,此芯片具有信號放大、峰值檢波、比較等功能。芯片CX20106A電路構(gòu)成了主要的接收電路,比較完信號后會(huì)產(chǎn)生一個(gè)低電平發(fā)送到單片機(jī)進(jìn)行中斷,中斷以后,開始進(jìn)行數(shù)據(jù)的處理。如圖3-7所示。</p><p><b> 圖3
34、-7接收電路</b></p><p><b> 3.6 超聲波模塊</b></p><p> HR-SR04超聲波模塊包含了接收探頭、發(fā)射探頭、74LS04芯片放大電路和CX20106A芯片電路。超聲波模塊如圖3-8所示。</p><p> 圖3-8超聲波集成模塊</p><p> HR-SR04有四
35、個(gè)連接口,分別為VCC、GND、TRIG、ECHO四個(gè)接口。</p><p> VCC:提供5V的電源</p><p><b> GND:地線</b></p><p> TRIG:信號的輸入端口</p><p> ECHO:信號的輸出端口</p><p> 工作原理:此模塊能夠發(fā)出8個(gè)4
36、0 kHz的方波脈沖,并且可以自動(dòng)檢測有沒有信號的返回。</p><p><b> 3.7 顯示電路</b></p><p> 本次設(shè)計(jì)的顯示電路由四位七段數(shù)碼管、三極管和三個(gè)電阻組成。數(shù)碼管由三級管來驅(qū)動(dòng),限流電阻R11、R12和R13是保護(hù)整個(gè)顯示電路,如圖3-9。</p><p> 圖3-9 顯示電路 </p><
37、;p> LED是發(fā)光二極管的簡稱,八只發(fā)光二極管構(gòu)成了數(shù)碼管,國際上記作:a、b、c、d、e、f、g、dp。dp為小數(shù)點(diǎn)。</p><p> 數(shù)碼管要能夠正常的顯示就必須要有驅(qū)動(dòng)電路來驅(qū)動(dòng),本次設(shè)計(jì)采用了動(dòng)態(tài)的方式。動(dòng)態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)有:節(jié)省了大量的I/O口,并且消耗低,所以本次設(shè)計(jì)采用動(dòng)態(tài)的驅(qū)動(dòng)方式,四位數(shù)碼管的接線方式為共陽極的接法。</p><p><b> 3.8
38、 電源電路</b></p><p> 電路由一個(gè)5V電源、一個(gè)發(fā)光二極管和限流電阻組成。發(fā)光二極管采用的是紅色,作為電源指示燈,電路如圖3-10所示。</p><p> 圖3-10 電源電路</p><p> 關(guān)于發(fā)光二極管限流電阻R2的計(jì)算:</p><p> 能加到發(fā)光二極管兩邊的電壓為5V,使用時(shí)要串聯(lián)一個(gè)限流電阻用
39、以保護(hù)發(fā)光二極管。電阻R2的計(jì)算為: R2=(E-UF)/IF (3-6)式中的E為電源電壓,UF為發(fā)光二極管的兩端電壓,IF為發(fā)光二極管的兩端電流。</p><p> 發(fā)光二極管根據(jù)用途不同,顏色也不同。紅色發(fā)光二極管的工作電壓是2V。發(fā)光二極管的電流大概為20mA,本次設(shè)計(jì)采用的是紅色發(fā)光二極管。采用的電源電壓為5V
40、,電源電壓減紅色二極管的兩端電壓就是電阻R2的電壓,再用R2兩端的電壓除以紅色二極管兩端電流就能計(jì)算出R2。所以R2=(5-2)/0.02=150Ω。</p><p> 3.9 系統(tǒng)的整體電路</p><p> 圖3-11 系統(tǒng)電路圖</p><p> 整個(gè)系統(tǒng)由電源電路提供5V電源,數(shù)據(jù)由超聲模塊傳到單片機(jī)進(jìn)行處理,最后顯示在數(shù)碼管上并開始報(bào)警。
41、 第4章 軟件部分</p><p> 本次設(shè)計(jì)采用的思想是分塊進(jìn)行設(shè)計(jì)及編寫程序代碼。程序主要分為主程序和中斷程序。主程序包括初始化單片機(jī)STC89C53、超聲波的發(fā)出和接收、距離的計(jì)算、按鍵電路的設(shè)置、距離的顯示和蜂鳴器的報(bào)警等。</p><p><b> 4.1 主程序設(shè)計(jì)</b></p><p>
42、 主程序是初始化單片機(jī)STC89C52,然后置1回波接收位。同時(shí)通過端口P3.0發(fā)送一個(gè)低電平來啟動(dòng)超聲波的發(fā)射電路,并且開啟定時(shí)器T0開始計(jì)時(shí)。這時(shí)調(diào)動(dòng)計(jì)算子程序根據(jù)記錄的T0時(shí)間計(jì)算距離,計(jì)算完成后,調(diào)用子程序顯示距離。與此同時(shí),調(diào)用聲音處理程序進(jìn)行蜂鳴器的報(bào)警。主程序根據(jù)反射回來的信號繼續(xù)工作,如果回波標(biāo)志位為0則說明成功接收到了回波信號,這時(shí)開始置位并且發(fā)送一個(gè)低電平到發(fā)射電路,就這樣不停的循環(huán),實(shí)現(xiàn)測距功能。根據(jù)以上描述主程序
43、的流程圖如圖4-1所示。</p><p> 圖4-1 主程序流程圖</p><p> 4.2 中斷處理程序</p><p> 負(fù)責(zé)計(jì)算距離的程序是中斷處理程序。根據(jù)前面的分析,當(dāng)接收電路接收到回波信號以后,同樣會(huì)產(chǎn)生一個(gè)低電平送至單片機(jī)的P3.1端口。這時(shí)轉(zhuǎn)入中斷處理程序,定時(shí)器T0以及外部中斷0就立刻關(guān)閉。讀取時(shí)間值,并給接收回波的標(biāo)志位清零。本設(shè)計(jì)的中
44、斷處理程序的程序流程圖如圖4-2所示。</p><p> 圖4-2 中斷處理程序流程圖</p><p> 在中斷處理程序中,對于距離的計(jì)算是比較關(guān)鍵的。先從定時(shí)器T0那里讀取時(shí)間值,再根據(jù)公式計(jì)算出距離,最后在實(shí)現(xiàn)各模塊的功能。</p><p> 4.3 距離的計(jì)算及顯示電路的設(shè)計(jì)</p><p> 根據(jù)公式S=17×N/
45、1000=0.017×N(cm),可以看出來求出距離的關(guān)鍵是N值,也就是定時(shí)器T0計(jì)數(shù)的次數(shù)。當(dāng)接收探頭接收到回波信號時(shí),電路會(huì)產(chǎn)生一個(gè)低電平送至單片機(jī)的P3.1端口,這時(shí),定時(shí)器停止工作,并且提取定時(shí)器計(jì)數(shù)的次數(shù)N,計(jì)算出距離。</p><p> 本次設(shè)計(jì)采用的掃描方式為簡單實(shí)用的動(dòng)態(tài)掃描,用四位共陽極的連接方式連接數(shù)碼管顯示距離。單片機(jī)的P2口和數(shù)碼管進(jìn)行段的動(dòng)態(tài)掃描,因?yàn)榫嚯x的顯示是在變化不固定
46、的,所以數(shù)碼管的顯示過程是在外部中斷后進(jìn)行的。</p><p> 4.4 報(bào)警電路的設(shè)計(jì)</p><p> 主程序根據(jù)計(jì)算公式算出與被測物體的距離,通過數(shù)碼管顯示,并且調(diào)用報(bào)警子程序控制蜂鳴器進(jìn)行報(bào)警。</p><p> 4.5 按鍵電路的設(shè)計(jì)</p><p> 當(dāng)按下k1鍵位,進(jìn)入設(shè)置模式,默認(rèn)的報(bào)警距離在數(shù)碼管上進(jìn)行顯示,每按k2
47、一次顯示距離增加十厘米,每按下k3一次顯示距離減少十厘米,設(shè)置好新的報(bào)警距離后再次按下k1鍵位時(shí),單片機(jī)自動(dòng)計(jì)算顯示距離是否小于新設(shè)置的報(bào)警距離,如果小于蜂鳴器開始報(bào)警。按鍵電路程序流程如圖4-3所示。</p><p> 圖 4-3 按鍵電路程序流程圖 第5章 硬件的組裝及調(diào)試</p><p> 本次超聲波測距的設(shè)計(jì)以HR-SR04超聲波模
48、塊為主體,中心頻率為40 kH。硬件的連接及焊接如下:單片機(jī)的P2口(P20~P27)對應(yīng)焊接到數(shù)碼管的a、b、c、d、e、f、g、dp,進(jìn)行段動(dòng)態(tài)掃描。P1口(P11~P13)控制數(shù)碼管的片選段。P30和P31分別接到超聲波模塊的Echo、Trig 端口。報(bào)警電路引腳接到單片機(jī)P36端口。</p><p> 測量到一本書的距離,實(shí)際距離為38cm,測得距離為37cm,誤差的范圍在1cm~2cm,比較穩(wěn)定,實(shí)際
49、測距情況如圖5-1所示。</p><p> 圖5-1 測量情況顯示</p><p> 按下菜單鍵位,重新設(shè)置報(bào)警距離,報(bào)警距離為80cm。實(shí)際距離為95cm,測得的距離為94cm,蜂鳴器開始報(bào)警,如圖5-2所示。</p><p><b> 圖5-2 測量情況</b></p><p> 在現(xiàn)實(shí)測距中,測量值與真實(shí)
50、值誤差產(chǎn)生的原因分析:</p><p> 可能與被測物體的橫截面積大小有關(guān)。被測物體橫截面太小,超聲波信號不能被完全的反射回來。</p><p> 可能與被測物體的光滑程度有光。表面不平滑的物體容易使信號散射開來,接收探頭接收到的信號變?nèi)酢?lt;/p><p><b> 結(jié)論</b></p><p> 從開學(xué)的選題到
51、現(xiàn)在做畢業(yè)設(shè)計(jì)完成的幾個(gè)月時(shí)間里,此次課題的選著從開始的不了解到現(xiàn)在實(shí)物焊接成功以及論文的完成,我學(xué)習(xí)到了很多知識,讓我了解從理論到實(shí)踐過程的艱辛。在設(shè)計(jì)的這段時(shí)間里,從剛開始思考到課題的完成,每一步都在努力的做到最好。對大學(xué)四年的學(xué)習(xí)做了一次比較全面的檢練。</p><p> 根據(jù)任務(wù)書的要求與實(shí)際結(jié)合,本次設(shè)計(jì)以單片機(jī)STC89C52為主,采用HR-SR04超聲波集成模塊對超聲波的發(fā)射和接收,利用四位數(shù)碼管
52、和和蜂鳴器進(jìn)行顯示和報(bào)警。并且設(shè)置了按鍵電路方便的對報(bào)警距離進(jìn)行修改。做出來的實(shí)物基本滿足任務(wù)要求,但在調(diào)試過程中發(fā)現(xiàn)了一下幾個(gè)問題:</p><p> 環(huán)境的溫度對距離的測量有影響,當(dāng)我在陽光下和在陰涼處對同一距離測出來的數(shù)值不一樣。查看有關(guān)資料,對于溫度的影響,在設(shè)計(jì)中可以考慮加上溫度補(bǔ)償模塊。</p><p> 被測物體表面的材質(zhì)不同也影響距離的測定,幾次結(jié)果表明:表面粗糙的物體
53、比表面光滑的物體引起的誤差更大??赡艽植诘谋砻嫘盘柹⑸溟_,這樣接收到的回波信號弱,因此產(chǎn)生誤差。</p><p> 通過上網(wǎng)了解,影響誤差的還有可能是余波信號的影響。在測距時(shí),有一部分聲波沒通過反射直接傳到接收探頭那里。這種余波的印象對測距的影響還是挺大的。單這種干擾可以通過軟件算法的方法去除。</p><p><b> 致謝</b></p><
54、;p> 本次畢業(yè)設(shè)計(jì)論文在老師的耐心指導(dǎo)下,總算完成老師的治學(xué)敬業(yè)態(tài)度讓我很感動(dòng),很感謝老師的辛苦付出,讓我的大學(xué)四年畫上了一個(gè)完美的句號。在本次設(shè)計(jì)中,老師不斷的對我的設(shè)計(jì)提出很多疑問,讓我能在這方面更加深入的思考,并且在我不知所措時(shí),認(rèn)真仔細(xì)的指導(dǎo)我解決問題,這才使得設(shè)計(jì)的課題能夠順利完成。</p><p> 同時(shí)還要感謝教過我指導(dǎo)我的所有老師,你們在我大學(xué)的四年里扮演了重要的角色。你們給予我的不僅
55、是知識,還有以后出入社會(huì)的優(yōu)秀品質(zhì)。謝謝你們的建議與忠告,讓我對即將踏入的社會(huì)有了自信和目標(biāo)。謝謝身邊的朋友,大學(xué)里的每一步都有你們的印記。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] Y. S. Huang M. S. Young.An Accurate Ultrasonic Distance Measurement System wi
56、th Self Temperature Compensation[J].Instrumentation science & technology.2009,37(01):22-29.</p><p> [2] 姚永平.STC89C51RC/RD+系列單片機(jī)指南[DB/OL].www.MCU-Memory.com, 2005-6-25.</p><p> [3] 王安敏,張凱.基
57、于AT89C52單片機(jī)的超聲波測距系統(tǒng)[J].儀表技術(shù)與傳感器.2006(06):44-49</p><p> [4] 戴曰章,吳志勇.基于AT89C51單片機(jī)的超聲波測距系統(tǒng)設(shè)計(jì)[J].計(jì)量與測試技術(shù).2005(02):17-18</p><p> [5] 吳超,戴亞文.基于AT89S52單片機(jī)的超聲波測距系統(tǒng)的設(shè)計(jì)[J].中原工學(xué)院學(xué)報(bào).2008(10):65-68</p&g
58、t;<p> [6] 張春光.基于單片機(jī)的超聲波測距系統(tǒng)的設(shè)計(jì)[J].可編程控制器與工廠自動(dòng)化.2008(09):16-19</p><p> [7] 蘇煒,龔壁建,潘笑.超聲波測距誤差分析[J].傳感器技術(shù).2004(06):8-11</p><p> [8] 李光飛,樓然苗,胡加文.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M].北京:航空航天大學(xué)出版社.2004:86-91<
59、/p><p> [9] 李建法.超聲波測距的電路設(shè)計(jì)與單片機(jī)編程[J].安陽師范學(xué)院學(xué)報(bào).2003(05):47-48</p><p> [10] Sv. Noykov Ch. Roumenin.Calibration and interface of a polaroid ultrasonic sensor for mobile robots[J].Sensors and Actuato
60、rs.2007,135(01):55-58</p><p> [11]rtori S:ZHANG G X. Geometric Error Measurement and Compensation of Machines.Annals of the CIRP. 1995:599-609</p><p> [12]olton W.Instrumentation&process m
61、easurement.Longman Scientific Technical. 1991</p><p> [13]張 芬:基于C8051F320單片機(jī)的超聲波測距儀,中國地質(zhì)大學(xué)(武漢)機(jī)械與電子信息學(xué)院,儀表技術(shù)與傳感器,2009(09):56-62</p><p> [14]李為民:基于stc89單片機(jī)的超聲波測距儀, 陜西師范大學(xué)學(xué)報(bào),2005(10):35-48</p
62、><p> [15] Fox, J.D., Khuri-Yakub, B.T. and Kino, G.S., "High Frequency Acoustic Wave Measurement in Air", in Proceedings of IEEE 1983 Ultrasonic Symposium, October 31-2 November, 1983, Atlanta, GA,
63、pp. 581-4.</p><p> [16]Martin Abreu, J.M., Ceres, R. and Freire, T., "Ultrasonic Ranging: Envelope Analysis Gives Improved Accuracy", Sensor Review, Vol. 12 No. 1, 1992, pp. 17-21.</p><
64、p> [17]Martin, J.M., Ceres, R., Calderon, L and Freire, T., "Ultrasonic Ranging Gets Thermal Correction", Sensor Review, Vol. 9 No. 3, 198</p><p><b> 附錄</b></p><p><
65、;b> 總程序:</b></p><p> #include <reg52.h> //頭文件</p><p> #include <intrins.h> // 延時(shí) _crol_函數(shù) 的文件</p><p> #define uint unsigned int</p><
66、;p> #define uchar unsigned char</p><p> uint Slong=30; // 報(bào)警距離值 如果需要修改報(bào)警距離,則改此處數(shù)值就可。</p><p> void delay(uint); //聲明延時(shí)子函數(shù)</p><p> int m; //定義變量m</p>&l
67、t;p> uchar a=0; //定義變量a。 初始值為0;</p><p> unsigned int time=0;</p><p> unsigned int timer=0;</p><p> unsigned char posit=0;</p><p> unsigned long S=0;&l
68、t;/p><p> unsigned char const discode[] ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0xff/*-*/}; //共陽數(shù)碼管段選</p><p> unsigned char const positon[3]={ 0xfd,0xfb,0xf7}; //數(shù)碼管位選</p&g
69、t;<p> unsigned char disbuff[3] ={0,0,0,}; </p><p> sbit RX=P3^0; // 就是超聲波Echo口線</p><p> sbit TX=P3^1; // 就是超聲波Trig口線</p><p> bit flag =0; </p
70、><p> sbit speak=P3^6; //蜂嚀器報(bào)警的口線定義</p><p> sbit shezhideng=P3^5; //設(shè)置指示燈的 口線定義</p><p> sbit k1=P3^2; // 按鍵的口線定義</p><p> sbit k2=P3^3;</p><p> sbit
71、k3=P3^4;</p><p> void Display() //掃描數(shù)碼管 以下為掃描數(shù)碼管的相應(yīng)程序。 會(huì)進(jìn)行多次賦值。</p><p><b> {</b></p><p> if(posit==0)</p><p> {P2=(discode[disbuff[posit
72、]])&0xff;}</p><p><b> else</b></p><p> {P2=discode[disbuff[posit]];}</p><p> P1=positon[posit];</p><p> if(++posit>=3)</p><p><b&
73、gt; posit=0;</b></p><p><b> }</b></p><p> void delay(uint xms) //延時(shí)函數(shù) </p><p><b> {</b></p><p><b> uint i,j;</b><
74、;/p><p> for(i=xms;i>0;i--);</p><p> for(j=110;j>0;j--);</p><p><b> }</b></p><p> void m_main() //程序一直在 m_main() 函數(shù)面循環(huán)。</p><p>&l
75、t;b> { </b></p><p> if(!k1) //按下K1鍵 功能:每按下K1鍵,a就加1. 使程序在下面的相應(yīng)程序里跑。。。</p><p><b> {</b></p><p> delay(7); //延時(shí)去抖</p><p><b
76、> if(!k1)</b></p><p><b> {</b></p><p> a++; //變量a加1</p><p> } while(!k1); //等待按鍵彈起</p><p><b> }</b></p><p> /
77、******************當(dāng)a=0時(shí)************************************/ </p><p> if(a==0) //當(dāng)a=0時(shí),系統(tǒng)為正常進(jìn)行,會(huì)自動(dòng)計(jì)算距離,會(huì)檢測是否報(bào)警。</p><p><b> { </b></p><p> while(!RX); //當(dāng)RX為
78、零時(shí)等待</p><p> TR0=1; //開啟計(jì)數(shù)</p><p> while(RX); //當(dāng)RX為1計(jì)數(shù)并等待</p><p> TR0=0; //關(guān)閉計(jì)數(shù)</p><p> m=S; //將計(jì)算出的值 賦給 變量m ; m值會(huì)在數(shù)碼管
79、上顯示。</p><p> warn(); //報(bào)警函數(shù)</p><p> Conut(); //計(jì)算</p><p> shezhideng=1; //關(guān)閉設(shè)置指示燈</p><p> } </p><p> /*****************
80、當(dāng)a=1時(shí)*************************************/ </p><p> if(a==1) //當(dāng)a等于1時(shí)</p><p><b> { </b></p><p> m=Slong; //將Slong的值 賦給m ,使數(shù)碼管顯示報(bào)警值,然后好進(jìn)行修改。
81、</p><p> Conut(); //計(jì)算</p><p> shezhideng=0; //設(shè)置指示燈點(diǎn)亮 </p><p> speak=1; //關(guān)閉報(bào)警</p><p> if(!k2) //按下按鍵</p><p><
82、;b> {</b></p><p> delay(10); //延時(shí)去抖</p><p><b> if(!k2)</b></p><p><b> {</b></p><p> Slong+=10; //沒按下一次,數(shù)值加10</p>
83、<p><b> }</b></p><p> while(!k2); //等待按鍵 彈起</p><p><b> }</b></p><p> else if(!k3) </p><p><b> {</b></p>
84、;<p> delay(10);</p><p><b> if(!k3)</b></p><p><b> {</b></p><p> Slong-=10;</p><p> } while(!k3);</p><p><b> }&l
85、t;/b></p><p><b> }</b></p><p> /******************當(dāng)a=2時(shí)************************************/ </p><p> if(a==2) //當(dāng)a等于2時(shí) 。 目的是 當(dāng)再次按K1鍵時(shí),使a=0. 達(dá)到循環(huán)的作用
86、。</p><p><b> {</b></p><p> a=0; // 使a等于0, 讓程序進(jìn)入 相應(yīng)的運(yùn)行。 請看上面的a=0時(shí)系統(tǒng)為正常進(jìn)行,會(huì)自動(dòng)計(jì)算距離,會(huì)檢測是否報(bào)警。</p><p><b> }</b></p><p><b> }&l
87、t;/b></p><p> warn() //報(bào)警函數(shù)</p><p><b> {</b></p><p> if(S<=Slong ) //當(dāng)距離小于等于設(shè)定的報(bào)警值時(shí)</p><p><b> {</b></p><
88、;p> speak=0; //蜂嚀器報(bào)警</p><p><b> }</b></p><p> if(S>Slong) //當(dāng)距離大于設(shè)定的報(bào)警值時(shí)</p><p><b> {</b></p><p> speak=1; // 蜂嚀器不報(bào)警。&
89、lt;/p><p><b> }</b></p><p><b> }</b></p><p> Conut(void) //計(jì)算 所測距離的值。</p><p><b> {</b></p><p> time=TH0
90、*256+TL0;</p><p><b> TH0=0;</b></p><p><b> TL0=0;</b></p><p> S=(time*1.7)/100; //算出來是CM</p><p> if((S>=700)||flag==1) //超出測量范圍顯示“-”&
91、lt;/p><p><b> { </b></p><p><b> flag=0;</b></p><p> disbuff[0]=10; //“-”</p><p> disbuff[1]=10; //“-”</p><p> disbu
92、ff[2]=10; //“-”</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> disbuff[0]=m%1000/100;</p><p>
93、 disbuff[1]=m%1000%100/10;</p><p> disbuff[2]=m%1000%10 %10;</p><p><b> }</b></p><p><b> }</b></p><p> /************************************
94、********************/</p><p> void zd0() interrupt 1 //T0中斷用來計(jì)數(shù)器溢出,超過測距范圍</p><p><b> {</b></p><p> flag=1; //中斷溢出標(biāo)志</p><p
95、><b> }</b></p><p> /********************************************************/</p><p> void zd3() interrupt 3 //</p><p><b> {</b></p>
96、<p><b> TH1=0xf8;</b></p><p><b> TL1=0x30;</b></p><p> Display(); // 刷新數(shù)碼管</p><p><b> timer++;</b></p><p> if(timer&g
97、t;=50)</p><p><b> {</b></p><p><b> timer=0;</b></p><p> TX=1; </p><p> _nop_(); //短暫延時(shí)</p><p><b&g
98、t; _nop_(); </b></p><p><b> _nop_(); </b></p><p><b> _nop_(); </b></p><p><b> _nop_(); </b></p><p><b> _nop_(); <
99、;/b></p><p><b> _nop_(); </b></p><p><b> _nop_(); </b></p><p><b> _nop_(); </b></p><p><b> _nop_(); </b></p>
100、;<p><b> _nop_(); </b></p><p><b> _nop_(); </b></p><p><b> _nop_(); </b></p><p><b> _nop_(); </b></p><p><
101、b> _nop_(); </b></p><p><b> _nop_(); </b></p><p><b> _nop_();</b></p><p><b> _nop_(); </b></p><p><b> _nop_(); &
102、lt;/b></p><p><b> _nop_(); </b></p><p><b> _nop_();</b></p><p><b> TX=0;</b></p><p><b> } </b></p><p&g
103、t;<b> }</b></p><p> void main( void ) //主函數(shù)</p><p><b> { </b></p><p> TMOD=0x11; //設(shè)T0為方式1,GATE=1;</p><p><b> TH0=0;
104、</b></p><p> TL0=0; </p><p> TH1=0xf8; //2MS定時(shí)</p><p><b> TL1=0x30;</b></p><p> ET0=1; //允許T0中斷</p><p>
105、 ET1=1; //允許T1中斷</p><p> TR1=1; //開啟定時(shí)器</p><p> EA=1; //開啟總中斷</p><p><b> while(1)</b></p><p><b> {</b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---基于超聲波測距的倒車?yán)走_(dá)設(shè)計(jì)
- 超聲波測距倒車?yán)走_(dá)系統(tǒng)的研究【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)-超聲波倒車?yán)走_(dá)
- 超聲波倒車?yán)走_(dá)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)——超聲波倒車測距系統(tǒng)設(shè)計(jì)
- 超聲波測距倒車?yán)走_(dá)設(shè)計(jì)開題報(bào)告
- 課程設(shè)計(jì)--超聲波倒車?yán)走_(dá)測距
- 數(shù)字超聲波倒車測距儀設(shè)計(jì)-畢業(yè)設(shè)計(jì)
- 超聲波測距倒車?yán)走_(dá)系統(tǒng)的設(shè)計(jì)【開題報(bào)告】
- 畢業(yè)設(shè)計(jì)---超聲波倒車?yán)走_(dá)系統(tǒng)的設(shè)計(jì)
- 超聲波測距倒車?yán)走_(dá)系統(tǒng)的研究【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 超聲波測距倒車?yán)走_(dá)系統(tǒng)的設(shè)計(jì)【文獻(xiàn)綜述】
- 超聲波測距畢業(yè)設(shè)計(jì)
- 超聲波測距畢業(yè)設(shè)計(jì)
- 超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計(jì)
- 超聲波測距畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的超聲波測距倒車?yán)走_(dá)設(shè)計(jì)畢業(yè)論文
- 超聲波倒車?yán)走_(dá)系統(tǒng)的設(shè)計(jì)
- 超聲波測距雷達(dá)設(shè)計(jì)1
- 超聲波測距畢業(yè)設(shè)計(jì) (2)
評論
0/150
提交評論