超聲波測距儀畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本 科 畢 業(yè) 設(shè) 計</p><p>  題 目 超聲波測距儀的設(shè)計與實現(xiàn) </p><p>  英文題目 Design of ultrasonic range finder </p><p>  2012 年 5 月</p><p>  本 科 畢 業(yè) 設(shè) 計</p><p>  題

2、 目 超聲波測距儀的設(shè)計與實現(xiàn) </p><p>  英文題目Design of ultrasonic range finder </p><p>  學(xué)生簽名: </p><p>  指導(dǎo)教師簽名: </p><p>  2012

3、 年 5 月</p><p>  本科畢業(yè)設(shè)計(論文)任務(wù)書</p><p><b>  摘 要</b></p><p>  隨著科技的發(fā)展,人們生活水平的提高,城市發(fā)展建設(shè)加快,城市給排水系統(tǒng)也有較大發(fā)展,其狀況不斷改善。但是,由于歷史原因合成時間住的許多不可預(yù)見因素,城市給排水系統(tǒng),特別是排水系統(tǒng)往往落后于城市建設(shè)。因此,經(jīng)常出現(xiàn)開挖已經(jīng)

4、建設(shè)好的建筑設(shè)施來改造排水系統(tǒng)的現(xiàn)象。城市污水給人們帶來了困擾,因此箱涵的排污疏通對大城市給排水系統(tǒng)污水處理,人們生活舒適顯得非常重要。而設(shè)計研制箱涵排水疏通移動機器人的自動控制系統(tǒng),保證機器人在箱涵中自由排污疏通,是箱涵排污疏通機器人的設(shè)計研制的核心部分??刂葡到y(tǒng)核心部分就是超聲波測距儀的研制。因此,設(shè)計好的超聲波測距儀就顯得非常重要了。</p><p>  本設(shè)計采用以AT89C51單片機為核心的低成本、高精

5、度、微型化數(shù)字顯示超聲波測距儀的硬件電路和軟件設(shè)計方法。整個電路采用模塊化設(shè)計,由主程序、預(yù)置子程序、發(fā)射子程序、接收子程序、顯示子程序等模塊組成。各探頭的信號經(jīng)單片機綜合分析處理,實現(xiàn)超聲波測距儀的各種功能。在此基礎(chǔ)上設(shè)計了系統(tǒng)的總體方案,最后通過硬件和軟件實現(xiàn)了各個功能模塊。相關(guān)部分附有硬件電路圖、程序流程圖。</p><p>  經(jīng)實驗證明,這套系統(tǒng)軟硬件設(shè)計合理、抗干擾能力強、實時性良好,經(jīng)過系統(tǒng)擴展和升

6、級,可以有效地解決汽車倒車、建筑施工工地以及一些工業(yè)現(xiàn)場的位置監(jiān)控。</p><p>  關(guān)鍵詞:AT89c51; 超聲波; 測距</p><p><b>  ABSTRACT</b></p><p>  With the development of science and technology, the improvement of peo

7、ple's standard of living, speeding up the development and construction of the city. urban drainage system have greatly developed their situation is constantly improving. However, due to historical reasons many unpred

8、ictable factors in the synthesis of her time, the city drainage system. In particular drainage system often lags behind urban construction. Therefore, there are often good building excavation has been building faci</p

9、><p>  At the core of the design using AT89C51 low-cost, high accuracy, Micro figures show that the ultrasonic range finder hardware and software design methods. Modular design of the whole circuit from the mai

10、n program, pre subroutine fired subroutine receive subroutine. display subroutine modules form. SCM comprehensive analysis of the probe signal processing, and the ultrasonic range finder function. On the basis of the ove

11、rall system design, hardware and software by the end of each module. </p><p>  The research has led to the discovery that the software and hardware designing is justified, the anti-disturbance competence is

12、powerful and the real-time capability is satisfactory and by extension and upgrade, this system can resolve the problem of the car availably, building construction the position of the workplace and some industries spot s

13、upervision.</p><p>  Key words:AT89C51; Silent Wave; Measure Distance </p><p><b>  目 錄</b></p><p><b>  目 錄III</b></p><p><b>  1緒論1<

14、;/b></p><p>  1.1超聲波簡介1</p><p>  1.2本設(shè)計研究的內(nèi)容2</p><p>  2超聲波測距儀系統(tǒng)的設(shè)計2</p><p>  2.1系統(tǒng)設(shè)計的目的和要求2</p><p>  2.2系統(tǒng)的工作原理2</p><p>  3系統(tǒng)硬件電路的設(shè)

15、計3</p><p>  3.1單片機的功能特點3</p><p>  3.2超聲波發(fā)射電路4</p><p>  3.3超聲波接收電路5</p><p>  3.4超聲波測距系統(tǒng)的硬件電路設(shè)計5</p><p>  4系統(tǒng)軟件的設(shè)計7</p><p>  4.1超聲波測距儀的算法

16、設(shè)計7</p><p>  4.2主程序流程圖7</p><p>  4.3 系統(tǒng)軟硬件的調(diào)試8</p><p><b>  總 結(jié)8</b></p><p><b>  致 謝9</b></p><p><b>  參考文獻(xiàn)10</b>

17、</p><p><b>  緒論</b></p><p><b>  1.1超聲波簡介</b></p><p>  超聲波[1]簡單的說就是音頻超過了人類耳朵所能夠聽到的范圍。一般而言是指聲音超過了20KHz時稱之為超聲波。與光波不同,超聲波是一種彈性機械波,它可以在氣體、液體和固體中傳播。因為電磁波的傳播速度為m/ s

18、,而超聲波在空氣中的傳播速度為340m / s,其速度相對電磁波是非常慢的。超聲波在相同的傳播媒體里(如大氣條件)傳播速度相同,即在相當(dāng)大的頻率范圍內(nèi)聲速不隨頻率變化,波動的傳播方向與振動方向一致,是縱向振動的彈性機械波,它是借助于傳播介質(zhì)的分子運動而傳播的,波動方程描述方法與電磁波是類似的:</p><p><b>  公式(1-1)</b></p><p><

19、;b>  公式(1-2)</b></p><p>  在公式中,A(x)為振幅,Ao為常數(shù),w為圓頻率,t為時間,x為傳播距離,k=2∏/λ為波數(shù),A為波長,a為衰減系數(shù)。衰減系數(shù)與聲波所在介質(zhì)及頻率的關(guān)系為:</p><p><b>  公式(1-3)</b></p><p>  式中,a為介質(zhì)常數(shù),f為振動頻率。在空氣里,

20、a= s2/cm,當(dāng)振動的聲波頻率f= 40kHz(超聲波)代入式(2.3),可得a= /cm,即1/α=31m;它的物理意義是:在(1/a)長度上,平面聲波的振幅衰減為原來的e分之一,由此可以看出,頻率越高,衰減得越厲害,傳播的距離也越短。聲波在空氣媒質(zhì)里傳播,因空氣分子運動摩擦等原因,能量被吸收損耗??紤]實際工程測量要求,在設(shè)計超聲波測距儀時,選用頻率f=40kHz的超聲波。</p><p><b&g

21、t;  超聲波的傳播速度</b></p><p>  縱波、橫波及表面波的傳播速度取決于介質(zhì)的彈性常數(shù)以及介質(zhì)的密度。</p><p><b>  液體中的縱波聲速:</b></p><p><b>  公式(1-4)</b></p><p>  2.氣體中的縱波聲速: </p&

22、gt;<p><b>  公式(1-5)</b></p><p>  式中: K--體積彈性模量 --- 熱容比 P--靜態(tài)壓力 ρ--密度</p><p>  例:T=0 °C,超聲波在空氣中的傳播速度 C1=331.45m/s, </p><p>  C=331.45+0.61T (m/s)

23、 公式(1-6)</p><p><b>  式中 T:°C </b></p><p>  1.2本設(shè)計研究的內(nèi)容</p><p>  利用超聲波測量己知基準(zhǔn)位置和目標(biāo)物體表面之間距離的方法,稱為超聲波測距法。</p><p&g

24、t;  利用超聲波作為定位技術(shù)是蝙蝠等一些無目視能力的生物作為防御及捕捉獵物生存的手段,也就是由生物體發(fā)射不被人們聽到的超聲波(20kHz以上的機械波),借助空氣媒質(zhì)傳播由被待捕捉的獵物或障礙物反射回來的時間間隔長短與被反射的超聲波的強弱判斷獵物性質(zhì)或障礙位置的方法。由于超聲波的速度相對于光速要小的多,其傳播時間就比較容易檢測,并且易于定向發(fā)射,方向性好,強度好控制,因而人類采用仿真技能利用超聲波測距。超聲波測距是一種利用聲波特性、電子

25、計數(shù)、光電開關(guān)相結(jié)合來實現(xiàn)非接觸式距離測量的方法。它在很多距離探測應(yīng)用中有很重要的用途,包括非損害測量、過程檢測、機器人檢測和定位、以及流體液面高度測量等。</p><p>  超聲波測距在某些場合有著顯著的優(yōu)點,因為這種方法是利用計算超聲波在被測物體和超聲波探頭之間的傳輸來測量距離的,因此它是一種非接觸式的測量所以它就能夠在某些特定場合或環(huán)境比較惡劣的環(huán)境下使用。比如要測量有毒或有腐蝕性化學(xué)物質(zhì)的液面高度或高速

26、公路上快速行駛汽車之間的距離。</p><p>  目前基于超聲波精確測距的需求也越來越大,如油庫和水箱液面的精確測量和控制,物體內(nèi)氣孔大小的檢測和機械內(nèi)部損傷的檢測等。本文結(jié)合超聲波精確測距的需要,分析了影響超聲波測距精確的多種因素,進(jìn)行了系統(tǒng)的硬件設(shè)計和軟件設(shè)計,來有效提高超聲波測距系統(tǒng)的精度。</p><p>  超聲波測距儀系統(tǒng)的設(shè)計</p><p>  2

27、.1系統(tǒng)設(shè)計的目的和要求</p><p> ?。?)系統(tǒng)設(shè)計的目的:</p><p>  隨著科學(xué)技術(shù)的快速發(fā)展,超聲波將在測距儀中的應(yīng)用越來越廣。但就目前技術(shù)水來說,人們可以具體利用的測距技術(shù)還十分有限,因此,這是一個正在蓬勃發(fā)展而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。展望未來,超聲波測距儀作為一種新型的非常重要有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更加高定位高精度的方向發(fā)展,以滿足日

28、益發(fā)展的社會需求,如聲納的發(fā)展趨勢基本為:研制具有更高定位精度的被動測距聲納,以滿足水中武器實施全隱蔽攻擊的需要;繼續(xù)發(fā)展采用低頻線譜檢測的潛艇拖曳線列陣聲納,實現(xiàn)超遠(yuǎn)程的被動探測和識別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標(biāo)識別問題;大力降低潛艇自噪聲,改善潛艇聲納的工作環(huán)境。無庸置疑,未來的超聲波測距儀將與自動化智能化接軌,與其他的測距儀集成和融合,形成多測距儀。隨著測距儀的技術(shù)進(jìn)步,測距儀將從具有單純判斷功能發(fā)展到

29、具有學(xué)習(xí)功能,最終發(fā)展到具有創(chuàng)造力。在新的世紀(jì)里,面貌一新的測距儀將發(fā)揮更大的作用。</p><p>  (2)系統(tǒng)設(shè)計的要求:</p><p>  1).設(shè)計出超聲波測距儀的硬件結(jié)構(gòu)電路。</p><p>  2).對設(shè)計的電路進(jìn)行分析能夠產(chǎn)生超聲波,實現(xiàn)超聲波的發(fā)送與接收,從而實現(xiàn)利用超聲波方法測量物體間的距離。</p><p>  3)

30、.對設(shè)計的電路進(jìn)行分析。</p><p>  4).以數(shù)字的形式顯示測量距離。</p><p>  2.2系統(tǒng)的工作原理</p><p>  發(fā)射器發(fā)出的超聲波以速度υ在空氣中傳播,在到達(dá)被測物體時被反射返回,由接收器接收,其往返時間為t,由s=vt/2即可算出被測物體的距離。由于超聲波也是一種聲波,其聲速v與溫度有關(guān),下表列出了幾種不同溫度下的聲速。在使用時,如果

31、溫度變化不大,則可認(rèn)為聲速是基本不變的。如果測距精度要求很高,則應(yīng)通過溫度補償?shù)姆椒右孕U?lt;/p><p>  表2-1超聲波波速與溫度的關(guān)系表</p><p>  超聲波測距儀原理框圖如下圖</p><p>  單片機發(fā)出40kHZ的信號,經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號經(jīng)放大器放大,用鎖相環(huán)電路進(jìn)行檢波處理后,啟動單片機中斷程序

32、,測得時間為t,再由軟件進(jìn)行判別、計算,得出距離數(shù)并送LED顯示[1]。</p><p>  圖2-1 超聲波測距儀原理框圖</p><p><b>  單片機實現(xiàn)測距原理</b></p><p>  單片機發(fā)出超聲波測距是通過不斷檢測超聲波發(fā)射后遇到障礙物所反射的回波,從而測出發(fā)射和接收回波的時間差tr,然后求出距離S=Ct/2,式中的C為超

33、聲波波速。</p><p>  限制該系統(tǒng)的最大可測距離存在4個因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤差,可采用多個超聲波換能器分別作為多路超聲波發(fā)射/接收的設(shè)計方法。由于超聲波屬于聲波范圍,其波速C與溫度有關(guān)[2]。</p><p><b>  

34、系統(tǒng)硬件電路的設(shè)計</b></p><p>  3.1單片機的功能特點</p><p>  51系列單片機的功能特點</p><p>  圖3-1 51系列單片機封裝</p><p>  5l系列單片機提供以下功能:4 kB存儲器;256 BRAM;32條工/O線;2個16b定時/計數(shù)器;5個2級中斷源;1個全雙向的串行口以及時鐘

35、電路。</p><p>  空閑方式:CPU停止工作,而讓RAM、定時/計數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。</p><p>  掉電方式:保存RAM的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下一次硬件復(fù)位。</p><p>  5l系列單片機為許多控制提供了高度靈活和低成本的解決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測距系統(tǒng)[

36、3]~[6]。</p><p>  3.2超聲波發(fā)射電路</p><p>  圖3-2 超聲波發(fā)射電路原理圖</p><p>  超聲波發(fā)射電路原理圖如上圖所示。發(fā)射電路主要由反相器74LS04和超聲波發(fā)射換能器T構(gòu)成,單片機P1.0端口輸出高電平驅(qū)動振蕩電路產(chǎn)生的40KHZ方波信號一路經(jīng)一級反相器后送到超聲波換能器的一個電極,另一路經(jīng)兩級反相器后送到超聲波換能器的

37、一個電極。用這種推挽形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強度。輸出端采用兩個反相器并聯(lián),用以提高驅(qū)動能力。上拉電阻R10、R11一方面可以提高反相器74LS04輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩的時間[7]。</p><p>  3.3超聲波接收電路</p><p>  圖3-3 超聲波檢測接收電路</p>&l

38、t;p>  集成電路CX20106A是一款紅外檢波接收的專用芯片,常用于電視機紅外遙控接受器。考慮到紅外遙控常用的載波頻率38KHZ與測距的超生波頻率40KHZ較為接近,可以利用它制作超聲波檢測接收電路實驗證明用CX20106A接受超聲波(無信號時輸出高電平),具有很高的靈敏度和較強的抗干擾能力。適當(dāng)更改電容C4的大小,可以改變接受電路的靈敏度和抗干擾能力[8]~[9]。</p><p>  3.4超聲波測

39、距系統(tǒng)的硬件電路設(shè)計 </p><p>  本系統(tǒng)的特點是利用單片機控制超聲波的發(fā)射和對超聲波自發(fā)射至接收往返時間的計時,單片機選用AT89C51,經(jīng)濟易用,且片內(nèi)有4K的ROM,便于編程。電路原理圖如圖3-4所示。其中只畫出前方測距電路的接線圖,左側(cè)和右側(cè)測距電路與前方測距電路相同,故省略之。</p><p>  圖3-4 超聲波測距系統(tǒng)電路原理圖</p><p&

40、gt;<b>  系統(tǒng)軟件的設(shè)計</b></p><p>  超聲波測距儀的軟件設(shè)計主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。我們知道C語言程序有利于實現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計算程序運行的時間,而超聲波測距儀的程序既有較復(fù)雜的計算(計算距離時),又要求精細(xì)計算程序運行時間(超聲波測距時),所以控制程序可采用C語言和匯編語言混合編程。&

41、#160;</p><p>  4.1超聲波測距儀的算法設(shè)計  </p><p>  超聲波測距的原理為超聲波發(fā)生器T在某一時刻發(fā)出一個超聲波信號,當(dāng)這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計算公式為: </p><p> 

42、 d=s/2=(c×t)/2 (1)  </p><p>  其中,d為被測物與測距儀的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時間。 在啟動發(fā)射電路的同時啟動單片機內(nèi)部的定時器T0,利用定時器的計數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當(dāng)收到超聲波反射波時,

43、接收電路輸出端產(chǎn)生一個負(fù)跳變,在INT0或INT1端產(chǎn)生一個中斷請求信號,單片機響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時間差,計算距離[10]。其部分源程序如下: </p><p>  RECEIVE0:PUSH PSW </p><p><b>  PUSH ACC </b></p><p>  CLR EX0 ;關(guān)外部中斷0 <

44、;/p><p>  ? MOV R7, TH0 ;讀取時間值 </p><p>  MOV R6, TL0? </p><p><b>  CLR C </b></p><p>  MOV A, R6 </p><p>  SUBB A, #0BBH;計算時間差 </p><p&g

45、t;  MOV 31H, A ;存儲結(jié)果 </p><p>  MOV A, R7 </p><p>  SUBB A, #3CH </p><p>  MOV 30H, A? </p><p>  SETB EX0 ;開外部中斷0 </p><p><b>  POP ACC? </b><

46、/p><p><b>  POP PSW </b></p><p><b>  RETI </b></p><p><b>  4.2主程序流程圖</b></p><p>  軟件分為兩部分,主程序和中斷服務(wù)程序,如圖3-1(a)(b) (c) 所示。主程序完成初始化工作、各路超聲

47、波發(fā)射和接收順序的控制。 </p><p>  定時中斷服務(wù)子程序完成三方向超聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時間值的讀取、距離計算、結(jié)果的輸出等工作。</p><p>  圖4-1超聲波測距系統(tǒng)的軟件設(shè)計</p><p>  4.3 系統(tǒng)軟硬件的調(diào)試</p><p>  超聲波測距儀的制作和調(diào)試都比較簡單,其中超聲波發(fā)射和接收采用

48、Φ15的超聲波換能器TCT40-10F1(T發(fā)射)和TCT40-10S1(R接收),中心頻率為40kHz,安裝時應(yīng)保持兩換能器中心軸線平行并相距4~8cm,其余元件無特殊要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。根據(jù)測量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容C0的大小,以獲得合適的接收靈敏度和抗干擾能力。 </p><p>  硬件電路制作完成并調(diào)試好后,便可將程序編譯

49、好下載到單片機試運行。根據(jù)實際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時間,以適應(yīng)不同距離的測量需要。根據(jù)所設(shè)計的電路參數(shù)和程序,測距儀能測的范圍為0.07~5.5m,測距儀最大誤差不超過1cm。系統(tǒng)調(diào)試完后應(yīng)對測量誤差和重復(fù)一致性進(jìn)行多次實驗分析,不斷優(yōu)化系統(tǒng)使其達(dá)到實際使用的測量要求[11]。</p><p>  軟件的調(diào)試程序見附錄。</p><p><b

50、>  總 結(jié)</b></p><p>  超聲波測距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時間來計算出傳播距離。實用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計;一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測距儀。此次設(shè)計采用反射波方式。</p><p>  超聲波測距儀硬件電路的設(shè)計主要包括單片機系統(tǒng)及顯示

51、電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機用P1.0端口輸出超聲波換能器所需的40kHz的方波信號,利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實用的4位共陽LED數(shù)碼管,段碼用74LS244驅(qū)動,位碼用PNP三極管8550驅(qū)動。</p><p>  超聲波測距儀的軟件設(shè)計主要由主

52、程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。我們知道C語言程序有利于實現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計算程序運行的時間,而超聲波測距儀的程序既有較復(fù)雜的計算(計算距離時),又要求精細(xì)計算程序運行時間(超聲波測距時),所以控制程序可采用C語言和匯編語言混合編程。主超聲波測距儀主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入中斷后就立即

53、關(guān)閉計時器T0停止計時,并將測距成功標(biāo)志字賦值1。如果當(dāng)計時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出中斷將外中斷0關(guān)閉,并將測距成功標(biāo)志字賦值2以表示此次測距不成功。 前方測距電路的輸出端接單片機INT0端口,中斷優(yōu)先級最高,左、右測距電路的輸出通過與門IC3A的輸出接單片機INT1端口,同時單片機P1.3和P1.4接到IC3A的輸入端,中斷源的識別由程序查詢來處理,中斷優(yōu)先級為先右后左。</p>&l

54、t;p>  超聲波測距的算法設(shè)計原理為超聲波發(fā)生器T在某一時刻發(fā)出一個超聲波信號,當(dāng)這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。在啟動發(fā)射電路的同時啟動單片機內(nèi)部的定時器T0,利用定時器的計數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當(dāng)收到超聲波反射波時,接收電路輸出端產(chǎn)生一個負(fù)跳變,在INT0或INT1端產(chǎn)生一個中

55、斷請求信號,單片機響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時間差,計算距離。</p><p>  在元件及調(diào)制方面,由于采用的電路使用了很多集成電路。外圍元件不是很多,所以調(diào)試應(yīng)該不會太難。一般只要電路焊接無誤,稍加調(diào)試應(yīng)該會正常工作。電路中除集成電路外,對各電子元件也無特別要求。根據(jù)測量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容C0的大小,以獲得合適的接收靈敏度和抗干擾能力。若能將超聲波接收電路用

56、金屬殼屏蔽起來,則可提高抗干擾能力。</p><p><b>  致 謝</b></p><p>  本設(shè)計在xx老師的悉心指導(dǎo)和嚴(yán)格要求下完成的,從課題選擇、方案論證到具體設(shè)計和調(diào)試,無不凝聚著老師的心血和汗水,在五年的本科學(xué)習(xí)和生活期間,也始終感受著導(dǎo)師的精心指導(dǎo)和無私的關(guān)懷,我受益匪淺。在此向xx老師表示深深的感謝和崇高的敬意。</p><

57、p>  不積跬步何以至千里,本設(shè)計能夠順利的完成,也歸功于各位任課老師的認(rèn)真負(fù)責(zé),使我能夠很好的掌握和運用專業(yè)知識,并再設(shè)計中得以體現(xiàn)。正是有了他們的悉心幫助和支持,才是我的畢業(yè)論文工作順利完成,在此向xx(北京)電氣工程及其自動化教研室全體老師表示由衷的謝意。</p><p>  還要感謝同在一組的同學(xué)們。在設(shè)計論文期間,我們相互幫助,遇到問題、困難時大家一起想解決的辦法,極大的節(jié)省了時間。在此祝愿大家前

58、程似錦、生活幸福美滿。 </p><p>  最后對評閱論文、參加答辯的各位老師致以誠摯的感謝!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 時德剛,劉嘩.超聲波測距的研究.計算機測量與控制,2002.10 </p><p>  [2] 胡萍.超聲波測距儀的研制.計算機與現(xiàn)代化,2003

59、.10</p><p>  [3] 華兵.MCS-51單片機原理應(yīng)用.武漢:武漢華中科技大學(xué)出版社,2002 .5</p><p>  [4] 李華.MCU-51系列單片機實用接口技術(shù).北京:北京航空航天大學(xué)出版社, 1993. 6</p><p>  [5] 陳光東.單片機微型計算機原理與接口技術(shù)(第二版).武漢:華中理工大學(xué)出版社,1999.4</p

60、><p>  [6] 徐淑華,程退安,姚萬生.單片機微型機原理及應(yīng)用.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1999. 6.</p><p>  [7] 蘇長贊.紅外線與超聲波遙控.北京:人民郵電出版社,1993.7</p><p>  [8] 張謙琳.超聲波檢測原理和方法.北京:中國科技大學(xué)出版社,1993.10</p><p>  [9] 九

61、州.放大電路實用設(shè)計手冊.沈陽:遼寧科學(xué)技術(shù)出版社,2002.5</p><p>  [10] 樊昌元,丁義元. 高精度測距雷達(dá)研究.電子測量與儀器學(xué)報,2000.10</p><p>  [11] 蘇偉,鞏壁建.超聲波測距誤差分析.傳感器技術(shù),2004.</p><p><b>  附 錄</b></p><p>

62、;<b>  附錄一</b></p><p>  超聲波測距電路原理圖</p><p>  超聲波測距電路原理圖 </p><p><b>  附錄二</b></p><p><b>  超聲波測距電路版圖</b></p><p><b> 

63、 超聲波測距電路版圖</b></p><p><b>  附錄三</b></p><p><b>  程序清單</b></p><p>  #include <REG2051.H></p><p>  #define k1 P3_4</p><p> 

64、 #define csbout    P3_5                  //超聲波發(fā)送</p><p>  #define csbint    P3_7  

65、                //超聲波接收</p><p>  #define csbc=0.034</p><p>  #define bg  P3_3 </p><p>  unsigned char

66、 csbds,opto,digit,buffer[3],xm1,xm2,xm0,key,jpjs;//顯示標(biāo)識</p><p>  unsigned char convert[10]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9段碼</p><p>  unsigned int s,t,i, xx,j,sj1,sj2,s

67、j3,mqs,sx1;</p><p>  bit cl;      </p><p>  void csbcj();</p><p>  void delay(j);            

68、60;                 //延時函數(shù)</p><p>  void scanLED();            

69、0;                 //顯示函數(shù)</p><p>  void timeToBuffer();            

70、      //顯示轉(zhuǎn)換函數(shù)</p><p>  void keyscan();</p><p>  void k1cl();</p><p>  void k2cl();</p><p>  void k3cl();</p><p>  void k4cl();<

71、;/p><p>  void offmsd();</p><p>  void main()                         &#

72、160;    //主函數(shù)</p><p><b>  {</b></p><p>  EA=1;                    &

73、#160;           //開中斷</p><p>  TMOD=0x11;                   //設(shè)定時器0

74、為計數(shù),設(shè)定時器1定時</p><p>  ET0=1;                              //定時器

75、0中斷允許 </p><p>  ET1=1;                              //定時器1中斷允許

76、 </p><p><b>  TH0=0x00;</b></p><p><b>  TL0=0x00;</b></p><p><b>  TH1=0x9E;</b></p><p><b>  TL1=0x57;</b></p><

77、;p><b>  csbds=0;</b></p><p><b>  csbint=1;</b></p><p><b>  csbout=1;</b></p><p><b>  cl=0;</b></p><p>  ōpto=0xff;<

78、;/p><p><b>  jpjs=0;</b></p><p><b>  sj1=45;</b></p><p><b>  sj2=200;</b></p><p><b>  sj3=400;</b></p><p><

79、b>  k4cl();</b></p><p>  TR1=1;                        </p><p><b&g

80、t;  while(1)</b></p><p><b>  {</b></p><p>  keyscan();</p><p>  if(jpjs<1)</p><p><b>  {</b></p><p><b>  csbcj();<

81、;/b></p><p><b>  if(s>sj3)</b></p><p><b>  {</b></p><p>  buffer[2]=0x76;      </p><p>  buffer[1]=0x76; 

82、60;    </p><p>  buffer[0]=0x76;      </p><p><b>  }</b></p><p>  else if(s<sj1)</p><p><b>  {</b><

83、;/p><p>  buffer[2]=0x40;     </p><p>  buffer[1]=0x40;      </p><p>  buffer[0]=0x40;</p><p><b>  }</b></

84、p><p>  else timeToBuffer();      </p><p><b>  }</b></p><p>  else timeToBuffer();           

85、; //將值轉(zhuǎn)換成LED段碼</p><p><b>  offmsd();</b></p><p>  scanLED();                  //顯示函數(shù)</p>&

86、lt;p><b>  if(s<sj2)</b></p><p><b>  bg=0;</b></p><p><b>  bg=1;</b></p><p><b>  }</b></p><p><b>  }</b>

87、;</p><p>  void scanLED()                       //顯示功能模塊</p><p><b>  {</b&g

88、t;</p><p>  digit=0x04;</p><p>  for( i=0; i<3; i++)        //3位數(shù)顯示</p><p><b>  {</b></p><p>  P3=~digit&opto;

89、0;       //依次顯示各位數(shù)</p><p>  P1=~buffer;        //顯示數(shù)據(jù)送P1口</p><p>  delay(20);        

90、0;     //延時處理</p><p>  P1=0xff;             //P1口置高電平(關(guān)閉)</p><p>  if((P3&0x10)==0)    

91、60; //判斷3位是否顯示完</p><p><b>  key=0;</b></p><p>  digit>>=1;             //循環(huán)右移1位</p><p><b>  }<

92、/b></p><p><b>  }</b></p><p>  void timeToBuffer()                //轉(zhuǎn)換段碼功能模塊</p><p><b&g

93、t;  {</b></p><p>  xm0=s/100;      </p><p>  xm1=(s-100*xm0)/10;</p><p>  xm2=s-100*xm0-10*xm1;</p><p>  buffer[2]=convert[xm2]; 

94、60;    </p><p>  buffer[1]=convert[xm1];</p><p>  buffer[0]=convert[xm0];</p><p><b>  }</b></p><p>  void delay(i)    

95、60;                         </p><p><b>  {</b></p><p>  while(

96、--i);</p><p><b>  }</b></p><p>  void timer1int (void)  interrupt 3  using 2 </p><p><b>  {</b></p><p><b>  TH1=0x9E;</b>&

97、lt;/p><p><b>  TL1=0x57;</b></p><p><b>  csbds++;</b></p><p>  if(csbds>=40)</p><p><b>  {</b></p><p><b>  csbds=

98、0;</b></p><p><b>  cl=1;</b></p><p>  }            </p><p><b>  }</b></p><p>  void

99、 csbcj()</p><p><b>  {</b></p><p><b>  if(cl==1)</b></p><p><b>  {</b></p><p><b>  TR1=0;</b></p><p><b&

100、gt;  TH0=0x00;</b></p><p><b>  TL0=0x00;</b></p><p><b>  i=10;</b></p><p>  while(i--)</p><p><b>  {</b></p><p> 

101、 csbout=!csbout;</p><p><b>  }</b></p><p>  TR0=1;                 </p><p>  i=mqs;&

102、#160;                             //盲區(qū)</p><p>  while(i--)</p>

103、;<p><b>  {</b></p><p><b>  }</b></p><p><b>  i=0;</b></p><p>  while(csbint)</p><p><b>  {</b></p><p&

104、gt;<b>  i++;</b></p><p>  if(i>=2450)                  //上限值</p><p><b>  csbint=0;</b

105、></p><p><b>  }</b></p><p><b>  TR0=0;</b></p><p><b>  TH1=0x9E;</b></p><p><b>  TL1=0x57;</b></p><p>&l

106、t;b>  t=TH0;</b></p><p>  t=t*256+TL0;</p><p>  s=t*csbc/2;</p><p><b>  TR1=1;</b></p><p><b>  cl=0;</b></p><p><b> 

107、 }</b></p><p><b>  }</b></p><p>  void keyscan()                     &#

108、160;  //健盤處理函數(shù)</p><p><b>  {</b></p><p><b>  xx=0;</b></p><p>  if(k1!=1)             &

109、#160;                // 判斷開關(guān)是否按下</p><p><b>  {</b></p><p>  delay(400);      

110、                  //延時去抖動</p><p>  if(k1!=1)             

111、                 // 判斷開關(guān)是否按下     </p><p>  {         

112、0;  </p><p>  while(!k1)</p><p><b>  {</b></p><p>  delay(30);    </p><p><b>  xx++;</b></p><p><b> 

113、 }</b></p><p>  if(xx>2000)           </p><p><b>  {</b></p><p><b>  jpjs++;</b></p>&

114、lt;p>  if(jpjs>4)</p><p><b>  jpjs=0;</b></p><p><b>  }</b></p><p><b>  xx=0;</b></p><p>  switch(jpjs)</p><p>&l

115、t;b>  {</b></p><p>  case 1: k1cl();break;         </p><p>  case 2: k2cl();break;</p><p>  case 3: k3cl();break;</p>&l

116、t;p>  case 4: k4cl();break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p&

117、gt;  void k1cl()</p><p><b>  {</b></p><p>  sj1=sj1+5;</p><p>  if(sj1>100)</p><p><b>  sj1=30;</b></p><p><b>  s=sj1;<

118、/b></p><p><b>  }</b></p><p>  void k2cl()</p><p><b>  {</b></p><p>  sj2=sj2+5;</p><p>  if(sj2>500)</p><p><

119、;b>  sj2=40;</b></p><p><b>  s=sj2;</b></p><p><b>  }</b></p><p>  void k3cl()</p><p><b>  {</b></p><p>  sj3=

120、sj3+10;</p><p>  if(sj3>500)</p><p><b>  sj3=100;</b></p><p><b>  s=sj3;</b></p><p><b>  }</b></p><p>  void k4cl()&

121、lt;/p><p><b>  {</b></p><p>  sx1=sj1-1;</p><p>  sx1=sx1/csbc;</p><p>  mqs=sx1/4.5;</p><p><b>  }</b></p><p>  void off

122、msd()                                    

123、;         </p><p><b>  {</b></p><p>  if (buffer[0] == 0x3f)             

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論