畢業(yè)設計(論文)單片機在汽車倒車系統(tǒng)的應用_第1頁
畢業(yè)設計(論文)單片機在汽車倒車系統(tǒng)的應用_第2頁
畢業(yè)設計(論文)單片機在汽車倒車系統(tǒng)的應用_第3頁
畢業(yè)設計(論文)單片機在汽車倒車系統(tǒng)的應用_第4頁
畢業(yè)設計(論文)單片機在汽車倒車系統(tǒng)的應用_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、專科畢業(yè)設計(論文)設計題目: 單片機在汽車倒車系統(tǒng)的應用 系 部: 電氣工程系 專 業(yè): 工企電氣自動化 班 級: 工企091301 姓 名: 學 號: 093905130108 指導教師: 職 稱: 副教授 2012年6月 南京摘 要本文提出了一種適用于可移動智能機器人定位、測障及簡單形體識別的實時、高精度超聲測距處理方法。介紹了以單片機實現(xiàn)該方法的超聲測距系統(tǒng),系統(tǒng)由at89s52單片機、超聲波發(fā)射電路、超聲波接收放大電路、環(huán)境溫度采集電路及顯示電路組成。利用微處理機控制單元(mcu microprocessor control unit)控制的超聲測距儀的原理:由mcu控制時間計數(shù),計

2、算超聲波自發(fā)射至接收的往返時間,從而得到實測距離。并且在數(shù)據(jù)處理中采用了溫度補償和修正量的調(diào)整。此系統(tǒng)具有易控制、工作可靠、測距準確度高和流程清晰等優(yōu)點。關鍵詞 超聲波 測距 換能器 單片機 溫度補償。 abstractthis paper presents a suitable for mobile intelligent robot obstacle detection and positioning, simple shape recognition of real time, high precision ultrasonic distance measurement processi

3、ng method. introduced single-chip microcomputer by the method of ultrasonic ranging system, system by the at89s52 single-chip microcomputer, ultrasonic transmitting circuit, receiving and amplifying circuit, temperature collection circuit and display circuit.the microprocessor control unit, control

4、of ultrasonic distance measurement principle: control by mcu time counting, calculation of ultrasonic emission and reception of the round trip time, so as to obtain the measured distance. in the process of data using the temperature compensation and correction is for volume adjustment. this system h

5、as the advantages of easy control, reliable work, high accuracy location and process clear advantage. keywords ultrasonic distance transducer single chip microcomputer temperature compensation目 錄1. 緒論12. 超聲波測距原理12.1 超聲波22.2 超聲波傳感器22.3 測距原理22.4 溫度補償33 at89s52的功能特點33.1 主要性能參數(shù)33.2 功能性概述43.2.1 空閑模式43.2.

6、2 掉電模式54 系統(tǒng)硬件電路設計54.1 單片機與各部分電路的接口54.2 系統(tǒng)顯示部分54.4 超聲波接收及過零檢測電路64.5 系統(tǒng)溫度補償74.5.1 溫度傳感器ds18b20簡介74.5.2 ds18b20內(nèi)部結(jié)構(gòu)74.5.3 ds18b20溫度傳感器的存儲器84.6 溫度測量部分94.7 lcd顯示部分94.8 報警部分105 系統(tǒng)軟件設計115.1 系統(tǒng)初始化及主程序模塊115.2 脈沖信號發(fā)射模塊115.3 回波接收模塊125.4 距離計算模塊125.6 系統(tǒng)軟件部分146設計中遇到的問題及解決方案156.1 超聲波的傳播速度隨溫度變化而變化15結(jié)論17致謝18參考文獻19附錄

7、(子程序)201. 緒論利用超聲波作為定位技術(shù)是蝙蝠等一些無目視能力的生物作為防御及捕捉獵物生存的手段,也就是由生物體發(fā)射不被人們聽到的超聲波(20khz以上的機械波),借助空氣媒質(zhì)傳播,由被待捕捉的獵物或障礙物反射回來的時間間隔長短與被反射的超聲波的強弱來判斷獵物性質(zhì)和障礙物位置。超聲波是由機械振動產(chǎn)生的,可在不同介質(zhì)中以不同的速度傳播。而且超聲波的速度相對于光速要小的多,其傳播時間就比較容易檢測。并且超聲波具有定向性好、能量集中、在傳輸過程中衰減較小、反射能力較強等優(yōu)點,超聲波傳感器可廣泛應用于非接觸式檢測方法,因而人類采用仿真技能利用超聲波測距。迄今為止,國內(nèi)外許多學者均著眼于超聲應用學

8、測距的研究。與其它方法相比,它不受光線、被測對象顏色等的影響,在較惡劣的環(huán)境中(如含粉塵時)具有一定的適應能力;在近距范圍內(nèi)超聲測距有其不受光線影響、結(jié)構(gòu)簡單、成本低等特點。因此在液位測量、機械手控制、車輛自動導航、物體識別等方面有廣泛應用。目前國內(nèi)一般使用專用集成電路設計超聲波測距儀,但是專用集成電路的成本很高。而且沒有顯示,操作使用很不方便。本文介紹一種以at89s52或gsm97c2051單片機為核心的低成本、高精度、微型化數(shù)字顯示超聲波測距儀的硬件電路和軟件設計方法 7 。實際使用證明該測距儀工作穩(wěn)定,性能良好。2. 超聲波測距原理超聲波系統(tǒng)原理圖如下:圖1 系統(tǒng)原理框圖2.1 超聲波

9、與光波不同,超聲波是一種彈性機械波,它可以在氣體、液體和固體中傳播我們知道,電磁波的傳播速度為,而超聲波在空氣中的傳播速度為340m/s左右,其速度相對電磁波是非常慢的。超聲波在相同的傳播媒體里(大氣條件)傳播速度相同,即在相當大的頻率范圍內(nèi)聲速不隨頻率變化,波動的傳播方向與振動方向一致,是縱向振動的彈性機械波,它是借助于傳播介質(zhì)的分子運動而傳播的,波動方程描述方法與電磁波是類似的2.2 超聲波傳感器人們?yōu)榱藢⒊暡☉糜趯嶋H生活中,已設發(fā)明了不同類型的超聲波發(fā)生器:可分為機械方式和電氣方式。從本質(zhì)上說,超聲波發(fā)生器即是超聲波換能器 3 :它將不同形式的能量轉(zhuǎn)換成超聲波的能量(由發(fā)射換能器來完

10、成)和使超聲波的能量轉(zhuǎn)換成其它易于檢測的能量(由接收換能器來完成)。一般是用電能和超聲能量相互轉(zhuǎn)換。電氣方式類型包括:壓電型、磁質(zhì)伸縮型和電動型等;機械式方式有氣流旋笛、液哨和加爾統(tǒng)笛等。各種類型產(chǎn)生的超聲波的功率、頻率和聲波特性都不相同。目前使用較多的是電氣類中的壓電型超聲波發(fā)生器。而壓電材料有單晶體的、多晶體復合的,如石英單晶體,鈦酸鋇壓電陶瓷、鋯鈦酸鉛壓電陶瓷復合晶體等,這里選用的是壓電型超聲波傳感器t40-12(發(fā)射管)和r40-12(接收管)超聲波傳感器由兩塊壓電晶片和一塊共振板組成。當它的兩電極加脈沖信號(觸發(fā)脈沖,脈沖信號越尖越好,電壓越高,功率越大,距離越遠),若其頻率等于晶片

11、的固有頻率時,壓電晶片就會發(fā)生共振,并帶動共振板振動,從而產(chǎn)生超聲波。相反,電極間未加電壓,則當共振板接收到回波信號時,將壓迫兩壓電晶片振動,從而將機械能轉(zhuǎn)換為電信號,此時的傳感器就成了超聲波接收器。2.3 測距原理超聲波傳感器分為機械和電氣方式兩大類,它超聲波傳感器分機械方式和電氣方式兩類,它實際上是一種換能器,在發(fā)射端它把電能或機械能轉(zhuǎn)換成聲能,接收端則反之。本次設計超聲波傳感器采用電氣方式中的壓電式超聲波換能器,它是利用壓電晶體的諧振來工作的。它有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,產(chǎn)生超聲波。反之

12、,如果兩電極間未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,就成為超聲波接收器。在超聲波電路中,發(fā)射端輸出一系列脈沖方波,脈沖寬度越大,輸出的個數(shù)越多,能量越大,所能測的距離也越遠。超聲波測距的方法有多種:如往返時間檢測法、相位檢測法、聲波幅值檢測法。本設計采用往返時間檢測法測距。其原理是超聲波傳感器發(fā)射一定頻率的超聲波,借助空氣媒質(zhì)傳播,到達測量目標或障礙物后反射回來,經(jīng)反射后由超聲波接收器接收脈沖,其所經(jīng)歷的時間即往返時間,往返時間與超聲波傳播的路程的遠近有關,知道傳輸時間就可以得出距離。假定s為被測物體到測距儀之間的距離,測得的時間為ts,超聲波s為被測

13、物體到測距儀之間的距離,得出的時間為ts,超聲波傳播速度為vms1表示,則有關系式(1);s=vt2 (1)。在精度要求較高的情況下,需要考慮溫度對超聲波傳播速度的影響,按式(2)對超聲波傳播速度加以修正,以減小誤差:v=331.4+0607t (2),式中,t為實際溫度單位為,v為超聲波在介質(zhì)中的傳播速度單位為ms.2.4 溫度補償目前,大多數(shù)的溫度測控系統(tǒng)中的溫度檢測,是利用溫度傳感器將溫度為動力,通過調(diào)制電路,由模數(shù)轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字的后續(xù)處理。該電路結(jié)構(gòu)復雜,調(diào)試繁瑣,精度容易組成;參數(shù)的影響這一設計一個溫度傳感器模塊,傳感器模塊可以直接利用自帶的改造。超聲波在空氣中傳播速度的溫度的影響

14、很大,為了得到更精確的測量結(jié)果,該系統(tǒng)采用了溫度補償方法。采用高精度溫度傳感器ds18b20的環(huán)境溫度的測量,通過軟件編程的查找表的實用方法去傳播超聲波,再由單片機計算的準確距離。3 at89s52的功能特點at89s52是由愛特梅爾公司是美國生產(chǎn)的低電壓,高性能的數(shù)字的8位單片機,片含有2字節(jié)只讀閃光燈可以重復flash只讀程序存儲器128字節(jié)的隨機存取記憶體(內(nèi)存),該設備使用的高密度非易失性存儲愛特梅爾公司,生產(chǎn)技術(shù),電磁兼容標準的mcs - 51指令系統(tǒng),內(nèi)置八件通用中央處理器和存儲單元,強大的at89s 52單片機可以為您提供許多高性價比的應用。3.1 主要性能參數(shù)2.7-7v的工作

15、電壓;全靜態(tài)操作:0hz至24mhz;兩級加密程序存儲器;6個中斷源;1288字節(jié)內(nèi)部ram; 15個可編程i/okouxian口線; 兩個16位定時/計數(shù)器;一個可編程串行uart通道;一個可直接驅(qū)動led的輸出端口;一個內(nèi)置模擬比較器。at89s52功能管腳如圖2所示:圖2 at89s52功能管腳圖2k字節(jié)3.2 功能性概述 at89s52提供以下標準功能:2k字節(jié)可重復擦寫閃速存儲器,128字節(jié)內(nèi)部ram,15個i/o口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個雙工串行通信口,一個內(nèi)置的精密比較器,及時鐘電路塊(振蕩器。同時,at89s 52裝置可以減少到0赫茲的靜態(tài)邏輯操

16、作,并支持軟件可選的省電工作模式。免費的方式停止工作的處理器,但允許內(nèi)存,時間/計數(shù)器,串行通信口和中斷系統(tǒng)繼續(xù)工作。掉電方式的內(nèi)容保存到內(nèi)存,但振蕩器和禁止所有其他停止工作部件工作直到下一個硬件復位3.2.1 空閑模式 在空閑模式下,cpu保持睡眠狀態(tài)而所有片內(nèi)的外設仍保持激活狀態(tài),這種方式又軟件產(chǎn)生。此時,片內(nèi)ram和所有特殊功能寄存器的內(nèi)容保持不變??臻e??捎扇魏卧试S的中斷請求或復位終止。p1.0和p1.1在不使用外部上拉電阻的情況下應設為“0”,或者在使用上拉電阻的情況下設置為“1”。應注意的是:在用硬件復位終止空閑模式時,at89c2051通常從程序停止一直到內(nèi)部復位獲得控制之前的兩

17、個機器周期恢復程序執(zhí)行。在這種情況下片內(nèi)硬件禁止對內(nèi)部ram的讀寫,但允許對端口的訪問,要消除硬件復位終止空閑模式對端口意外寫入的可能,原則上進入空閑模式指令的下一條指令不應對端口引腳或外部存儲器進行訪問。3.2.2 掉電模式在掉電模式中,振蕩器停止工作,進入掉電模式的文章是最后的指令執(zhí)行的指令,一塊內(nèi)存和特殊功能寄存器的內(nèi)容在斷電模式終止凍結(jié)。出口模式的唯一方法是重置硬件,減少將重新定義所有的特殊功能寄存器但不改變內(nèi)容的內(nèi)存,在電壓恢復正常工作之前,復位應是無效的,而且必須保持一定的時間來啟動和穩(wěn)定工作的振蕩器。串行和p1.1不使用外部電阻應設置為“0”,或在使用時應設置為抗“1”。4 系統(tǒng)

18、硬件電路設計 4.1 單片機與各部分電路的接口本系統(tǒng)是以at89s52單片機為核心,要實現(xiàn)其對各部分電路的控制和響應。充分利用at89s52的片內(nèi)資源 3 ,即可在很少外圍電路的情況下構(gòu)成功能完善的超聲波測速系統(tǒng)。系統(tǒng)采用24mhz晶體振蕩器,用其來產(chǎn)生40khz的脈沖信號。led數(shù)據(jù)顯示部分用外部端口p1口來驅(qū)動控制,p1口輸出顯示信號給譯碼器cd4511,從而驅(qū)動數(shù)碼管的動態(tài)顯示。由at89s52單片機系統(tǒng)產(chǎn)生脈沖寬度為25os,載波為40khz的10個脈沖的脈沖群,直接通過p3.7輸出,并以推挽形式加到變壓器的初級,經(jīng)升壓變換后推動的超聲波換能器t40-12發(fā)射出去。聲波接收換能器將接收

19、到的障礙物反射回來的超聲波進到放大器進行放大,用外部中斷int0來接受發(fā)射回波 4 ,這樣可以及時的接收信號,并做出處理。系統(tǒng)溫度補償部分的電路是用dallas最新單線數(shù)字智能溫度控制器ds18b20來實現(xiàn)的,我們用單片機的串行輸入口rxd(p3.0)來接收它輸出的信號,并由系統(tǒng)判斷處理。4.2 系統(tǒng)顯示部分系統(tǒng)顯示部分其主要由譯碼器cd4511來驅(qū)動共陰極數(shù)碼管動態(tài)顯示,四個共陰極直接用單片機的外部端口p1口來驅(qū)動,因系統(tǒng)用到ds18b20作為溫度補償,其需要用到單片機的串行輸入口rxd(p3.0)來接收數(shù)據(jù),從而限制了串口顯示的使用,同時用串口顯示需用到好幾塊譯碼器,這樣也不經(jīng)濟,所以這里

20、我選擇用一塊譯碼器(cd4511)來實現(xiàn)顯示,用at89s52的p1.4-p1.7來給cd4511控制信號;又因用到單片機的中斷口來接收超聲波反射回來的處理信號,這里就也沒必要用到系統(tǒng)的自帶比較器,且at89s52可直接驅(qū)動led顯示,這里就直接用p1.0-p1.3來驅(qū)動數(shù)碼管的共陰極,從而完成對數(shù)碼管的顯示控制。4.3 超聲波發(fā)射及驅(qū)動電路超聲波發(fā)射及驅(qū)動電路如圖3所示:圖3 超聲波發(fā)射部分電路系統(tǒng)采用24mhz晶體振蕩器,定時器t1工作在方式2,用其自動賦值功能,系統(tǒng)可以直接由單片機的p3.7輸出精確的載波為40khz的10個脈沖群,其脈沖寬度為25os,并以推挽形式加到變壓器的初級,經(jīng)升

21、壓變換后,送到超聲波換能器t40-12,當它的兩電極加脈沖信號頻率等于晶片的固有頻率時,壓電晶片就會發(fā)生共振,并帶動共振板振動,從而產(chǎn)生超聲波;脈沖信號越尖越好,電壓越高,功率越大,距離越遠式圖中用的脈沖變壓器,就是用來提高發(fā)射功率的。4.4超聲波接收及過零檢測電路圖4 超聲波測距接收部分電路圖測出回波和發(fā)射脈沖之間的時間間隔,利用s=ct/2就可以算出距離,再在數(shù)碼管上顯示出來。超聲波接收換能器將接收到的障礙物反射回來的超聲波進到放大器進行放大,op07是一個高增益、低噪聲放大器,在對放大后的信號進行檢渡后將檢測回波送到精密比較器lm339發(fā)射-”端,其“+”端接電平“0”,這樣,在有信號接

22、收的時候,精密比較器的輸出為“0”,從而給單片機發(fā)出一個中斷信號,單片機關閉定時器t0,并讀取定時器中算出來的距離數(shù)據(jù)。即完成一次測距,再通過顯示刷新,在數(shù)碼管上顯示出來。4.5系統(tǒng)溫度補償4.5.1溫度傳感器ds18b20簡介ds18b20是dallas最新單線數(shù)字溫度傳感器。ds18b20為“一線器件”,體積更小、更適用,電壓更寬、更經(jīng)濟,達拉斯半導體公司的數(shù)字溫度傳感器是世界第一個支持“一線總線溫度傳感器接口”。一個總線獨特的經(jīng)濟特性,用戶可以很容易地建立一個網(wǎng)絡傳感器測量系統(tǒng),推進測量系統(tǒng)的建設。測量溫度范圍為-55+125,在-10+85范圍內(nèi),精度為0.5?,F(xiàn)場溫度直接以“一線總線

23、”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾能力,適用于惡劣環(huán)境的溫度測量,如:環(huán)境控制,設備或過程控制,溫度測量的消費電子產(chǎn)品。與上一代產(chǎn)品不同的是,新產(chǎn)品支持3v-5.5伏電壓范圍,使系統(tǒng)設計更加便捷,同時與新一代相比更加便宜實用。ds18b20特性: 程序可以設定912位的分辨率,精度為0.5,所以可以選擇一個小包裝,更寬的電壓范圍。分辨率設置,用戶設置報警溫度存儲在ee prom,斷電后仍保存。ds18b20性能的新一代產(chǎn)品的最佳,性能價格也很好,“一線總線”的早期產(chǎn)品,開辟了一個新概念的溫度傳感器技術(shù)。和ds1822使電壓相比,特點和封裝有更多的選擇,讓我們可以構(gòu)建適合自己經(jīng)濟的溫度測量

24、系統(tǒng)。 圖5 ds18b20的管腳排4.5.2 ds18b20內(nèi)部結(jié)構(gòu)ds18b20內(nèi)部結(jié)構(gòu)由以下幾部分組成成:64位光刻rom、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器th和tl、配置寄存器。dq為數(shù)字信號輸入/輸出端;gnd為電源地;vdd為外接供電電源輸入端(在寄生電源接線方式時接地)。光刻rom中的64位序列號是出廠前被光刻好的,它可以看作是該ds18b20的地址序列碼。64位光刻rom的排列是:開始8位(28h)是產(chǎn)品類型標號,接著的48位是該ds18b20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(crc=x8+x5+x4+1)。光刻rom的作用是使每一個ds18b20都各不相同

25、,這樣就可以實現(xiàn)一根總線上掛接多個ds18b20的目的。該ds18b20溫度傳感器可以完成對溫度的測量,獲得12個數(shù)據(jù)存儲在18個內(nèi)存為兩個八比特,二進制的五符號位,如果測量溫度大于0,這五位為0,只要測量數(shù)值乘以0.0625可以得到實際溫度;如果溫度低于0,這五位是1,測量數(shù)值需要采取加1乘0.0625將獲得實際溫度。4.5.3 ds18b20溫度傳感器的存儲器溫度傳感器ds 18b 20的內(nèi)部存儲器包括一個高速臨時內(nèi)存和一個非易失性可以被刪除e2ram,后者存放高溫度和低溫度觸發(fā)器th、tl和結(jié)構(gòu)寄存器。臨時存儲包含八個連續(xù)的字節(jié)字節(jié),前面兩個字節(jié)是測量的溫度信息,第一個字節(jié)的內(nèi)容是溫度的

26、低八位,第二個字節(jié)是溫度的高八位,第三個和第四個字節(jié)是th、tl的易失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復位時被刷新。第六、七、八個字節(jié)用于內(nèi)部計算,第九個字節(jié)是冗余檢測字節(jié)。根據(jù)芯片ds18b20的通信協(xié)議,主機控制器芯片ds18b20溫度轉(zhuǎn)換必須完成后三個步驟:每次在寫入ds18b20復位,復位成功后發(fā)送一個游戲指令,最后把內(nèi)存指令,這樣才能將ds18b20操作。重置處理器要求將離線數(shù)據(jù)和500微秒,然后釋放,在接收信號后等待16至60微秒左右,發(fā)出60240微秒后存在低脈沖,主處理器接收這個信號表示復位成功。4.5.4 ds18b20使用中注意事項d

27、s18b20雖然溫度測量系統(tǒng)結(jié)構(gòu)簡單,測量精度高,連接方便,占用口線少等優(yōu)點,但在實際應用中還應注意以下問題:ds1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點,但在實際應用中也應注意以下幾方面的問題:(1)較小的硬件開銷需要相對復雜的軟件進行補償,由于ds18b20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對ds18b20進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用pl/m、c等高級語言進行系統(tǒng)程序設計時,對ds18b20操作部分最好采用匯編語言實現(xiàn)。(2)在ds18b20的有關資料中均未提及單總線上所掛ds18b20數(shù)量問題,容易使人誤認為可以掛

28、任意多個ds18b20,在實際應用中并非如此。當單總線上所掛ds18b20超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。(3)連接ds18b20的總線電纜是有長度限制的。試驗中,當采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達150m,當采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用ds18b20進行長距離測溫系統(tǒng)設計時要充分考慮總線分布電容和阻抗匹配問題。(4)在ds18b20測溫程序設計中,向ds

29、18b20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待ds18b20的返回信號,一旦某個ds18b20接觸不好或斷線,當程序讀該ds18b20sh,時將沒有返回信號,程序進入死循環(huán)。這一點在進行ds18b20硬件連接和軟件設計時也要給予一定的重視。4.6 溫度測量部分因為聲音的速度在不同溫度有所不同,為了提高系統(tǒng)的精度,可以采用溫度補償功能。這里用的主要元器件是達拉斯半導體公司生產(chǎn)的單總線數(shù)字溫度傳感器ds18b2 0,它具有精度高、體積小、智能化、線路簡單等優(yōu)點。將ds18b20數(shù)據(jù)線與單片機的p1.1口相連接,便可以實現(xiàn)溫度測量,如圖6所示。圖6 ds18b20溫度測量電路4.7 lcd顯示部分本設計

30、顯示部分采用字符型tc1602液晶顯示所測距離值。tc16022顯示的容量有雙行16字,液晶顯示器(液晶顯示器)具有功率消耗小、輕薄、操作方便,與數(shù)碼管相比,顯得更加專業(yè)、美觀。使用時,可將p0和lcd數(shù)據(jù)線聯(lián)系在一起的,p2口和液晶控制聯(lián)系在一起,如圖7所示圖7 tc1602液晶顯示電路其中,tc1602第4腳rs為寄存器,第5腳rw為讀寫信號線,第6腳e為使能端。第714腳:d0d7為8位雙向數(shù)據(jù)線。這里要注意的是,為了讓接線方便,圖中單片機端的d0d7是接到lcd602的d1d0,接線是相反的,因此在編寫軟件總是需要做處理的,使讀取正確。4.8 報警部分使用蜂鳴器,由p1.2輸出一定頻率

31、的信號,連接到一個之前蜂鳴器,經(jīng)過9012晶體管放大。報警部分附件,如下面的圖10所示。圖8 報警電路電源電路:220 v通過降壓器降壓,再經(jīng)d1至d4橋式整流和穩(wěn)壓后給電路各部分供電。晶振電路:采用12 mhz的晶振。5 系統(tǒng)軟件設計t89c2051單片機和其開發(fā)應用系統(tǒng)具有語言簡潔、可移植性好、表達能力強、表選方式靈活、可進行結(jié)構(gòu)化設計、可以直接控制計算機硬件、生成代碼質(zhì)量高、使用方便等諸多優(yōu)點 5 。本系統(tǒng)軟件部分與硬件系統(tǒng)配合完成對超聲波往返時間的測量,根據(jù)在一定溫度下超聲波的傳播速度計算測量的距離,送往數(shù)碼管顯示出測量結(jié)果。為了使儀器的適應性強、功能更穩(wěn)定、軟件系統(tǒng)的移植性能更好,系

32、統(tǒng)采用匯編語言來編寫程序 6 。為了便于調(diào)試,本系統(tǒng)應用軟件設計采用模塊化結(jié)構(gòu)設計,其主要程序模塊為:(1)系統(tǒng)初始化及主程序模塊(含溫度補償程序);(2)脈沖信號發(fā)射模塊;(3)距離計算模塊;(4)回波接收模塊;5.1 系統(tǒng)初始化及主程序模塊系統(tǒng)初始化主要是設置兩定時器的工作方式:定時器t0為方式1,t1為方式2,并分別給th0/th1,tl0/th1賦初值;t1用來產(chǎn)生40khz的脈沖信號;t0用來計算距離;外部中斷int0用來接收回波信號。在初始化中,關閉外部中斷int0,開啟定時器t1發(fā)出10個脈沖群,同時開啟定時器t0開始計算距離。用智能溫度控制器ds18b20來給系統(tǒng)補償溫度,測出

33、當時的環(huán)境溫度,并算出t1中的th1對應值,修改th1。應用到t0中計算距離,即可得到溫度補償。重復的調(diào)用顯示子程序,以便隨時刷新當前的測量距離。然后系統(tǒng)重復測溫和顯示,直至中斷信號的來臨。5.2 脈沖信號發(fā)射模塊圖9 40khz脈沖信號產(chǎn)生框圖系統(tǒng)采用24mhz晶體振蕩器,定時器t1工作在方式2,用其自動賦值功能,系統(tǒng)可以直接由單片機的p3.7輸出精確的40khz脈沖,其脈沖寬度為25os,載波為40 khz的10個脈沖群。由于超聲波的發(fā)射探頭t發(fā)出的超聲波一部分會直接傳送到超聲波的接收探頭r中,從而產(chǎn)生錯誤的判斷(這將在第6章的問題及解決方案中詳細闡述);為了避免這一錯誤的產(chǎn)生,在開始發(fā)出

34、信號時,必須關閉外部中斷int0;當發(fā)射完畢時,開啟外部中斷int0,同時還要先清掉外部中斷的請求標志ie0,這又是因為在關閉了外部中斷的情況下,中斷信號還是會產(chǎn)生的,請求標志仍然存在,只有清除了該標志位,才能避免系統(tǒng)對該中斷請求的響應。5.3 回波接收模塊用外部中斷int0來接受發(fā)射回波,這樣可以及時的接收信號,并做出處理;要是采用查詢的方式,系統(tǒng)可能要等上5-6ms才能查詢到,這樣超聲波也就多走了1-2m的路程了,精度將大打折扣,甚至有時就是錯誤的結(jié)果。但用中斷就是比較麻煩一些,比如,已經(jīng)關掉了中斷,但是在有中斷信號時,其中斷標志位ie0還會產(chǎn)生,在退出中斷子程序后,系統(tǒng)仍會執(zhí)行此中斷請求

35、,但是在采集信號前先清掉此標志位,這個問題也就迎刃而解了。5.4 距離計算模塊信號子程序如圖10所示: 圖10信號處理子程序框圖在進入中斷子程序時,先關閉中斷,同時關閉定時器t0,讀取其算出的距離值,并且保存起來,當讀取了4次距離值時,去掉其最高和最低的值,然后求出平均值,并送往顯示緩沖區(qū),以便于刷新顯示。在返回前,清掉請求標志位ie0,在開啟t1、t0,開始下一次的測量。定時器t0用來計算超聲波所走的距離。產(chǎn)生一次中斷,則代表超聲波已經(jīng)行程0.2米,此時得出的距離值為0.1米,依此類推,t0中斷n次,則測得距離值為n0.1m;當int0接收到回波時,關閉t0,再讀取數(shù)據(jù)時,此數(shù)據(jù)即為測得的距

36、離值。5.6 系統(tǒng)軟件部分系統(tǒng)軟件設計采用模塊化設計,由以下環(huán)節(jié)組成:t1中斷服務子程序、主程序設計、t1中斷服務子程序、int0外部中斷服務子程序、測溫子程序、距離計算子程序、顯示子程序、延時子程序和報警子程序設計等。同時編寫系統(tǒng)軟件時我們應考慮相關硬件的連線,還要進行寄存器、空間、和定時器以及外部中斷引腳的分配與使用。本設計中p1.0引腳連接到7 hc04推挽放大電路再連接到超聲波發(fā)射傳感器,p1.0引腳輸出的將是軟件方式產(chǎn)生的40 khz方波,并p3.2(int 0)是用來接收回聲。重試抱歉,系統(tǒng)響應超時,請稍后再試 支持中英、中日在線互譯 支持網(wǎng)頁翻譯,在輸入框輸入網(wǎng)頁地址即可 提供一

37、鍵清空、復制功能、支持雙語對照查看,使您體驗更加流暢定時器t1、t0均采用在工作方式1,為16位計數(shù),t1定時器被用來開啟一次測距過程以它的溢出為標志開始一個發(fā)射測量循環(huán),t0定時器是用來計算脈沖往返所需要的時間,它們的初值均設為0.系統(tǒng)初始化啟動計時器由0開始計數(shù),現(xiàn)在主要程序進入等待,當?shù)?5毫秒表溢出中斷服務程序時,中斷服務程序?qū)㈤_始一個新的超聲波發(fā)射,導致在p1.0引腳上開始產(chǎn)生40千赫方波,同時開啟定時器t0計時,以避免直接波的衍射,需要延遲1毫秒開int 0中斷允許后;int 0中斷允許打開,在int0中斷服務子程序中將停止定時器t0計時,讀取定時器t0時間值到相應的區(qū),同時設置接

38、收成功標志,讀取計時器t0時間值到相應的區(qū),測到接收成功的標志,將調(diào)用測溫子程序,收集超聲波測出的環(huán)境溫度,并將其轉(zhuǎn)換成準確的聲速,存儲到ram存儲單元中;單片機再次使用距離計算子程序進行計算,得出傳感器到實際目標物體之間的距離;然后主程序調(diào)用顯示子程序進行顯示;若超過設定的最小報警距離還將啟動揚聲器報警;當一次發(fā)射、接收、顯示的過程完成后,系統(tǒng)將推遲100 ms后重新讓t1置初值,然后啟動t1以溢出,進行下一次測距。但是由于障礙物距離超過測距范圍,以致在t0溢出時,接收器尚未接收到回聲,則顯示“錯誤”并回到主流程進入新一輪。主程序和定時器t1、外部中斷int0中斷服務子程序的框圖如下:圖11

39、 主程序框圖6設計中遇到的問題及解決方案6.1 超聲波的傳播速度隨溫度變化而變化在超聲波的兩個探頭旁邊放置溫度傳感器ds18b20,測出超聲波所處的環(huán)境溫度t,將t送入單片機中,求出對應的聲速。本系統(tǒng)采用的是壓電型超聲波換能器t40-12、r40-12發(fā)射接收對管,其要求超聲波的頻率為40k1khz;硬件電路不易產(chǎn)生這么精確的信號,本系統(tǒng)采用單片機自身來產(chǎn)生40khz的脈沖信號,這也要求單片機產(chǎn)生精確的脈沖信號,然后再進行放大處理,才能使系統(tǒng)達到設計的要求。起初用的是12mhz的晶振,可產(chǎn)生的信號最接近的為38.46k和41.67khz,不合要求,改用24mhz的晶振之后,系統(tǒng)產(chǎn)生9.9khz

40、的信號,設計合乎要求。結(jié)論超聲波測距儀的測距儀的原理和光波測距原理與雷達測距原理類似。但由于聲波速度遠低于光波的速度,所以很常用脈沖” 等效標準長度”作為即時的當量,其精度能滿足工程實際要求。調(diào)制的等效長度增加脈沖頻率可以提高測量精度,但是這一次必須提高超聲波頻率只有狹窄的準確性,但是此時必須提高超聲波頻率才有狹窄的相應精度的開關門信號,隨之帶來的問題是行進于空氣里的超聲波頻率加大,空氣吸收也增大,即過程犧牲長度來實現(xiàn)精度的提高。我們常用的改進的檢測方法如下:零點交叉檢測法、閾值檢測法等,過程中超聲波傳播衰減較大,所以縮短了檢測距離范圍;通過降低超聲波頻率,雖然增大了測距范圍,但是測距精度將大

41、大降低。所以我們可以通過提高發(fā)射功率、采用脈沖方式來增大測距范圍,要求發(fā)射源有很大的瞬間功率,脈沖寬度較窄,能量集中,這樣接收才更靈敏,這種方式具有測量精度高、抗干擾能力強、反應速度快等優(yōu)點,在實際生活中可適用于各種水文液位測量、障礙物的識別以及車輛自動導航等領域,在日常生活生產(chǎn)中具有廣闊的應用前景。超聲波在當今雖得到廣泛的應用,但是我們對其的有效利用還是微不足道的,我想在此基礎上進一步發(fā)展,這也是需要進一步關注的。致謝經(jīng)過將近七周的單片機課程設計,終于完成了我的數(shù)字溫度計畢業(yè)設計,雖然途中還遇到不少困難,但最終還是把實物做出來,從這次的課程設計中,我真真正正的意識到,在以后的學習中,要理論聯(lián)

42、系實際,把我們所學的理論知識用到實際當中,學習單機片機更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設計中的最大收獲。通過這次對數(shù)字溫度計的設計與制作,讓我了解了設計電路的程序,也讓我了解了關于數(shù)字溫度計的原理與設計理念,要設計一個電路總要先用仿真仿真成功之后才實際接線的。但是最后的成品卻不一定與仿真時完全一樣,因為,再實際接線中有著各種各樣的條件制約著,而且,在仿真中無法成功的電路接法,在實際中因為芯片本身的特性而能夠成功,所以,在設計時應考慮兩者的差異,從中找出最適合的設計方法。通過這次學習,讓我對各種電路都有了大概的了解,所以說,坐而言不如立而行,對于這些電路還是應

43、該自己動手實際操作才會有深刻理解。從這次的課程設計中,我真真正正的意識到,在以后的學習中,要理論聯(lián)系實際,把我們所學的理論知識用到實際當中,學習單機片機更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設計中的最大收獲。最后就是要感謝這三年所有的老師對我們一絲不茍和孜孜不倦的教育,還有學校那濃郁的學習氣氛。參考文獻 1 袁易全. 近代超聲原理及應用m. 南京:南京大學出版社,20082 何希才. 傳感器及其應用電路m. 北京:電子工業(yè)出版社,200 3 呂俊芳. 傳感器接口與檢測儀器電路m. 北京:北京航空航天大學出版杜,20104 胡漢才. 單片機原理及其接口技術(shù)m. 北京:清華大學出版社,1996 5 郁慧娣. 微機系統(tǒng)及其接口技術(shù)m. 南京:南京東南大學出版社,199 96 王福瑞. 單片機測控系統(tǒng)設計大全m. 北京:北京航空航天大學出版社,20017 姜道連等. 用at89c2051設計超聲波測距儀j,20008 胡萍. 超聲波測距儀的研制j. 計算機與現(xiàn)代化,20039 童峰等. 一種高精度超聲測距系統(tǒng)研究j. 廈門大學學報,199810 時德鋼等. 超聲波測距儀的研

溫馨提示

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

評論

0/150

提交評論