最簡單的基于AT89C2051單片機(jī)超聲波測距系統(tǒng)設(shè)計(jì)報(bào)告.._第1頁
最簡單的基于AT89C2051單片機(jī)超聲波測距系統(tǒng)設(shè)計(jì)報(bào)告.._第2頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、AT89C2051單片機(jī)超聲波測距系統(tǒng)設(shè)計(jì)題目:AT89C2051單片機(jī)超聲波測距系統(tǒng)完成日期:2013年4月10日目錄一、設(shè)計(jì)任務(wù)和性能指標(biāo)31.1 設(shè)計(jì)任務(wù)31.2 性能指標(biāo)3二、超聲波測距原理概述42.1 超聲波傳感器52.1.1 超聲波發(fā)生器52.1.2 壓電式超聲波發(fā)生器原理52.1.3 單片機(jī)超聲波測距系統(tǒng)構(gòu)成5三、設(shè)計(jì)方案63.1 AT89C2051單片機(jī)73.2 超聲波測距系統(tǒng)構(gòu)成83.2.1 超聲波測距單片機(jī)系統(tǒng)83.2.2 超聲波發(fā)射、接收電路93.2.3 顯示電路103.2.4 報(bào)警聲響電路單元11四. 系統(tǒng)軟件設(shè)計(jì)124.1 主程序設(shè)計(jì)124.2 超聲波測距子程序124

2、.3 超聲波測距程序流程圖144.4 超聲波測距程子序流程圖15五. 調(diào)試及性能分析155.1 調(diào)試步驟155.2 性能分析16參考文獻(xiàn)16附錄一:基于AT89C2051單片機(jī)超聲波測距系統(tǒng)電原理圖17附錄二基于AT89C2051單片機(jī)超聲波測距系統(tǒng)PCB圖18附錄三基于AT89C2051單片機(jī)超聲波測距系統(tǒng)焊接組裝圖19附錄四基于AT89C2051單片機(jī)超聲波測距系統(tǒng)C語言原程序20附錄五附錄:元件清單20一、設(shè)計(jì)任務(wù)和性能指標(biāo)1.1 設(shè)計(jì)任務(wù)利用單片機(jī)及外圍接口電路(鍵盤接口和顯示接口電路)設(shè)計(jì)制作一個超聲波測距儀器,用LED數(shù)碼管把測距儀距測出的距離顯示出來。要求用Protel畫出系統(tǒng)的

3、電路原理圖,印刷電路板,繪出程序流程圖,并給出源程序清單,元件清單,同時制作出實(shí)物。1.2 性能指標(biāo)距離顯示:用三位LED數(shù)碼管進(jìn)行顯示(單位是CM)。供電電壓:DC5V測距范圍:25CM到350CM之間。誤差:1%。一路報(bào)警聲響輸出。一路報(bào)警高低電平輸出,報(bào)警時輸出低電平。3二、超聲波測距原理概述超聲波是由機(jī)械振動產(chǎn)生的,可在不同介質(zhì)中以不同的速度傳播。由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實(shí)現(xiàn)。超聲測距是一種非接觸式的檢測方式。與其它方法相比,如電磁的或光學(xué)的方法,它不受光線、被測對象顏色等影響。對于

4、被測物處于黑暗、有灰塵、煙霧、電磁干擾、有毒等惡劣的環(huán)境下有一定的適應(yīng)能力。因此在液位測量、機(jī)械手控制、車輛自動導(dǎo)航、物體識別等方面有廣泛應(yīng)用。特別是應(yīng)用于空氣測距,由于空氣中波速較慢,其回波信號中包含的沿傳播方向上的結(jié)構(gòu)信息很容易檢測出來,具有很高的分辨力,因而其準(zhǔn)確度也較其它方法為高;而且超聲波傳感器具有結(jié)構(gòu)簡單、體積小、信號處理可靠等特點(diǎn)。利用超聲波檢測往往比較迅速、方便、計(jì)算簡單、易于做到實(shí)時控制,并且在測量精度方面能達(dá)到工業(yè)實(shí)用的要求。超聲波測距的方法有多種,如相位檢測法、聲波幅值檢測法和渡越時間檢測法等。相位檢測法雖然精度高,但檢測范圍有限;聲波幅值檢測法易受反射波的影響。本儀器采

5、用超聲波渡越時間檢測法。其原理為:檢測從超聲波發(fā)射器發(fā)出的超聲波,經(jīng)氣體介質(zhì)的傳播到接收器的時間,即渡越時間。渡越時間與氣體中的聲速相乘,就是聲波傳輸?shù)木嚯x。超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時單片機(jī)開始計(jì)時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計(jì)時。超聲波在空氣中的傳播速度隨溫度變化,其對應(yīng)值如表2-1,根據(jù)計(jì)時器記錄的時間t(見圖2-1),就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離(s),即:s=vt/2。表2-1聲速與溫度的關(guān)系溫度(°C)3020100102030聲速(m/s)31331932532333834434910038

6、6接收到的信號瞬后發(fā)射40k血脈沖 VVVVVVVV圖2-1超聲波測距時序圖”nnnnIWWWWW1; t=TrToIToTt2.1 超聲波傳感器2.1.1 超聲波發(fā)生器為了研究和利用超聲波,人們已經(jīng)設(shè)計(jì)和制成了許多超聲波發(fā)生器??傮w上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。2.1.2 壓電式超聲波發(fā)生器原理壓電型超聲波傳感器的工作原理:它是利用壓電效應(yīng)的原理,壓

7、電效應(yīng)有逆效應(yīng)和順效應(yīng),超聲波傳感器是可逆元件,超聲波發(fā)送器就是利用壓電逆效應(yīng)的原理。所謂壓電逆效應(yīng)如圖2-2所示,是在壓電元件上施加電壓,元件就變形,即稱應(yīng)變。若在圖a所示的已極化的壓電陶瓷上施加如圖b所示極性的電壓,外部正電荷與壓電陶瓷的極化正電荷相斥,同時,外部負(fù)電荷與極化負(fù)電荷相斥。由于相斥的作用,壓電陶瓷在厚度方向上縮短,在長度方向上伸長。若外部施加的極性變反,如圖c所示那樣,壓電陶瓷在厚度方向上伸長,在長度方向上縮短。圖2-2壓電逆效應(yīng)圖2.1.3 單片機(jī)超聲波測距系統(tǒng)構(gòu)成單片機(jī)AT89C2051發(fā)出短暫的40kHz信號,經(jīng)放大后通過超聲波換能器輸出;反射后的超聲波經(jīng)超聲波換能器作

8、為系統(tǒng)的輸入,鎖相環(huán)對此信號鎖定,產(chǎn)生鎖定信號啟動單片機(jī)中斷程序,讀出時間t再由系統(tǒng)軟件對其進(jìn)行計(jì)算、判別后,相應(yīng)的計(jì)算結(jié)果被送至LED數(shù)碼管進(jìn)行顯示。限制超聲波系統(tǒng)的最大可測距離存在四個因素:超聲波的幅度、反射物的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小可測距離。關(guān)定時器數(shù)據(jù)運(yùn)算超聲波信號開定時器電聲換能器驅(qū)動電路電聲換能器接收檢測開始測量曰TO顯示器13圖2-3超聲波測距系統(tǒng)框圖三、設(shè)計(jì)方案按照系統(tǒng)設(shè)計(jì)的功能的要求,初步確定設(shè)計(jì)系統(tǒng)由單片機(jī)主控模塊、顯示模塊、超聲波發(fā)射模塊、接收模塊共四個模塊組成。單片機(jī)主控芯片使用51系列AT89

9、C2051單片機(jī),該單片機(jī)工作性能穩(wěn)定,同時也是在單片機(jī)課程設(shè)計(jì)中經(jīng)常使用到的控制芯片。發(fā)射電路由單片機(jī)輸出端直接驅(qū)動超聲波發(fā)送。接收電路使用三極管組成的放大電路,該電路簡單,調(diào)試工作小較小。超聲波接收模超聲波發(fā)射模單妙機(jī)控制系統(tǒng)顯示模塊供電單元報(bào)警模塊圖3-1:系統(tǒng)設(shè)計(jì)框圖硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波接收電路三部分。單片機(jī)采用AT89C2051。采用12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機(jī)用P3.5端口輸出超聲波換能器所需的40kHz的方波信號,P3.6端口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實(shí)用的3位共陽LED數(shù)

10、碼管,段碼輸出端口為單片機(jī)的P1口,位碼輸出端口分別為單片機(jī)的P3.2、P3.1、P3.0口,數(shù)碼管位驅(qū)運(yùn)用PNP三極管S9012三極管驅(qū)動。3.1 AT89C2051單片機(jī)AT89C2051是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含2kbytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和128bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-5l指令系統(tǒng),片內(nèi)置通用8位央處理器和Flash存儲單元,功能強(qiáng)大。AT89C2051單片機(jī)可為您提供許多高性價比的應(yīng)用場合。主要性能參數(shù)與MCS-51產(chǎn)品指令系統(tǒng)完

11、全兼容 2k字節(jié)可重擦寫閃速存儲器 1000次擦寫周期 2.7V6V的工作電壓范圍全靜態(tài)操作:0Hz24MHz兩級加密程序存儲器128X8字節(jié)內(nèi)部RAM15個可編程I/O口線 2個l6位定時計(jì)數(shù)器 6個斷源可編程串行UART通道可直接驅(qū)動LED的輸出端口內(nèi)置一個模擬比較器低功耗空閑和掉電模式功能特性概述AT89C2051提供以下標(biāo)準(zhǔn)功能:2k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,15個IO口線,兩個16位定時計(jì)數(shù)器,個5向量兩級斷結(jié)構(gòu),一個全雙工串行通信口,內(nèi)置個精密比較器,片內(nèi)振蕩器及時鐘電路。同時,AT89C2051可降至0HZ的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空

12、閑方式停止CPU的工作,但允許RAM,定時/計(jì)數(shù)器,串行通信口及斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。3.2 超聲波測距系統(tǒng)構(gòu)成本系統(tǒng)由單片機(jī)AT89C2051控制,包括單片機(jī)系統(tǒng)、發(fā)射電路與接收放大電路和顯示電路幾部分組成,如圖3-1所示。硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波接收電路三部分。單片機(jī)采用AT89C2051。采用12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機(jī)用P3.5端口輸出超聲波換能器所需的40kHz的方波信號,P3.6端口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路

13、采用簡單實(shí)用的3位共陽LED數(shù)碼管,段碼輸出端口為單片機(jī)的P1口,位碼輸出端口分別為單片機(jī)的P3.2、P3.1、P3.0口,數(shù)碼管位驅(qū)運(yùn)用PNP三極管S9012三極管驅(qū)動。超聲波接收頭接收到反射的回波后,經(jīng)過接收電路處理后,向單片機(jī)P3.7輸入一個低電平脈沖。單片機(jī)控制著超聲波的發(fā)送,超聲波發(fā)送完畢后,立即啟動內(nèi)部計(jì)時器T0計(jì)時,當(dāng)檢測到P3.7由高電平變?yōu)榈碗娖胶螅⒓赐V箖?nèi)部計(jì)時器計(jì)時。單片機(jī)將測得的時間與聲速相乘再除以2即可得到測量值,最后經(jīng)3位數(shù)碼管將測得的結(jié)果顯示出來。3.2.1 超聲波測距單片機(jī)系統(tǒng)超聲波測距單片機(jī)系統(tǒng)主要由:AT89C2051單片機(jī)、晶振、復(fù)位電路、電源濾波部份構(gòu)

14、成。如圖3-2。LETTTo12345RSP3.P3X1X2円P3.P3.P3.GN0.6A三麗別亢f'彳R15叩E=;RLlu0DHCG寸RIOB圖3-2:超聲波測距單片機(jī)系統(tǒng)3.2.2 超聲波發(fā)射、接收電路超聲波發(fā)射、接收電路如圖3-3。超聲波發(fā)射部份由電阻R2及超聲波發(fā)送頭T40板成;接收電路由BG1、BG2X組成的兩組三級管放大電路組成;檢波電路、比較整形電路由C7、DI、D2及BG3組成。40kHz的方波由AT89C2051單片機(jī)的P3.5驅(qū)動超聲波發(fā)射頭發(fā)射超聲波,經(jīng)反射后由超聲波接收頭接收到40kHz的正弦波,由于聲波在空氣中傳播時衰減,所以接收到的波形幅值較低,經(jīng)接收電

15、路放大,整形,最后輸出一負(fù)跳變,輸入單片機(jī)的P3腳。該測距電路的40kHz方波信號由單片機(jī)AT89C2051的P3.5發(fā)出。方波的周期為l/40ms,即25卩s,半周期為12.5卩s。每隔半周期時間,讓方波輸出腳的電平取反,便可產(chǎn)生40kHz方波。由于單片機(jī)系統(tǒng)的晶振為12M晶振,因而單片機(jī)的時間分辨率是1Us,所以只能產(chǎn)生半周期為12卩s或13M的方波信號,頻率分別為41.67kHz和38.46kHz。本系統(tǒng)在編程時選用了后者,讓單片機(jī)產(chǎn)生約38.46kHz的方波。IfDkD2IN414SBG1MlJBCtZ9OI3DI1N4W1!G3901JR3J.K2K圖3-3:超聲波測距發(fā)送接收單元由

16、于反射回來的超聲波信號非常微弱,所以接收電路需要將其進(jìn)行放大。接收電路如圖3.3所示。接收到的信號加到BG1、BG2組成的兩級放大器上進(jìn)行放大。每級放大器的放大倍數(shù)為40-50倍。放大的信號通過檢波電路得到解調(diào)后的信號,即把多個脈沖波解調(diào)成多個大脈沖波。這里使用的是IN4148檢波二極管,輸出的直流信號即兩二極管之間電容電壓。該接收電路結(jié)構(gòu)簡單,性能較好,制作難度小。3.2.3 顯示電路本系統(tǒng)采用三位一體LED數(shù)碼管顯示所測距離值,如圖(見下頁)。碼管采用動態(tài)掃描顯示,段碼輸出端口為單片機(jī)的P1口,位碼輸出端口分別為單片機(jī)的P3.2、P3.1、P3.0口,數(shù)碼管位驅(qū)運(yùn)用PNP三極管S9012三

17、極管驅(qū)動。3.2.4 報(bào)警聲響電路單元本單元采用,一只5伏的蜂鳴器作為報(bào)警聲響輸出,由三極管BG7進(jìn)行驅(qū)動,當(dāng)測量距離小于1.00m時,蜂鳴器發(fā)出:滴、滴、滴的報(bào)警聲響。4.7K丿/、BG79012BY圖3-4:報(bào)警聲響單元圖四. 系統(tǒng)軟件設(shè)計(jì)4.1 主程序設(shè)計(jì)超聲波測距的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收程序及顯示子程序組成。超聲波測距的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時),又要求精細(xì)計(jì)算程序運(yùn)行時間(超聲波測距時),所以控制程序可采用C語言編程。主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)定時器0為計(jì)數(shù),設(shè)定時器1定時。置位總中斷允許位EA。進(jìn)行程序主程序后,進(jìn)行定時測距判斷,當(dāng)測距標(biāo)志

18、位cl=l,即進(jìn)行測量一次,程序設(shè)計(jì)中,超聲波測距頻度是2次/秒。測距間隔中,整個程序主要進(jìn)行循環(huán)顯示測量結(jié)果。當(dāng)調(diào)用超聲波測距子程序后,首先由單片機(jī)產(chǎn)生6-8個頻率為38.46kHz超聲波脈沖,加載的超聲波發(fā)送頭上。超聲波頭發(fā)送完送超聲波后,立即啟動內(nèi)部計(jì)時器T0進(jìn)行計(jì)時,為了避免超聲波從發(fā)射頭直接傳送到接收頭引起的直射波觸發(fā),這時,單片機(jī)需要延時約1.5-2ms時間(這也就是超聲波測距儀會有一個最小可測距離的原因,稱之為盲區(qū)值)后,才啟動對單片機(jī)P3.7腳的電平判斷程序。當(dāng)檢測到P3.7腳的電平由高轉(zhuǎn)為低電平時,立即停止T0計(jì)時。由于采用單片機(jī)采用的是12MHz的晶振,計(jì)時器每計(jì)一個數(shù)就是

19、l“s,當(dāng)超聲波測距子程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器TO中的數(shù)(即超聲波來回所用的時間)按式(2)計(jì)算,即可得被測物體與測距儀之間的距離。設(shè)計(jì)時取15°C時的聲速為340m/s則有:d=(cXt)/2=172XT0/10000cm其中,TO為計(jì)數(shù)器TO的計(jì)算值。測出距離后結(jié)果將以十進(jìn)制BCD碼方式送往LED顯示約0.5s,然后再發(fā)超聲波脈沖重復(fù)測量過程。4.2 超聲波測距子程序voidcsbcj()/超聲波測距子程序if(cl=1)TR1=0;TH0=0x00;TL0=0x00;i=20;/超聲波脈沖個數(shù)10個while(i-)csbout=!csbout;TR0=1;i=1

20、5;while(i-)i=0;while(csbint)/判斷接收回路是否收到超聲波的回波i+;if(i>=1000)/如果達(dá)到一定時間沒有收到回波,則將csbint置零,退出接收回波處理程序csbint=0;TR0=0;TH1=0x9E;TL1=0x57;t=TH0;t=t*256+TL0;s=t*csbc/2;/計(jì)算測量結(jié)果TR1=1;cl=0;4.3超聲波測距程序流程圖l54.4 超聲波測距程子序流程圖N時間=ls?YNYNY結(jié)束收到回波否?預(yù)設(shè)時間?啟動計(jì)時器TO超聲波測距延時避開盲區(qū)發(fā)送超聲波停止計(jì)時計(jì)算測量值五. 調(diào)試及性能分析5.1 調(diào)試步驟我們的步驟是先焊接各個模塊,焊接

21、完每個模塊以后,再進(jìn)行模塊的單獨(dú)測試,以確保在整個系統(tǒng)焊接完能正常的工作,原件安裝完畢后,將寫好程序的AT89C2051機(jī)裝到測距板上,通電后將測距板的超聲波頭對著墻面往復(fù)移動,看數(shù)碼管的顯示結(jié)果會不會變化,在測量范圍內(nèi)能否正常顯示。如果一直顯示“-”,則需將下限值增大。本測距板1S鐘測量兩次,若要修改測量間隔,可將程序“if(csbds>=40)/1S測量一次?!敝械摹?0”增大或減小即可。超聲波發(fā)送功率較大時,測量距離遠(yuǎn),則相應(yīng)的下限值(盲區(qū))應(yīng)設(shè)置為高值。試驗(yàn)板中的聲速沒有進(jìn)行溫度補(bǔ)償,聲速值為340m/s。5.2 性能分析從實(shí)物測試的總體來說本測距板基本上達(dá)到了要求,理想上超聲波

22、測距能達(dá)到5到7米左右,而我們所能實(shí)現(xiàn)的最大距離只有3.50米,測量結(jié)果受環(huán)境溫度影響。分析原因如下:1. 超聲波發(fā)送部份為了簡化電路,沒加設(shè)置專門的超聲波驅(qū)動電路,而是用單片機(jī)的P3.5輸出端加了一個上拉電阻后就直接驅(qū)動超聲波發(fā)送頭。理論上,驅(qū)電電壓只有5伏。2. 本測距板沒設(shè)計(jì)溫度補(bǔ)償電路,來對測量結(jié)果進(jìn)行修正。參考文獻(xiàn)1 趙建領(lǐng)薛園園51單片機(jī)開發(fā)與應(yīng)用技術(shù)詳解北京:電子工業(yè)出版社,20092 沈紅衛(wèi).基于單片機(jī)智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).北京:電子工業(yè)出版社,20053 楊國田白焰董玲51單片機(jī)實(shí)用C語言程序設(shè)計(jì)中國電力出版社20094 李群芳,黃建.單片機(jī)微型計(jì)算機(jī)與接口技術(shù).北京:電子工業(yè)出版社,20015 樓然苗、李光飛.51系列單片機(jī)設(shè)計(jì)實(shí)例.北京:北京航空航天大學(xué)出版社,20036 王守中51單片機(jī)開發(fā)入門

溫馨提示

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

最新文檔

評論

0/150

提交評論