//@date2012/04/21// @author:高謹(jǐn) 孫娜 馬浩//@E-mail:abc231@126.com
//參考資料:《全站儀紅外測距系統(tǒng)的研究》王萍 張志強(qiáng)
基于AT89S51單片機(jī)的超聲波測距系統(tǒng)
//2012/5/23日補(bǔ)充超聲波測距原理
//
//
/////////////////////////////////////////////////////////////////////
一、紅外測距小談
1、光波測距原理:
利用電磁波在空氣中傳播速度c已知,測量其在待測距離D上的傳播時(shí)間t,利用下面的公式求解:D=c*t/2.(1)
關(guān)鍵是求時(shí)間t。再按(1)求解。以下介紹三種方法來求解D。分別如下:
1.1脈沖法測距原理:
直接求得電磁波脈沖信號(hào)在待測距離D上的傳播時(shí)間t,利用式(1)求解。
1.2相位法測距原理:
目前,精度較高的測距中,都采用測定“調(diào)制光波”往返于被測距離的相位差,間接求得距離。
一、調(diào)制光波
紅外線光波長0.76um~1mm,光的傳播速度c=3×108m/s相應(yīng)地紅外線頻率約為3×1011
Hz~4×1014Hz。要精確測量這樣高頻率光波是不可能的。因此,目前使用相位法測距時(shí),都是對(duì)光波再加一調(diào)制信號(hào),使光波信號(hào)隨所加調(diào)制信號(hào)變化。這種光強(qiáng)最所加信號(hào)變化的光稱為調(diào)制光。調(diào)制信號(hào)時(shí)加在光波上傳輸出去的,這時(shí)光波又稱為載波。
二、相位法測距基本公式:
設(shè)調(diào)制光波頻率f,在待測距AB上所用時(shí)間t,其相位移為Φ,如下圖1:
圖(1)相位法測距原理示意圖
起始時(shí)刻t1發(fā)射的調(diào)制光光強(qiáng)為
I1=Asin(ωt1+Φ0)
接收時(shí)調(diào)制光強(qiáng)為:
I2=Asin(ωt1+ωt+Φ0)
則接收與發(fā)射時(shí)刻相位差:Φ=(ωt1+ωt+Φ0)-(ωt1+Φ0)=ωt=2πft
t=Φ/(2πf)(2)
將(2)代入(1)式得:D=ct/2=(c/2)*(Φ/(2πf)=cΦ/(4πf)(3)
可改寫為:
D=λ/2(N+△φ/2/π)=L(N+△n)
式中,λ=c/f,N為整形波(2π)數(shù),△n為不足整形的尾數(shù)。
三、相位法測距簡略框圖(2)
發(fā)出的光波,經(jīng)調(diào)制器成調(diào)制波,經(jīng)發(fā)射器發(fā)出調(diào)制光,沿測線傳播被返射器反回后,被接收器接收,得到測距信號(hào),經(jīng)放大送到相位計(jì),與發(fā)射時(shí)刻送到相位計(jì)的起始信號(hào)進(jìn)行比較,得到發(fā)射時(shí)刻與接收時(shí)刻調(diào)制光波的相位差,然后由計(jì)數(shù)顯示單元計(jì)算并顯示相位距離值。
局限性:相位計(jì)只能辨認(rèn)0~360°的相位差△φ,不能測出整相位2π個(gè)數(shù),因此只能測出不足整測尺的距離值,常用多把測尺即多個(gè)調(diào)制頻率的方法來解決。
1.3變頻法測距原理:
由相位法測距可知,一般情況,在二倍待測距離上除了有整波數(shù)N外,還有不足整波的部分△φ/2π。變頻法則是在任何距離上都可以改變調(diào)制信號(hào)頻率,即改變測尺長,是在二倍待測距上正好是測尺長的整數(shù)倍,從而使△φ=0。
變頻法必須附有頻率計(jì),結(jié)構(gòu)較復(fù)雜(如變頻裝置,判零裝置等),因而在中短程測距儀中被淘汰。
2、測距實(shí)例:(以超聲波測距為例淺談紅外測距)
基于AT89S51單片機(jī)的超聲波測距系統(tǒng)
超聲波具有指向性強(qiáng),能量消耗緩慢,傳播距離較遠(yuǎn)等優(yōu)點(diǎn),所以,在利用傳感器技術(shù)和自動(dòng)控制技術(shù)相結(jié)合的測距方案中,超聲波測距是目前應(yīng)用最普遍的一種,它廣泛應(yīng)用于防盜、倒車?yán)走_(dá)、水位測量、建筑施工工地以及一些工業(yè)現(xiàn)場。
1、基于單片機(jī)的超聲波測距系統(tǒng)基于單片機(jī)的超聲波測距系統(tǒng),是利用單片機(jī)編程產(chǎn)生頻率為40kHz的方波,經(jīng)過發(fā)射驅(qū)動(dòng)電路放大,使超聲波傳感器發(fā)射端震蕩,發(fā)射超聲波。超聲波波經(jīng)反射物反射回來后,由傳感器接收端接收,再經(jīng)接收電路放大、整形,控制單片機(jī)中斷口。其系統(tǒng)框圖如圖1-1所示。
圖1-1 基于單片機(jī)的超聲波測距系統(tǒng)框圖
這種以單片機(jī)為核心的超聲波測距系統(tǒng)通過單片機(jī)記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)收到超聲波的反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在單片機(jī)的外部中斷源輸入口產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)外部中斷請(qǐng)求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離,結(jié)果輸出給LED顯示。利用本測距系統(tǒng)測量范圍應(yīng)在40cm~599cm,其誤差1cm。
利用單片機(jī)準(zhǔn)確計(jì)時(shí),測距精度高,而且單片機(jī)控制方便,計(jì)算簡單。許多超聲波測距系統(tǒng)都采用這種設(shè)計(jì)方法。
2、超聲波測距原理概述
超聲波是由機(jī)械振動(dòng)產(chǎn)生的,可在不同介質(zhì)中以不同的速度傳播。由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實(shí)現(xiàn)。超聲測距是一種非接觸式的檢測方式。與其它方法相比,如電磁的或光學(xué)的方法,它不受光線、被測對(duì)象顏色等影響。對(duì)于被測物處于黑暗、有灰塵、煙霧、電磁干擾、有毒等惡劣的環(huán)境下有一定的適應(yīng)能力。因此在液位測量、機(jī)械手控制、車輛自動(dòng)導(dǎo)航、物體識(shí)別等方面有廣泛應(yīng)用。特別是應(yīng)用于空氣測距,由于空氣中波速較慢,其回波信號(hào)中包含的沿傳播方向上的結(jié)構(gòu)信息很容易檢測出來,具有很高的分辨力,因而其準(zhǔn)確度也較其它方法為高;而且超聲波傳感器具有結(jié)構(gòu)簡單、體積小、信號(hào)處理可靠等特點(diǎn)。利用超聲波檢測往往比較迅速、方便、計(jì)算簡單、易于做到實(shí)時(shí)控制,并且在測量精度方面能達(dá)到工業(yè)實(shí)用的要求。
超聲波測距的方法有多種,如相位檢測法、聲波幅值檢測法和渡越時(shí)間檢測法等。相位檢測法雖然精度高,但檢測范圍有限; 聲波幅值檢測法易受反射波的影響。
本測距系統(tǒng)采用超聲波渡越時(shí)間檢測法。其原理為: 檢測從超聲波發(fā)射器發(fā)出的超聲波,經(jīng)氣體介質(zhì)的傳播到接收器的時(shí)間,即渡越時(shí)間。渡越時(shí)間與氣體中的聲速相乘,就是聲波傳輸?shù)木嚯x。超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)單片機(jī)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計(jì)時(shí)。再由單機(jī)計(jì)算出距離,送LED數(shù)碼管顯示測量結(jié)果。
超聲波在空氣中的傳播速度隨溫度變化,其對(duì)應(yīng)值如表2-1 ,根據(jù)計(jì)時(shí)器記錄的時(shí)間t(見圖2-1),就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離( s ) ,即: s = v t / 2。
表2-1 聲速與溫度的關(guān)系
溫度(℃) | -30 | -20 | -10 | 0 | 10 | 20 | 30 | 100 |
聲速(m/s) | 313 | 319 | 325 | 323 | 338 | 344 | 349 | 386 |
圖2-1 超聲波測距時(shí)序圖
超聲波測距的步驟[1]:(1)采取IO觸發(fā)測距,給至少10微秒的高電平信號(hào);
(2)模塊自動(dòng)會(huì)發(fā)送8個(gè)40KHZ的方波,自動(dòng)檢測是否有信號(hào)返回;(無需編程干預(yù),由
模塊自動(dòng)完成)
(3)模塊通過IO返回8051單片機(jī)一個(gè)高電平信號(hào),高電平持續(xù)的時(shí)間就是超聲波從發(fā)
射到返回的時(shí)間。
2.1超聲波傳感器
2.1.1 超聲波發(fā)生器
為了研究和利用超聲波,人們已經(jīng)設(shè)計(jì)和制成了許多超聲波發(fā)生器??傮w上講,超聲波發(fā)生器可以分為兩大類: 一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動(dòng)型等; 機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。
2.1.2 壓電式超聲波發(fā)生器原理
壓電型超聲波傳感器的工作原理:它是利用壓電效應(yīng)的原理,壓電效應(yīng)有逆效應(yīng)和順效應(yīng),超聲波傳感器是可逆元件,超聲波發(fā)送器就是利用壓電逆效應(yīng)的原理。所謂壓電逆效應(yīng)如圖2-2所示,是在壓電元件上施加電壓,元件就變形,即稱應(yīng)變。若在圖a所示的已極化的壓電陶瓷上施加如圖b所示極性的電壓,外部正電荷與壓電陶瓷的極化正電荷相斥,同時(shí),外部負(fù)電荷與極化負(fù)電荷相斥。由于相斥的作用,壓電陶瓷在厚度方向上縮短,在長度方向上伸長。若外部施加的極性變反,如圖c所示那樣,壓電陶瓷在厚度方向上伸長,在長度方向上縮短。
圖2-2壓電逆效應(yīng)圖
2.1.3單片機(jī)超聲波測距系統(tǒng)構(gòu)成
單片機(jī)AT89S51發(fā)出短暫的40kHz信號(hào),經(jīng)放大后通過超聲波換能器輸出;反射后的超聲波經(jīng)超聲波換能器作為系統(tǒng)的輸入,鎖相環(huán)對(duì)此信號(hào)鎖定,產(chǎn)生鎖定信號(hào)啟動(dòng)單片機(jī)中斷程序,讀出時(shí)間t,再由系統(tǒng)軟件對(duì)其進(jìn)行計(jì)算、判別后,相應(yīng)的計(jì)算結(jié)果被送至LED數(shù)碼管進(jìn)行顯示。
限制超聲波系統(tǒng)的最大可測距離存在四個(gè)因素:超聲波的幅度、反射物的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對(duì)聲波脈沖的直接接收能力將決定最小可測距離。
圖2-3 超聲波測距系統(tǒng)框圖
3、設(shè)計(jì)方案
按照系統(tǒng)設(shè)計(jì)的功能的要求,初步確定設(shè)計(jì)系統(tǒng)由單片機(jī)主控模塊、顯示模塊、超聲波發(fā)射模塊、接收模塊共四個(gè)模塊組成。
單片機(jī)主控芯片使用51系列AT89S51單片機(jī),該單片機(jī)工作性能穩(wěn)定,同時(shí)也是在單片機(jī)課程設(shè)計(jì)中經(jīng)常使用到的控制芯片。
發(fā)射電路由單片機(jī)輸出端直接驅(qū)動(dòng)超聲波發(fā)送。
接收電路使用三極管組成的放大電路,該電路簡單,調(diào)試工作小較小。
圖3-1:系統(tǒng)設(shè)計(jì)框圖
硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波接收電路三部分。單片機(jī)采用AT89S51。采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測量誤差。單片機(jī)用P0.0端口輸出超聲波換能器所需的40kHz的方波信號(hào),P3.7端口監(jiān)測超聲波接收電路輸出的返回信號(hào)。顯示電路采用簡單實(shí)用的3位共陽LED數(shù)碼管,段碼輸出端口為單片機(jī)的P2口,位碼輸出端口分別為單片機(jī)的P0.2、P0.3、P0.4口,數(shù)碼管位驅(qū)運(yùn)用PNP三極管S9012三極管驅(qū)動(dòng)。
3.1 AT89S51單片機(jī)介紹見后面
3.2 超聲波測距系統(tǒng)構(gòu)成本系統(tǒng)由單片機(jī)AT89S51控制,包括單片機(jī)系統(tǒng)、發(fā)射電路與接收放大電路和顯示電路幾部分組成。硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波接收電路三部分。單片機(jī)采用AT89S51。采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測量誤差。單片機(jī)用P0.0端口輸出超聲波換能器所需的40kHz的方波信號(hào),P3.7端口監(jiān)測超聲波接收電路輸出的返回信號(hào)。顯示電路采用簡單實(shí)用的3位共陽LED數(shù)碼管,段碼輸出端口為單片機(jī)的P2口,位碼輸出端口分別為單片機(jī)的P0.2、P0.3、P0.4口,數(shù)碼管位驅(qū)運(yùn)用PNP三極管S9012三極管驅(qū)動(dòng)。
超聲波接收頭接收到反射的回波后,經(jīng)過接收電路處理后,向單片機(jī)P3.7輸入一個(gè)低電平脈沖。單片機(jī)控制著超聲波的發(fā)送,超聲波發(fā)送完畢后,立即啟動(dòng)內(nèi)部計(jì)時(shí)器T0計(jì)時(shí),當(dāng)檢測到P3.7由高電平變?yōu)榈碗娖胶?,立即停止?nèi)部計(jì)時(shí)器計(jì)時(shí)。單片機(jī)將測得的時(shí)間與聲速相乘再除以2即可得到測量值,最后經(jīng)3位數(shù)碼管將測得的結(jié)果顯示出來。
3.2.1 超聲波測距單片機(jī)系統(tǒng)
超聲波測距單片機(jī)系統(tǒng)主要由:AT89S51單片機(jī)、晶振、復(fù)位電路、電源濾波部份構(gòu)成。由K1、K2、K3組成測距系統(tǒng)的按鍵電路。用于設(shè)定超聲波測距報(bào)警值。如圖3-3。

圖3-3:超聲波測距單片機(jī)系統(tǒng)
3.2.2 超聲波發(fā)射、接收電路
超聲波發(fā)射、接收電路如圖3-4。超聲波發(fā)射電路由電阻R2、三極管BG1、超聲波脈沖變壓器B及超聲波發(fā)送頭T40構(gòu)成,超聲波脈沖變壓器,在這里的作用是提高加載到超聲波發(fā)送頭兩端的電壓,以提高超聲波的發(fā)射功率,從而提高測量距離。接收電路由BG1、BG2組成的兩組三級(jí)管放大電路構(gòu)成;超聲波的檢波電路、比較整形電路由C7、D1、D2及BG3組成。
40kHz的方波由AT89S51單片機(jī)的P0.0輸出,經(jīng)BG1推動(dòng)超聲波脈沖變壓器,在脈沖變壓器次級(jí)形成60VPP的電壓,加載到超聲波發(fā)送頭上,驅(qū)動(dòng)超聲波發(fā)射頭發(fā)射超聲波。發(fā)送出的超聲波,遇到障礙物后,產(chǎn)生回波,反射回來的回波由超聲波接收頭接收到。由于聲波在空氣中傳播時(shí)衰減,所以接收到的波形幅值較低,經(jīng)接收電路放大,整形,最后輸出一負(fù)跳變,輸入單片機(jī)的P3.7腳。
圖3-4:超聲波測距發(fā)送接收單元、單元
該測距電路的40kHz方波信號(hào)由單片機(jī)AT89S51 的P0.0發(fā)出。方波的周期為1/40ms,即25µs,半周期為12.5µs。每隔半周期時(shí)間,讓方波輸出腳的電平取反,便可產(chǎn)生40kHz方波。由于單片機(jī)系統(tǒng)的晶振為12M晶振,因而單片機(jī)的時(shí)間分辨率是1µs,所以只能產(chǎn)生半周期為12µs或13µs的方波信號(hào),頻率分別為41.67kHz和38.46kHz。本系統(tǒng)在編程時(shí)選用了后者,讓單片機(jī)產(chǎn)生約38.46kHz的方波。
由于反射回來的超聲波信號(hào)非常微弱,所以接收電路需要將其進(jìn)行放大。接收電路如圖3-4所示。接收到的信號(hào)加到BG2、BG3組成的兩級(jí)放大器上進(jìn)行放大。每級(jí)放大器的放大倍數(shù)為70倍。放大的信號(hào)通過檢波電路得到解調(diào)后的信號(hào),即把多個(gè)脈沖波解調(diào)成多個(gè)大脈沖波。這里使用的是1N4148檢波二極管,輸出的直流信號(hào)即兩二極管之間電容電壓。該接收電路結(jié)構(gòu)簡單,性能較好,制作難度小。
3.2.3顯示電路
本系統(tǒng)采用三位一體L E D數(shù)碼管顯示所測距離值,如圖3-5。數(shù)碼管采用動(dòng)態(tài)掃描顯示,段碼輸出端口為單片機(jī)的P2口,位碼輸出端口分別為單片機(jī)的P0.2、P0.3、P0.4口,數(shù)碼管位驅(qū)運(yùn)用PNP三極管S9012三極管驅(qū)動(dòng)。
圖3-5:顯示單元圖
3.2.4 供電電路
本測距系統(tǒng)由于采用的是LED數(shù)碼管用為顯示方式,正常工作時(shí),系統(tǒng)工作電流約為30-45mA,考慮到調(diào)試方便,設(shè)計(jì)時(shí)直接由電腦的USB口供電。為提高超聲波測距板的供電品質(zhì),板上設(shè)有C1、C2用為濾波。
圖3-6:供電單元電路圖
3.2.4報(bào)警輸出電路
為提高測測距系統(tǒng)的實(shí)用性,本測距系統(tǒng)的報(bào)警輸出提供開關(guān)量信號(hào)及聲響信號(hào)兩種方式。
報(bào)警信號(hào)由單片機(jī)P3.6口輸出,提供聲響報(bào)警信號(hào),電路由電阻R10、三極管BG8、蜂鳴器BY組成,當(dāng)測量值低于事先設(shè)定的報(bào)警值時(shí),單片機(jī)P3.6口輸出高電平,三極管BG8導(dǎo)通,蜂鳴器發(fā)出“滴、滴、滴…..”報(bào)警聲響信號(hào),測量值高于設(shè)定的報(bào)警值時(shí),停止發(fā)出報(bào)警聲響。報(bào)警輸出電路如圖3-7。
圖3-7 報(bào)警輸出電路
4、系統(tǒng)軟件設(shè)計(jì)
4.1 主程序設(shè)計(jì)
超聲波測距的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收程序及顯示子程序組成。超聲波測距的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)),又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(超聲波測距時(shí)),所以控制程序可采用C語言編程。
主程序首先是對(duì)系統(tǒng)環(huán)境初始化,設(shè)定時(shí)器0為計(jì)數(shù),設(shè)定時(shí)器1定時(shí)。置位總中斷允許位EA。進(jìn)行程序主程序后,進(jìn)行定時(shí)測距判斷,當(dāng)測距標(biāo)志位ec=1時(shí),測量一次,程序設(shè)計(jì)中,超聲波測距頻度是4-5次/秒。測距間隔中,整個(gè)程序主要進(jìn)行循環(huán)顯示測量結(jié)果。當(dāng)調(diào)用超聲波測距子程序后,首先由單片機(jī)產(chǎn)生4個(gè)頻率為38.46kHz超聲波脈沖,加載的超聲波發(fā)送頭上。超聲波頭發(fā)送完送超聲波后,立即啟動(dòng)內(nèi)部計(jì)時(shí)器T0進(jìn)行計(jì)時(shí),為了避免超聲波從發(fā)射頭直接傳送到接收頭引起的直射波觸發(fā),這時(shí),單片機(jī)需要延時(shí)約1.5 -2ms時(shí)間(這也就是超聲波測距儀會(huì)有一個(gè)最小可測距離的原因,稱之為盲區(qū)值)后,才啟動(dòng)對(duì)單片機(jī)P3.7腳的電平判斷程序。當(dāng)檢測到P3.7腳的電平由高轉(zhuǎn)為低電平時(shí),立即停止T0計(jì)時(shí)。由于采用單片機(jī)采用的是12 MHz的晶振,計(jì)時(shí)器每計(jì)一個(gè)數(shù)就是1μs,當(dāng)超聲波測距子程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器T0中的數(shù)(即超聲波來回所用的時(shí)間)按式(2)計(jì)算,即可得被測物體與測距儀之間的距離。
設(shè)計(jì)時(shí)取15℃時(shí)的聲速為340 m/s則有:d=(c×t)/2=172×T0/10000cm其中,T0為計(jì)數(shù)器T0的計(jì)算值。測出距離后結(jié)果將以十進(jìn)制BCD碼方式送往LED顯示約0.5s,然后再發(fā)超聲波脈沖重復(fù)測量過程。
4.2 超聲波測距子程序
voidcsbcj()//超聲波測距子程序
{
if(cl==1)
{
sx=0;
delay(5000);
csbint=1;
TR1=0;
TH0=0x00;
TL0=0x00;
csbfs();//超聲波發(fā)送
csbout=1;
TR0=1;
while(i--)
{
}
i=0;
while(csbint)//判斷接收回路是否收到超聲波的回波
{
i++;
if(i>=2000)//如果達(dá)到一定時(shí)間沒有收到回波,則將csbint置零,退出接收回波處理程序
csbint=0;
}
csbint=1;
TR0=0;
t=TH0;
t=t*256+TL0;
t=t;
s=t*csbc;//計(jì)算測量結(jié)果
s=s/2;
cl=0;
TH1=0xE7;
TL1=0xC2;
TR1=1;
}
}
產(chǎn)生超聲波的子程序:
為了方便程序移置及準(zhǔn)確產(chǎn)生超聲波信號(hào),本測距的超聲波產(chǎn)生程序是用匯編語言編寫的進(jìn)退聲波產(chǎn)生程序。產(chǎn)生的超聲波個(gè)數(shù)為
UCSBFS SEGMENTCODE
RSEG UCSBFS
PUBLICCSBFS
CSBFS:mov R6,#8h;超聲波發(fā)射的完整波形個(gè)數(shù):共計(jì)四個(gè)
here:cplp0.0;輸出40kHz方波
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnzR6,here
RET
END
4.3 超聲波測距程序流程圖
4.4 超聲波測距程子序流程圖
5、調(diào)試及性能分析
5.1調(diào)試步驟
我們的步驟是先焊接各個(gè)模塊,焊接完每個(gè)模塊以后,再進(jìn)行模塊的單獨(dú)測試,以確保在整個(gè)系統(tǒng)焊接完能正常的工作,原件安裝完畢后,將寫好程序的AT89S51機(jī)裝到測距板上,通電后將測距板的超聲波頭對(duì)著墻面往復(fù)移動(dòng),看數(shù)碼管的顯示結(jié)果會(huì)不會(huì)變化,在測量范圍內(nèi)能否正常顯示。如果一直顯示“- - -”,則需將下限值增大。本測距板1s測量2-3次,超聲波發(fā)送功率較大時(shí),測量距離遠(yuǎn),則相應(yīng)的下限值(盲區(qū))應(yīng)設(shè)置為高值。試驗(yàn)板中的聲速?zèng)]有進(jìn)行溫度補(bǔ)償,聲速值為340m/s,該值為15℃時(shí)的超聲波值。
5.2 性能分析
從實(shí)物測試的總體來說本測距板基本上達(dá)到了要求,理想上超聲波測距能達(dá)到500到700厘左右,而我們所能實(shí)現(xiàn)的最大距離只有699厘,測量結(jié)果受環(huán)境溫度影響。分析原因如下:
1. 超聲波發(fā)射部份由電阻R2、三極管BG1、超聲波脈沖變壓器B及超聲波發(fā)送頭T40構(gòu)成,以提高超聲波的發(fā)射功率,從面提高測量距離。這種方式,加大的超聲波了送頭的余振時(shí)間,造成超聲波測距盲區(qū)值較大(本系統(tǒng)盲區(qū)值為40厘米)。
2.本測距板沒有設(shè)計(jì)溫度補(bǔ)償對(duì)測量結(jié)果進(jìn)行修正。但在硬件的PCB上預(yù)留的位置。
參考文獻(xiàn)
[1]趙建領(lǐng)薛園園 51單片機(jī)開發(fā)與應(yīng)用技術(shù)詳解北京:電子工業(yè)出版社,2009
[2] 沈紅衛(wèi). 基于單片機(jī)智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).北京:電子工業(yè)出版社,2005
[3] 楊國田 白 焰 董 玲 51單片機(jī)實(shí)用C語言程序設(shè)計(jì)中國電力出版社 2009
[4] 李群芳,黃建. 單片機(jī)微型計(jì)算機(jī)與接口技術(shù).北京:電子工業(yè)出版社,2001
[5] 樓然苗、李光飛.51系列單片機(jī)設(shè)計(jì)實(shí)例. 北京:北京航空航天大學(xué)出版社,2003
[6] 王守中51單片機(jī)開發(fā)入門與典型實(shí)例. 北京:人民郵電出版社,2009
附錄一:基于AT89S51單片機(jī)超聲波測距系統(tǒng)電原理圖
附錄二基于AT89S51單片機(jī)超聲波測距系統(tǒng)PCB圖
附錄三基于AT89S51單片機(jī)超聲波測距系統(tǒng)焊接組裝圖
附錄四元件清單
編號(hào) | 型號(hào)、規(guī)格 | 描述 | 數(shù)量 | 編號(hào) | 型號(hào)、規(guī)格 | 描述 | 數(shù)量 |
R1 | 10k | 1/4W電阻器 | 1 | C1 | 220uF | 電解電容器 | 1 |
R2 | 150k | 1/4W電阻器 | 1 | C2 | 104 | 瓷片電容器 | 1 |
R3 | 4.7k | 1/4W電阻器 | 1 | C3 | 30pF | 電解電容器 | 1 |
R4 | 150k | 1/4W電阻器 | 1 | C4 | 30pF | 瓷片電容器 | 1 |
R5 | 4.7k | 1/4W電阻器 | 1 | C5 | 10 uF | 瓷片電容器 | 1 |
R6 | 4.7k | 1/4W電阻器 | 1 | C6 | 103 | 瓷片電容器 | 1 |
R7 | 4.7k | 1/4W電阻器 | 1 | C7 | 103 | 瓷片電容器 | 1 |
R8 | 4.7k | 1/4W電阻器 | 1 | IC1 | AT89S51 | 單片機(jī) | 1 |
R9 | 4.7k | 1/4W電阻器 | 1 | Y1 | 12MHz | 晶振 | 1 |
R10 | 4.7k | 1/4W電阻器 | 1 | T | T40-16T | 傳聲波傳感器 | 1 |
BG1 | 9012 | PNP | 1 | R | T40-16R | 傳聲波傳感器 | 1 |
BG2 | 9013 | NPN | 1 | D1 | IN4148 | 開關(guān)二極管 | 1 |
BG3 | 9013 | NPN | 1 | D2 | IN4148 | 開關(guān)二極管 | 1 |
BG4 | 9013 | NPN | 1 | J1 | USB | USB接口 | 1 |
BG5 | 9012 | NPN | 1 | J2 | ISP | IDC10 | 1 |
BG6 | 9012 | PNP | BY | BEEP | 5V有源蜂鳴器 | 1 | |
BG7 | 9012 | PNP | 1 | K1 | SW-0606 | 輕觸銨鈕 | 1 |
BG8 | 909013 | PNP | 1 | K2 | SW-0606 | 輕觸銨鈕 | 1 |
LED | HS310561K | 三位數(shù)碼管 | 1 | K2 | SW-0606 | 輕觸銨鈕 | 1 |
B | 7M-7.6 | 高頻變壓器 | 1 |
51單片機(jī)超聲波DIY
AT89S51簡介:
AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)位AT89S51單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。
主要性能參數(shù):
·與MCS-51產(chǎn)品指令系統(tǒng)完全兼容
·4k字節(jié)在系統(tǒng)編程(ISP)Flash閃速存儲(chǔ)器
·1000次擦寫周期
·4.0-5.5V的工作電壓范圍
·全靜態(tài)工作模式:0Hz-33MHz
·三級(jí)程序加密鎖
·128×8字節(jié)內(nèi)部RAM
·32個(gè)可編程I/O口線
·2個(gè)16位定時(shí)/計(jì)數(shù)器
·6個(gè)中斷源
·全雙工串行UART通道
·低功耗空閑和掉電模式
·中斷可從空閑模喚醒系統(tǒng)
·看門狗(WDT)及雙數(shù)據(jù)指針
·掉電標(biāo)識(shí)和快速編程特性
·靈活的在系統(tǒng)編程(ISP字節(jié)或頁寫模式)
功能特性概述:
AT89S51 提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O 口線,看門狗(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè)16 位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。
引腳功能說明
·Vcc:電源電壓
·GND:地
·P0口:P0口是一組8位漏極開路型雙向I/0口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“l(fā)”可作為高阻抗輸入端用。
在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在F1ash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。
·P1口:Pl 是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,Pl的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“l(fā)”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。
Flash編程和程序校驗(yàn)期間,Pl接收低8位地址。
端口引腳 第二功能:
P1.5 MOSI(用于ISP編程)
P1.6 MISO(用于ISP編程)
P1.7 SCK (用于ISP編程)
·P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。
在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@Ri 指令)時(shí),P2口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問期間不改變。
Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和其它控制信號(hào)。
·P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8位雙向I/0 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門電路。對(duì)P3口寫入“l(fā)”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。
P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下表所示:
P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。
AT89S51 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖3-2。
外接石英晶體(或陶瓷諧振器)及電容Cl、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容Cl、C2 雖然沒有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,推薦電容使用30pF±10pF,而如使用陶瓷諧振器選擇40pF±10F。
用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖5右圖所示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。
由于外部時(shí)鐘信號(hào)是通過一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。圖3-2為晶體接線圖和外接時(shí)鐘線路圖。
圖3-2 內(nèi)部振蕩電路
[1]http://blog.sina.com.cn/s/blog_4f8cdc9e0100g3e7.html
愛華網(wǎng)



