版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> ********* 大 學 ****學 院</p><p> 本 科 生 課 程 設 計</p><p> 課 程 名 稱: 單片機課程設計 </p><p> 題 目: 超聲波測距儀 </p><p> 專 業(yè) 班 級: 08 電信
2、 </p><p> 學 生 姓 名: ******* </p><p> 學 生 學 號: ******* </p><p> 日 期: 2011年6月14 </p><p> 指 導 教 師:
3、 ******* </p><p> 指導教師簽字: </p><p> 年 月 日</p><p><b> 目 錄</b></p><p><b> 目 錄I</b></p><p>&
4、lt;b> 摘 要I</b></p><p> AbstractII</p><p><b> 1 緒論1</b></p><p><b> 1.1設計背景1</b></p><p><b> 1.2設計目的1</b></p>
5、<p> 1.3 基本原理1</p><p> 2 設計方案簡述2</p><p><b> 2.1方案討論2</b></p><p><b> 2.2方案論證2</b></p><p><b> 3 詳細設計3</b></p>
6、<p><b> 3.1硬件設計3</b></p><p> 3.1.1 AT89S52外圍電路設計3</p><p> 3.1.2數(shù)碼管顯示電路設計4</p><p> 3.1.3超聲波發(fā)射電路設計5</p><p> 3.1.4超聲波接收6</p><p><
7、;b> 3.2軟件部分7</b></p><p> 3.2.1系統(tǒng)軟件設計說明7</p><p> 3.2.2編程語言的選擇7</p><p> 3.2.3超聲波測距儀的算法設計7</p><p> 3.2.4主程序流程圖8</p><p> 3.2.5超聲波發(fā)生子程序和超聲波接
8、收中斷程序9</p><p> 3.2.6系統(tǒng)的軟硬件的調試10</p><p> 4 設計結果及分析11</p><p><b> 5 總結12</b></p><p><b> 參考文獻13</b></p><p><b> 附錄114&l
9、t;/b></p><p><b> 附錄22</b></p><p><b> 摘 要</b></p><p> 由于超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而超聲波經常用于距離的測量。利用超聲波檢測距離,設計比較方便,計算處理也較簡單,并且在測量精度方面也能達到日常使用的要求。</
10、p><p> 設計的超聲波測距器利用超聲波傳輸中距離與時間的關系,采用以AT89S52單片機為核心進行控制及數(shù)據(jù)處理,最終完成低成本、高精度、微型化數(shù)字顯示超聲波測距器的硬件電路和軟件設計。該測距器主要由超聲波發(fā)射器電路、超聲波接收器電路、單片機控制電路、系統(tǒng)電源電路及顯示電路構成。整個程序采用模塊化設計,由主程序、發(fā)射子程序、接收子程序、顯示子程序等模塊組成。各探頭的信號經單片機綜合分析處理,實現(xiàn)超聲波測距器的各
11、種功能。在此基礎上設計了系統(tǒng)的總體方案,最后通過硬件和軟件實現(xiàn)了各個功能模塊。</p><p> 經過實驗表明,這套系統(tǒng)軟硬件設計合理、抗干擾能力強、實時性良好,經過系統(tǒng)擴展和升級,可應用于汽車倒車、建筑施工工地以及一些工業(yè)現(xiàn)場的位置監(jiān)控,還能有效地解決汽車倒車,液位、水深、管道長度的測量問題。</p><p> 關鍵詞:超聲波;AT89S52;數(shù)碼管;測距</p>&l
12、t;p><b> Abstract</b></p><p> The strong point of ultrasonic energy consumption is slow, the spread in the medium distance, and therefore frequently used ultrasonic distance measurement. Dist
13、ance using ultrasonic testing, the design is more convenient, computing is also relatively simple, and precision in the measurement can achieve the requirements of daily use.</p><p> Design of ultrasonic di
14、stance measurement device using ultrasonic transmission distance of time, with the AT89S52 microcontroller as the core for control and data processing, the final completion of low-cost, high precision, miniature digital
15、display ultrasonic ranging device hardware and software design . The probe by the single chip integrated analysis of signal processing, and ultrasonic ranging device features. On this basis, the overall design of the sys
16、tem program, and finally achieved thr</p><p> Experimental results show that the system software and hardware designed, anti-interference ability, good real-time, after the system expansion and upgrades, ca
17、n be applied to car parking, construction sites and the location of some industrial-site monitoring, but also effectively solve the vehicle Reverse, liquid level, water depth, pipeline length measurements.</p><
18、;p> Key words: ultrasonic; AT89S52; digital; location</p><p><b> 1 緒論</b></p><p><b> 1.1設計背景</b></p><p> 隨著科學技術的快速發(fā)展,超聲波將在測距儀中的應用越來越廣。但就目前技術水平來說,人們可以具
19、體利用的測距技術還十分有限,因此,這是一個正在蓬勃發(fā)展而又有無限前景的技術及產業(yè)領域。展望未來,超聲波測距儀作為一種新型的非常重要有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更加高定位高精度的方向發(fā)展,以滿足日益發(fā)展的社會需求,如聲納的發(fā)展趨勢基本為:研制具有更高定位精度的被動測距聲納,以滿足水中武器實施全隱蔽攻擊的需要;繼續(xù)發(fā)展采用低頻線譜檢測的潛艇拖曳線列陣聲納,實現(xiàn)超遠程的被動探測和識別;研制更適合于淺海工作的潛艇聲納,特別是
20、解決淺海水中目標識別問題;大力降低潛艇自噪聲,改善潛艇聲納的工作環(huán)境。無庸置疑,未來的超聲波測距儀將與自動化智能化接軌,與其他的測距儀集成和融合,形成多測距儀。隨著測距儀的技術進步,測距儀將從具有單純判斷功能發(fā)展到具有學習功能,最終發(fā)展到具有創(chuàng)造力。在新的世紀里,面貌一新的測距儀將發(fā)揮更大的作用。</p><p><b> 1.2設計目的</b></p><p>
21、 通過該課程設計使學生進一步了解和加深智能化儀器設計的一般原則;熟練掌握智能化儀器與裝置的軟、硬件設計方法;掌握儀器的軟件調試及軟硬件聯(lián)合統(tǒng)調方法與技能。掌握儀器的接口技術和程控方法;熟練掌握儀表總線的工作原理、設計步驟、編程及調試;掌握C語言設計軟件的編程與調試方法;掌握網絡化儀器設計編程與調試方法。</p><p><b> 1.3 基本原理</b></p><p&
22、gt; 超聲波傳感器的工作原理是陶瓷的壓電效應。超聲波傳感器在測量過程中,超聲測距器是根據(jù)超聲波遇到障礙物反射回來的特性進行測量的。超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即中斷停止計時。 通過不斷檢測產生波發(fā)射后遇到障礙物所反射的回波,從而測出發(fā)射超聲波和接收到回波的時間差△T,然后求出距離L。</p><p> 基本的
23、測距公式為:L=(△T/2)*V 式中 L——被測距離;△T——發(fā)射波和反射波之間的時間間隔;V——超聲波在空氣中的聲速,常溫下取為340m/s 。聲速確定后,只要測出超聲波往返的時間,即可求得L。 為測試更精確,鑒于聲波受溫度影響最大,測距數(shù)據(jù)處理過程可以采用了溫度補償,以提高測量精度。</p><p><b> 2 設計方案簡述</b></p><p><
24、b> 2.1方案討論</b></p><p> 超聲波測距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時間來計算出傳播距離。實用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計;一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測距儀。此次設計采用反射波方式。</p><p> 超聲波發(fā)生器可以分為兩大類:一類是用電氣方
25、式產生超聲波,一類是用機械方式產生超聲波。電氣方式包括壓電型、電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前在近距離測量方面常用的是壓電式超聲波換能器。根據(jù)設計要求并綜合各方面因素,本文采用AT89S52單片機作為控制器,用動態(tài)掃描法實現(xiàn)LED數(shù)字顯示,超聲波驅動信號用單片機的定時器。</p><p> 圖2.1 超聲波測距器系統(tǒng)設計框
26、圖</p><p><b> 2.2方案論證</b></p><p> 測距儀的分辨率取決于對超聲波傳感器的選擇。超聲波傳感器是一種采用壓電效應的傳感器,常用的材料是壓電陶瓷。由于超聲波在空氣中傳播時會有相當?shù)乃p,衰減的程度與頻率的高低成正比;而頻率高分辨率也高,故短距離測量時應選擇頻率高的傳感器,而長距離的測量時應用低頻率的傳感器。</p>&l
27、t;p><b> 3 詳細設計</b></p><p><b> 3.1硬件設計</b></p><p> 硬件電路的設計主要包括單片機系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路四部分。單片機采用AT89S52,采用12MHz高精度的晶振,以獲得穩(wěn)定時鐘頻率,減小測量誤差。單片機用P1.0端口輸出超聲波換能器所需的40kHz的
28、方波信號,利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實用的4位共陽LED數(shù)碼管,位碼用PNP三極管9013驅動。</p><p> 3.1.1 AT89S52外圍電路設計</p><p> 單片機AT89S52作為主控芯片,控制整個電路的運行。單片機外圍需要一個復位電路,復位電路的功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤消復位信號。為可靠起見,電源穩(wěn)
29、定后還要經一定的延時才撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。該設計在電源電壓瞬間下降時可以使電容迅速放電,可令系統(tǒng)可靠復位。</p><p> 圖3.1.1 復位電路圖 圖3.1.2 時鐘電路</p><p> AT89S52中有一個用于構成內部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別為該反向放大器的輸入
30、端和輸出端。這個反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構成自激振蕩器。</p><p> 外接石英晶體(或陶瓷諧振器)及電容C1、C2接在放大器的反饋回路中構成并聯(lián)振蕩電路。對外接電容C1、C2雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性。如果使用石英晶體,電容應該使用30pF。</p><p> 還可
31、以使用外部時鐘。這種情況下,外部時鐘脈沖接XTAL1端,即內部時鐘發(fā)生器的輸入端, XTAL2應懸空。</p><p> 由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內部時鐘信號的,所以外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大低電平持續(xù)時間應符合產品技術條件的要求。</p><p> 3.1.2數(shù)碼管顯示電路設計</p><p> 該設計中
32、有4個八段數(shù)碼顯示管,由于單片機本身端口驅動能力有限,所以,在單片機AT89S52外圍需要接入4個三極管來驅動數(shù)碼顯示管。八段數(shù)碼顯示管有兩種,一種是共陽數(shù)碼管,其內部是由八個陽極相連接的發(fā)光二極管組成;另一種是共陰數(shù)碼管,其內部是由八個陰極相連接的發(fā)光二極管組成。二者原理不同但功能相同,本設計選用四位共陽極數(shù)碼管。</p><p> 圖3.1.3 數(shù)碼管顯示及其驅動電路</p><p>
33、; 3.1.3超聲波發(fā)射電路設計</p><p> 單片機發(fā)出超聲波測距是通過不斷檢測超聲波發(fā)射后遇到障礙物所反射的回波,從而測出發(fā)射和接收回波的時間差△T,然后求出距離S=V△T/2,式中的V為超聲波波速。限制該系統(tǒng)的最大可測距離存在4個因素:超聲波的幅度、反射的質地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤
34、差,可采用多個超聲波換能器分別作為多路超聲波發(fā)射/接收的設計方法。由于超聲波屬于聲波范圍,其波速V與溫度有關。</p><p> 測距系統(tǒng)中的超聲波傳感器采用壓電陶瓷傳感器,因為超聲波在空氣中傳播時衰減很大,衰減的程度與頻率成正比,但是頻率越高則分辨力也會越高,頻率為40kHz左右的超聲波在空氣中傳播的效率最佳,工作所需40kHz的脈沖信號,由單片機執(zhí)行相應程序來產生。關于40KHz信號的產生,利用單片機定時器
35、中斷產生,要特別注意中斷服務程序的編寫。中斷服務不能過長,如果過長單片機在前一個中斷服務程序還沒執(zhí)行完之前又會有下一個中斷產生。所以單片機將會產生一個錯誤頻率的信號,往往這個錯誤的頻率會比預期的值偏低。測距系統(tǒng)由單片機系統(tǒng)、超聲波發(fā)射電路和超聲波檢測接收電路三部分組成。AT89S52輸出超聲波換能器所需的40K方波信號,利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號, 并實現(xiàn)對CX20106接收芯片和TCT40-10系列超聲波轉換模塊的
36、控制。</p><p> 超聲波發(fā)射電路原理圖如圖3.6所示。發(fā)射電路主要由反相器4069和超聲波發(fā)射換能器T構成,單片機P1.0端口輸出的40kHz的方波信號一路經一級反向器后送到超聲波換能器的一個電極,另一路經兩級反向器后送到超聲波換能器的另一個電極,用這種推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強度。輸出端采兩個反向器并聯(lián),用以提高驅動能力。上位電阻R6、R8一方面可以提高反向器40
37、69輸出高電平的驅動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時間。</p><p> 圖3.1.4 超聲波發(fā)射電路</p><p> 壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內部有兩個壓電晶片和一個換能板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片會發(fā)生共振,并帶動共振板振動產生超聲波,這時它就是一個超聲波發(fā)生器;反之,
38、如果兩電極問未外加電壓,當共振板接收到壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內部有兩個壓電晶片和一個換能板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片會發(fā)生共振,并帶動共振板振動產生超聲波,這時它就是一個超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉換為電信號,這時它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結構上稍有不同,
39、使用時應分清器件上的標志。</p><p> 3.1.4超聲波接收</p><p> 集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 kHz與測距的超聲波頻率40 kHz較為接近,可以利用它制作超聲波檢測接收電路。實驗證明用CX20106A接收超聲波(無信號時輸出高電平),具有很好的靈敏度和較強的抗干擾能力。適當更改
40、電容C8的大小,可以改變接收電路的靈敏度和抗干擾能力。</p><p> 使用CX20106A作為超聲波檢測接收電路,原理圖如圖3.7所示。CX20106A的第5腳的電阻決定接收的中心頻率,220k的電阻決定了接收的中心頻率為40KHz。CX20106A接收到40KHz的信號時,會在第7腳產生一個低電平下降脈沖,這個信號可以接到單片機的外部中斷引腳作為中斷信號輸入。R3和C13 是控制CX20106A內部放大增
41、益,R5控制帶通濾波器的中心頻率。一般取R3=4.7歐,C13=1Uf.。其余元件按圖3.7取值。OUT_INT當收到超聲波是產生一個下降沿,接到單片機的外部中斷上。只要通過單片機來來計算發(fā)射信號時到收到信號是產生下降沿這段時間的長度,再通過數(shù)學計算得出當前距離,程序將此數(shù)值與設定的閾值相比較并作出相應動作。</p><p> 圖3.1.7 超聲波接收電路</p><p><b&g
42、t; 3.2軟件部分</b></p><p> 3.2.1系統(tǒng)軟件設計說明</p><p> 進行測量控制系統(tǒng)設計時,除了系統(tǒng)硬件設計外,大量的工作就是如何根據(jù)每個測量對象的實際需要設計應用程序。因此,軟件設計在微機測量控制系統(tǒng)設計中占重要地位。對于本系統(tǒng),軟件設計更為重要。</p><p> 在單片機測量控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過程控
43、制兩個基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字濾波、標度變換等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出,以便達到測量控制目的。</p><p> 本軟件設計主要是對距離進行測量、顯示。因此,整個軟件可分為按照硬件電路對單片機位定義;發(fā)射子程序;接收子程序;顯示子程序;延時子程序等。</p><p> 3.2.2編程語言的選擇</p><p>
44、 本設計是硬件電路和軟件編程相結合的設計方案,選擇合適的編程語言是一個重要的環(huán)節(jié)。在單片機的應用系統(tǒng)程序設計時,常用的是匯編語言和C語言。匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優(yōu)點是占用資源少、程序執(zhí)行效率高,而且執(zhí)行速度快。但是不同的CPU,其匯編語言可能有所差異,即依賴于計算機硬件,程序可讀性和可移植性比較差。</p><p> C語言是編譯型程序設計語言,兼
45、顧高級語言的特點,并具備匯編語言的功能。C語言是一種結構化程序設計語言,它支持當前程序設計中廣泛采用的由頂向下結構化程序設計技術。此外,C語言程序具有完善的模塊程序結構。C語言執(zhí)行效率沒有匯編語言高,但語言簡潔,使用方便,靈活,運算豐富,表達化類型多樣化,數(shù)據(jù)結構類型豐富,具有結構化的控制語句,程序設計自由度大,有很好的可重用性,可移植性等特點?;贑語言的眾多優(yōu)點本設計選擇此語言來編程。</p><p> 3
46、.2.3超聲波測距儀的算法設計</p><p> 圖3.2.1示意了超聲波測距的原理,即超聲波發(fā)生器T在某一時刻發(fā)出一個超聲渡信號,當這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。</p><p> 距離的計算公式為:L=S/2=(V×△T)/2
47、 (1)</p><p> 其中,L為被測物與測距儀的距離,s為聲波的來回的路程,V為聲速,△T為聲波來回所用的時間。</p><p> 圖3.2.1 超聲波測距原理圖</p><p> 由于超聲波也是一種聲波,其聲速V與溫度有關,表3.1列出了幾種不同溫度下的超聲波聲速。在使用時,如果溫度變化不大,則可認為聲速是基本不變的
48、。如果測距精度要求很高,則應通過溫度補償?shù)姆椒右孕UB曀俅_定后,只要測得超聲波往返的時間,即可求得距離。</p><p> 表3.1 不同溫度下超聲波聲速表</p><p> 在啟動發(fā)射電路的同時啟動單片機內部的定時器T0,利用定時器的計數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路輸出端產生一個負跳變,在INT0或INT1端產生一個中斷請求信號,單
49、片機響應外部中斷請求,執(zhí)行外部中斷服務子程序,讀取時間差,計算距離。</p><p> 3.2.4主程序流程圖</p><p> 軟件分為兩部分,主程序和中斷服務程序。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。外部中斷服務子程序主要完成時間值的讀取、距離計算、結果的輸出等工作。</p><p> 圖3.2.2 主程序 圖3.2
50、.3定時中斷服務子程序 圖3.2.4 外部中斷服務子程序</p><p> 主程序首先是對系統(tǒng)環(huán)境初始化,設置定時器T0工作模式為16位定時計數(shù)器模式。置位總中斷允許位EA并給顯示端口P1和P3清0。然后調用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時約0.1 ms(這也就是超聲波測距儀會有一個最小可測距離的原因)后,才打開外中斷0接收返回的超聲波信
51、號。由于采用的是12 MHz的晶振,計數(shù)器每計 一個數(shù)就是1μs,當主程序檢測到接收成功的標志位后,將計數(shù)器T0中的數(shù)(即超聲波來回所用的時間)按式(2)計算,即可得被測物體與測距儀之間的距離,設計時取20℃時的聲速為344 m/s則有:L=(V×△T)/2=172T0/10000cm (2)</p><p> 測出距離后結果將以十進制BCD碼方式送往LED
52、顯示約0.5s,然后再發(fā)超聲波脈沖重復測量過程。</p><p> 3.2.5超聲波發(fā)生子程序和超聲波接收中斷程序</p><p> 超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送2個左右超聲波脈沖信號(頻率約40kHz的方波),脈沖寬度為12μs左右,同時把計數(shù)器T0打開進行計時。超聲波發(fā)生子程序較簡單,但要求程序運行準確,所以采用C語言編程。</p><p>
53、 超聲波測距儀主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進入中斷程序。進入中斷后就立即關閉計時器T0停止計時,并將測距成功標志字賦值1。如果當計時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出中斷將外中斷0關閉,并將測距成功標志字賦值2以表示此次測距不成功。</p><p> 3.2.6系統(tǒng)的軟硬件的調試</p><p> 超
54、聲波發(fā)射和接收采用Φ15的超聲波換能器TCT40-10F1(T發(fā)射)和TCT40-10S1(R接收),中心頻率為40kHz,安裝時應保持兩換能器中心軸線平行并相距4~8cm,其余元件無特殊要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。根據(jù)測量范圍要求不同,可適當調整與接收換能器并接的濾波電容C4的大小,以獲得合適的接收靈敏度和抗干擾能力。</p><p> 硬件電路制作完成并調試好后,便可將程
55、序編譯好下載到單片機試運行。根據(jù)實際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時間,以適應不同距離的測量需要。根據(jù)所設計的電路參數(shù)和程序,測距儀能測的范圍為0.10~5.00m,測距儀最大誤差不超過1cm。系統(tǒng)調試完后應對測量誤差和重復一致性進行多次實驗分析,不斷優(yōu)化系統(tǒng)使其達到實際使用的測量要求。</p><p><b> 4 設計結果及分析</b></p>
56、;<p> 設計的最終結果是使超聲波測距儀能夠產生超聲波,實現(xiàn)超聲波的發(fā)送與接收,從而實現(xiàn)利用超聲波方法測量物體間的距離,以數(shù)字的形式顯示測量距離。</p><p> 它的硬件電路的設計主要包括單片機系統(tǒng)及顯示電路、系統(tǒng)電源、超聲波發(fā)射電路和超聲波檢測接收電路四部分。單片機采用AT89S52,采用12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機用P1.0端口輸出超聲波換能器所需
57、的40kHz的方波信號,利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實用的4位共陽LED數(shù)碼管,段碼用單片機直接驅動,位碼用NPN三極管9013驅動。實現(xiàn)測距,并且在數(shù)碼管上顯示距離。。</p><p> 超聲波測距器的軟件設計主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。 超聲波測距的算法設計原理為超聲波發(fā)生器T在某一時刻發(fā)出一個超聲波信號,當這個超聲波遇到被測物體后
58、反射回來,就被超聲波接收器R所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。</p><p> 經過實驗表明,這套系統(tǒng)軟硬件設計合理、抗干擾能力強、實時性良好,實驗結果完全符合預期要求。</p><p><b> 5 總結</b></p><p> 這幾周的方向課程設計分為兩個部分
59、:硬件制作和軟件設計。學院出于這樣安排也是基于一些現(xiàn)實的原因:隨著科學技術發(fā)展的日新日異,單片機已經成為當今計算機應用中空前活躍的領域,。課本上的理論知識無法滿足實際生活中工程項目的開發(fā)需要,而我們平時又缺乏工程實踐。課程設計過程是培養(yǎng)我們綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對實際工作能力的具體訓練和考察過程。所以安排了我們進行了這一次硬件制作和軟件設計的課程設計。</p><
60、p> 前期我們主要是進行硬件的設計制作與焊接,由于我們以前做過很多硬件焊接與制作相關的練習,所以焊接這一塊兒我們并沒有遇到太多問題。這一塊兒主要是得耐心細致。需要注意各個輸入、輸出引腳,因為每個引腳都是不一樣的,只有讓各個引腳互相對應,才能得出準確的結果,任何一點小的誤差都不可能得出正確的運行結果。</p><p> 回顧起此次單片機課程設計,我仍感慨頗多,的確,在這幾個星期中,可以說得是苦多于甜,但是
61、可以學到很多很多的的東西,不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次的課程設計作品的制作讓我對單片機的理論有了更加深入的了解,同時在具體的制作過程中我們發(fā)現(xiàn)現(xiàn)在書本上的知識與實際的應用存在著不小的差距,書本上的知識很多都是理想化后的結論,忽略了很多實際的因素,或者涉及的不全面,可在實際的應用時這些是不能被忽略的,我們不得不考慮這方面的問題,這讓我們無法根據(jù)書上的理論就輕易得到預想中的結果,有時結果甚至
62、很差別很大。在設計的過程中也遇到過很多問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對C語言掌握得不全面等等。這次的課程設計讓我受益匪淺,無論從知識上還是其他的各個方面。上課時候的學習只是從理論的角度去理解枯燥乏味。但在課程設計中使用了單片機及其系統(tǒng)進行實際項目的開發(fā)。能夠理論聯(lián)系實際的學習
63、,開闊了眼界,提高了單片機知識的理</p><p><b> 參考文獻</b></p><p> 1.謝自美. 電子線路設計-實驗-測試[M] .武漢:華中科技大學出版社, 2000</p><p> 2.樓然苗,李光飛.單片機課程設計指導[M].北京航天航空大學出版社,2007</p><p> 3.張齊,朱寧
64、西.單片機應用系統(tǒng)設計技術[M].電子工業(yè)出版社,2010</p><p> 4.周新華.手把手叫你學單片機C程序設計[M].北京航天航空大學出版社,2009</p><p><b> 附錄1</b></p><p> 超聲測距器單片機程序(部分)</p><p> #include <reg51.h>
65、;</p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> #define ulong unsigned long</p><p> extern void cs_t(void);</p><p> ex
66、tern void delay(uint);</p><p> extern void display(uchar*);</p><p> data uchar testok;</p><p><b> /*主程序*/</b></p><p> void main(void)</p><p&g
67、t;<b> {</b></p><p> data uchar dispram[5];</p><p> data uint i;</p><p> data ulong time;</p><p> P0 = 0xff;</p><p> P2 = 0xff;</p>
68、<p> TMOD = 0x11;</p><p> IE = 0x80;</p><p><b> while (1)</b></p><p><b> {</b></p><p><b> cs_t();</b></p><p>
69、;<b> delay(1);</b></p><p> testok = 0;</p><p><b> EX0 = 1;</b></p><p><b> ET0 = 1;</b></p><p> while (!testok) display(dispram)
70、;</p><p> if (1 == testok)</p><p><b> {</b></p><p> time = TH0;</p><p> time = (time<<8) | TL0;</p><p> time *=172;</p><p
71、> time /= 10000;</p><p> dispram[0] = (uchar) (time % 10);</p><p> time /= 10;</p><p> dispram[1] = (uchar) (time % 10);</p><p> time /= 10;</p><p>
72、; dispram[2] = (uchar) (time % 10);</p><p> dispram[3] = (uchar) (time / 10);</p><p> if (0 == dispram[3]) dispram[3] = 17;</p><p><b> } else</b></p><p>
73、;<b> {</b></p><p> dispram[0] = 16;</p><p> dispram[1] = 16;</p><p> dispram[2] = 16;</p><p> dispram[3] = 16;</p><p><b> }</b&g
74、t;</p><p> for (i=0; i<300; i++) display(dispram);</p><p><b> }</b></p><p><b> }</b></p><p><b> //</b></p><p>
75、/*超聲接收程序(外中斷0)*/</p><p> void cs_r(void) interrupt 0</p><p><b> {</b></p><p><b> TR0 = 0;</b></p><p><b> ET0 = 0;</b></p>
76、<p><b> EX0 = 0;</b></p><p> testok = 1;</p><p><b> }</b></p><p> /*超時清除程序(內中斷T0)*/</p><p> void overtime(void) interrupt 1</p>
77、<p><b> {</b></p><p><b> EX0 = 0;</b></p><p><b> TR0 = 0;</b></p><p><b> ET0 = 0;</b></p><p> testok = 2;<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機超聲波測距儀設計課程設計
- 單片機課程設計--超聲波測距儀的設計
- 單片機課程設計超聲波測距儀的設計
- 單片機課程設計---基于單片機的超聲波測距儀
- 基于單片機的超聲波測距儀課程設計
- 課程設計--- 基于51單片機的超聲波測距儀設計
- 基于單片機的超聲波測距儀設計
- 基于51單片機超聲波測距儀設計
- 超聲波測距儀課程設計
- 超聲波測距儀課程設計
- 基于單片機的超聲波測距儀
- 基于51單片機的超聲波測距儀設計
- 單片機課程設計-超聲波測距
- 單片機課程設計--超聲波測距
- 單片機課程設計-超聲波測距
- 基于51單片機超聲波測距儀
- 超聲波測距儀課程設計 (2)
- 基于單片機的超聲波測距儀畢業(yè)設計
- 基于單片機的超聲波測距儀設計畢業(yè)設計
- 基于單片機控制超聲波測距儀畢業(yè)設計
評論
0/150
提交評論