傳感器與檢測技術(shù)課程設(shè)計報告超聲波測距系統(tǒng)的設(shè)計_第1頁
傳感器與檢測技術(shù)課程設(shè)計報告超聲波測距系統(tǒng)的設(shè)計_第2頁
傳感器與檢測技術(shù)課程設(shè)計報告超聲波測距系統(tǒng)的設(shè)計_第3頁
傳感器與檢測技術(shù)課程設(shè)計報告超聲波測距系統(tǒng)的設(shè)計_第4頁
傳感器與檢測技術(shù)課程設(shè)計報告超聲波測距系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、吉林建筑大學(xué)電氣與電子信息工程學(xué)院傳感器與檢測技術(shù)課程設(shè)計報告設(shè)計題目: 超聲波測距系統(tǒng)的設(shè)計 專業(yè)班級: 學(xué)生姓名: 學(xué) 號 100312114 指導(dǎo)教師: 設(shè)計時間: 2015.6.152014.6.26 教師評語:成績 評閱教師 日期 目錄第一章 緒論31.1 項目研究背景及意義3第二章 設(shè)計方案與論證42.1 設(shè)計方案選擇42.2 方案論證42.2.1測距傳感器的選擇52.2.2 超聲波測試模塊的選擇52.2.3 超聲波的特性52.2.4 超聲波傳感器原理62.2.5 電源選擇62.2.6 顯示器的選擇62.2.7 單片機的選擇7第三章 硬件電路設(shè)計83.1 主控制模塊93.2 電源接

2、口電路103.3 超聲波測試模塊113.3.1 超聲波發(fā)射模塊113.3.2 超聲波接收電路113.3.3 測距分析123.4 時鐘電路的設(shè)計133.5 復(fù)位(rst)電路的設(shè)計133.6 聲音報警電路的設(shè)計143.7 顯示模塊14第四章 軟件設(shè)計144.1 系統(tǒng)軟件設(shè)計144.2 主程序15第五章 總結(jié)16第六章 參考文獻17附 錄18附件1:原理圖18附件2:程序19第一章 緒論1.1項目研究及背景意義因為超聲波在介質(zhì)中傳播不易受干擾,方向性好,能量集中度高,不受光線、被測對象顏色等的影響,傳播距離比較遠等許多特性,因此經(jīng)常被用于距離的非接觸測量,如測距儀等。為此,深入研究超聲波的產(chǎn)生與傳

3、播特性;研發(fā)高效率收發(fā)電路,對于超聲波檢測技術(shù)的應(yīng)用和發(fā)展具有十分重要的現(xiàn)實意義。隨著人們生活水平和科學(xué)技術(shù)的提高,越來越多的人擁有了汽車。隨著城市化的加快,道路顯得很擁擠。尤其是很多新手駕車,特別是倒車時經(jīng)常發(fā)生擦碰。經(jīng)常因為一些小問題,造成車尾的損壞,車身被刮花等損失。如果有可以測距的設(shè)備,提示車尾或車頭與障礙的距離,讓新手擺脫倒車的危險,同時超聲波測距儀較其它儀器更衛(wèi)生,因而水處理廠、食品、環(huán)保檢測等場合;更耐潮濕、耐高溫,從而被廣泛應(yīng)用于紙業(yè)和防汛灰等??稍诓煌h(huán)境中(電廠、化工業(yè)、水處理廠、污水處理廠等)進行距離準確度在線標定,可直接用于水、酒、糖、飲料等液位控制,可進行差值設(shè)定,直

4、接顯示各種液位罐的液位、料位高度。因此,超聲在空氣中測距在特殊環(huán)境下有較廣泛的應(yīng)用。利用超聲波檢測往往比較迅速、方便、計算簡單、易于實現(xiàn)實時控制,并且在測量精度方面能達到工業(yè)實用的指標要求,因此為了使移動機器人能夠自動躲避障礙物行走,就必須裝備測距系統(tǒng),以使其及時獲取距障礙物的位置信息(距離和方向)。因此超聲波測距在移動機器人的研究上得到了廣泛的應(yīng)用。同時由于超聲波測距系統(tǒng)具有以上的這些優(yōu)點,因此在汽車倒車雷達的研制方面也得到了廣泛的應(yīng)用。1.2主要設(shè)計內(nèi)容內(nèi)容: 采用40khz的超聲波發(fā)射和接收傳感器測量距離。可采用發(fā)射和接收之間的距離,也可將發(fā)射和接收平行放在一起,通過反射測量距離。功能:

5、(1)led數(shù)碼管顯示測量距離,精確到小數(shù)點后一位(單位:cm)。(2)測量方式可通過硬件開關(guān)預(yù)置。(3)測量范圍:30cm200cm,(4)誤差0.5cm。(5)其它。1.3課程設(shè)計要求及目的要求:(1)掌握傳感器的工作原理及相應(yīng)的輔助電路設(shè)計方法。(2)獨立設(shè)計原理圖及相應(yīng)的硬件電路。(3)設(shè)計說明書格式規(guī)范,層次合理,重點突出。并附上詳細的原理圖。目的:通過傳感器與檢測技術(shù)課程設(shè)計,使學(xué)生掌握傳感器及檢測系統(tǒng)設(shè)計的方法和設(shè)計原則及相應(yīng)的硬件調(diào)試的方法。進一步理解傳感器及檢測系統(tǒng)的設(shè)計和應(yīng)用。 第二章 設(shè)計方案與論證2.1 設(shè)計方案選擇此設(shè)計總體上包括硬件電路和軟件程序設(shè)計兩個部分。主要劃

6、分為數(shù)據(jù)采集、按鍵設(shè)置、四位數(shù)碼管實時距離顯示、報警等模塊。硬件電路結(jié)構(gòu)可劃分為:超聲波傳感器、蜂鳴器、單片機(at89s51)控制電路。本設(shè)計的核心是單片機和超聲波傳感器,此系統(tǒng)通過三節(jié)1.5v電池供電,通過開關(guān)控制整個電路的通電與斷電;此系統(tǒng)也是單片機的一種應(yīng)用。單片機應(yīng)用系統(tǒng)也是由硬件和軟件組成。硬件包括單片機最小系統(tǒng),輸入/輸出設(shè)備以及外部應(yīng)用電路。該軟件keil是一個各種工作程序綜合。應(yīng)用系統(tǒng)的開發(fā)過程,包括整體設(shè)計,硬件設(shè)計,軟件設(shè)計階段。該系統(tǒng)采用at89s51單片機為核心的控制單元,當所測量的距離小于所設(shè)定的距離時,主控制芯片將測量值與設(shè)定值進行比較。然后控制蜂鳴器報警。電源a

7、t89s51主控制器模塊按鍵控制超聲波傳感器模塊4位數(shù)碼管顯示模塊 蜂鳴器報警模塊 led數(shù)碼管 蜂鳴器模塊 圖2.1 系統(tǒng)方框圖 2.2方案論證2.2.1測距傳感器的選擇超聲波傳感器:超聲波是一種超出人類聽覺極限的聲波的振動頻率超過20 khz的機械波。在超聲波傳感器每次工作是要轉(zhuǎn)換的電壓和超聲波時,超聲波傳感器發(fā)射超聲波,該超聲波探頭發(fā)送超聲波發(fā)射電壓的轉(zhuǎn)換,接收到的超聲波,超聲波探頭接收超聲波回波電壓變換到時單片機控制芯片。高頻率的超聲振動,波長短,繞射小的現(xiàn)象,而且也為反射線等良好的方向性雙向通信和超聲波傳感器的能量消耗緩慢利于測距。2.2.2 超聲波的特性聲音是一種與人類生活密切相關(guān)

8、的自然現(xiàn)象。聲音其實就是物體振動頻率;科學(xué)家把每秒的振動次數(shù)稱為聲音的頻率,它的單位為赫茲。科學(xué)家通過測試證明我們?nèi)祟惗淠苈牭?0至20000赫茲的聲音頻率。我們不能聽見振動頻率大于20000(赫茲)或小于20赫茲的(聲波)。“超聲波”其實就是頻率低于20000赫茲的聲波,而高于20000赫茲的聲波則稱為次聲波。當一個高頻率的聲音超過人耳聽覺頻率范圍時(據(jù)統(tǒng)計并得到國際認同,取整數(shù)為20000赫茲),人們會注意不到周圍的聲音的存在,因此人們把這種高頻率的聲稱為“超”聲。2.2.3 超聲波傳感器原理市面上常見的超聲波傳感器多為開放型,一個復(fù)合式振動器被靈活地固定在底座上。該復(fù)合式振動器是由諧振

9、器以及一個金屬片和一個壓電陶瓷片組成的雙壓電晶片元件振動器。諧振器呈喇叭形,目的是能有效地輻射由于振動而產(chǎn)生的超聲波,并且可以有效地使超聲波聚集在振動器的中央部位。當電壓作用于壓電陶瓷時,就會隨電壓和頻率的變化產(chǎn)生機械變形。另一方面,當振動壓電陶瓷時,則會產(chǎn)生一個電荷。利用這一原理,當給由兩片壓電陶瓷或一片壓電陶瓷和一個金屬片構(gòu)成的振動器,所謂叫雙壓電晶片元件,施加一個電信號時,就會因彎曲振動發(fā)射出超聲波。相反,當向雙壓電晶片元件施加超聲振動時,就會產(chǎn)生一個電信號?;谝陨献饔?,便可以將壓電陶瓷用作超聲波傳感器。2.2.4 電源選擇(1)usb供電通過usb串口線連接到電腦后其他usb供電設(shè)備

10、,接一個降壓電路就可以得到電路所要的電壓。(2) 電池供電用3節(jié)1.5v的電池供電,方便簡單,便也攜帶。本設(shè)計電路相對來說簡單,如果用usb供電,需要攜帶有usb接口的電源十分不方便,而且本設(shè)計對電壓的要求并不高,3節(jié)1.5v電池共4.5v足以給電路供電而且攜帶方便使用便捷,所以本設(shè)計選擇用電池供電。2.2.5 顯示器的選擇在單片機的顯示電路中,常用的顯示模塊有液晶顯示屏、發(fā)光管、led數(shù)碼管等。在本設(shè)計中可以選擇液晶顯示屏或者led數(shù)碼管。(1) lcd液晶屏液晶的物理性能使得液晶顯示得以實現(xiàn),簡要地講,液晶顯示屏就是在兩個平行的板之間填充有液晶材料,通過改變液晶分子上的電壓來改變列行位置的

11、材料內(nèi),以實現(xiàn)著色和照明的目的從而顯示出色調(diào)錯落有致的圖像,通過在其顯示區(qū)域中的電壓控制中,有一個電顯示,從而使該圖形可以顯示出來。液晶顯示具有顯示質(zhì)量高、體積小、重量輕、功耗低等優(yōu)點。(2) led數(shù)碼管led數(shù)碼管實質(zhì)上是由多個發(fā)光二極管排列組合而成的,數(shù)碼管的顯示通過單片機的輸入輸出口來進行位選和片選。常用的led數(shù)碼管一位數(shù)碼管、三位數(shù)碼管和四位數(shù)碼管;當需要顯示更多位的數(shù)時,可以用多個數(shù)碼管進行組合。led數(shù)碼管具有防紫外線、耐壓、耐破裂、耐高低溫、耐燃、超強抗沖擊老化等優(yōu)點。本設(shè)計只需四位數(shù)顯示就足夠了,本設(shè)計有一個很大的優(yōu)點就是便于攜帶使用方便,而液晶顯示屏易碎不耐摔,不方便攜帶

12、且價格相對來說較高,綜合安全和性價比等方面的考慮,本設(shè)計選擇4位的led數(shù)碼管作為顯示器。數(shù)碼管有很多種,從其組合方式上主要分為共陽數(shù)碼管和共陰數(shù)碼管兩種,這兩種在工作中并沒有太大的區(qū)別。4位數(shù)碼管其實是由4個1位數(shù)碼管組合在一起而成,每個數(shù)碼管由8個發(fā)光二極管組成,其中七個分別為a、b、c、d、e、f、g排列組合成8字行,用來顯示數(shù)字09,還有一個作為小數(shù)點dp。當需要顯示某個數(shù)字時,只需將其分為按8字形將其分為七段,然后選擇相應(yīng)段位的數(shù)碼管通電就可以顯示需要的數(shù)字。所有的發(fā)光二極管的陰極連在一起的稱為共陰數(shù)碼管如圖2.6(a)所示;發(fā)光二極管的陽極連在一起的稱為共陽,如圖2.6(b)所示。

13、 圖2.6 (a)共陰數(shù)碼管 (b)共陽數(shù)碼管2.2.6 單片機的選擇2.2.6.1 方案選擇方案一:采用51系列單片機,它從內(nèi)部的硬件到軟件有一套完整的按位操作的系統(tǒng),稱作位處理器,能夠進行位傳送,置位,清零,測試,邏輯運算等,功能完備。51系列的另外一個優(yōu)點是乘法和除法指令,給編程帶來方便。 方案二:采用pic系列單片機,它采用harvard雙總線結(jié)構(gòu),運行速度快,指令流水線結(jié)構(gòu),程序存儲器的訪問和數(shù)據(jù)存儲器的訪問并行處理,pic系列單片機相對其他單片機采用精簡指令集,哈佛總線結(jié)構(gòu),流水線取指方式,抗干擾能力強,高速度。本設(shè)計系統(tǒng)依據(jù)單片機的選用原則,成本的考慮,本次課題選擇了適合本系統(tǒng)的

14、51系列單片機。2.2.6.2 at89s51功能特性概述目前市面上使用的比較普遍的51系列單片機是at89s51。at89s51是使用生產(chǎn)的低電壓,兼容標準mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(cpu)和flash存儲單元,功能強大at89s51單片機可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。其主要性能參數(shù)如下:(a) 32個可編程io口線(b) 6個中斷源(c) 2個16位定時計數(shù)器(d) 三級加密程序存儲器(e)全靜態(tài)操作:0hz24mhz(f) 低功耗空閑和掉電模式(g) 與mcs-51產(chǎn)品指令系統(tǒng)完全兼容 圖2.8 stc89c52的引腳排列圖第三章 硬件

15、電路設(shè)計3.1 主控制模塊主控制最小系統(tǒng)電路如圖3.1所示。 圖3.1 最小系統(tǒng)硬件電路總設(shè)計見附錄,通過3節(jié)1.5v電池給整個電路供電,電路中用到4個按鍵,一個是設(shè)定鍵, 一個加鍵,一個減鍵和一個復(fù)位鍵,通過按鍵設(shè)置最小報警距離,此電路帶有斷電保護功能,即使突然斷電也會保持原有的設(shè)置,當復(fù)位鍵按下時默認設(shè)置值為50厘米;超聲波傳感器通過發(fā)射聲波遇到障礙物及時返回接受計算處理的處距離在數(shù)碼管上實時顯示,當測得的距離小于設(shè)定值時蜂鳴器報警,同時發(fā)光二極管閃爍,此處通過聲音和燈報警實現(xiàn)雙重保險;其中d1為電源工作指示燈,d2為小于設(shè)定值報警指示燈;外接口j1為主控芯片的程序下載口。單片機at89s

16、51的p1口是一個8位雙向i/o口,內(nèi)部自帶上拉電阻;而p1口只有通用i/o接口一種功能;另外p1口能驅(qū)動4個lsttl負載;在使用時通??梢圆煌饨由侠娮杈湍軌蝌?qū)動發(fā)光二極管工作;其p1.0p1.6分別接數(shù)碼管的管腳a-g作為4位共陽數(shù)碼管的斷碼選擇控制端,端口p1.7連接數(shù)碼管的dp口作為數(shù)碼管顯示的小數(shù)點選擇端口。p3口類似于p1口是一個8位雙向i/o口并且內(nèi)部自帶上拉電阻;p3口同樣能驅(qū)動4個lsttl負載;不同于p1口的是這8個引腳還有其特有的的第二功能。p3口的第二功能如表3.1所示。本實驗中p3.4-p3.7接pnp三極管s8550三極管驅(qū)動數(shù)碼管的1h-4h作為片選端;單片機a

17、t89s51的p3.2端口連接超聲波模塊的trig口用來輸出超聲波模塊發(fā)射電路所需要的40khz的方波信號,其p3.3端口連接超聲波模塊的echo口用來讀取超聲波接收電路輸出的返回信號。p3引腳兼用功能p3.0串行通訊輸入口(rxd)p3.1串行通訊輸出口(txd)p3.2外部中斷0請求輸入端( int0)p3.3外部中斷1請求輸入端(int1)p3.4定時器0輸入端(t0p3.5定時器1輸入端(t1)p3.6外部數(shù)據(jù)存儲器寫選通信號輸出端(/wr)p3.7外部數(shù)據(jù)存儲器寫選通信號輸出端(/rd) 表3.1 p3口第二功能表3.2 電源接口電路 電源選擇3節(jié)1.5v電池供電,接口電路如圖3.2

18、所示。圖 3.2 電源接口電路3.3 超聲波測試模塊3.3.1 超聲波發(fā)射模塊超聲波模塊通過端口trig從單片機at89s51獲得40k赫茲的方波信號通過單電源電平轉(zhuǎn)換芯片max323由超聲波探頭將電信號轉(zhuǎn)換為機械波發(fā)射出去;可是單片機所產(chǎn)生的40 khz的方波信號需要進行放大才能由超聲波探頭將超聲波發(fā)射出去,所以本設(shè)計選用max323芯片進行信號放大,再由超聲波探頭將電信號轉(zhuǎn)為機械波發(fā)射出去而構(gòu)成一個完整的超聲波發(fā)射電路。如圖3.3所示。圖3.3 超聲波發(fā)射電路3.3.2 超聲波接收電路由于超聲波在空氣中的傳播過程是不斷衰減的,也就是說超聲波發(fā)射模塊發(fā)射出的機械波在傳播的過程中會越來越弱,且

19、當傳播的距離越遠時衰減得就越厲害,所以一般情況下超聲波接收電路所接收的超聲波信號都是比較薄弱的,所以需要將接收到的信號進行放大,本設(shè)計中選用放大器tl074將超聲波接收探頭所接受到的信號進行放大。如下圖3.4所示。圖3.4 超聲波接收電路3.3.3 測距分析由一個發(fā)射電路和接收電路共同構(gòu)成超聲波傳感器,對于超聲波發(fā)射探頭發(fā)射機械波的同時開始定時的方向上的超聲波發(fā)射器電路的時就立即返回的方式在空氣中的超聲波傳播遇到障礙時,接收器接收反射的超聲波波立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/2超聲波回波測距

20、方法是檢測中最常見的方法中,超聲波發(fā)射器發(fā)射超聲波到一定的方向,而在傳輸計數(shù)器開始計數(shù)時,在空氣中的超聲波的傳播,在途中到阻擋遇到的障礙立即反射回表面,超聲波接收器接收超聲波反射回和基于定時器的記錄時間停止定時為t時,在空氣中的超聲波傳播速度340米/秒,由此發(fā)射機能夠從間距s的障礙物表面的計算即:s=340t/2。 因為超聲波的本質(zhì)依舊是聲波,其速度v和溫度t。在使用中,如果傳輸介質(zhì)是非法的溫度變化,該過程可以是類似于在超聲波傳播速度基本上是恒定的。高精度距離測量,溫度補償方法應(yīng)該是通過測量結(jié)果的數(shù)值修正。確定聲音的速度后,只要測得超聲波往返的時間,即可求得距離。這就是超聲波測距儀的基本原理

21、。如圖3.5所示: 超聲波發(fā)射 障礙物 s h 超聲波接收圖3.5 超聲波的測距原理 (3- 1) (3-2)式中:l-兩探頭之間中心距離的一半.又知道超聲波傳播的距離為: ( 3-3)式中:v超聲波在介質(zhì)中的傳播速度; t超聲波從發(fā)射到接收所需要的時間.將(32)、(33)代入(3-1)中得: ( 3-4)其中,超聲波的傳播速度v在一定的溫度下是一個常數(shù)(例如在溫度t=30度時,v=349m/s);當需要測量的距離h遠遠大于l時,則(34)變?yōu)? ( 3-5) 所以,只要需要測量出超聲波傳播的時間t,就可以得出測量的距離h.3.4時鐘電路的設(shè)計at89s51單片機內(nèi)部自帶反向放大器,其輸入和

22、輸出端分別為引腳xtal1和引腳xtal2??梢杂闷瑑?nèi)振蕩器作為該反向放大器的配置。可以采用石晶振蕩或者采用陶瓷振蕩,兩者均可。如果采用外部時鐘源驅(qū)動器件,xtal2應(yīng)懸空。因為一個機器周期含有6個狀態(tài)周期,而每個狀態(tài)周期為2個振蕩周期,所以一個機器周期共有12個振蕩周期。本設(shè)計中xtal1引腳和xtal2引腳外接的是頻率為12 mhz的石英晶振,可以產(chǎn)生一1us的機器周期,從而就可以產(chǎn)生時鐘信號。如圖3.6所示為時鐘電路。圖3.6 時鐘電路圖3.5 復(fù)位(rst)電路的設(shè)計 用到的是單片機的9號引腳,本設(shè)計中用到兩種復(fù)位方法,一種是上電自動復(fù)位,即每當初次給電路供電時有一個復(fù)位,報警值復(fù)位為

23、50cm;另一種是外部按鍵手動復(fù)位,即在工作構(gòu)成中當按下復(fù)位鍵是,報警值恢復(fù)為初始值50cm,所謂的按鍵復(fù)位其實就是當按鍵按下時給單片機的rst(9腳)一個高電平信號。圖3.7 復(fù)位電路圖3.6 聲音報警電路的設(shè)計 如下圖所示,用一個speaker和三極管、電阻接到單片機的p13引腳上,構(gòu)成聲音報警電路,測量值小于設(shè)定值時蜂鳴器會發(fā)音報警,同事發(fā)光二極管會閃爍報警,如圖3.8示為聲音和指示燈報警電路。圖3.8 聲音報警電路圖37顯示模塊數(shù)碼管動態(tài)顯示原理:在編程時,單片機通過i/o口輸出段選和位選信號,首先位選信號選中其中一個數(shù)碼管,然后輸出段碼,利用人的視覺暫留的特點,使該數(shù)碼管顯示所需要的

24、內(nèi)容,延時一段非常短的時間后,再選中另一個數(shù)碼管,再輸出對應(yīng)的段碼,高速交替。本設(shè)計的數(shù)碼管顯示電路如下圖3.9所示。圖3.9 數(shù)碼管電路第四章軟件設(shè)計4.1系統(tǒng)軟件設(shè)計本系統(tǒng)軟件設(shè)計的思路是:當電路通電時,首先讓給p2.3端口一個低電平讓蜂鳴器響一聲來提示正式通電;然后調(diào)用測距函數(shù),通過單片機的p3.2口輸出一個方波電信號驅(qū)動超聲波發(fā)射模塊發(fā)射超聲波,通過超聲波的echo口讀取超聲波接收模塊接收到的信號得出距離障礙物的距離通過p1.7口輸送給數(shù)碼管通過數(shù)碼管實時顯示。單片機的p2.2腳接按鍵4作為設(shè)置鍵,當檢測到按鍵4按下時數(shù)碼管顯示三位數(shù)(如0.51,單位是m)為要設(shè)置的報警值并判斷是否有

25、其他按鍵按下,如果p2.1口的按鍵3按下則數(shù)碼管顯示的數(shù)減1cm,如果p2.0口的按鍵2按下則加1cm,設(shè)置完成后再按按鍵4 確認。在程序中定義一個變量value(初值為0),作為是否報警的判斷標志位,當測得的實際距離distance小于等于設(shè)定值set_d時,中間量value加1,否則保持不變,為了消除實際距離在設(shè)定距離左右變化時的干擾,當value等于2時給p2.3扣一個低電平蜂鳴器報警,報警結(jié)束時給value賦初值0等待下次報警。4.2主程序完整的程序主要由數(shù)碼管段選定義、1ms延時函數(shù) 、處理距離函數(shù) 、把數(shù)據(jù)傳到單片機和從單片機中讀取數(shù)據(jù)程序、獨立按鍵程序、按鍵處理顯示函數(shù)、報警函數(shù)

26、、數(shù)碼位選和數(shù)碼顯示函數(shù)、超聲波測距程序以及定時器中斷服務(wù)程序等其他一些小程序組成。主函數(shù)如下:void main()beep = 0; /開機叫一聲 delay_1ms(150);p0 = p1 = p2 = p3 = 0xff; /初始化單片機io口為高電平send_wave();/測距離函數(shù)smg_display();/處理距離顯示函數(shù)time_init();/定時器初始化程序init_eeprom(); /開始初始化保存的數(shù)據(jù)send_wave();/測距離函數(shù)send_wave();/測距離函數(shù)while(1) if(flag_300ms = 1)flag_300ms = 0;clo

27、ck_h_l(); /報警函數(shù)if(beep = 1)send_wave();/測距離函數(shù)if(menu_1 = 0)smg_display(); /處理距離顯示函數(shù)key(); /按鍵函數(shù)if(key_can 10)key_with(); /按鍵處理函數(shù)第五章總結(jié)課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓(xùn)練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程”千里之行始于足下”,通過這次課程設(shè)計,我深深體會到這句千古名言的真正含義我今天認真的進行課程設(shè)計,學(xué)會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎(chǔ)。 通過這次接口設(shè)計,本人在多方面都有所提高。通過這次模具設(shè)計,綜合

28、運用本專業(yè)所學(xué)課程的理論和生產(chǎn)實際知識進行一次接口設(shè)計設(shè)計工作的實際訓(xùn)練從而培養(yǎng)和提高學(xué)生獨立工作能力,鞏固與擴充了at89s51芯片設(shè)計等課程所學(xué)的內(nèi)容,以及8at89s51芯片設(shè)計的內(nèi)容。 在這次設(shè)計過程中,體現(xiàn)出自己單獨設(shè)計接口的能力以及綜合運用知識的能力,體會了學(xué)以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補。我們的王老師.,老師嚴謹細致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;老師循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪;這次接口設(shè)計的每個實驗細節(jié)和每個數(shù)據(jù),都離不開老師您的細心指導(dǎo)。而您開朗的個性和寬容的態(tài)度,幫助我能夠很順利的完成了

29、這次課程設(shè)計。同時感謝對我?guī)椭^的同學(xué)們,謝謝你們對我的幫助和支持,讓我感受到同學(xué)的友誼。 本實驗是基于超聲波測距的智能報警系統(tǒng)的單片機技術(shù)。通過本系統(tǒng)的工作核心處理器單片機at89s51,超聲波傳感器,它是一種新型的片被動超聲波探頭,可以測量前面的非接觸距離的物體,并把它轉(zhuǎn)換成相應(yīng)的電信號輸出,并進行適當?shù)膱缶?。該報警器的最大特點是使用戶操作簡單,易懂,靈活;且易于安裝,高智能,低誤報率。此系統(tǒng)的設(shè)計由于條件限制存在一定的誤差,如果是用于精度要求更高的場合一定需要加上溫度補償電路,可以減小很大的誤差。隨著現(xiàn)代人的快速發(fā)展,增強科技安全意識,我相信警報將在更廣闊的領(lǐng)域,特別是獲得在汽車和交通運

30、輸領(lǐng)域的應(yīng)用有更深層次。參考文獻:1 李光飛,樓然苗,胡佳文等.單片機課程設(shè)計實例指導(dǎo)m.北京:北京航空航天大學(xué)出版社,20042 劉文濤.單片機語言c51典型應(yīng)用設(shè)計m.北京:人民郵電出版社,20013 姚建栓,于意仲 光電子技術(shù) 北京:高等教育出版社,20064 張毅剛 單片機原理及應(yīng)用 哈爾濱:高等教育出版社,2012 5 梁森,歐陽三泰 自動檢測技術(shù)及應(yīng)用 浙江:機械工業(yè)出版社,2006附錄1:附錄2:#include #include #include eepom52.h#define uchar unsigned char #define uint unsigned int/數(shù)碼管

31、段選定義 0 1 2 3 4 56 7 8 9uchar code smg_du=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff; /斷碼/數(shù)碼管位選定義uchar code smg_we=0xe0,0xd0,0xb0,0x70;uchar dis_smg8 =0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;sbit smg_we1 = p34; /數(shù)碼管位選定義sbit smg_we2 = p35;sbit smg_we3 = p36;s

32、bit smg_we4 = p37;sbit c_send = p32;/超聲波發(fā)射sbit c_recive = p33;/超聲波接收uchar flag_hc_value; /超聲波中間變量sbit beep = p23; /蜂鳴器io口定義bit flag_key_b_en,flag_key_set_en; /按鍵蜂鳴器使能uchar smg_i = 3; /顯示數(shù)碼管的個位數(shù)bit flag_300ms ;bit key_500ms ;long distance; /距離uint set_d; /距離bit flag_csb_juli; /超聲波超出量程uint flag_time0;

33、 /用來保存定時器0的時候的/ 按鍵的io變量的定義uchar key_can; /按鍵值的變量uchar zd_break_en,zd_break_value; /自動退出設(shè)置界面uchar menu_shudu = 10; /用來控制連加的速度bit flag_lj_en; /按鍵連加使能bit flag_lj_3_en; /按鍵連3次連加后使能 加的數(shù)就越大了 uchar key_time,flag_value; /用做連加的中間變量uchar menu_1; /菜單設(shè)計的變量uchar a_a;/*1ms延時函數(shù)*/void delay_1ms(uint q)uint i,j;for(

34、i=0;iq;i+)for(j=0;j120;j+);/*處理距離函數(shù)*/void smg_display()dis_smg0 = smg_dudistance % 10;dis_smg1 = smg_dudistance / 10 % 10;dis_smg2 = smg_dudistance / 100 % 10 & 0x7f;/*把數(shù)據(jù)保存到單片機內(nèi)部eepom中*/void write_eepom()sectorerase(0x2000);byte_write(0x2000, set_d % 256);byte_write(0x2001, set_d / 256);byte_write(

35、0x2058, a_a);/*把數(shù)據(jù)從單片機內(nèi)部eepom中讀出來*/void read_eepom()set_d = byte_read(0x2001);set_d = 5)key_value = 0;key_new = 1;flag_lj_en = 0;/關(guān)閉連加使能flag_lj_3_en = 0;/關(guān)閉3秒后使能flag_value = 0;/清零key_time = 0;write_eepom();else if(p2 & 0x07) != 0x07)key_value +; /按鍵按下的時候else key_value = 0;if(key_value = 5)key_value

36、= 0;key_new = 0;flag_lj_en = 1; /連加使能zd_break_en = 1; /自動退出設(shè)置界使能zd_break_value = 0; /自動退出設(shè)置界變量清零flag_key_b_en = 1; /按鍵蜂鳴器使能key_can = 20;if(key_500ms = 1)/連加key_500ms = 0;key_new = 0;key_old = 1;zd_break_value = 0;if(key_new = 0) & (key_old = 1)switch(p2 & 0x07)case 0x06: key_can = 3; break; /得到k2鍵值c

37、ase 0x05: key_can = 2; break; /得到k3鍵值case 0x03: key_can = 1; break; /得到k4鍵值/dis_smg3 = smg_dukey_can % 10; key_old = key_new; void smg_we_switch(uchar i)switch(i)case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break;case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break;case 2

38、: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break;case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break;/*數(shù)碼顯示函數(shù)*/void display()static uchar i; i+;if(i = smg_i)i = 0;/p1 = 0xff; /段選 /p3 = 0xf0 | (p3 & 0x0f); /位選/p3 = smg_wei | (p3 & 0x0f); /位選smg_we_switch(i);p1 = dis_smgi; /段選

39、 void delay()_nop_(); /執(zhí)行一條_nop_()指令就是1us_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); /*超聲波測距程序*/void send_wave()c_send = 1; /10us的高電平觸發(fā) delay();c_send = 0; th0 = 0; /給定時器0清零tl0 = 0;tr0 = 0; /關(guān)定時器0定時flag_hc_value = 0;while(!c_recive); /當c_recive為零時等待tr0=1;while(c_recive) /當c_recive為1計數(shù)并等待fl

40、ag_time0 = th0 * 256 + tl0;if(flag_hc_value 1) | (flag_time0 65000) /當超聲波超過測量范圍時,顯示3個888tr0 = 0;flag_csb_juli = 2;distance = 888;flag_hc_value = 0;break ;else flag_csb_juli = 1;if(flag_csb_juli = 1)tr0=0; /關(guān)定時器0定時distance = th0; /讀出定時器0的時間distance = distance * 256 + tl0;distance +=( flag_hc_value *

41、65536);/算出超聲波測距的時間 得到單位是msdistance *= 0.017; / 0.017 = 340m / 2 = 170m = 0.017m 算出來是米if(distance 350) /距離 = 速度 * 時間distance = 888; /如果大于3.8m就超出超聲波的量程 /*定時器0、定時器1初始化*/void time_init() ea = 1; /開總中斷tmod = 0x11; /定時器0、定時器1工作方式1et0 = 1; /開定時器0中斷 tr0 = 1; /允許定時器0定時et1 = 1; /開定時器1中斷 tr1 = 1; /允許定時器1定時/*按鍵

42、處理數(shù)碼管顯示函數(shù)*/void key_with()if(key_can = 1)menu_1 +;if(menu_1 = 2)menu_1 = 0;if(menu_1 = 0)menu_shudu = 20;dis_smg0 = smg_dudistance % 10; dis_smg1 = smg_dudistance / 10 % 10 ; dis_smg2 = smg_dudistance / 100 % 10 & 0x7f; smg_i = 3;if(menu_1 = 1)menu_shudu = 1;dis_smg0 = smg_duset_d % 10; dis_smg1 = smg_duset_d / 10 % 10; dis_smg2 = smg_duset_d / 100 % 10 & 0x7f ; dis_smg3 = 0x88;smg_i = 4;if(menu_1 = 1)/設(shè)置高溫報警i

溫馨提示

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

評論

0/150

提交評論