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

下載本文檔

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

文檔簡(jiǎn)介

1、 PAGE32 / NUMPAGES33目 錄 TOC o 1-2 h z u HYPERLINK l _Toc294514908 1.引言 PAGEREF _Toc294514908 h 1 HYPERLINK l _Toc294514909 1.1 設(shè)計(jì)的應(yīng)用前景 PAGEREF _Toc294514909 h 1 HYPERLINK l _Toc294514910 1.2 單片機(jī)應(yīng)用系統(tǒng)概述 PAGEREF _Toc294514910 h 1 HYPERLINK l _Toc294514911 1.3 超聲波測(cè)距系統(tǒng)概述 PAGEREF _Toc294514911 h 2 HYPERLI

2、NK l _Toc294514912 1.4 本設(shè)計(jì)任務(wù)主要要求 PAGEREF _Toc294514912 h 3 HYPERLINK l _Toc294514913 2.超聲波測(cè)距原理 PAGEREF _Toc294514913 h 3 HYPERLINK l _Toc294514914 2.1 超聲波的基本理論 PAGEREF _Toc294514914 h 3 HYPERLINK l _Toc294514915 2.2 超聲波測(cè)距系統(tǒng)原理 PAGEREF _Toc294514915 h 4 HYPERLINK l _Toc294514916 3.系統(tǒng)主要硬件電路設(shè)計(jì) PAGEREF _

3、Toc294514916 h 5 HYPERLINK l _Toc294514917 31 超聲波測(cè)距系統(tǒng)電路總體設(shè)計(jì)方案 PAGEREF _Toc294514917 h 5 HYPERLINK l _Toc294514918 3.2 超聲波發(fā)射和接收電路的設(shè)計(jì) PAGEREF _Toc294514918 h 6 HYPERLINK l _Toc294514919 3.3 單片機(jī)主機(jī)系統(tǒng)電路 PAGEREF _Toc294514919 h 8 HYPERLINK l _Toc294514920 4.系統(tǒng)軟件設(shè)計(jì) PAGEREF _Toc294514920 h 12 HYPERLINK l _T

4、oc294514921 4.1 系統(tǒng)程序的結(jié)構(gòu) PAGEREF _Toc294514921 h 12 HYPERLINK l _Toc294514922 4.2 系統(tǒng)主程序 PAGEREF _Toc294514922 h 13 HYPERLINK l _Toc294514923 4.3 40KHz超聲波發(fā)送子程序 PAGEREF _Toc294514923 h 14 HYPERLINK l _Toc294514924 4.4 DS18B20溫度采集程序 PAGEREF _Toc294514924 h 15 HYPERLINK l _Toc294514925 4.5 距離計(jì)算子程序 PAGERE

5、F _Toc294514925 h 15 HYPERLINK l _Toc294514926 4.6 數(shù)據(jù)轉(zhuǎn)換子程序 PAGEREF _Toc294514926 h 15 HYPERLINK l _Toc294514927 4.7 LCD顯示子程序 PAGEREF _Toc294514927 h 16 HYPERLINK l _Toc294514928 4.8 基于Proteus的軟件仿真 PAGEREF _Toc294514928 h 17 HYPERLINK l _Toc294514929 5.后續(xù)研究工作 PAGEREF _Toc294514929 h 18 HYPERLINK l _T

6、oc294514930 5.1 超聲波發(fā)射波形的改進(jìn) PAGEREF _Toc294514930 h 18 HYPERLINK l _Toc294514931 5.2 樣機(jī)的制作 PAGEREF _Toc294514931 h 18 HYPERLINK l _Toc294514932 5.3 進(jìn)一步研究系統(tǒng)的抗干擾性能 PAGEREF _Toc294514932 h 18 HYPERLINK l _Toc294514933 致 PAGEREF _Toc294514933 h 19 HYPERLINK l _Toc294514934 參考文獻(xiàn) PAGEREF _Toc294514934 h 19

7、 HYPERLINK l _Toc294514935 附錄 PAGEREF _Toc294514935 h 21基于單片機(jī)的超聲波測(cè)距儀的設(shè)計(jì)摘要利用超聲波測(cè)距原理,出于低成本、高精度的目的,提出了一種基于AT89S52的超聲波倒車?yán)走_(dá)系統(tǒng)的設(shè)計(jì)方案。硬件部分采用AT89S52單片機(jī)作為控制器,主要有超聲波發(fā)射電路、超聲波接收電路、溫度檢測(cè)電路、LCD顯示電路和報(bào)警電路。在分析超聲波測(cè)距原理的基礎(chǔ)上,給出了實(shí)現(xiàn)超聲波倒車?yán)走_(dá)系統(tǒng)的硬件設(shè)計(jì)電路圖和軟件設(shè)計(jì)流程圖。該系統(tǒng)測(cè)量精度為1cm,測(cè)量圍為0.50-4.00m,完全能夠滿足汽車倒車系統(tǒng)的設(shè)計(jì)要求。關(guān)鍵字 單片機(jī) 超聲波 溫度補(bǔ)償 測(cè)距 LC

8、D顯示 角度補(bǔ)償1.引言1.1 設(shè)計(jì)的應(yīng)用前景目前國一般使用專用集成電路設(shè)計(jì)超聲波測(cè)距儀,但是專用集成電路的成本很高,并且顯示距離也比較困難,操作使用也不是很方便。而本設(shè)計(jì)研究的測(cè)距儀成本低廉,性能優(yōu)良,市場(chǎng)前景極為廣闊。在整個(gè)倒車過程中自動(dòng)測(cè)量車尾到最近障礙物的距離,并用數(shù)字顯示出來,在倒車到極限距離時(shí)會(huì)發(fā)出警告聲,提醒駕駛員注意剎車。本設(shè)計(jì)可望成為駕駛員特別是貨車以與公共汽車駕駛員的好幫手,可有效的減少和避免那些視野不良的大型汽車,如集裝箱車、載貨車、公共汽車等倒車交通事故。1.2 單片機(jī)應(yīng)用系統(tǒng)概述單片機(jī)的出現(xiàn)與發(fā)展使計(jì)算機(jī)技術(shù)從通用型數(shù)值計(jì)算領(lǐng)域進(jìn)入到智能化的控制領(lǐng)域。從此,計(jì)算機(jī)技術(shù)

9、在兩個(gè)重要領(lǐng)域通用計(jì)算機(jī)領(lǐng)域和嵌入式計(jì)算機(jī)領(lǐng)域都得到了極其重要的發(fā)展,并正在深深地改變著我們的社會(huì)。單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)包括單片機(jī)基本擴(kuò)展、外圍電路設(shè)計(jì)和程序設(shè)計(jì)、單片機(jī)應(yīng)用系統(tǒng)開發(fā)環(huán)境、系統(tǒng)可靠性設(shè)計(jì)、電磁兼容性設(shè)計(jì)等容。通常開發(fā)一個(gè)單片機(jī)系統(tǒng)的步驟如下:圖 1 技術(shù)路線1.3 超聲波測(cè)距系統(tǒng)概述隨著社會(huì)的發(fā)展,人們對(duì)距離或長度測(cè)量的要求越來越高。目前測(cè)量距離可以采用波在介質(zhì)中的傳播速度和時(shí)間關(guān)系進(jìn)行測(cè)量。常用的技術(shù)主要有激光測(cè)距、微波雷達(dá)測(cè)距和超聲波測(cè)距三種。激光和雷達(dá)測(cè)距儀造價(jià)偏高,不利于廣泛的普與應(yīng)用,在某些應(yīng)用領(lǐng)域有其局限性。超聲波測(cè)距由于其能進(jìn)行非接觸測(cè)量和相對(duì)較高的精度,越來越被

10、人們所重視。展望未來,超聲波測(cè)距儀作為一種新型的非常有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更高定位、更高精度的方向發(fā)展,以滿足日益發(fā)展的社會(huì)需求。由于超聲波具有指向性好、能量損耗低、傳播距離較遠(yuǎn)、不易受外界環(huán)境影響和對(duì)被測(cè)目標(biāo)無損害等特點(diǎn),利用超聲波測(cè)量距離就可以解決傳統(tǒng)測(cè)量方法中遇到的問題。利用超聲波檢測(cè)往往比較迅速、方便、計(jì)算簡(jiǎn)單、易于做到實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用的要求,因此超聲波測(cè)量距離技術(shù)在工業(yè)控制、勘探測(cè)量、機(jī)器人定位和安全防等領(lǐng)域得到了廣泛的應(yīng)用。超聲波測(cè)距電路可以由傳統(tǒng)的模擬或者數(shù)字電路構(gòu)建,但是基于這些傳統(tǒng)電路構(gòu)建的系統(tǒng)往往可靠性差,調(diào)試?yán)щy,可擴(kuò)展

11、性差,所以基于單片機(jī)的超聲波測(cè)距系統(tǒng)被廣泛的應(yīng)用。通過簡(jiǎn)單的外圍電路發(fā)生和接收超聲波,單片機(jī)通過采樣獲取到超聲波的傳播時(shí)間,用軟件來計(jì)算出距離,并且可以采集環(huán)境溫度進(jìn)行測(cè)距補(bǔ)償,其測(cè)量電路小巧,精度高,反映速度快,可靠性好。超聲波測(cè)距適用于高精度的中長距離測(cè)量,超聲波在標(biāo)準(zhǔn)空氣中的傳播速度為331.45m/s,由單片機(jī)計(jì)時(shí),單片機(jī)使用12.0MHz晶振,所以此系統(tǒng)的測(cè)量精度在理論上可以達(dá)到毫米級(jí)。本文設(shè)計(jì)的倒車?yán)走_(dá)系統(tǒng)就是利用超聲波的上述特性做到對(duì)倒車距離實(shí)時(shí)和高精度的檢測(cè),同時(shí),此系統(tǒng)成本低、設(shè)計(jì)簡(jiǎn)單、精度和穩(wěn)定性好,有望得到廣泛的應(yīng)用,從而減少交通事故的發(fā)生。1.4 本設(shè)計(jì)任務(wù)主要要求(1

12、)設(shè)計(jì)一個(gè)以單片機(jī)為核心的超聲波測(cè)距儀,可以應(yīng)用于汽車倒車、工業(yè)現(xiàn)場(chǎng)的位置監(jiān)控;(2)測(cè)量圍在0.504.00m,測(cè)量精度1cm;(3)測(cè)量時(shí)與被測(cè)物無直接接觸,能夠清晰穩(wěn)定地顯示測(cè)量結(jié)果。2.超聲波測(cè)距原理2.1 超聲波的基本理論超聲波技術(shù)是一門以物理、電子、機(jī)械、以與材料科學(xué)為基礎(chǔ)的、各行各業(yè)都可使用的通用技術(shù)之一。超聲波技術(shù)是通過超聲波的產(chǎn)生、傳播以與接收的物理過程完成的。該技術(shù)在國民經(jīng)濟(jì)中,對(duì)提高產(chǎn)品質(zhì)量,保障生產(chǎn)安全和設(shè)備安全運(yùn)作,降低生產(chǎn)成本,提高生產(chǎn)效率特別具有潛在能力。因此,我國對(duì)超聲波的研究特別活躍。21.1 超聲波的三種形式超聲波在介質(zhì)中可以產(chǎn)生三種形式的振蕩波:橫波,質(zhì)點(diǎn)

13、振動(dòng)方向垂直于傳播方向的波;縱波,質(zhì)點(diǎn)振動(dòng)方向與傳播方向一致的波;表面波,質(zhì)點(diǎn)振動(dòng)介于縱波和橫波之間,沿表面?zhèn)鞑サ牟āM波只能在固體中傳播,縱波能在固體液體中和氣體中傳播,表面波隨深度的增加其衰減很快。為了測(cè)量各種狀態(tài)下的物理量多采用縱波形式的超聲波。2.1.2 超聲波的物理性質(zhì)(1) 超聲波的反射和折射當(dāng)超聲波傳播到兩種特性阻抗不同介質(zhì)的平面分界面上時(shí),一部分超聲波被反射;另一部分透射過界面,在相鄰介質(zhì)部繼續(xù)傳播。這樣的兩種情況稱之為超聲波的反射和折射。(2)超聲波的衰減超聲波在一種介質(zhì)中傳播,其聲壓和聲強(qiáng)按指數(shù)函數(shù)規(guī)律衰減。(3)超聲波的干涉如果在一種介質(zhì)中傳播幾個(gè)聲波,于是產(chǎn)生波的干涉現(xiàn)

14、象。由于超聲波的干涉,在輻射器的周圍形成一個(gè)包括最大最小的揚(yáng)聲場(chǎng)。2.1.3 超聲波對(duì)聲場(chǎng)產(chǎn)生的作用(1) 機(jī)械作用超聲波傳播過程中,會(huì)引起介質(zhì)質(zhì)點(diǎn)交替的壓縮與伸,構(gòu)成了壓力的變化,這種壓力的變化將引起機(jī)械效應(yīng)。超聲波引起質(zhì)點(diǎn)的運(yùn)動(dòng),雖然位移和速度不大,但是與超聲波振動(dòng)的頻率的平方成正比的質(zhì)點(diǎn)的加速度卻很大,有時(shí)足以達(dá)到破壞介質(zhì)的程度。(2) 空化作用在流體動(dòng)力學(xué)指出,存在于液體中的微氣泡在聲場(chǎng)的作用下振動(dòng),當(dāng)聲壓達(dá)到一定的值時(shí),氣泡將迅速膨脹,然后突然閉合,在氣泡閉合時(shí)產(chǎn)生沖擊波,這種膨脹、閉合、振動(dòng)等一系列動(dòng)力學(xué)過程稱為空化。(3) 熱學(xué)作用如果超聲波作用于介質(zhì)時(shí)被介質(zhì)所吸收,實(shí)際上也就是

15、有能量吸收,同時(shí),由于超聲波的振動(dòng),使介質(zhì)產(chǎn)生強(qiáng)烈的高頻振蕩介質(zhì)相互摩擦產(chǎn)生熱熱量,這種能量使介質(zhì)溫度升高。 2.2 超聲波測(cè)距系統(tǒng)原理2.2.1 超聲波傳感器總體上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動(dòng)型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。他們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不一樣,因而用途也各不一樣。目前較為常用的是壓電式超聲波發(fā)生器。壓電式超聲波發(fā)生器實(shí)際上是利用壓電晶體的諧振來工作的。它有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會(huì)發(fā)生

16、共振,并帶動(dòng)共振板振動(dòng),便產(chǎn)生超聲波。反之,如果兩極間未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接收器了。超聲波傳感器結(jié)構(gòu)如下:圖 2超聲波傳感器外部結(jié)構(gòu) 圖 3 超聲波傳感器部結(jié)構(gòu) 2.2.2 超聲波測(cè)距的方案超聲波測(cè)距方法主要有三種:1)相位檢測(cè)法:精度高,但檢測(cè)圍有限;2)聲波幅值檢測(cè)法:易受反射波的影響;3)渡越時(shí)間法:工作方式簡(jiǎn)單,直觀,在硬件控制和軟件設(shè)計(jì)上都容易實(shí)現(xiàn),其原理為:檢測(cè)從發(fā)射傳感器發(fā)射的超聲波經(jīng)氣體介質(zhì)傳播到接收傳感器的時(shí)間t,這個(gè)時(shí)間就是渡越時(shí)間,然后求出距離l。設(shè)l為測(cè)量距離,t為往返時(shí)間差,超聲波的傳播速度

17、為c,則有l(wèi)=ct/2。綜合以上分析,本設(shè)計(jì)將采用渡越時(shí)間法。圖 4 測(cè)距原理由于超聲波也是一種聲波,其聲速c與空氣溫度有關(guān),一般來說,溫度每升高1攝氏度,聲速增加0.6米秒。表1列出了幾種溫度下的聲速:表1 聲速與溫度的關(guān)系表溫度(攝氏度)3020100102030100聲速(米秒)313319325323338344349386在使用時(shí),如果溫度變化不大,則可認(rèn)為聲速c是基本不變的,計(jì)算時(shí)取c為340m/s。如果測(cè)距精度要求很高,則可通過改變硬件電路增加溫度補(bǔ)償電路的方法或者在硬件電路基本不變的情況下通過軟件改進(jìn)算法的方法來加以校正。在本系統(tǒng)中利用AT89S52中的定時(shí)器測(cè)量超聲波傳播時(shí)間

18、,利用DS18B20測(cè)量環(huán)境溫度,從而提高測(cè)距精度??諝庵新曀倥c溫度的關(guān)系可表示為:聲速確定后,只要測(cè)得超聲波往返的時(shí)間,即可求得距離:l=1/2(331.4+0.6T)t。 (系統(tǒng)中應(yīng)用該式進(jìn)行溫度補(bǔ)償)如果為了進(jìn)一步提高測(cè)量精度,本設(shè)計(jì)中將根據(jù)需要利用軟件方式增加角度補(bǔ)償?shù)脑O(shè)計(jì):。 (系統(tǒng)中應(yīng)用該式進(jìn)行角度補(bǔ)償)3.系統(tǒng)主要硬件電路設(shè)計(jì)31 超聲波測(cè)距系統(tǒng)電路總體設(shè)計(jì)方案本系統(tǒng)硬件部分由AT89S52控制器、超聲波發(fā)射電路與接收電路、溫度測(cè)量電路、聲音報(bào)警電路和LCD顯示電路組成。汽車行進(jìn)時(shí)LCD顯示環(huán)境溫度,當(dāng)?shù)管嚂r(shí),發(fā)射和接收電路工作,經(jīng)過AT89S52數(shù)據(jù)處理將距離也顯示到LCD上,

19、如果距離小于設(shè)定值時(shí),報(bào)警電路會(huì)鳴叫,提醒司機(jī)注意車距。超聲波測(cè)距器的系統(tǒng)框圖如下圖所示:圖5 系統(tǒng)設(shè)計(jì)總框圖由單片機(jī)AT89S52編程產(chǎn)生10us以上的高電平,由指定引腳輸出,就可以在指定接收口等待高電平輸出。一旦有高電平輸出,即在模塊中經(jīng)過放大電路,驅(qū)動(dòng)超聲波發(fā)射探頭發(fā)射超聲波。發(fā)射出去的超聲波經(jīng)障礙物反射回來后,由超聲波接收頭接收到信號(hào),通過接收電路的處理,指定接收口即變?yōu)榈碗娖?,讀取單片機(jī)中定時(shí)器的值。單片機(jī)利用聲波的傳播速度和發(fā)射脈沖到接收反射脈沖的時(shí)間間隔計(jì)算出障礙物的距離,并由單片機(jī)控制顯示出來。由時(shí)序圖可以看出,超聲波測(cè)距模塊的發(fā)射端在T0時(shí)刻發(fā)射方波,同時(shí)啟動(dòng)定時(shí)器開始計(jì)時(shí),

20、當(dāng)收到回波后,產(chǎn)生一負(fù)跳變到單片機(jī)中斷口,單片機(jī)響應(yīng)中斷程序,定時(shí)器停止計(jì)數(shù)。計(jì)算時(shí)間差,即可得到超聲波在媒介中傳播的時(shí)間t,由此便可計(jì)算出距離。圖6 時(shí)序圖3.2 超聲波發(fā)射和接收電路的設(shè)計(jì)分立元件構(gòu)成的發(fā)射和接收電路容易受到外界的干擾,體積和功耗也比較大。而集成電路構(gòu)成的發(fā)射和接收電路具有調(diào)試簡(jiǎn)單,可靠性好,抗干擾能力強(qiáng),體積小,功耗低的優(yōu)點(diǎn),所以優(yōu)先采用集成電路來設(shè)計(jì)收發(fā)電路。321 超聲波發(fā)射電路超聲波發(fā)射電路包括超聲波產(chǎn)生電路和超聲波發(fā)射控制電路兩部分,可采用軟件發(fā)生法和硬件方法產(chǎn)生超聲波。在超聲波的發(fā)射電路的設(shè)計(jì)中,我們采用電路結(jié)構(gòu)簡(jiǎn)單的集成電路構(gòu)成發(fā)射電路: 圖7 由反相器構(gòu)成的

21、超聲波發(fā)射電路圖7是由反相器74HC04構(gòu)成的發(fā)射電路,用反相器74HC04構(gòu)成的電路簡(jiǎn)單,調(diào)試容易,易通過軟件控制。單片機(jī)輸出的方波經(jīng)過反相器接到發(fā)射器T1的兩極,用圖中的推挽形式將方波信號(hào)加到發(fā)射器T1兩端,可以提高發(fā)射器T1的發(fā)射強(qiáng)度。圖中把兩個(gè)非門的輸出接到一起的目的是為了提高其吸入電流,電路驅(qū)動(dòng)能力提高。74HC04是一個(gè)高速CMOS六反相器,具有對(duì)稱的傳輸延遲和轉(zhuǎn)換時(shí)間,而相對(duì)于LSTTL邏輯IC,它的功耗減少很多。另外,上拉電阻R1、R2一方面可以提高反相器74HC04輸出高電平的驅(qū)動(dòng)能力,另一方面可以增加發(fā)射器T1的阻尼效果,縮短其自由振蕩的時(shí)間。3.2.2 超聲波接收電路圖8

22、是由CX20106構(gòu)成的接收電路,在實(shí)物的制作過程中,我們將用CX20106A這一型號(hào)代替。CX20106A是索尼公司生產(chǎn)的彩電專用紅外遙控接收器,是CX20106的改進(jìn)型,也可用于超聲波測(cè)試,有較強(qiáng)的抗干擾性和靈敏度。CX20106A采用單列8腳直插式,超小型封裝,+5V供電。管腳1是超聲波信號(hào)輸入端,其輸入阻抗約為40K;管腳2的R1、C4決定接收器R的總增益,增大電阻R1或減小電容C4,將使放大倍數(shù)下降,負(fù)反饋量增大,電容C4的改變會(huì)影響到頻率特性,實(shí)際使用中一般不改動(dòng);管腳3與GND之間連接檢波電容C2,考慮到檢波輸出的脈沖寬度變動(dòng)大,推薦參數(shù)為3.3uF;管腳5上的電阻R2用以設(shè)置帶

23、通濾波器的中心頻率,阻值越大,中心頻率越低,取R2=200K時(shí),中心頻率約為42KHZ;管腳6與GND之間接入一個(gè)積分電容C3,電容值越大,探測(cè)距離越短;管腳7是遙控命令輸出端,它是集電極開路的輸出方式,因此該引腳必須接上一個(gè)上拉電阻到電源端,沒接收信號(hào)時(shí),該端輸出為高電平,有信號(hào)時(shí)則會(huì)下降;管腳8接+5V電源。 圖8 CX20106構(gòu)成的接收電路綜合以上的分析,在由集成電路構(gòu)成的接收和發(fā)射電路中,發(fā)射電路我們選用由反相器構(gòu)成的電路,接收電路采用由紅外接收檢波芯片CX20106A構(gòu)成,主要是考慮到系統(tǒng)的調(diào)試簡(jiǎn)單,成本低以與可靠性好。3.3 單片機(jī)主機(jī)系統(tǒng)電路3.3.1 復(fù)位電路單片機(jī)在RESE

24、T端加一個(gè)大于20ms正脈沖即可實(shí)現(xiàn)復(fù)位,上電復(fù)位和按鈕組合的復(fù)位電路如圖9。在系統(tǒng)上電的瞬間,RST與電源電壓同電位,隨著電容的電壓逐漸上升,RST電位下降,于是在RST形成一個(gè)正脈沖。只要該脈沖足夠?qū)捑涂梢詫?shí)現(xiàn)復(fù)位。當(dāng)人按下按鈕SW1時(shí),使電容C1通過R1迅速放電,待SW1彈起后,C1再次充電,實(shí)現(xiàn)手動(dòng)復(fù)位。圖9 復(fù)位電路3.3.2 時(shí)鐘電路 當(dāng)使用單片機(jī)的部時(shí)鐘電路時(shí),單片機(jī)的XTAL1和XTAL2用來接石英晶體和微調(diào)電容,如圖10所示。圖10 時(shí)鐘電路3.3.3 按鍵電路我們通過P1.0來啟動(dòng)測(cè)量,程序過查詢P1.0的電平來檢測(cè)是否按鍵被按下,在軟件過軟件延時(shí)來消除按鍵的機(jī)械抖動(dòng)。 圖

25、11 按鍵電路3.3.4 蜂鳴器電路本次設(shè)計(jì)通過一只蜂鳴器來提示用戶按鍵按下了,現(xiàn)在單片機(jī)開始了測(cè)距。蜂鳴器是一塊壓電晶片,在其兩端加上3-5V的直流電壓,就能產(chǎn)生3KHz的蜂鳴聲,電路如圖12。通過單片機(jī)軟件產(chǎn)生3KHz的信號(hào)從P3.7口送到三極管9013的基極,控制著電壓加到蜂鳴器上,驅(qū)動(dòng)蜂鳴器發(fā)出聲音。圖12 蜂鳴器電路3.3.5 溫度測(cè)量電路由于超聲波的傳播速度c會(huì)受溫度、濕度、壓強(qiáng)等的影響,其中溫度的影響尤為嚴(yán)重。因此在測(cè)量精度要求高的場(chǎng)合,應(yīng)通過溫度補(bǔ)償對(duì)超聲波的傳播速度進(jìn)行校正,以減小誤差。圖13 溫度檢測(cè)電路本系統(tǒng)采用DALLAS公司的DS18B20數(shù)字式溫度傳感器進(jìn)行溫度測(cè)量

26、,它所測(cè)量的溫度值用9位二進(jìn)制數(shù)直接表示,這些值通過DS18B20的數(shù)據(jù)總線直接輸入CPU,無需A/D轉(zhuǎn)換,而且讀寫指令、溫度轉(zhuǎn)換指令都是通過數(shù)據(jù)總線傳入DS18B20,無需外部電源。DS18B20數(shù)字溫度傳感器與AD590、LM35等溫度傳感器相比,具有相當(dāng)?shù)臏y(cè)溫圍和精度,溫度測(cè)量精確、不受外界干擾等優(yōu)點(diǎn)。3.3.6 LCD顯示電路 本設(shè)計(jì)采用LCD液晶顯示屏來顯示距離和溫度,具有體積小、功耗低、界面美觀大方等優(yōu)點(diǎn),這里使用YB1602液晶屏,它具有16個(gè)引腳,其正面左起為第一腳,如圖14所示: 圖14 LCD1602實(shí)物第一腳VSS:接地。第二腳VDD:+5V電源。第三腳VEE:對(duì)比度調(diào)整

27、端。使用時(shí)通過接一個(gè)10K的電阻來調(diào)節(jié)。第四腳RS:寄存器選擇信號(hào)線,H為數(shù)據(jù)選擇,L為指令選擇。第五腳RW:讀寫信號(hào)線。第六腳E :使能端,當(dāng)E由高電平跳變?yōu)榈碗娖綍r(shí)執(zhí)行命令。第7-14腳:8位數(shù)據(jù)線D0-D7。第十五腳BLA:背光電源正極輸入端。第十六腳BLK:背光電源負(fù)極輸入端。 圖15 LCD顯示電路3.3.7 電源電路 電源電路采用普通可調(diào)電源供電,該電源不含穩(wěn)壓器,所以在設(shè)計(jì)中需要用穩(wěn)壓器進(jìn)行穩(wěn)壓。我們選用LM7805來獲得穩(wěn)定的+5V直流電壓。輸入電壓(21V)經(jīng)過7805的穩(wěn)壓輸出+5V的電壓,圖中的D2為保護(hù)7805,防止電源極性接反損壞7805,濾波電容采用100uF電解和

28、104瓷片電容并聯(lián)使用,電磁兼容的實(shí)踐證明,兩個(gè)差100倍的電容并聯(lián)使用效果很好。本設(shè)計(jì)電源電路如下:圖16 電源電路4.系統(tǒng)軟件設(shè)計(jì)4.1 系統(tǒng)程序的結(jié)構(gòu)(1)DS18B20溫度傳感器接口模塊,分為初始化程序、寫入命令以與讀取子程序等部分;(2)基于YB1602的顯示模塊,分為初始化子程序、寫入子程序以與顯示子程序;(3)溫度補(bǔ)償與距離計(jì)算模塊,分為超聲波發(fā)送控制程序、接收處理程序、溫度補(bǔ)償子程序等。本次設(shè)計(jì)使用C語言編寫程序,C語言相比匯編有許多的優(yōu)勢(shì),編譯器使用KeilVersion2進(jìn)行程序編譯,Keil功能強(qiáng)大使用方便。在編譯完成后,通過Proteus軟件進(jìn)行仿真,對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證和優(yōu)

29、化。如圖17所示描述了各個(gè)模塊的關(guān)系: 圖17 系統(tǒng)軟件方框圖4.2 系統(tǒng)主程序本設(shè)計(jì)主程序的思想如下:(1)溫度為兩位顯示,距離為四位顯示單位為mm;(2)溫度每隔900ms采樣一次,DS18B20在12位精度下轉(zhuǎn)換周期為750ms ,故900ms滿足該速度要求;超聲波每隔60ms發(fā)送一次。(3)按鍵SW2為測(cè)量啟動(dòng)鍵;(4)系統(tǒng)采用AT89S52的時(shí)鐘:12MHz,每記一次數(shù)為1us; 圖18 主程序流程圖4.3 40KHz超聲波發(fā)送子程序超聲波每過60ms發(fā)送一次,通過定時(shí)器T0中斷發(fā)送超聲波,超聲波發(fā)送后延時(shí)一段時(shí)間后返回,防止余波被接收頭接收誤判,流程圖如下: 圖19 超聲波發(fā)送子程

30、序流程圖4.4 DS18B20溫度采集程序DS18B20的工作流程是,初始化ROM操作指令存儲(chǔ)器操作指令數(shù)據(jù)傳輸。其工作時(shí)序包括:初始化時(shí)序、寫時(shí)序和讀時(shí)序。 圖20 溫度采集程序流程圖4.5 距離計(jì)算子程序距離計(jì)算中,實(shí)行了溫度補(bǔ)償和角度補(bǔ)償。流程圖如下: 圖21 距離計(jì)算子程序流程圖4.6 數(shù)據(jù)轉(zhuǎn)換子程序經(jīng)過程序求出的數(shù)據(jù)原碼無法直接用于顯示,必須轉(zhuǎn)換為LCD所接受的BCD碼的形式。 圖22 數(shù)據(jù)轉(zhuǎn)換子程序流程圖 4.7 LCD顯示子程序LCD液晶顯示程序分為液晶初始化、讀忙、寫指令和寫數(shù)據(jù)操作,液晶顯示器是一塊慢器件,所以在執(zhí)行每條指令之前必須確定模塊忙標(biāo)志為低電平(不忙),否側(cè)此指令無

31、效。液晶顯示子程序流程圖如下: 圖23 LCD顯示子程序在程序中,我們將測(cè)量的各種結(jié)果存放到一個(gè)數(shù)組num中,然后通過這個(gè)數(shù)組的數(shù)據(jù)到預(yù)先存放字符的數(shù)組中去按num中的數(shù)據(jù)的順序去讀取出預(yù)存在numcode中的字符然后送到LCD中顯示。4.8 基于Proteus的軟件仿真Proteus是一款功能強(qiáng)大的軟件,其ISIS用來做仿真十分方便,尤其是單片機(jī)系統(tǒng)的仿真,我們?cè)诒驹O(shè)計(jì)的開發(fā)初期,用Proteus來仿真我們的設(shè)計(jì),以便驗(yàn)證我們的設(shè)計(jì),對(duì)設(shè)計(jì)的正確性做出分析。 圖24 Proteus仿真圖用Proteus繪制好電路圖后導(dǎo)入程序文件(用Keil編譯過后的HEX文件),然后就可以執(zhí)行仿真,我們?cè)诜?/p>

32、真的時(shí)候P2.6檢測(cè)到高電平即為返回信號(hào)獲得,由于在軟件中沒有CX20106模型,所以P2.6懸空,則程序開始就認(rèn)為返回信號(hào)獲得了,所以顯示了一個(gè)最小測(cè)量值113mm,而溫度為28C,通過調(diào)節(jié)DS18B20模型的溫度可以測(cè)試顯示溫度是否正確,從圖中可以看出顯示的溫度就是DS18B20的預(yù)設(shè)溫度值。下面我們?cè)賮砜纯碢2.5口是否有發(fā)射信號(hào)的產(chǎn)生。由于是頻率比較高的信號(hào)(40KHz),所以不能通過二極管來觀察到,所以在仿真的時(shí)候P2.5一直顯示的是低電平狀態(tài),這時(shí)必須用示波器來查看,如圖:圖25 波形從上圖看出,P2.5口輸出了信號(hào),由于軟件是間隔60ms發(fā)送一次40KHZ的信號(hào),所以可以看到這樣

33、的尖脈沖信號(hào)產(chǎn)生。軟件仿真的成功說明我們的設(shè)計(jì)達(dá)到了初步的要求。5.后續(xù)研究工作由于時(shí)間不是很充裕,對(duì)系統(tǒng)的設(shè)計(jì)還存在一些不足,下一步還有以下工作要繼續(xù)進(jìn)行:5.1 超聲波發(fā)射波形的改進(jìn) 因?yàn)樵撛O(shè)計(jì)加在發(fā)射器上的電壓波形采用方波,方波含有豐富的高次諧波,不利于精確鑒相。這將增加發(fā)射波與回波的諧波失真。所以在接下來的工作中,可能會(huì)考慮用正弦波代替方波來優(yōu)化該設(shè)計(jì)。5.2 樣機(jī)的制作 由于時(shí)間關(guān)系,樣機(jī)暫時(shí)無法做出,但我們已經(jīng)和同學(xué)一起聯(lián)系商家,購買了一定的材料。5.3 進(jìn)一步研究系統(tǒng)的抗干擾性能 硬件抗干擾技術(shù)是系統(tǒng)設(shè)計(jì)時(shí)首選的抗干擾措施。常見的硬件抗干擾措施有元件的合理布局、接地的抗干擾處理、

34、隔離技術(shù)等。在制作樣機(jī)的過程中,將會(huì)采用多種抗干擾技術(shù)對(duì)系統(tǒng)進(jìn)行優(yōu)化,減小測(cè)量誤差。致本次畢業(yè)設(shè)計(jì)得以順利完成,首先要感純利老師的指導(dǎo)和大力支持。在這期間,我和老師保持著經(jīng)常性的面對(duì)面或通過形式的交流。純利老師淵博的專業(yè)知識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、精益求精的工作作風(fēng)、平易近人的人格魅力對(duì)我影響深遠(yuǎn)。在畢業(yè)設(shè)計(jì)中,純利老師對(duì)設(shè)計(jì)的思路和結(jié)構(gòu)進(jìn)行了指導(dǎo),同時(shí)也對(duì)相當(dāng)一部分專業(yè)知識(shí)方面的幫助。同時(shí),也要感大學(xué)幾年授我們以漁的老師們,是你們的諄諄教誨讓我們獲得了扎實(shí)的知識(shí),在這里表示衷心的感!參考文獻(xiàn)1 維成,加國.單片機(jī)原理與應(yīng)用與C51程序設(shè)計(jì).:清華大學(xué),20062 蔡菲娜.單片微型計(jì)算機(jī)原理和應(yīng)用.

35、:大學(xué),19953 建忠.單片機(jī)原理與應(yīng)用.:電子科技大學(xué),20024 齊等.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)基于C語言編程.:電子工業(yè),20045 吳延海.微型計(jì)算機(jī)接口技術(shù).:大學(xué),19976 麗霞.單片機(jī)在超聲波測(cè)距中的應(yīng)用J.電子技術(shù),20027 道連,寧延一,袁世良.用AT89C2051設(shè)計(jì)超聲波測(cè)距儀J.國外電子元器件,20008 鵬,有志.一種新型超生測(cè)距系統(tǒng)J.:大學(xué)學(xué)報(bào),2003,33(1)9 學(xué)海.PIC單片機(jī)實(shí)用教程基礎(chǔ)篇(第1版)M.航天航空大學(xué).:2002年2月10 賈伯年. 傳感器技術(shù). : 東南大學(xué),2000 11 大新,胡學(xué)同,周杏鵬.利用FPGA改進(jìn)超聲波測(cè)距模塊設(shè)計(jì)J

36、.傳感器技術(shù),2005,24(2): 575912 閻石. 數(shù)字電子技術(shù)基礎(chǔ). : 高等教育, 1998 13 樓然苗. 51系列單片機(jī)設(shè)計(jì)實(shí)例. : 航空航天大學(xué),1999 14 譚浩強(qiáng).C程序設(shè)計(jì)(第三版).:清華大學(xué), 200515 朱偉芳.一種便攜式長度測(cè)量系統(tǒng)的硬件設(shè)計(jì)J.電器,2005,5:14-1516 Tom R. Watt .Cooling our tomorrows economically ,ASHRAE Journal.17 Army Kayla. Improving efficiency in existing chillers with optimization t

37、echnology ,ASHRAE Journal.18 D.Pearl mutter , Eerily ,Y.Etzion ,I.A.Meir,H.Di ,Refine the use of the evaporation in an experimental down-draft cool tower ,Energys .199519 rtori S,ZHANG G X. Geometric Error Measurement and Compensation of Machines.Annals of the CIRP. 1995:599-609Ultrasonic Distance T

38、esting Systems Design Based onSingle-chip MicrocomputerAbstract Because of modern production requirements, it was discovered that the need to achieve the production of non-contact distance measurement, and ultrasonic distance measurement is a good performance of the ranging approach is mainly used i

39、n reversing radar sites as well as some industrial field, this paper designed a to AT89S52 MCU as the core of the low-cost, high-precision, LCD display of ultrasonic range finder, and use some commonly used devices such as: 74HC04, etc.System consists of microcontroller, ultrasonic transmitter and u

40、ltrasonic receiver amplifier circuit and display circuit. Chip AT89S52 control calculation by the ultrasonic transmission from transmit to receive time and hence the distance to be under test. The system has easy to detect, the software fully functional, reliable, high accuracy advantages.This paper

41、 discusses the successful development of microcomputer technology, the basic principles of ultrasonic range finder, measurement method of calculating implementations. Use of software calibration, improved accuracy and machine reliability. The actual use of that greatly improves safety, reliability a

42、nd accuracy. Keywords MCUdistance meterultrasonicsensormicrocontrollerLCD display附錄附錄一 系統(tǒng)原理圖附錄二 系統(tǒng)PCB板圖附錄三 源程序#include #include #include #define uchar unsigned char #define uint unsigned int uchar code dispBUF33=Temperature: Distance: mm ; uchar numcode10=0,1,2,3,4,5,6,7,8,9; uint num29=0; uchar jsh

43、,jsl; /計(jì)數(shù)器的高低位 uchar count=0; /10秒計(jì)次數(shù) uint distance; /距離 uint temp; /溫度變量 uchar bdata flag; /DS18B20存在標(biāo)準(zhǔn) sbit RS=P20; /LCD RS sbit RW=P21; /LCD RW sbit E =P22; /LCD E sbit DQ=P27; /DS18B20數(shù)字端口 sbit Busy = P07; /LCD 忙 void Delay(uint time); void delay1ms(uint ms); void delay(); void delay15(uchar us)

44、; void BUMA(void); void B20_WDAT(uchar dat); uchar B20_RDAT(void); void Init_18B20(void); /初始化18B20 void Write_Comm(uchar); /寫入LCD命令 void Write_Data(uchar); /寫入LCD數(shù)據(jù) void Init_LCD(void); sbit sta_flag =flag0; /10MS到標(biāo)準(zhǔn)位,flag即通用標(biāo)志位,當(dāng)sta_flag=1時(shí),表示到了10ms sbit fuhao =flag1; /溫度的符號(hào)位 sbit START =P10; /啟動(dòng)測(cè)

45、距 sbit CNT =P25; /發(fā)射超聲波 sbit CSBIN =P26; /返回信號(hào) sbit BUZZER =P37; /*定時(shí)器1溢出*/ void timer1(void)interrupt 2 using 1TR1=0;/關(guān)閉定時(shí)器/計(jì)數(shù)器1 /*定時(shí)器0溢出中斷函數(shù),每60MS溢出*/ void timer0(void)interrupt 1 using 0/定時(shí)器0 TH0=0 x15; TL0=0 xA0;/定時(shí)器0設(shè)定初值 TH1=0; TL1=0;/計(jì)數(shù)器1清零 sta_flag=1; count+; _nop_(); _nop_(); _nop_(); _nop_(

46、); CNT=1; /先延時(shí),后開始發(fā)送40KHz的超聲波 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); /40KHZ的倒數(shù)就是25us,12個(gè)_nop_();就是24us CNT=0;/保持一段時(shí)間高電平 _nop_(); _nop_(); _nop_(); _nop_(); TR1=1;/延時(shí),避免直達(dá)信號(hào)干擾,啟動(dòng)定時(shí)器/計(jì)數(shù)器1 delay15(50); /延時(shí)避開直達(dá)信號(hào) /*系統(tǒng)初始化*/ void SYS_INI

47、T() uchar i; for(i=0;i29;i+) /顯示清零 numi=0; TMOD=0 x11; /工作方式寄存器TMOD,設(shè)置定時(shí)器/計(jì)數(shù)器0和1均為16位定時(shí)/計(jì)數(shù)器 TH0 =0 x15; TL0 =0 xA0; /設(shè)置定時(shí)器/計(jì)數(shù)器0的初值,60ms溢出 P0 =0; CNT=0; /P25口,發(fā)射發(fā)射超聲波 CSBIN=1; /P26口,接收信號(hào) EA =1; /開總中斷 /*距離計(jì)算*/ void JULIJS() /使用全局變量,可以定義為空 float c,d,s; uint t; if(temp0 x8000) c=331.4+0.61*temp*0.0625;

48、else/溫度為負(fù) c=331.4-0.61*temp*0.0625; t=jsh*256+jsl-120; /計(jì)算計(jì)數(shù)值 d=(c*t*0.001)/2; d*=d; s=d-7.98; distance=sqrt(s); /修正后的值,數(shù)據(jù)通過全局變量distance傳輸 /*轉(zhuǎn)換成2進(jìn)制*/ void HEXtoBCD() float tp; unsigned long int tmp; fuhao=0;/溫度符號(hào)位 if(temp0 x8000) tp=temp*0.0625; else /溫度為負(fù),則求補(bǔ)碼得到原碼 BUMA(); tp=temp*0.0625; fuhao=1; t

49、p*=10; tmp=tp; num12=tmp/100;/數(shù)據(jù)轉(zhuǎn)換后放到顯示數(shù)組里面 if(fuhao) num12=num12|0 x80; /最高位加上符號(hào)位 num13=tmp/10-(tmp/100)*10; tmp=distance; num25=tmp/1000; tmp%=1000; num26=tmp/100; tmp%=100; num27=tmp/10; tmp%=10; num28=tmp/1; /*溫度轉(zhuǎn)換函數(shù)*/ void TESTTEMP() Init_18B20(); /初始化18B20 if(flag) B20_WDAT(0 xCC); / 跳過讀序號(hào)列號(hào)的操

50、作,忽略ROM匹配 B20_WDAT(0 x44); / 發(fā)送溫度轉(zhuǎn)化命令 /*讀取溫度函數(shù)*/ uint GET_WD(void) uint a = 0, b = 0, t = 0;Init_18B20();/初始化18B20B20_WDAT(0 xCC); /跳過讀序號(hào)列號(hào)的操作B20_WDAT(0 xBE); /發(fā)送讀溫度命令a = B20_RDAT(); b = B20_RDAT(); /讀取一個(gè)字節(jié)(讀出高8位和低8位)t = b;t 0; i-) DQ = 0; / 拉低數(shù)據(jù)線,開始讀數(shù)據(jù) dat = 1; DQ = 1; / 拉高數(shù)據(jù)線,停止讀數(shù)據(jù) if(DQ) dat |= 0

51、 x80; /拼裝處理 Delay(15); return (dat); /注意讀取的為補(bǔ)碼 /*寫數(shù)據(jù)*/ void B20_WDAT(uchar dat) uchar i = 0; for (i = 8; i 0; i-) DQ = 0;/拉低數(shù)據(jù)線至少15us以作為起始信號(hào) DQ = dat&0 x01;/取出低位的一位數(shù)據(jù) Delay(5);/稍作延時(shí)DQ = 1;/將數(shù)據(jù)線拉高以作為停止信號(hào) dat=1;/移位,為寫入下一位數(shù)據(jù)做準(zhǔn)備 /*數(shù)據(jù)轉(zhuǎn)換函數(shù)*/void BUMA() temp=temp; /按位取反 temp+=1; /*LCD顯示函數(shù)*/ void LCD_DISP() uchar a,b,d; Init_LCD(); Write_Comm(0 x01); /清顯示 Write_Comm(0 x80); /寫首地址 for(a=0;a11)&(a14) /如果是結(jié)果位到num里面讀取 d=numcodenuma; /待顯示的結(jié)果 if(14=a) d=0 xdf; Write_Data(d);/寫入要顯示的數(shù)據(jù) Write_Co

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論