單片機(jī)課程設(shè)計(jì)超聲波測(cè)距儀的設(shè)計(jì)_第1頁(yè)
單片機(jī)課程設(shè)計(jì)超聲波測(cè)距儀的設(shè)計(jì)_第2頁(yè)
單片機(jī)課程設(shè)計(jì)超聲波測(cè)距儀的設(shè)計(jì)_第3頁(yè)
單片機(jī)課程設(shè)計(jì)超聲波測(cè)距儀的設(shè)計(jì)_第4頁(yè)
單片機(jī)課程設(shè)計(jì)超聲波測(cè)距儀的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、* 大大 學(xué)學(xué) *學(xué)學(xué) 院院本 科 生 課 程 設(shè) 計(jì)課課 程程 名名 稱:稱: 單片機(jī)課程設(shè)計(jì) 題題 目:目: 超聲波測(cè)距儀 專專 業(yè)業(yè) 班班 級(jí):級(jí): 08 電信 學(xué)學(xué) 生生 姓姓 名:名: * 學(xué)學(xué) 生生 學(xué)學(xué) 號(hào):號(hào): * 日日 期:期: 2011 年 6 月 14 指指 導(dǎo)導(dǎo) 教教 師:師: * 一、課程設(shè)計(jì)目的、任務(wù)和內(nèi)容要求:通過該課程設(shè)計(jì)使學(xué)生進(jìn)一步了解和加深智能化儀器設(shè)計(jì)的一般原則;熟練掌握智能化儀器與裝置的軟、硬件設(shè)計(jì)方法;掌握儀器的軟件調(diào)試及軟硬件聯(lián)合統(tǒng)調(diào)方法與技能。掌握儀器的接口技術(shù)和程控方法;熟練掌握儀表總線的工作原理、設(shè)計(jì)步驟、編程及調(diào)試;掌握 c 設(shè)計(jì)軟件的編程與

2、調(diào)試方法;掌握網(wǎng)絡(luò)化儀器設(shè)計(jì)編程與調(diào)試方法。本課程設(shè)計(jì)的任務(wù)就是設(shè)計(jì)一個(gè)超聲波測(cè)距系統(tǒng)。鼓勵(lì)學(xué)生在熟悉基本原理的前提下,與實(shí)際應(yīng)用相聯(lián)系,提出自己的方案,完善設(shè)計(jì)。具體設(shè)計(jì)任務(wù)如下: 1熟悉超聲波測(cè)距的工作原理; 2寫出超聲波測(cè)距的設(shè)計(jì)方案;3用硬件加以實(shí)現(xiàn);4寫課程設(shè)計(jì)報(bào)告。設(shè)計(jì)要求:1.測(cè)量范圍:0.15m;2.測(cè)量精度:0.01m;3.顯示測(cè)量距離。二、進(jìn)度安排:第3 天: 查找資料,熟悉超聲波測(cè)距的設(shè)計(jì)原理,給出設(shè)計(jì)總體方案;第 46 天: 各模塊的詳細(xì)設(shè)計(jì);第 712 天: 硬件連線,調(diào)試;第 1314 天:寫課程設(shè)計(jì)報(bào)告。三、主要參考文獻(xiàn):1謝自美. 電子線路設(shè)計(jì)-實(shí)驗(yàn)-測(cè)試m .

3、武漢:華中科技大學(xué)出版社, 20002樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo).北京航天航空大學(xué)出版社,20073張齊,朱寧西.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù).電子工業(yè)出版社,20104周新華.手把手叫你學(xué)單片機(jī) c 程序設(shè)計(jì).北京航天航空大學(xué)出版社,2009 指導(dǎo)教師簽字: 年 月 日目目 錄錄目 錄 .i摘 要 .iabstract .ii1 緒論 .111 設(shè)計(jì)背景.11.2 設(shè)計(jì)目的.11.3 基本原理 .12 設(shè)計(jì)方案簡(jiǎn)述 .22.1 方案討論.22.2 方案論證.23 詳細(xì)設(shè)計(jì) .33.1 硬件設(shè)計(jì).33.1.1 at89s52 外圍電路設(shè)計(jì) .33.1.2 數(shù)碼管顯示電路設(shè)計(jì) .43.1.3

4、超聲波發(fā)射電路設(shè)計(jì) .53.1.4 超聲波接收 .63.2 軟件部分.73.2.1 系統(tǒng)軟件設(shè)計(jì)說明 .73.2.2 編程語(yǔ)言的選擇 .73.2.3 超聲波測(cè)距儀的算法設(shè)計(jì) .73.2.4 主程序流程圖 .83.2.5 超聲波發(fā)生子程序和超聲波接收中斷程序 .93.2.6 系統(tǒng)的軟硬件的調(diào)試 .104 設(shè)計(jì)結(jié)果及分析 .115 總結(jié) .12參考文獻(xiàn) .13附錄 1.14附錄 2.2摘 要由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測(cè)量。利用超聲波檢測(cè)距離,設(shè)計(jì)比較方便,計(jì)算處理也較簡(jiǎn)單,并且在測(cè)量精度方面也能達(dá)到日常使用的要求。設(shè)計(jì)的超聲波測(cè)距器利用超聲波

5、傳輸中距離與時(shí)間的關(guān)系,采用以 at89s52 單片機(jī)為核心進(jìn)行控制及數(shù)據(jù)處理,最終完成低成本、高精度、微型化數(shù)字顯示超聲波測(cè)距器的硬件電路和軟件設(shè)計(jì)。該測(cè)距器主要由超聲波發(fā)射器電路、超聲波接收器電路、單片機(jī)控制電路、系統(tǒng)電源電路及顯示電路構(gòu)成。整個(gè)程序采用模塊化設(shè)計(jì),由主程序、發(fā)射子程序、接收子程序、顯示子程序等模塊組成。各探頭的信號(hào)經(jīng)單片機(jī)綜合分析處理,實(shí)現(xiàn)超聲波測(cè)距器的各種功能。在此基礎(chǔ)上設(shè)計(jì)了系統(tǒng)的總體方案,最后通過硬件和軟件實(shí)現(xiàn)了各個(gè)功能模塊。經(jīng)過實(shí)驗(yàn)表明,這套系統(tǒng)軟硬件設(shè)計(jì)合理、抗干擾能力強(qiáng)、實(shí)時(shí)性良好,經(jīng)過系統(tǒng)擴(kuò)展和升級(jí),可應(yīng)用于汽車倒車、建筑施工工地以及一些工業(yè)現(xiàn)場(chǎng)的位置監(jiān)控,

6、還能有效地解決汽車倒車,液位、水深、管道長(zhǎng)度的測(cè)量問題。關(guān)鍵詞:超聲波;at89s52;數(shù)碼管;測(cè)距abstractthe strong point of ultrasonic energy consumption is slow, the spread in the medium distance, and therefore frequently used ultrasonic distance measurement. distance using ultrasonic testing, the design is more convenient, computing is also r

7、elatively simple, and precision in the measurement can achieve the requirements of daily use. design of ultrasonic distance 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-cos

8、t, high precision, miniature digital 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 system program, and finally achieved through v

9、arious hardware and software modules. experimental results show that the system software and hardware designed, anti-interference ability, good real-time, after the system expansion and upgrades, can be applied to car parking, construction sites and the location of some industrial-site monitoring, b

10、ut also effectively solve the vehicle reverse, liquid level, water depth, pipeline length measurements. key words: ultrasonic; at89s52; digital; location1 緒論11 設(shè)計(jì)背景隨著科學(xué)技術(shù)的快速發(fā)展,超聲波將在測(cè)距儀中的應(yīng)用越來越廣。但就目前技術(shù)水平來說,人們可以具體利用的測(cè)距技術(shù)還十分有限,因此,這是一個(gè)正在蓬勃發(fā)展而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。展望未來,超聲波測(cè)距儀作為一種新型的非常重要有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更加

11、高定位高精度的方向發(fā)展,以滿足日益發(fā)展的社會(huì)需求,如聲納的發(fā)展趨勢(shì)基本為:研制具有更高定位精度的被動(dòng)測(cè)距聲納,以滿足水中武器實(shí)施全隱蔽攻擊的需要;繼續(xù)發(fā)展采用低頻線譜檢測(cè)的潛艇拖曳線列陣聲納,實(shí)現(xiàn)超遠(yuǎn)程的被動(dòng)探測(cè)和識(shí)別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標(biāo)識(shí)別問題;大力降低潛艇自噪聲,改善潛艇聲納的工作環(huán)境。無庸置疑,未來的超聲波測(cè)距儀將與自動(dòng)化智能化接軌,與其他的測(cè)距儀集成和融合,形成多測(cè)距儀。隨著測(cè)距儀的技術(shù)進(jìn)步,測(cè)距儀將從具有單純判斷功能發(fā)展到具有學(xué)習(xí)功能,最終發(fā)展到具有創(chuàng)造力。在新的世紀(jì)里,面貌一新的測(cè)距儀將發(fā)揮更大的作用。1.2 設(shè)計(jì)目的通過該課程設(shè)計(jì)使學(xué)生進(jìn)一步了

12、解和加深智能化儀器設(shè)計(jì)的一般原則;熟練掌握智能化儀器與裝置的軟、硬件設(shè)計(jì)方法;掌握儀器的軟件調(diào)試及軟硬件聯(lián)合統(tǒng)調(diào)方法與技能。掌握儀器的接口技術(shù)和程控方法;熟練掌握儀表總線的工作原理、設(shè)計(jì)步驟、編程及調(diào)試;掌握 c 語(yǔ)言設(shè)計(jì)軟件的編程與調(diào)試方法;掌握網(wǎng)絡(luò)化儀器設(shè)計(jì)編程與調(diào)試方法。1.3 基本原理超聲波傳感器的工作原理是陶瓷的壓電效應(yīng)。超聲波傳感器在測(cè)量過程中,超聲測(cè)距器是根據(jù)超聲波遇到障礙物反射回來的特性進(jìn)行測(cè)量的。超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即中斷停止計(jì)時(shí)。 通過不斷檢測(cè)產(chǎn)生波發(fā)射后遇到障礙物所

13、反射的回波,從而測(cè)出發(fā)射超聲波和接收到回波的時(shí)間差t,然后求出距離 l。基本的測(cè)距公式為:l=(t/2)*v 式中 l被測(cè)距離;t發(fā)射波和反射波之間的時(shí)間間隔;v超聲波在空氣中的聲速,常溫下取為 340m/s 。聲速確定后,只要測(cè)出超聲波往返的時(shí)間,即可求得 l。 為測(cè)試更精確,鑒于聲波受溫度影響最大,測(cè)距數(shù)據(jù)處理過程可以采用了溫度補(bǔ)償,以提高測(cè)量精度。2 設(shè)計(jì)方案簡(jiǎn)述2.1 方案討論超聲波測(cè)距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時(shí)間來計(jì)算出傳播距離。實(shí)用的測(cè)距方法有兩種,一種是在被測(cè)距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計(jì);一種是發(fā)射波被物體反射回來后接收的反射

14、波方式,適用于測(cè)距儀。此次設(shè)計(jì)采用反射波方式。超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、電動(dòng)型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前在近距離測(cè)量方面常用的是壓電式超聲波換能器。根據(jù)設(shè)計(jì)要求并綜合各方面因素,本文采用 at89s52 單片機(jī)作為控制器,用動(dòng)態(tài)掃描法實(shí)現(xiàn) led 數(shù)字顯示,超聲波驅(qū)動(dòng)信號(hào)用單片機(jī)的定時(shí)器。 at89s52 超聲波接收 超聲波發(fā)送led顯示掃描驅(qū)動(dòng)掃描驅(qū)動(dòng)圖 2.1 超聲波測(cè)距器系統(tǒng)設(shè)計(jì)框圖2.2 方案論證測(cè)距儀的分辨率取決于對(duì)超

15、聲波傳感器的選擇。超聲波傳感器是一種采用壓電效應(yīng)的傳感器,常用的材料是壓電陶瓷。由于超聲波在空氣中傳播時(shí)會(huì)有相當(dāng)?shù)乃p,衰減的程度與頻率的高低成正比;而頻率高分辨率也高,故短距離測(cè)量時(shí)應(yīng)選擇頻率高的傳感器,而長(zhǎng)距離的測(cè)量時(shí)應(yīng)用低頻率的傳感器。3 詳細(xì)設(shè)計(jì)3.1 硬件設(shè)計(jì)硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測(cè)接收電路四部分。單片機(jī)采用 at89s52,采用 12mhz 高精度的晶振,以獲得穩(wěn)定時(shí)鐘頻率,減小測(cè)量誤差。單片機(jī)用 p1.0 端口輸出超聲波換能器所需的 40khz 的方波信號(hào),利用外中斷 0 口監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào)。顯示電路采用簡(jiǎn)單實(shí)用的 4

16、 位共陽(yáng)led 數(shù)碼管,位碼用 pnp 三極管 9013 驅(qū)動(dòng)。3.1.1 at89s52 外圍電路設(shè)計(jì)單片機(jī) at89s52 作為主控芯片,控制整個(gè)電路的運(yùn)行。單片機(jī)外圍需要一個(gè)復(fù)位電路,復(fù)位電路的功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤消復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。該設(shè)計(jì)在電源電壓瞬間下降時(shí)可以使電容迅速放電,可令系統(tǒng)可靠復(fù)位。 10ufc310kr1s1vccrst位位位位 圖 3.1.1 復(fù)位電路圖 圖 3.1.2 時(shí)鐘電路at89s52 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大

17、器,引腳 xtal1 和 xtal2112mc130pc230pxtal2xtal1位位位位分別為該反向放大器的輸入端和輸出端。這個(gè)反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。外接石英晶體(或陶瓷諧振器)及電容 c1、c2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容 c1、c2 雖然沒有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性。如果使用石英晶體,電容應(yīng)該使用 30pf。還可以使用外部時(shí)鐘。這種情況下,外部時(shí)鐘脈沖接 xtal1 端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端, xtal2 應(yīng)懸空。由于外部時(shí)鐘信號(hào)是

18、通過一個(gè) 2 分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以外部時(shí)鐘信號(hào)的占空比沒有特殊要求,但最小高電平持續(xù)時(shí)間和最大低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。3.1.2 數(shù)碼管顯示電路設(shè)計(jì)該設(shè)計(jì)中有 4 個(gè)八段數(shù)碼顯示管,由于單片機(jī)本身端口驅(qū)動(dòng)能力有限,所以,在單片機(jī) at89s52 外圍需要接入 4 個(gè)三極管來驅(qū)動(dòng)數(shù)碼顯示管。八段數(shù)碼顯示管有兩種,一種是共陽(yáng)數(shù)碼管,其內(nèi)部是由八個(gè)陽(yáng)極相連接的發(fā)光二極管組成;另一種是共陰數(shù)碼管,其內(nèi)部是由八個(gè)陰極相連接的發(fā)光二極管組成。二者原理不同但功能相同,本設(shè)計(jì)選用四位共陽(yáng)極數(shù)碼管。50k50k50k50k50k50k50k50k50050050050050050

19、0500f2g3e4d5c8dp7b9a10ds?f2g3e4d5c8dp7b9a10ds?f2g3e4d5c8dp7b9a10ds?f2g3e4d5c8dp7b9a10ds?90129012901290124.7k4.7k4.7k4.7kp2.3p2.2p2.1p2.0vcc 圖 3.1.3 數(shù)碼管顯示及其驅(qū)動(dòng)電路3.1.3 超聲波發(fā)射電路設(shè)計(jì)單片機(jī)發(fā)出超聲波測(cè)距是通過不斷檢測(cè)超聲波發(fā)射后遇到障礙物所反射的回波,從而測(cè)出發(fā)射和接收回波的時(shí)間差t,然后求出距離 svt2,式中的 v 為超聲波波速。限制該系統(tǒng)的最大可測(cè)距離存在 4 個(gè)因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及接

20、收換能器的靈敏度。接收換能器對(duì)聲波脈沖的直接接收能力將決定最小的可測(cè)距離。為了增加所測(cè)量的覆蓋范圍、減小測(cè)量誤差,可采用多個(gè)超聲波換能器分別作為多路超聲波發(fā)射接收的設(shè)計(jì)方法。由于超聲波屬于聲波范圍,其波速 v 與溫度有關(guān)。測(cè)距系統(tǒng)中的超聲波傳感器采用壓電陶瓷傳感器,因?yàn)槌暡ㄔ诳諝庵袀鞑r(shí)衰減很大,衰減的程度與頻率成正比,但是頻率越高則分辨力也會(huì)越高,頻率為 40khz 左右的超聲波在空氣中傳播的效率最佳,工作所需 40khz 的脈沖信號(hào),由單片機(jī)執(zhí)行相應(yīng)程序來產(chǎn)生。關(guān)于 40khz 信號(hào)的產(chǎn)生,利用單片機(jī)定時(shí)器中斷產(chǎn)生,要特別注意中斷服務(wù)程序的編寫。中斷服務(wù)不能過長(zhǎng),如果過長(zhǎng)單片機(jī)在前一個(gè)中

21、斷服務(wù)程序還沒執(zhí)行完之前又會(huì)有下一個(gè)中斷產(chǎn)生。所以單片機(jī)將會(huì)產(chǎn)生一個(gè)錯(cuò)誤頻率的信號(hào),往往這個(gè)錯(cuò)誤的頻率會(huì)比預(yù)期的值偏低。測(cè)距系統(tǒng)由單片機(jī)系統(tǒng)、超聲波發(fā)射電路和超聲波檢測(cè)接收電路三部分組成。at89s52 輸出超聲波換能器所需的 40k 方波信號(hào),利用外中斷 0 口監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào), 并實(shí)現(xiàn)對(duì) cx20106 接收芯片和 tct40-10 系列超聲波轉(zhuǎn)換模塊的控制。超聲波發(fā)射電路原理圖如圖 3.6 所示。發(fā)射電路主要由反相器 4069 和超聲波發(fā)射換能器 t 構(gòu)成,單片機(jī) p1.0 端口輸出的 40khz 的方波信號(hào)一路經(jīng)一級(jí)反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級(jí)反向器

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

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

24、考慮到紅外遙控常用的載波頻率 38 khz 與測(cè)距的超聲波頻率 40 khz 較為接近,可以利用它制作超聲波檢測(cè)接收電路。實(shí)驗(yàn)證明用 cx20106a 接收超聲波(無信號(hào)時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)更改電容 c8 的大小,可以改變接收電路的靈敏度和抗干擾能力。使用 cx20106a 作為超聲波檢測(cè)接收電路,原理圖如圖 3.7 所示。cx20106a 的第 5腳的電阻決定接收的中心頻率,220k 的電阻決定了接收的中心頻率為40khz。cx20106a 接收到 40khz 的信號(hào)時(shí),會(huì)在第 7 腳產(chǎn)生一個(gè)低電平下降脈沖,這個(gè)信號(hào)可以接到單片機(jī)的外部中斷引腳作為中斷信號(hào)

25、輸入。r3 和 c13 是控制 cx20106a內(nèi)部放大增益,r5 控制帶通濾波器的中心頻率。一般取 r3=4.7 歐,c13=1uf.。其余元件按圖 3.7 取值。out_int 當(dāng)收到超聲波是產(chǎn)生一個(gè)下降沿,接到單片機(jī)的外部中斷上。只要通過單片機(jī)來來計(jì)算發(fā)射信號(hào)時(shí)到收到信號(hào)是產(chǎn)生下降沿這段時(shí)間的長(zhǎng)度,再通過數(shù)學(xué)計(jì)算得出當(dāng)前距離,程序?qū)⒋藬?shù)值與設(shè)定的閾值相比較并作出相應(yīng)動(dòng)作。12345678cx20106a10k220k100.0056uf300pf3.3uf1ufp3.2vccgndr圖 3.1.7 超聲波接收電路3.2 軟件部分3.2.1 系統(tǒng)軟件設(shè)計(jì)說明進(jìn)行測(cè)量控制系統(tǒng)設(shè)計(jì)時(shí),除了系統(tǒng)

26、硬件設(shè)計(jì)外,大量的工作就是如何根據(jù)每個(gè)測(cè)量對(duì)象的實(shí)際需要設(shè)計(jì)應(yīng)用程序。因此,軟件設(shè)計(jì)在微機(jī)測(cè)量控制系統(tǒng)設(shè)計(jì)中占重要地位。對(duì)于本系統(tǒng),軟件設(shè)計(jì)更為重要。在單片機(jī)測(cè)量控制系統(tǒng)中,大體上可分為數(shù)據(jù)處理、過程控制兩個(gè)基本類型。數(shù)據(jù)處理包括:數(shù)據(jù)的采集、數(shù)字濾波、標(biāo)度變換等。過程控制程序主要是使單片機(jī)按一定的方法進(jìn)行計(jì)算,然后再輸出,以便達(dá)到測(cè)量控制目的。本軟件設(shè)計(jì)主要是對(duì)距離進(jìn)行測(cè)量、顯示。因此,整個(gè)軟件可分為按照硬件電路對(duì)單片機(jī)位定義;發(fā)射子程序;接收子程序;顯示子程序;延時(shí)子程序等。3.2.2 編程語(yǔ)言的選擇本設(shè)計(jì)是硬件電路和軟件編程相結(jié)合的設(shè)計(jì)方案,選擇合適的編程語(yǔ)言是一個(gè)重要的環(huán)節(jié)。在單片機(jī)的

27、應(yīng)用系統(tǒng)程序設(shè)計(jì)時(shí),常用的是匯編語(yǔ)言和 c 語(yǔ)言。匯編語(yǔ)言是一種用文字助記符來表示機(jī)器指令的符號(hào)語(yǔ)言,是最接近機(jī)器碼的一種語(yǔ)言。其主要優(yōu)點(diǎn)是占用資源少、程序執(zhí)行效率高,而且執(zhí)行速度快。但是不同的 cpu,其匯編語(yǔ)言可能有所差異,即依賴于計(jì)算機(jī)硬件,程序可讀性和可移植性比較差。c 語(yǔ)言是編譯型程序設(shè)計(jì)語(yǔ)言,兼顧高級(jí)語(yǔ)言的特點(diǎn),并具備匯編語(yǔ)言的功能。c語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,它支持當(dāng)前程序設(shè)計(jì)中廣泛采用的由頂向下結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)。此外,c 語(yǔ)言程序具有完善的模塊程序結(jié)構(gòu)。c 語(yǔ)言執(zhí)行效率沒有匯編語(yǔ)言高,但語(yǔ)言簡(jiǎn)潔,使用方便,靈活,運(yùn)算豐富,表達(dá)化類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控

28、制語(yǔ)句,程序設(shè)計(jì)自由度大,有很好的可重用性,可移植性等特點(diǎn)?;?c 語(yǔ)言的眾多優(yōu)點(diǎn)本設(shè)計(jì)選擇此語(yǔ)言來編程。3.2.3 超聲波測(cè)距儀的算法設(shè)計(jì)圖 3.2.1 示意了超聲波測(cè)距的原理,即超聲波發(fā)生器 t 在某一時(shí)刻發(fā)出一個(gè)超聲渡信號(hào),當(dāng)這個(gè)超聲波遇到被測(cè)物體后反射回來,就被超聲波接收器 r 所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號(hào)到接收到返回信號(hào)所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計(jì)算公式為:l=s/2=(vt)/2 (1)其中,l 為被測(cè)物與測(cè)距儀的距離,s 為聲波的來回的路程,v 為聲速,t 為聲波來回所用的時(shí)間。 圖 3.2.1 超聲波測(cè)距原理圖由于超聲波也是一種聲波,

29、其聲速 v 與溫度有關(guān),表 3.1 列出了幾種不同溫度下的超聲波聲速。在使用時(shí),如果溫度變化不大,則可認(rèn)為聲速是基本不變的。如果測(cè)距精度要求很高,則應(yīng)通過溫度補(bǔ)償?shù)姆椒右孕UB曀俅_定后,只要測(cè)得超聲波往返的時(shí)間,即可求得距離。表 3.1 不同溫度下超聲波聲速表溫度/-30-20-100102030100聲速v/(ms-1)313319325323338344349386在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)單片機(jī)內(nèi)部的定時(shí)器 t0,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)收到超聲波反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在 int0 或 int1 端產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)

30、外部中斷請(qǐng)求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。3.2.4 主程序流程圖軟件分為兩部分,主程序和中斷服務(wù)程序。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。外部中斷服務(wù)子程序主要完成時(shí)間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。 定時(shí)中斷入口定時(shí)器初始化發(fā)射超聲波停止發(fā)射返回讀取時(shí)間值計(jì)算距離結(jié)果輸出開外部中斷返回關(guān)外部中斷外部中斷入口圖 3.2.2 主程序 圖 3.2.3 定時(shí)中斷服務(wù)子程序 圖 3.2.4 外部中斷服務(wù)子程序主程序首先是對(duì)系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器 t0 工作模式為 16 位定時(shí)計(jì)數(shù)器模式。置位總中斷允許位 ea 并給顯示端口 p1 和 p3 清 0。然后調(diào)

31、用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時(shí)約 0.1 ms(這也就是超聲波測(cè)距儀會(huì)有一個(gè)最小可測(cè)距離的原因)后,才打開外中斷 0 接收返回的超聲波信號(hào)。由于采用的是 12 mhz 的晶振,計(jì)數(shù)器每計(jì) 一個(gè)數(shù)就是 1s,當(dāng)主程序檢測(cè)到接收成功的標(biāo)志位后,將計(jì)數(shù)器 t0 中的數(shù)(即超聲波來回所用的時(shí)間)按式(2)計(jì)算,即可得被測(cè)物體與測(cè)距儀之間的距離,設(shè)計(jì)時(shí)取 20時(shí)的聲速為 344 m/s 則有:l=(vt)/2=172t0/10000cm (2)測(cè)出距離后結(jié)果將以十進(jìn)制 bcd 碼方式送往 led 顯示約 0.5s,然后再發(fā)超聲波脈沖

32、重復(fù)測(cè)量過程。3.2.5 超聲波發(fā)生子程序和超聲波接收中斷程序超聲波發(fā)生子程序的作用是通過 p1.0 端口發(fā)送 2 個(gè)左右超聲波脈沖信號(hào)(頻率約40khz 的方波) ,脈沖寬度為 12s 左右,同時(shí)把計(jì)數(shù)器 t0 打開進(jìn)行計(jì)時(shí)。超聲波發(fā)生子程序較簡(jiǎn)單,但要求程序運(yùn)行準(zhǔn)確,所以采用 c 語(yǔ)言編程。超聲波測(cè)距儀主程序利用外中斷 0 檢測(cè)返回超聲波信號(hào),一旦接收到返回超聲波信號(hào)(即 int0 引腳出現(xiàn)低電平) ,立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)時(shí)器t0 停止計(jì)時(shí),并將測(cè)距成功標(biāo)志字賦值 1。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測(cè)到超聲波返回信號(hào),則定時(shí)器 t0 溢出中斷將外中斷 0 關(guān)閉,并將測(cè)距成功標(biāo)

33、志字賦值 2 以表示此次測(cè)距不成功。3.2.6 系統(tǒng)的軟硬件的調(diào)試超聲波發(fā)射和接收采用 15 的超聲波換能器 tct40-10f1(t 發(fā)射)和 tct40-10s1(r 接收) ,中心頻率為 40khz,安裝時(shí)應(yīng)保持兩換能器中心軸線平行并相距48cm,其余元件無特殊要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。根據(jù)測(cè)量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容 c4 的大小,以獲得合適的接收靈敏度和抗干擾能力。硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。根據(jù)實(shí)際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測(cè)量的間隔時(shí)間,以適應(yīng)不同距離的測(cè)

34、量需要。根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,測(cè)距儀能測(cè)的范圍為0.105.00m,測(cè)距儀最大誤差不超過 1cm。系統(tǒng)調(diào)試完后應(yīng)對(duì)測(cè)量誤差和重復(fù)一致性進(jìn)行多次實(shí)驗(yàn)分析,不斷優(yōu)化系統(tǒng)使其達(dá)到實(shí)際使用的測(cè)量要求。4 設(shè)計(jì)結(jié)果及分析設(shè)計(jì)的最終結(jié)果是使超聲波測(cè)距儀能夠產(chǎn)生超聲波,實(shí)現(xiàn)超聲波的發(fā)送與接收,從而實(shí)現(xiàn)利用超聲波方法測(cè)量物體間的距離,以數(shù)字的形式顯示測(cè)量距離。它的硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、系統(tǒng)電源、超聲波發(fā)射電路和超聲波檢測(cè)接收電路四部分。單片機(jī)采用 at89s52,采用 12mhz 高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測(cè)量誤差。單片機(jī)用 p1.0 端口輸出超聲波換能器所需的40k

35、hz 的方波信號(hào),利用外中斷 0 口監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào)。顯示電路采用簡(jiǎn)單實(shí)用的 4 位共陽(yáng) led 數(shù)碼管,段碼用單片機(jī)直接驅(qū)動(dòng),位碼用 npn 三極管 9013驅(qū)動(dòng)。實(shí)現(xiàn)測(cè)距,并且在數(shù)碼管上顯示距離。 。超聲波測(cè)距器的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。 超聲波測(cè)距的算法設(shè)計(jì)原理為超聲波發(fā)生器 t 在某一時(shí)刻發(fā)出一個(gè)超聲波信號(hào),當(dāng)這個(gè)超聲波遇到被測(cè)物體后反射回來,就被超聲波接收器 r 所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號(hào)到接收到返回信號(hào)所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。經(jīng)過實(shí)驗(yàn)表明,這套系統(tǒng)軟硬件設(shè)計(jì)合理、抗干擾能力強(qiáng)

36、、實(shí)時(shí)性良好,實(shí)驗(yàn)結(jié)果完全符合預(yù)期要求。5 總結(jié)這幾周的方向課程設(shè)計(jì)分為兩個(gè)部分:硬件制作和軟件設(shè)計(jì)。學(xué)院出于這樣安排也是基于一些現(xiàn)實(shí)的原因:隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 。課本上的理論知識(shí)無法滿足實(shí)際生活中工程項(xiàng)目的開發(fā)需要,而我們平時(shí)又缺乏工程實(shí)踐。課程設(shè)計(jì)過程是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)實(shí)際工作能力的具體訓(xùn)練和考察過程。所以安排了我們進(jìn)行了這一次硬件制作和軟件設(shè)計(jì)的課程設(shè)計(jì)。前期我們主要是進(jìn)行硬件的設(shè)計(jì)制作與焊接,由于我們以前做過很多硬件焊接與制作相關(guān)的練習(xí),所以焊接這一塊兒我們并沒

37、有遇到太多問題。這一塊兒主要是得耐心細(xì)致。需要注意各個(gè)輸入、輸出引腳,因?yàn)槊總€(gè)引腳都是不一樣的,只有讓各個(gè)引腳互相對(duì)應(yīng),才能得出準(zhǔn)確的結(jié)果,任何一點(diǎn)小的誤差都不可能得出正確的運(yùn)行結(jié)果?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),我仍感慨頗多,的確,在這幾個(gè)星期中,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,不僅鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次的課程設(shè)計(jì)作品的制作讓我對(duì)單片機(jī)的理論有了更加深入的了解,同時(shí)在具體的制作過程中我們發(fā)現(xiàn)現(xiàn)在書本上的知識(shí)與實(shí)際的應(yīng)用存在著不小的差距,書本上的知識(shí)很多都是理想化后的結(jié)論,忽略了很多實(shí)際的因素,或者涉及的不全面,可在實(shí)際的應(yīng)用時(shí)

38、這些是不能被忽略的,我們不得不考慮這方面的問題,這讓我們無法根據(jù)書上的理論就輕易得到預(yù)想中的結(jié)果,有時(shí)結(jié)果甚至很差別很大。在設(shè)計(jì)的過程中也遇到過很多問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對(duì) c 語(yǔ)言掌握得不全面等等。這次的課程設(shè)計(jì)讓我受益匪淺,無論從知識(shí)上還是其他的各個(gè)方面。上課時(shí)候的學(xué)習(xí)只是從理論的角度去理解枯燥乏味。但在課程設(shè)計(jì)中使用了單片機(jī)及其系統(tǒng)進(jìn)行實(shí)際項(xiàng)目的開發(fā)。能夠理論聯(lián)系實(shí)際的學(xué)習(xí),開闊了眼界,提高了單片機(jī)知識(shí)的理解和水平。參

39、考文獻(xiàn)1謝自美. 電子線路設(shè)計(jì)-實(shí)驗(yàn)-測(cè)試m .武漢:華中科技大學(xué)出版社, 20002樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo)m.北京航天航空大學(xué)出版社,20073張齊,朱寧西.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)m.電子工業(yè)出版社,20104周新華.手把手叫你學(xué)單片機(jī) c 程序設(shè)計(jì)m.北京航天航空大學(xué)出版社,2009附錄 1超聲測(cè)距器單片機(jī)程序(部分)#include #define uchar unsigned char#define uint unsigned int#define ulong unsigned longextern void cs_t(void);extern void delay(uin

40、t);extern void display(uchar*);data uchar testok;/*主程序*/void main(void)data uchar dispram5;data uint i;data ulong time;p0 = 0 xff;p2 = 0 xff;tmod = 0 x11;ie = 0 x80;while (1) cs_t(); delay(1); testok = 0; ex0 = 1; et0 = 1; while (!testok) display(dispram); if (1 = testok) time = th0; time = (time8)

41、| tl0; time *=172; time /= 10000; dispram0 = (uchar) (time % 10); time /= 10; dispram1 = (uchar) (time % 10); time /= 10; dispram2 = (uchar) (time % 10); dispram3 = (uchar) (time / 10); if (0 = dispram3) dispram3 = 17; else dispram0 = 16; dispram1 = 16; dispram2 = 16; dispram3 = 16; for (i=0; i300; i+) display(dispram); /*超聲接收程序(外中斷 0)*/v

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論