




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.基于單片機的超聲波測距系統 摘要 超聲波是指頻率在20kHz以上的聲波,它屬于機械波的范疇。超聲波也遵循一般機械波在彈性介質中的傳播規律,如在介質的分界面處發生反射和折射現象,在進入介質后被介質吸收而發生衰減等。正是因為具有這些性質,使得超聲波可以用于距離的測量中。隨著科技水平的不斷提高,超聲波測距技術被廣泛應用于人們日常工作和生活之中。 系統的設計主要包括兩部分,即硬件電路和軟件程序。硬件電路主要包括單片機電路、發射電路、接收電路、顯示電路和電源電路,另外還有復位電路和LED控制電路等。我采用以AT89C51單片機為核心的低成本、高精度、微型化數字顯示超聲波測距儀的硬件電路。整個電路采用模
2、塊化設計,由信號發射和接收、供電、溫度測量、顯示等模塊組成。發射探頭的信號經放大和檢波后發射出去,單片機的計時器開始計時,超聲波被發射后按原路返回,在經過放大帶通濾波整形等環節,然后被單片機接收,計數器停止工作并得到時間。溫度測量后送到單片機,通過程序對速度進行校正,結合兩者實現超聲波測距的功能。軟件程序主要由主程序、預置子程序、發射子程序、接收子程序、顯示子程序等模塊組成。它控制單片機進行數據發送與接收,在一定溫度下對超聲波速度的校正,還有實現數據正確顯示在LED上。另外程序控制單片機消除各探頭對發射和接收超聲波的影響。相關部分附有硬件電路圖、程序流程圖。 實際的環境對超聲波有很大的影響,如
3、外部電磁干擾電源干擾信道干擾等等,空氣的溫度對超聲波的速度影響也很大。此外供電電源也會使測量差生很大的誤差。再設計的過程中考慮了這些因素,并給出了一些解決方案。關鍵詞AT89C51超聲波測距 目錄第一章 緒論 .3 1.1 超聲波測距背景意義. 3 1.2 本設計任務的主要內容. 3第二章 總體設計方案.4 2.1 超聲波測距系統原理.4 2.2 超聲波測距系統框圖. 4第三章 系統主要硬件設計.5 3.1超聲波收發射電路.5 3.2單片機主機系統電路.6 3.2.1 單片機電路.7 3.2.2 復位電路.7 3.2.3 時鐘電路.8 3.2.4 按鍵電路.9 3.2.5 蜂鳴器電路.10 3
4、.3 溫度采集DS18B20電路.11 3.4 LCD顯示電路.12第四章 系統軟件設計.13 4.1系統程序的結構.14 4.2 系統主程序.15第五章 基于Proteus的軟件仿真.16第六章 總結.19參考文獻.20附錄.21 第一章 緒論1.1 超聲波測距背景意義在基于傳統的測力距離存在不可克服的缺陷。例如,液面測量就是一種距離測量,傳統的電極法是采用差位分布電極,通過給電或脈沖來檢測液面,電極長期浸泡于水中或其他液體中,極易被腐蝕、電解,失去靈敏性。由于超聲波具有強度大,方向性好等特點,利用超聲波測量距離就可以解決這些問題,因此超聲波測量距離技術在工業控制、勘探測量、機器人定位和安全
5、防范等領域得到了廣泛的應用。 超聲波測距電路可以由傳統的模擬或者數字電路構建,但是基于這些傳統電路構建的系統往往可靠性差,調試困難,可擴展性差,所以基于單片機的超聲波測距系統被廣泛的應用。通過簡單的外圍電路發生和接收超聲波,單片機通過采樣獲取到超聲波的傳播時間,用軟件來計算出距離,并且可以采集環境溫度進行測距補償,其測量電路小巧,精度高,反映速度快,可靠性好1.2本設計任務的主要內容 1超聲波測距儀設計要求如下: 1) 測量距離6m; 2) 精度優于1%; 3) 進行溫度補償; 4) 顯示方式采樣LCD; 5) 具有抗干擾能量; 6) 體積小、功耗低、便于嵌入到其他系統。2 硬件電路的設計 1
6、) 元件的選擇; 3 系統軟件的編寫 1) 軟件的編寫和編譯檢查; 2) 基于Proteus的軟件仿真。 第二章 總體設計方案2.1超聲波測距系統原理 在超聲探測電路中,發射端得到輸出脈沖為一系列方波,其寬度為發射超聲的時間間隔,被測物距離越大,脈沖寬度越大,輸出脈沖個數與被測距離成正比。超聲測距大致有以下方法: 取輸出脈沖的平均值電壓,該電壓 (其幅值基本固定 )與距離成正比,測量電壓即可測得距離; 測量輸出脈沖的寬度,即發射超聲波與接收超聲波的時間間隔 t,故被測距離為 S=12vt。本測量電路采用第二種方案。由于超聲波的聲速與溫度有關,如果溫度變化不大,則可認為聲速基本不變 。如果測距精
7、度要求很高,則應通過溫度補償的方法加以校正。超聲波測距適用于高精度的中長距離測量。因為超聲波在標準空氣中的傳播速度為331.45米/秒,由單片機負責計時,單片機使用12.0M晶振,所以此系統的測量精度理論上可以達到毫米級。 超聲波測距的算法設計: 超聲波在空氣中傳播速度為每秒鐘340米(15時)。X2是聲波返回的時刻,X1是聲波發聲的時刻,X2-X1得出的是一個時間差的絕對值,假定X2-X1=0.03S,則有340m0.03S=10.2m。由于在這10.2m的時間里,超聲波發出到遇到返射物返回的距離如下: L=340*(X2-X1)/22.2超聲波測距器的系統框圖如下圖所示: 圖1 系統框圖
8、第三章 系統主要硬件設計3.1超聲波收發射電路 由非門構成的一個振蕩器發送電路,用非門構成的電路簡單,調試容易。很容易通過軟件控制。圖中把兩個非門的輸出接到一起的目的是為了提高其吸入電流,電路驅動能力提高。 圖2 由非門構成的超聲波發射電路 圖 3 CX20106構成的接收電路以上為常用的發射和接收電路,分立元件構成的收發電路容易受到外界的干擾,體積、功耗也比較大。而集成電路構成的發射和接收電路具有調試簡單,可靠性好,抗干擾能力強,體積小,功耗低的優點,所以首先考慮采用集成電路來組成收發電路。 在由集成電路構成的收發電路中,發射電路我們選用由非門構成,接收電路采用由紅外接收檢波芯片CX2010
9、6構成,主要是考慮到系統的調試簡單、成本低、可靠性好。3.2單片機主機系統電路 本次我們采用了Atmel 公司的AT89S52,該單片機主要特點如下:(1) AT89S52系列單片機以8051為內核,兼容MCS-51系列單片機。(2) AT89S52系列單片機內、內部含有Flash存儲器,在系統開發可以反復擦寫。(3) AT89S52采用靜態時鐘方式,可以節省電能。(4) AT89S52支持ISP(在線編程),不需要把單片機從電路板取下來就可以擦寫程序。(5) AT89S52晶振頻率高達24M,運行速度更快。(6) AT89S52價格也比較便宜 6元/片(7) 增加了看門狗電路,防止程序“走飛
10、”,更加安全可靠。 3.2.1單片機電路 圖4 單片機主電路 引腳功能:P0口用來送顯示信號給LCD的數據為,P20P22送命令到LCD控制LCD的顯示方式。P3.7為DS18B20溫度數據采集端。P1.0接測量按鍵。3.2.2 復位電路 單片機在RESET端加一個大于20ms正脈沖即可實現復位,上電復位和按鈕組合的復位電路如下: 圖5 復位電路在系統上電的瞬間,RST與電源電壓同電位,隨著電容的電壓逐漸上升,RST電位下降,于是在RST形成一個正脈沖。只要該脈沖足夠寬就可以實現復位,即ms。一般取R1,C22uF。 當人按下按鈕S1時,使電容C1通過R1迅速放電,待S1彈起后,C再次充電,實
11、現手動復位。R1一般取200。3.2.3 時鐘電路 當使用單片機的內部時鐘電路時,單片機的XATL1和XATL2用來接石英晶體和微調電容,如圖所示,晶體一般可以選擇3M24M,電容選擇30pF左右。我們選擇晶振為12MHz,電容33pF。 圖6 時鐘電路3.2.4 按鍵電路 我們通過P1.0來啟動測量,程序中通過查詢P1.0的電平來檢測是否按鍵被按下,電路原理如下: 圖7按鍵電路 當按下按鍵時P1.0為低電平,單片機通過 查詢到低電平開始測量距離,當松開按鍵,P1.0即為高電平。在軟件中通過軟件延時來消除按鍵的機械抖動。3.2.5 蜂鳴器電路 工作原理:當P3.4輸出高電平時,Q3導通,Q5截
12、止,蜂鳴器回路開路,蜂鳴器不響。當P3.4輸出高電平時,Q3截止,Q5導通,蜂鳴器回路閉合,蜂鳴器發出響聲。電路組成如圖8示: 圖 8蜂鳴器電路3.3 溫度采集DS18B20電路物理學告訴我們,超聲波在空氣中的傳播速度為:,由此可見,超聲波的速度和溫度密切關系,即溫度每增加1C,超聲波速度約增加0.61m/s,本次我們考慮溫度補償,以使我們的設計更加精確,溫度的采集通常使用DS18B20一線式數字溫度傳感器,電路非常簡潔,具體電路圖如下圖所示。DS18B20是美國DALLS公司推出的DS1820的替代產品,具有9、10、11、12位的轉換精度,未編程時默認的精度是12位,測量精度一般為0.5C
13、,軟件處理后可以達到0.1C,溫度輸出以16位符號擴展的二進制數形式提供,低位在先,以0.0625C/LSB形式表達。其中高五位為擴展符號位。轉換周期與轉換精度有關,9位轉換精度時,最大轉換時間為93.7 ms,12位轉換精度時,最大轉 換時間為750ms。DS18B20引腳判斷方法是:字面朝人,從左到右依次是1 (GND)、2(輸入/輸出)、3(VDD)。圖中的R4為上拉電阻,阻值選5K左右。 圖3.5.1 DS18B20溫度傳感器 3.4 LCD顯示電路 本設計采用LCD液晶顯示屏顯示。其具有體積小、功耗低、界面美觀大方等優點,這里使用YB1602液晶屏,1602顯示模塊用點陣圖形顯示字符
14、,顯示模式分為2行16個字符。它具有16個引腳,其正面左起為第一腳,如下圖所示:第一腳GND:接地。第二腳VCC:+5V電源。第三腳VO:對比度調整端。使用時通過接一個10K的電阻來調節。第四腳RS:寄存器選擇信號線。第五腳RW:讀寫信號線。第六腳E:使能端,當E由高電平跳變為低電平時執行命令。第714腳:8位數據線D0D7。第十五腳BLA:背光電源正極輸入端。第十六腳BLK:背光電源負極輸入端。 圖3.5.2 LCD顯示電路 1602液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都
15、有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。因為1602識別的是ASCII碼,試驗可以用ASCII碼直接賦值,在單片機編程中還可以用字符型常量或變量賦值,如A。1602通過D0D7的8位數據端傳輸數據和指令。顯示模式設置: (初始化)0011 0000 0x38設置162顯示,57點陣,8位數據接口;顯示開關及光標設置: (初始化)0000 1DCB D顯示(1有效)、C光標顯示(1有效)、B光標閃爍(1有效)0000 01NS N=1(讀或寫一個字符后地址指針加1 &光標加1),N=0
16、(讀或寫一個字符后地址指針減1 &光標減1),S=1 且 N=1 (當寫一個字符后,整屏顯示左移)s=0 當寫一個字符后,整屏顯示不移動數據指針設置:數據首地址為80H,所以數據地址為80H+地址碼(0-27H,40-67H)其他設置:01H(顯示清屏,數據指針=0,所有顯示=0);02H(顯示回車,數據指針 =0)。第四章 系統軟件設計4.1 系統程序的結構(1)DS18B20溫度傳感器接口模塊,分為初始化程序、寫入命令以及讀取子程序等部分;(2)基于YB1602的顯示模塊,分為初始化子程序、寫入子程序以及顯示子程序;(3)溫度補償與距離計算模塊、分為超聲波發送控制程序、接收處理程序、溫度補
17、償子程序等; (4)本次設計使用C語言編寫程序,C語言相比匯編有許多的優勢;編譯器使用Keil Version2進行程序編譯,Keil功能強大使用方便。(5) 主程序,分為系統初始化、按鍵處理以及各個子程序的調度管理等部分。如圖4.1.1所示描述了各個模塊的關系:圖 4.1.1 系統軟件方框圖4.2 系統主程序 本設計主程序的思想如下: (1)溫度為兩位顯示,距離為四位顯示單位為mm; (2)溫度每隔900ms采樣一次,DS18B20在12位精度下轉換周期為750ms ,故900ms滿足該速度要求;超聲波每隔60ms發送一次。 (3)按鍵S為測量啟動鍵; (4)系統采用AT89S52的內時鐘:
18、12MHz; (5)沒有使用看門狗功能; (6)超聲波發送一定時間后才開始啟動檢測,避免直達信號造成誤判。所以系統最小測量約為112mm;系統主程序見附錄 第五章基于Proteus的軟件仿真 Proteus是一款功能強大的軟件,其ISIS用來做仿真十分方便,尤其是單片機系統的仿真,我們在本設計的開發初期,用Proteus來仿真我們的設計,以便驗證我們的設計,對設計的正確性做出分析。首先在軟件中找到我們設計用的元件,然后連接好電路圖,設置好各個元件的參數值,特別注意液晶顯示屏的連接需要接上拉電阻。用Proteus繪制好電路圖后導入程序文件(用Keil編譯過后的HEX文件),然后就可以執行仿真,我
19、們在仿真的時候P2.6檢測到高電平即為返回信號獲得,由于在軟件中沒有CX20106模型,所以P2.6懸空,則程序開始就認為返回信號獲得了,所以顯示了一個最小測量值112mm,而溫度為22C,通過調節DS18B20模型的溫度可以測試顯示溫度是否正確,從圖中可以看出顯示的溫度就是DS18B20的預設溫度值。當將溫度調到30C通過計算距離增加符合程序設計。從圖中可以看出顯示的溫度就是DS18B20的預設溫度值。下面我們在來看看P2.5口是否有發射信號的產生。由于是頻率比較高的信號(40KHz),所以不能通過二極管來觀察到,所以在仿真的時候P2.5一直顯示的是低電平狀態,這時必須用示波器來查看,如圖:
20、 從上圖看出,P2.5口輸出了信號,由于軟件是間隔60MS發送一次40KHz的信號,所以可以看到這樣的尖脈沖信號產生。軟件仿真說明我們的軟件設計非常成功。第五章 總結在即將畢業之際,做一個系統的設計可以對自己三年的所學做一個總結,也是給自己以后工作增添一份信心。以上基于單片機的超聲波的測距系統的設計包含了:電路分析、數字、模擬電路和單片機、EDA、傳感器、C語言等方面的知識,另外還有選材購買、動手制作等方面。所以具有很高的參考價值,同時,該設計的方案也是來源于生活中廣泛的應用領域,有很強的應用價值。單片機的應用改變了傳統的設計思路,以前構建一個系統需用用很多的數字模擬器件或者電路單元來構建,系
21、統可靠性差、缺乏靈活性、維護不便、成本高、無法實現智能化等諸多缺點。單片機的應用解決了很多問題,現在只要寫一個軟件,通過單片機和一些簡單的外接電路就可以實現具有很多功能的、而且具有智能化的系統,同時可方便升級維護。所以單片機的應用廣泛,在日常生活和生產中占用重要位置。所以我們設計選擇了單片機的系統其說明我們深深的意識到它的重要作用。同時,我們的設計包含了EDA技術,EDA也是現在的熱門技術,人們設計了計算機,同時計算機又輔助人們的設計,計算機的強大幫助我們完成了很多工作,以前一個產品可能需要半年甚至一年的設計周期,而現在借助于計算機的強大計算能力,EDA軟件的輔助,使得設計周期減少到幾個月甚至
22、幾周。我們在使用EDA軟件后也深深的體會到其強大的功能,令人興奮不已。所以我們意識到掌握好EDA技術是電子專業學生必須的。設計中也“小試牛刀”的使用了我們傳感器課程所學的超聲波的知識;在做光耦電路部分的時候三極管的計算用到了電路分析;模擬電子技術的知識;單片機程序設計使用了C語言來編寫程序,感受到了C語言的魅力所在。可以說該設計的過程是對我們三年所學的一次總結。通過以上的設計過程,我們不但在知識上收獲了,而且發現了自己的一些不足之處;同時,我們也對自己的動手能力有所鍛煉,而且一次成功的經歷給我增添了不少的信心。我們相信,畢業后,把這種學習的興趣和努力的精神發揮到工作中一定能有所作為!參考文獻1
23、李忠國.單片機應用技能訓練.北京:人民郵電出版社,20062李朝青.單片微機原理及接口技術.北京:北京航空航天大學出版社,19983林全新.單片機原理與接口技術.北京:人民郵電出版社,2002(184186)4潘新民,王燕芳.微型計算機控制技術.北京:電子工業出版社,20115楊素行.模擬電子技術基礎簡明教程.北京:高等教育出版社,20066何立民.嵌入式系統可靠性設計得探討.浙江:浙江大學學報,1998(增刊)7譚浩強.C程序設計.北京:清華大學出版社,20058沈紅衛.單片機應用系統設計實例與分析.北京航空航天大學出版社,19999韓志軍,沈晉源,王振波.單片機應用系統設計.機械工業出版社
24、,200510錢逸秋.單片機原理與應用.北京:電子工業出版社,200211于孟嘗.數字電子技術基礎簡明教程.北京:高等教育出版社,2006.712 馬云峰.數字溫度傳感器DS18B20的原理與應用.北京:電子工業出版社,2002. 附錄部分源程序#includereg52.h #includeintrins.h #includemath.h #define uchar unsigned char #define uint unsigned int #define Lcd_Data P0 /定義LCD數據端口 /定義顯示緩沖 uchar code dispbuf33=Temperature: C
25、Distance: mm ; uchar numcode10=0,1,2,3,4,5,6,7,8,9; uint num29=0; uchar jsh,jsl; /計數器的高低位 uchar count=0; /10秒計次數 uint distance; /距離 sbit RS=P20; /LCD RS sbit RW=P21; /LCD RW sbit E =P22; /LCD E sbit Busy = P07; /LCD 忙 uchar bdata flag; /DS18B20存在標準 sbit DQ =P27; /DS18B20數字端口 uint temp; /溫度變量 void de
26、lay(void); /延時函數 void Init_LCD(void); /初始化LCD void Write_Comm(uchar); /寫入LCD命令 void Write_Data(uchar); /寫入LCD數據 void Read_Busy(void); /檢查LCD是否忙 void Init_18B20(void); /初始化18B20 uchar ReadOneChar(void); /讀取一個字節 void WriteOneChar(uchar dat) ;/寫入一個字節 void testtemp(void); /啟動溫度轉換,啟動后750MS才能讀取到溫度 uint wd(void); /讀取溫度 void Delay(uint time); /延時函數 sbit sta_flag =flag0; /10MS到標準位 sbit fuhao =flag1; /
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 火花線切割機床項目投資可行性研究分析報告(2024-2030版)
- 中國醫用純化水設備行業發展監測及發展戰略規劃報告
- 中國汽車平衡塊行業市場全景評估及發展戰略規劃報告
- 中國電容器用薄膜市場調查報告
- 2025年中國氣瓶光面環規行業市場發展前景及發展趨勢與投資戰略研究報告
- 2025-2030年中國全鋼中央臺項目投資可行性研究分析報告
- 中國川烏頭行業市場深度評估及投資戰略規劃報告
- 中國回光燈市場發展前景預測及投資戰略咨詢報告
- 早教班老師培訓課件
- 同城配送合同
- 高三家長會班主任發言稿課件
- 學前幼兒園-《快樂的小鼴鼠》教學課件設計
- 3停止間轉法教案
- 2022-2023學年重慶市合川市三下數學期末學業質量監測模擬試題含解析
- 全過程造價咨詢服務實施方案
- 初二生地會考復習資料全
- 里氏硬度法檢測鋼材強度范圍記錄表、鋼材里氏硬度與抗拉強度范圍換算表
- 四川省宜賓市翠屏區中學2022-2023學年數學八年級第二學期期末檢測試題含解析
- 2020-2021成都石室聯合中學蜀華分校小學數學小升初模擬試卷附答案
- 某冶金機械廠供配電系統設計
- 《在中亞細亞草原上》賞析 課件
評論
0/150
提交評論