2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  第一章 緒論</b></p><p>  1.1課題設(shè)計(jì)目的及意義</p><p>  1.1.1設(shè)計(jì)的目的</p><p>  隨著科學(xué)技術(shù)的快速發(fā)展,超聲波將在測距儀中的應(yīng)用越來越廣。但就目</p><p>  前技術(shù)水平來說,人們可以具體利用的測距技術(shù)還十分有限,因此,這是一個(gè)正在蓬

2、勃發(fā)展而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。展望未來,超聲波測距儀作為一種新型的非常重要有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更加高定位高精度的方向發(fā)展,以滿足日益發(fā)展的社會需求,如聲納的發(fā)展趨勢基本為:研制具有更高定位精度的被動測距聲納,以滿足水中武器實(shí)施全隱蔽攻擊的需要;繼續(xù)發(fā)展采用低頻線譜檢測的潛艇拖曳線列陣聲納,實(shí)現(xiàn)超遠(yuǎn)程的被動探測和識別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標(biāo)識別問題;大力降低潛艇自噪聲,改

3、善潛艇聲納的工作環(huán)境。無庸置疑,未來的超聲波測距儀將與自動化智能化接軌,與其他的測距儀集成和融合,形成多測距儀。隨著測距儀的技術(shù)進(jìn)步,測距儀將從具有單純判斷功能發(fā)展到具有學(xué)習(xí)功能,最終發(fā)展到具有創(chuàng)造力。在新的世紀(jì)里,面貌一新的測距儀將發(fā)揮更大的作用。</p><p>  1.1.2設(shè)計(jì)的意義</p><p>  超聲波測距系統(tǒng)主要應(yīng)用于汽車的倒車?yán)走_(dá)、機(jī)器人自動避障行走、建筑施工工地以及一

4、些工業(yè)現(xiàn)場例如:液位、井深、管道長度等場合。因此研究超聲波測距系統(tǒng)的原理有著很大的現(xiàn)實(shí)意義。對本課題的研究與設(shè)計(jì),還能進(jìn)一步提高自己的電路設(shè)計(jì)水平,深入對單片機(jī)的理解和應(yīng)用。</p><p>  1.2超聲波測距儀的設(shè)計(jì)思路</p><p>  1.2.1超聲波測距原理</p><p>  發(fā)射器發(fā)出的超聲波以速度υ在空氣中傳播,在到達(dá)被測物體時(shí)被反射返回,由接收器

5、接收,其往返時(shí)間為t,由s=vt/2即可算出被測物體的距離。由于超聲波也是一種聲波,其聲速v與溫度有關(guān),下表列出了幾種不同溫度下的聲速。在使用時(shí),如果溫度變化不大,則可認(rèn)為聲速是基本不變的。如果測距精度要求很高,則應(yīng)通過溫度補(bǔ)償?shù)姆椒右孕U?lt;/p><p>  表1-1 超聲波波速與溫度的關(guān)系表</p><p>  1.2.2 超聲波測距儀原理框圖如下圖</p><

6、p>  單片機(jī)發(fā)出40kHZ的信號,經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號經(jīng)放大器放大,進(jìn)行檢波處理后,啟動單片機(jī)中斷程序,測得時(shí)間為t,再由軟件進(jìn)行判別、計(jì)算,得出距離數(shù)并送LED顯示。</p><p>  圖1-1 超聲波測距儀原理框圖</p><p>  1.3課題設(shè)計(jì)的任務(wù)和要求</p><p>  設(shè)計(jì)一超聲波測距儀,任務(wù):&

7、lt;/p><p>  (1).了解超聲波測距原理。</p><p>  (2).根據(jù)超聲波測距原理,設(shè)計(jì)超聲波測距器的硬件結(jié)構(gòu)電路。</p><p>  設(shè)計(jì)一超聲波測距儀,要求:</p><p>  (1).設(shè)計(jì)出超聲波測距儀的硬件結(jié)構(gòu)電路。</p><p>  (2).對設(shè)計(jì)的電路進(jìn)行分析能夠產(chǎn)生超聲波,實(shí)現(xiàn)超聲波的

8、發(fā)送與接收,從而實(shí)現(xiàn)利用超聲波方法測量物體間的距離。</p><p>  (3).對設(shè)計(jì)的電路進(jìn)行分析。</p><p>  (4).以數(shù)字的形式顯示測量距離。</p><p>  第二章 課程的方案設(shè)計(jì)與論證</p><p>  2.1系統(tǒng)整體方案的設(shè)計(jì)</p><p>  由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)

9、中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量。利用超聲波檢測距離,設(shè)計(jì)比較方便,計(jì)算處理也較簡單,并且在測量精度方面也能達(dá)到農(nóng)業(yè)生產(chǎn)等自動化的使用要求。      超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、電動型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率、和聲波特性各不相同,因而用途也各不相同

10、。目前在近距離測量方面常用的是壓電式超聲波換能器。根據(jù)設(shè)計(jì)要求并綜合各方面因素,本文采用AT89C51單片機(jī)作為控制器,用動態(tài)掃描法實(shí)現(xiàn)LED數(shù)字顯示,驅(qū)動信號用單片機(jī)的定時(shí)器。 </p><p>  2.2系統(tǒng)整體方案的論證</p><p>  超聲波測距的原理是利用超聲波的發(fā)射和接收,根據(jù)超聲波傳播的時(shí)間來計(jì)算出傳播距離。實(shí)用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)

11、射,另一端接收,直接接收波方式,適用于身高計(jì);一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測距儀。此次設(shè)計(jì)采用反射波方式。 測距儀的分辨率取決于對超聲波傳感器的選擇。超聲波傳感器是一種采用壓電效應(yīng)的傳感器,常用的材料是壓電陶瓷。由于超聲波在空氣中傳播時(shí)會有相當(dāng)?shù)乃p,衰減的程度與頻率的高低成正比;而頻率高分辨率也高,故短距離測量時(shí)應(yīng)選擇頻率高的傳感器,而長距離的測量時(shí)應(yīng)用低頻率的傳感器。</p><

12、;p>  第三章 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)</p><p>  硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機(jī)采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測量誤差。單片機(jī)用P1.0端口輸出超聲波換能器所需的40kHz的方波信號,利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實(shí)用的4位共陽LED數(shù)碼管,段碼用

13、74LS244驅(qū)動,位碼用PNP三極管8550驅(qū)動。</p><p>  3.1 51系列單片機(jī)的功能特點(diǎn)及測距原理</p><p>  3.1.1 51系列單片機(jī)的功能特點(diǎn)</p><p>  5l系列單片機(jī)中典型芯片(AT89C51)采用40引腳雙列直插封裝(DIP)形式,內(nèi)部由CPU,4kB的ROM,256 B的RAM,2個(gè)16b的定時(shí)/計(jì)數(shù)器TO和T1,4

14、個(gè)8 b的工/O端I:IP0,P1,P2,P3,一個(gè)全雙功串行通信口等組成。特別是該系列單片機(jī)片內(nèi)的Flash可編程、可擦除只讀存儲器(E~PROM),使其在實(shí)際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。該系列單片機(jī)引腳與封裝如圖3-1所示。</p><p>  5l系列單片機(jī)提供以下功能:4 kB存儲器;256 BRAM;32條工/O線;2個(gè)16b定時(shí)/計(jì)數(shù)器;5個(gè)2級中斷源;1

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

16、能完善的超聲波測距系統(tǒng)。</p><p>  3.1.2 單片機(jī)實(shí)現(xiàn)測距原理 </p><p>  單片機(jī)發(fā)出超聲波測距是通過不斷檢測超聲波發(fā)射后遇到障礙物所反射的回波,從而測出發(fā)射和接收回波的時(shí)間差tr,然后求出距離S=Ct/2,式中的C為超聲波波速。</p><p>  限制該系統(tǒng)的最大可測距離存在4個(gè)因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及

17、接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤差,可采用多個(gè)超聲波換能器分別作為多路超聲波發(fā)射/接收的設(shè)計(jì)方法。由于超聲波屬于聲波范圍,其波速C與溫度有關(guān)。</p><p>  3.2 超聲波發(fā)射電路</p><p>  超聲波發(fā)射電路原理圖如圖2-2所示。發(fā)射電路主要由反相器74LS04和超聲波發(fā)射換能器T構(gòu)成,單片機(jī)P1

18、.0端口輸出的40kHz的方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個(gè)電極,用這種推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采兩個(gè)反向器并聯(lián),用以提高驅(qū)動能力。上位電阻R1O、R11一方面可以提高反向器74LS04輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時(shí)間。</p><p>  壓電式超聲波

19、換能器是利用壓電晶體的諧振來工作的。超聲波換能器內(nèi)部有兩個(gè)壓電晶片和一個(gè)換能板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片會發(fā)生共振,并帶動共振板振動產(chǎn)生超聲波,這時(shí)它就是一個(gè)超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動,將機(jī)械能轉(zhuǎn)換為電信號,這時(shí)它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時(shí)應(yīng)分清器件上的標(biāo)志。</p>

20、<p>  3.3 超聲波檢測接收電路</p><p>  集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 kHz與測距的超聲波頻率40 kHz較為接近,可以利用它制作超聲波檢測接收電路(如圖2-3)。實(shí)驗(yàn)證明用CX20106A接收超聲波(無信號時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)更改電容C4的大小,可以改變接收電

21、路的靈敏度和抗干擾能力。</p><p>  圖3-3 超聲波檢測接收電路</p><p>  3.4 超聲波測距系統(tǒng)的硬件電路設(shè)計(jì)</p><p>  本系統(tǒng)的特點(diǎn)是利用單片機(jī)控制超聲波的發(fā)射和對超聲波自發(fā)射至接收往返時(shí)間的計(jì)時(shí),單片機(jī)選用AT89C51,經(jīng)濟(jì)易用,且片內(nèi)有4K的ROM,便于編程。電路原理圖如圖3-4所示。其中只畫出前方測距電路的接線圖,左側(cè)和右側(cè)

22、測距電路與前方測距電路相同,故省略之。 </p><p>  圖3-4 超聲波測距電路原理圖</p><p>  第四章 系統(tǒng)軟件的設(shè)計(jì)</p><p>  超聲波測距儀的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。我們知道C語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計(jì)算程序運(yùn)行的時(shí)間,而超聲波測距儀

23、的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)),又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(超聲波測距時(shí)),所以控制程序可采用C語言和匯編語言混合編程。 </p><p>  4.1 超聲波測距儀的算法設(shè)計(jì)      超聲波測距的原理為超聲波發(fā)生器T在某一時(shí)刻發(fā)出一個(gè)超聲波信號,當(dāng)這個(gè)超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號到

24、接收到返回信號所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計(jì)算公式為:  d=s/2=(c×t)/2 (1)  其中,d為被測物與測距儀的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時(shí)間。 在啟動發(fā)射電路的同時(shí)啟動單片機(jī)內(nèi)部的定時(shí)器T0,利用定時(shí)器的計(jì)數(shù)功能

25、記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)收到超聲波反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在INT0或INT1端產(chǎn)生一個(gè)中斷請求信號,單片機(jī)響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。其部分源程序如下: </p><p>  RECEIVE0:PUSH PSW </p><p><b>  PUSH ACC </b></p><

26、;p>  CLR EX0 ;關(guān)外部中斷0 </p><p>  MOV R7, TH0 ;讀取時(shí)間值 </p><p>  MOV R6, TL0 </p><p><b>  CLR C </b></p><p>  MOV A, R6 </p><p>  SUBB A, #0BBH;計(jì)

27、算時(shí)間差 </p><p>  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>  

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

29、、各路超聲波發(fā)射和接收順序的控制。 </p><p>  定時(shí)中斷服務(wù)子程序完成三方向超聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時(shí)間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。</p><p>  (a) (b) (c)</p><p>  主程序首先是對系統(tǒng)環(huán)境初始化,

30、設(shè)置定時(shí)器T0工作模式為16位定時(shí)計(jì)數(shù)器模式。置位總中斷允許位EA并給顯示端口P0和P1清0。然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時(shí)約0.1 ms(這也就是超聲波測距儀會有一個(gè)最小可測距離的原因)后,才打開外中斷0接收返回的超聲波信號。由于采用的是12 MHz的晶 振,計(jì)數(shù)器每計(jì)一個(gè)數(shù)就是1μs,當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器T0中的數(shù)(即超聲波來回所用的

31、時(shí)間)按式(2)計(jì)算,即可得被測物體與測距儀之間的距離,設(shè)計(jì)時(shí)取20℃時(shí)的聲速為344 m/s則有:  d=(c×t)/2=172T0/10000cm (2) 其中,T0為計(jì)數(shù)器T0的計(jì)算值。      測出距離后結(jié)果將以十進(jìn)制BCD碼方式送往LED顯示約0.

32、5s,然后再發(fā)超聲波脈沖重復(fù)測量過程。為了有利于程序結(jié)構(gòu)化和容易計(jì)算出距離,主程序采用C語言編寫。                             &#

33、160;4.3超聲波發(fā)生子程</p><p>  receive1:push psw </p><p>  push acc </p><p>  clr ex1 ;關(guān)外部中斷1 </p><p>  jnb p1.1, right ;P1.1引腳為0,轉(zhuǎn)至右測距電路中斷服務(wù)程序</p><p>  jnb p1.

34、2, left ;P1.2引腳為0,轉(zhuǎn)至左測距電路中斷服務(wù)程序 </p><p>  return:SETB EX1;開外部中斷1 </p><p><b>  pop acc </b></p><p><b>  pop psw </b></p><p><b>  reti </

35、b></p><p>  right: ... ;右測距電路中斷服務(wù)程序入口 </p><p>  ajmp return </p><p>  left:... ;左測距電路中斷服務(wù)程序入口 </p><p>  ajmp return </p><p>  第五章 系統(tǒng)的軟硬件的調(diào)試</p>&

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

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

38、gt;  軟件的調(diào)試程序見附錄一</p><p>  由于時(shí)間和其它客觀上的原因,此次設(shè)計(jì)沒有做出實(shí)物。但是對設(shè)計(jì)有一個(gè)很好的理論基礎(chǔ)。設(shè)計(jì)的最終結(jié)果是使超聲波測距儀能夠產(chǎn)生超聲波,實(shí)現(xiàn)超聲波的發(fā)送與接收,從而實(shí)現(xiàn)利用超聲波方法測量物體間的距離。以數(shù)字的形式顯示測量距離。</p><p>  超聲波測距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時(shí)間來計(jì)算出傳播距離。實(shí)用的測距方法有兩

39、種,一種是在被測距離的兩端,一端發(fā)射,另一端接收,直接接收波方式,適用于身高計(jì);一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測距儀。此次設(shè)計(jì)采用反射波方式。</p><p>  超聲波測距儀硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機(jī)采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測量誤差。單片機(jī)用P1.0端口輸出超聲波

40、換能器所需的40kHz的方波信號,利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實(shí)用的4位共陽LED數(shù)碼管,段碼用74LS244驅(qū)動,位碼用PNP三極管8550驅(qū)動。</p><p>  超聲波發(fā)射電路主要由反相器74LS04和超聲波發(fā)射換能器T構(gòu)成,單片機(jī)P1.0端口輸出的40kHz的方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個(gè)電極,用這種

41、推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采兩個(gè)反向器并聯(lián),用以提高驅(qū)動能力。上位電阻R1O、R11一方面可以提高反向器74LS04輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時(shí)間。壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內(nèi)部有兩個(gè)壓電晶片和一個(gè)換能板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片會發(fā)生共振,并帶動共振板振動產(chǎn)生超

42、聲波,這時(shí)它就是一個(gè)超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動,將機(jī)械能轉(zhuǎn)換為電信號,這時(shí)它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時(shí)應(yīng)分清器件上的標(biāo)志。</p><p>  超聲波檢測接收電路主要是由集成電路CX20106A組成,它是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器。考慮到紅外遙控常用的載波頻率38 kHz與

43、測距的超聲波頻率40 kHz較為接近,可以利用它制作超聲波檢測接收電路。實(shí)驗(yàn)證明用CX20106A接收超聲波(無信號時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)更改電容C4的大小,可以改變接收電路的靈敏度和抗干擾能力。</p><p>  超聲波測距儀的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。我們知道C語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容

44、易精細(xì)計(jì)算程序運(yùn)行的時(shí)間,而超聲波測距儀的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)),又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(超聲波測距時(shí)),所以控制程序可采用C語言和匯編語言混合編程。主超聲波測距儀主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)時(shí)器T0停止計(jì)時(shí),并將測距成功標(biāo)志字賦值1。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測到超聲波返回信號,則定時(shí)器T0溢出中斷將外中斷0關(guān)閉,并將

45、測距成功標(biāo)志字賦值2以表示此次測距不成功。 前方測距電路的輸出端接單片機(jī)INT0端口,中斷優(yōu)先級最高,左、右測距電路的輸出通過與門IC3A的輸出接單片機(jī)INT1端口,同時(shí)單片機(jī)P1.3和P1.4接到IC3A的輸入端,中斷源的識別由程序查詢來處理,中斷優(yōu)先級為先右后左。</p><p>  超聲波測距的算法設(shè)計(jì)原理為超聲波發(fā)生器T在某一時(shí)刻發(fā)出一個(gè)超聲波信號,當(dāng)這個(gè)超聲波遇到被測物體后反射回來,就被超聲波

46、接收器R所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號到接收到返回信號所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。在啟動發(fā)射電路的同時(shí)啟動單片機(jī)內(nèi)部的定時(shí)器T0,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)收到超聲波反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在INT0或INT1端產(chǎn)生一個(gè)中斷請求信號,單片機(jī)響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。</p><p>  在元件

47、及調(diào)制方面,由于采用的電路使用了很多集成電路。外圍元件不是很多,所以調(diào)試應(yīng)該不會太難。一般只要電路焊接無誤,稍加調(diào)試應(yīng)該會正常工作。電路中除集成電路外,對各電子元件也無特別要求。根據(jù)測量范圍要求不</p><p>  同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容C0的大小,以獲得合適的接收靈敏度和抗干擾能力。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。 </p><p>

48、;<b>  參考文獻(xiàn)</b></p><p>  [1] 胡乾斌,李光斌,李玲等. 單片微型計(jì)算機(jī)原理與應(yīng)用[M]. 武漢: 華中科技大學(xué)出版社,2004</p><p>  [2] 丁元杰. 單片微機(jī)原理及應(yīng)用[M]. 北京: 機(jī)械工業(yè)出版社,1996</p><p>  [3] 何立民. 單片機(jī)應(yīng)用技術(shù)選編[M]. 北京: 北京航空航天大

49、學(xué)出版社,1996</p><p>  [4] 蘇長贊. 紅外線與超聲波遙控[M]. 北京: 人民郵電出版社, 1993.7</p><p>  [5] 王永華. 現(xiàn)代電氣及可編程控制技術(shù)[M]. 北京: 航空航天大學(xué)出版社, 2002</p><p>  [6] 蘇偉. 鞏壁建. 超聲波測距誤差分析[J]. 傳感器技術(shù), 2004</p><p

50、>  [7] 馮冬青,謝宋和. 模糊智能控制[M]. 北京: 化工工業(yè)出版社, 1998</p><p>  [8] 陳伯時(shí). 電力拖動自動控制系統(tǒng)[M]. 北京: 機(jī)械工業(yè)出版社, 2000</p><p>  [9] 薛麗芳,汪卉,彥文俊. 基于超聲波的距離測量[J]. 自動化與儀表, 2007,(05).</p><p>  [10] 鄧星鐘,周祖德,鄧

51、堅(jiān). 機(jī)電傳動控制(第二版)[M]. 武漢: 華中理工大學(xué)出版社, 1998</p><p>  [11] 王田苗. 嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā) 北京: 清華大學(xué)出版社 2005</p><p>  [12] 馬忠梅,藉順心等. 單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)(第三版) 北京: 北京航空航天大學(xué)出版社 2003</p><p><b>  附 錄</b

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

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

54、_4#define csbout    P3_5                  //超聲波發(fā)送#define csbint    P3_7     &#

55、160;            //超聲波接收#define csbc=0.034#define bg  P3_3 unsigned char csbds,opto,digit,buffer[3],xm1,xm2,xm0,key,jpjs;//顯示標(biāo)識unsigned char convert[10]={0x3

56、F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0~9段碼unsigned int s,t,i, xx,j,sj1,sj2,sj3,mqs,sx1;bit cl;                   &

57、#160;               void csbcj();void delay(j);                 

58、;             //延時(shí)函數(shù)void scanLED();                    

59、0;     </p><p>  void main()                         

60、0;    //主函數(shù){     EA=1;                           

61、;     //開中斷       TMOD=0x11;                   //設(shè)定時(shí)器0為計(jì)數(shù),設(shè)定時(shí)器1定時(shí)  &

62、#160;  ET0=1;                              //定時(shí)器0中斷允許   

63、60;  ET1=1;                              //定時(shí)器1中斷允許    

64、;  TH0=0x00;     TL0=0x00;     TH1=0x9E;     TL1=0x57;     csbds=0;     csbint=1;     csb

65、out=1;     cl=0;     ōpto=0xff;     jpjs=0;     sj1=45;     sj2=200;     sj3=400;  

66、   k4cl();     TR1=1;                             whi

67、</p><p>  void scanLED()                       //顯示功能模塊{    digit=0x04; &#

68、160;  for( i=0; i<3; i++)        //3位數(shù)顯示    {        P3=~digit&opto;        //依次顯示各位數(shù)

69、        P1=~buffer;        //顯示數(shù)據(jù)送P1口        delay(20);          

70、;    //延時(shí)處理        P1=0xff;             //P1口置高電平(關(guān)閉)        if((P3&0

71、x10)==0)      //判斷3位是否顯示完           key=0;        digit>>=1;       

72、      //循環(huán)右移1位    }}</p><p>  void timeToBuffer()                //轉(zhuǎn)換段碼功能模塊{  

73、   xm0=s/100;           xm1=(s-100*xm0)/10;     xm2=s-100*xm0-10*xm1;     buffer[2]=convert[xm2];    &

74、#160;      buffer[1]=convert[xm1];     buffer[0]=convert[xm0];}</p><p>  void delay(i)             

75、                 {    while(--i);}</p><p>  void timer1int (void)  interrupt 3  using 2 { &#

76、160;   TH1=0x9E;     TL1=0x57;     csbds++;     if(csbds>=40)     {         &

77、#160; csbds=0;           cl=1;     }            }</p><p>  void csbcj(){ 

78、;    if(cl==1)     {               TR1=0;           TH0=0x00;

79、           TL0=0x00;           i=10;           while(i--) 

80、0;         {                 csbout=!csbout;         

81、  }           TR0=1;                        

82、0;        i=mqs;                            &

83、#160; //盲區(qū)           while(i--)           {           }  

84、;         i=0;           while(csbint)           {    

85、60;            i++;                 if(i>=2450)     

86、0;            //上限值                 csbint=0;      &l

87、t;/p><p>  void keyscan()                        //健盤處理函數(shù){     xx=0;

88、0;    if(k1!=1)                              // 判斷開關(guān)是否按下

89、60;    {           delay(400);                    

90、0;   //延時(shí)去抖動           if(k1!=1)                     &

91、#160;        // 判斷開關(guān)是否按下                 {           

92、           while(!k1)           {              

93、   delay(30);                       xx++;           }

94、           if(xx>2000)                       {  &

95、#160;              jpjs++;                 if(jpjs>4)   

96、;              jpjs=0;</p><p>  void k1cl(){sj1=sj1+5;if(sj1>100)sj1=30;s=sj1;}void k2cl(){sj2=sj2+5;if(sj2>500)sj2=40;s=sj2

97、;}</p><p>  void k3cl(){sj3=sj3+10;if(sj3>500)sj3=100;s=sj3;}</p><p>  void k4cl(){sx1=sj1-1;sx1=sx1/csbc;mqs=sx1/4.5;}</p><p>  void offmsd()    

98、                                    

99、0;     {    if (buffer[0] == 0x3f)                         

100、;       buffer[0] = 0x00;}</p><p><b>  致 謝</b></p><p>  首先,我要感謝我的指導(dǎo)老師郭泉江老師在畢業(yè)設(shè)計(jì)中對我給予的悉心指導(dǎo)和嚴(yán)格要求,同時(shí)也感謝本校的一些老師在畢業(yè)設(shè)計(jì)期間所給予我得幫助。在我畢業(yè)論文寫作期間,各位老師給我提供了種種專業(yè)知識上的指導(dǎo)和

101、日常生活上的關(guān)懷,沒有您們這樣的幫助和關(guān)懷,我不會這么順利的完成畢業(yè)設(shè)計(jì),借此機(jī)會,向您們表示由衷的感激。同時(shí)還要感謝系實(shí)驗(yàn)室在畢業(yè)設(shè)計(jì)期間提供給我們優(yōu)越的實(shí)驗(yàn)條件。</p><p>  接著,我要感謝和我一起做畢業(yè)設(shè)計(jì)的同學(xué)。在畢業(yè)設(shè)計(jì)的短短3個(gè)月里,你們給我提出很多寶貴的意見,給了我不少幫助還有工作上的支持,在此也真誠的謝謝你們。同時(shí),我還要感謝我的寢室同學(xué)和身邊的朋友,正是在這樣一個(gè)團(tuán)結(jié)友愛,相互促進(jìn)的環(huán)境

溫馨提示

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

評論

0/150

提交評論