2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  題目:基于51單片機的簡易汽車防撞控制系統(tǒng)設計</p><p>  課 題 類 型: 論文 □ 設計 □√ </p><p>  學 生 姓 名: </p><p>  學 號: </p&g

2、t;<p>  班 級: </p><p>  專業(yè)(全稱): 電子信息工程</p><p>  系 別: 計算機與電氣信息工程系</p><p>  指 導 教 師: </p><p><b>  2011 年 5月</b></p><p

3、>  基于51單片機的簡易汽車防撞系統(tǒng)的設計</p><p><b>  摘要</b></p><p>  本文介紹的就是利用超聲波測距法設計的一種簡易汽車防撞系統(tǒng)。論文的內(nèi)容是基于STC89C52單片機簡易汽車防撞系統(tǒng)的設計,主要是利用超聲波的特點和優(yōu)點,將超聲波測距系統(tǒng)和STC89C52單片機結(jié)合于一體,設計出一種基于STC89C52的汽車防撞系統(tǒng)。該系統(tǒng)采

4、用軟硬件結(jié)合的方法,具有模塊化和多用化的特點。論文概述了超聲波檢測的發(fā)展及基本原理,闡述了超聲波傳感器的原理及特性。對于系統(tǒng)的一些主要參數(shù)進行了討論,并且在介紹超聲波測距系統(tǒng)功能的基礎(chǔ)上,提出了系統(tǒng)的總體構(gòu)成,通過多種發(fā)射接收電路設計方案比較,得出了最佳設計方案,并對系統(tǒng)各個設計單元原理進行了介紹。最后,通過對系統(tǒng)的誤差分析,給出了系統(tǒng)的改進方案。 </p><p>  關(guān)鍵詞:STC89C52;超聲波;傳感器

5、;測距</p><p>  THE DESIGN OF AUTOMOTIVE</p><p>  ANTI-COLLISION SYSTEM BASED ON 51 SCM</p><p><b>  ABSTRACT</b></p><p>  This paper is using ultrasonic to des

6、ign a simple automotive anti-collision system. The content of the paper is based on the design of the automotive anti-collision system, including the characteristics and advantages of ultrasonic ranging system.The system

7、 designs a kind of the automotive anti-collision system based on the STC89C52. This system uses software and hardware of the method of combining. It has the characteristics of modular and multi-purpose. This paper summar

8、izes the ultrasonic det</p><p>  Key words: STC89C52; ultrasonic wave; sensor; distance measurement </p><p><b>  目 錄</b></p><p><b>  1 引言1</b></p>&

9、lt;p>  1.1 課題背景1</p><p>  1.2 課題設計的意義1</p><p>  1.3 超聲波測距在汽車上應用的介紹2</p><p>  2課題的方案設計與論證3</p><p>  2.1系統(tǒng)總體設計3</p><p>  2.1.1總系統(tǒng)方框圖4</p><

10、;p>  2.1.2核心處理器STC89C524</p><p>  2.1.3 發(fā)射電路及驅(qū)動設計5</p><p>  2.1.4 接收電路的設計5</p><p>  2.1.5 顯示器模塊5</p><p>  2.1.6 報警模塊5</p><p>  2.2 設計方案的論證5</p&

11、gt;<p>  2.2.1 超聲波換能器的選擇5</p><p>  2.2.2 超聲波測距法的選擇6</p><p>  2.2.3 超聲波發(fā)射電路驅(qū)動的選擇6</p><p>  2.2.4 顯示器的選擇6</p><p>  2.2.5 數(shù)據(jù)通信方式的選擇7</p><p>  2.3

12、該課題設計的技術(shù)指標7</p><p>  3系統(tǒng)的硬件結(jié)構(gòu)設計7</p><p>  3.1核心處理器STC89C528</p><p>  3.2 超聲波換能器的選擇12</p><p>  3.3發(fā)射電路的設計14</p><p>  3.4接收電路的設計14</p><p>

13、  3.5 顯示報警模塊的設計17</p><p>  3.5.1顯示模塊17</p><p>  3.5.2 報警模塊的設計22</p><p>  3.6 單片機通信模塊的設計23</p><p>  4系統(tǒng)軟件的設計24</p><p>  4.1超聲波汽車防撞電路的算法25</p>&

14、lt;p>  4.2 主程序流程圖25</p><p>  4.3超聲波發(fā)生子程序和超聲波接收中斷程序30</p><p><b>  5調(diào)試31</b></p><p>  5.1硬件調(diào)試31</p><p>  5.2軟件調(diào)試32</p><p><b>  6 總

15、 結(jié)33</b></p><p><b>  參考文獻36</b></p><p><b>  致 謝37</b></p><p><b>  附錄37</b></p><p>  附錄1 總原理圖37</p><p>  附錄

16、2 PCB圖40</p><p>  附錄3 源程序41</p><p><b>  1 引言</b></p><p>  1.1 課題背景</p><p>  隨著經(jīng)濟的發(fā)展與汽車科學技術(shù)的進步,公路交通呈現(xiàn)出行駛高速化、車流密集化和駕駛員職業(yè)化的趨勢。同時,隨著汽車工業(yè)的飛速發(fā)展,汽車的產(chǎn)量和保有

17、量都在急劇增加。但在公路發(fā)展、交通管理卻相對落后,導致了交通事故與日俱增,城市里尤其突出。智能交通系統(tǒng)ITS是目前世界上交通運輸科學技術(shù)的前沿技術(shù),它在充分發(fā)揮現(xiàn)有基礎(chǔ)設施的潛力,提高運輸效率,保障交通安全,緩解交通堵塞,改善城市環(huán)境等方面的卓越效能,已得到各國政府的廣泛關(guān)注。中國政府也高度重視智能交通系統(tǒng)的研究開發(fā)與推廣應用。汽車防撞系統(tǒng)作為ITS發(fā)展的一個基礎(chǔ),它的成功與否對整個系統(tǒng)有著很大的作用。從傳統(tǒng)上說,汽車的安全可以分為兩個

18、主要研究方向:一是主動式安全技術(shù),即防止事故的發(fā)生,該種方式是目前汽車安全研究領(lǐng)域的最終目的;二是被動式安全技術(shù),即事故發(fā)生后的乘員保護。目前汽車安全領(lǐng)域被動安全研究較多,主要從安全氣囊、ABS(防抱死系統(tǒng))和懸架等方面著手,以保證駕乘人員的安全。從經(jīng)濟性和安全性兩方面來說,這些被動安全措施是在事故發(fā)生時刻對車輛和人員進行保護,有很大的局限性,因而車輛的主動安全研究尤為重要,引出了本文研究的基于單片機的超聲波測距系統(tǒng)</p>

19、<p>  1.2 課題設計的意義</p><p>  隨著現(xiàn)代社會工業(yè)化的發(fā)展,汽車這一交通工具正為越來越多的人所用,但是隨之而來的問題也顯而易見,那就是隨著車輛的增多,交通事故的頻繁發(fā)生,由此導致的人員傷亡和財產(chǎn)損失數(shù)目驚人。</p><p>  對于公路交通事故的分析表明,80%以上的車禍是由于駕駛員反應不及所引起的。超過65%的車輛相撞屬于追尾相撞,其余則屬于側(cè)面相撞

20、。奔馳汽車公司對各類交通事故的研究表明:若駕駛員能夠提早1S意識到有事故危險并采取相應的正確措施,則絕大多數(shù)的交通事故都可以避免。</p><p>  因此,大力研究開發(fā)如汽車防撞裝置等主動式汽車輔助安全裝置,減少駕駛員的負擔和判斷錯誤,對于提高交通安全將起到重要的作用。顯然,此類產(chǎn)品的研究開發(fā)具有極大的實現(xiàn)意義和廣闊的應用前景。</p><p>  1.3 超聲波測距在汽車上應用的介紹&

21、lt;/p><p>  超聲波防撞測距儀(俗稱電子眼)是汽車防撞安全輔助裝置,能以聲音或者更為直觀的數(shù)字形式動態(tài)顯示周圍障礙物的情況。其較早的產(chǎn)品是用蜂鳴器報警,蜂鳴器越急,表示車輛離障礙物越近。后繼的產(chǎn)品可以顯示0.35~2.5m,并有距離顯示、聲響報警、區(qū)域警示和方位指示,有些產(chǎn)品還具備開機自檢功能。目前市場上還出現(xiàn)了具有語音報警功能的產(chǎn)品。這些產(chǎn)品存在的主要問題是測量盲區(qū)大,報警滯后,未考慮汽車制動時的慣性因素

22、,使駕駛者制動滯后,抗干擾能力不強,誤報也比較多。汽車防撞雷達之所以能實現(xiàn)防撞報警功能,主要有超聲波這把無形尺子,它測量最近障礙物的距離,并告訴給車主。其實超聲波測距原理簡單:它發(fā)射超聲波并接收發(fā)射回波,通過單片機計數(shù)器獲得兩者時間差t,利用公式S=Ct/2計算距離,其中S為汽車與障礙物之間的距離,C為聲波在介質(zhì)中的傳播速度。</p><p>  本文介紹的超聲測距系統(tǒng)共有2只超聲波換能器(俗稱探頭),分別布置在

23、汽車的前左,后右2個位置上。能檢測前進和倒車方向障礙物距離,通過后視鏡內(nèi)置的顯示單元顯示距離和方位,發(fā)出一定的聲響,起到提示和警戒的作用。系統(tǒng)采用一片STC89C52單片機對兩路超聲波信號進行循環(huán)采集。</p><p>  超聲波是指頻率高于20KHz的機械波。為了以超聲波作為檢測手段,必須產(chǎn)生超聲波和接收超聲波。完成這種功能的裝置就是超聲波傳感器,習慣上稱為超聲波換能器或超聲波探頭。超聲波傳感器有發(fā)送器和接收器

24、,但一個超聲波傳感器也可具有發(fā)送和接收聲波的雙重作用。超聲波傳感器是利用壓電效應的原理將電能和超聲波相互轉(zhuǎn)化,即在發(fā)射超聲波的時候,將電能轉(zhuǎn)化,發(fā)射超聲波;而在收到回波的時候,則將超聲振動轉(zhuǎn)換成電信號。</p><p>  超聲波測距的原理一般采用渡越時間法TOF(time of flight)。首先測出超聲波從發(fā)射到遇到障礙物返回所經(jīng)歷的時間,再乘以超聲波的速度就得到二倍的聲源與障礙物之間的距離。測量距離的方法

25、有很多種,短距離的可以用尺,遠距離的有激光測距等,超聲波測距適用于高精度的中長距離測量。因為超聲波在標準空氣中的傳播速度為331.45米/秒,由單片機負責計時,單片機使用12.0M晶振,所以此系統(tǒng)的測量精度理論上可以達到毫米級。</p><p>  由于超聲波指向性強,能量消耗緩慢,在介質(zhì)中傳播距離遠,因而超聲波可以用于距離的測量。利用超聲波檢測距離,設計比較方便,計算處理也較簡單,并且在測量精度方面也能達到要求

26、。</p><p>  超聲波發(fā)生器可以分為兩類:一類用電氣方式產(chǎn)生超聲波,一類是用機械方式產(chǎn)生超聲波。本設計屬于近距離測量,可以采用常見的壓電式超聲波換能器來實現(xiàn)觸發(fā)單元。</p><p>  利用超聲波測距的工作,就可以根據(jù)測量發(fā)射波與反射波之間的時間間隔,從而達到測量距離的作用。其主要有三種測距方法:</p><p>  (1)相位檢測法,相位檢測法雖然精度高

27、,但檢測范圍有限;</p><p>  (2)聲波幅值檢測法,聲波幅值檢測法易受反射波的影響;</p><p>  (3)渡越時間檢測法,渡越時間檢測法的工作方式簡單,直觀,在硬件控制和軟件設計上都非常容易實現(xiàn)。其原理為:檢測從發(fā)射傳感器發(fā)射超聲波,經(jīng)氣體介質(zhì)傳播到接收傳感器的時間,這個時間就是渡越時間。</p><p>  本設計的超聲波測距就是使用了渡越時間檢測

28、法。在移動車輛中應用的超聲波傳感器,是利用超聲波在空氣中的定向傳播和固體反射特性(縱波),通過接收自身發(fā)射的超聲波信號,根據(jù)超聲波發(fā)出及回波接收的時間差和傳播速度,計算傳播距離,從而得到障礙物到車輛的距離。</p><p>  2課題的方案設計與論證</p><p><b>  2.1系統(tǒng)總體設計</b></p><p>  本課題研究的是基于

29、STC89C52單片機,利用超聲波測距法設計的一種簡易汽車防撞系統(tǒng),主要是利用超聲波的特點和優(yōu)勢,將超聲波測距系統(tǒng)和STC89C52單片機結(jié)合為一體,設計出一種基于STC89C52單片機的簡易汽車防撞系統(tǒng)。</p><p>  本系統(tǒng)設計的關(guān)鍵是實現(xiàn)超聲波的發(fā)射與接收,以測量汽車與障礙物的距離。因此在設計過程中主要的圍繞超聲波的發(fā)射、接收、處理、顯示以及報警等方面來構(gòu)建系統(tǒng),下面分別介紹系統(tǒng)的總體框架圖和研究方法

30、。</p><p>  2.1.1總系統(tǒng)方框圖</p><p>  通過STC89C52單片機給超聲波換能器發(fā)生40KHZ的方波信號,并通過放大電路(如74LS04)驅(qū)動換能器開始工作,發(fā)出超聲波,同時單片機內(nèi)部的定時器T0開始計時,超聲波遇到障礙物反射后返回,然后通過芯片(如CX20106A)把接收到的信號傳到單片機,定時中斷,得到發(fā)射與接收的時間差,利用公式S=V*T/2(V為超聲波在

31、標準空氣中的速度,為331.45m/s;T為發(fā)射與接收的時間差)在程序中計算出距離,最后通過顯示器把距離顯示出來,或發(fā)出警報。此距離隨時顯示在汽車駕駛室內(nèi),軟件可以設置幾級提示和報警,當車障之間距離小于安全距離時,設置在駕駛室的聲光報警儀即發(fā)出聲光信號,通知駕駛員謹慎操作,從而有效地防止碰撞事故發(fā)生,保證人身及設備的安全。</p><p>  系統(tǒng)框圖如圖2-1所示。</p><p>  

32、圖2-1 超聲波汽車防撞系統(tǒng)框圖</p><p>  2.1.2核心處理器STC89C52</p><p>  本次設計采用了常見的STC89C52單片機為核心處理器。STC89C52是一種低功耗、高性能CMOS 8位微控制器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C5

33、2為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標準功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/0口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保

34、存,振蕩器被凍結(jié),單片機一切工作停止,知道下一個中斷或硬件復位為止。</p><p>  2.1.3 發(fā)射電路及驅(qū)動設計</p><p>  超聲波發(fā)射電路有兩種比較實用的設計方案,一種是應用555定時器產(chǎn)生40KHz的振蕩信號,然后通過555定時器驅(qū)動超聲波換能器工作產(chǎn)生超聲波信號;另外一種是應用單片機產(chǎn)生40KHZ的方波信號然后通過驅(qū)動輸入超聲波換能器產(chǎn)生超聲波信號,本設計是應用第二種

35、方案。</p><p>  2.1.4 接收電路的設計</p><p>  參考紅外轉(zhuǎn)化接受期刊的電路采用集成電路CX20106A,這是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器。考慮到紅外遙控常用的載波頻率38KHz與測距超聲波頻率40KHZ較為接近,可以利用它作為超聲波檢測電路。從各方面信息了解到其具有很高的靈敏性和較強的抗干擾能力。適當改變外圍電容的大小,可改變接收電路

36、的靈敏性和抗干擾能力。</p><p>  2.1.5 顯示器模塊</p><p>  液晶顯示器以其微功耗、體積小,顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功率應用系統(tǒng)中得到越來越廣泛的應用。本課題采用的是字符型液晶模塊,這是一種用5x7點陣圖形來顯示字符的液晶顯示器。</p><p>  2.1.6 報警模塊</p><p> 

37、 考慮到本次課題設計的目的是以學習為主,因此報警模塊由小喇叭與LED指示燈構(gòu)成。</p><p>  2.2 設計方案的論證</p><p>  2.2.1 超聲波換能器的選擇</p><p>  超聲波探測技術(shù)主要用于中程測距、結(jié)構(gòu)探傷、智能控制等領(lǐng)域,超聲波換能器是其核心器件,換能器按其工作介質(zhì)分為氣相、液相和固相換能器;按其發(fā)射束寬度可分為寬波束和窄波束換能器

38、;按其工作頻率又可分為38KHz、40KHz等不同等級。本設計選用氣相、窄波束、40KHz的超聲波換能器。</p><p>  2.2.2 超聲波測距法的選擇</p><p>  當利用超聲波探測器測距時常用兩種方法:強度法和反射時間法,強度法是利用聲波在空氣中的傳輸損耗值來測量被測物的距離,被測物越遠其反射信號越弱,根據(jù)反射信號的強弱就可以知道被測物的遠近,但在使用這種方法時由于換能器之

39、間的直接耦合信號很難消除,在放大器增益較高時這一直接耦合信號就可使放大器飽和從而使整套系統(tǒng)失效,由于直接耦合信號的影響強度法測距只使用與較短距離的且精度要求不高的場合。</p><p>  反射時間法其原理是利用檢測聲波發(fā)出到接收到被測物發(fā)射回波的時間來測量距離,對于距離較短和要求不高的場合我們可認為空氣中的聲速為常數(shù),我們通過測量回波時間T利用S=V×(T/2)(其中S為被測距離、V為空氣中聲速、T為

40、回波時間(T=T1+T2)計算出路程,這種方法不受聲波強度的影響,直接耦合信號的影響也可以通過設置“時間門”來加以克服,因此這種方法非常適合較遠距離的測距,如果對聲速進行溫度修訂,其精度還可進一步提高,本設計中選用第二種方法。</p><p>  2.2.3 超聲波發(fā)射電路驅(qū)動的選擇</p><p>  超聲波傳感器一般要在40KHZ才能得到最大的震蕩,超聲波才能傳的更遠。超聲波發(fā)射電路驅(qū)

41、動有兩種比較通過用的設計方案,一種是應用555定時器產(chǎn)生40KHz的振蕩信號,然后通過555定時器驅(qū)動超聲波換能器工作產(chǎn)生超聲波信號;另外一種是應用單片機定時器產(chǎn)生40KHZ的方波信號然后通過驅(qū)動輸入超聲波換能器產(chǎn)生超聲波信號,因第二種方法方案較簡單,本設計是應用第二種方案。</p><p>  2.2.4 顯示器的選擇</p><p>  方案一:使用多個數(shù)碼管顯示。LED數(shù)碼管是利用二

42、極管發(fā)光顯示數(shù)字和字母,具有亮度大,接口設計也比較容易,價格相對較便宜等優(yōu)點。但是由于它工作時電流較大,顯示的信息量有限。</p><p>  方案二:采用液晶顯示。液晶特別是具有字符顯示功能的液晶顯示器,來實現(xiàn)顯示功能,不僅可以實現(xiàn)基本的顯示信息,而且可以顯示豐富的符號指示信息,信息量豐富且直觀易懂。而且液晶顯示功耗低,體積小。</p><p>  綜上考慮,本設計采用方案二,使用LCD

43、1602來顯示。</p><p>  2.2.5 數(shù)據(jù)通信方式的選擇</p><p>  數(shù)據(jù)通信方式可分為兩種:并行傳送和串行傳送。并行傳送速度快,效率高,但傳送可靠性差,不適合遠距離傳送;串行傳送數(shù)據(jù)按位順序移動,速度較慢,效率偏低,但傳送效率可靠,可以節(jié)省通信子系統(tǒng)的硬件投資。</p><p>  PC機的串口采用的是標準的RS-232接口,由于STC89C5

44、2單片機的串行口電平是TTL電平,但是TTL電平特性與RS232的電平特性不匹配,因此為了使STC89C52單片機的串口能與RS-232接口通信,必須將串行口的輸入/輸出進行電平轉(zhuǎn)換。因此本設計可以選用集成電平芯片MAX232為RS-232C/TTL電平轉(zhuǎn)換芯片。</p><p>  2.3 該課題設計的技術(shù)指標</p><p> ?。?) 汽車行駛時,若汽車與障礙物的距離≤1m時,發(fā)出報

45、警聲音,若汽車與障礙物的距離≤0.5m時,剎車制動,剎車指示燈亮; </p><p>  (2) 可自動解除報警或手動強制解除報警;</p><p> ?。?) 采用LCD液晶顯示,當汽車與障礙物的距離在6m內(nèi)時,可顯示實際距離;</p><p>  3系統(tǒng)的硬件結(jié)構(gòu)設計</p><p>  本系統(tǒng)主要是應用STC89C52單片機為主控制器,

46、以超聲波發(fā)射部分,接收部分,LCD顯示部分,報警部分為受控模塊,它們共同組成為超聲波測距系統(tǒng)。</p><p>  系統(tǒng)主要通過單片機輸出超聲波轉(zhuǎn)化器所需的40KHZ方波信號。再由超聲波收發(fā)一體發(fā)出去,遇到障礙物后同樣通過超聲波收發(fā)一體接收信號傳到CX20106A中,當CX20106A芯片接收到超聲波信號后會在第7腳產(chǎn)生一個低電平的下降脈沖,利用外部中斷0口檢測超聲波接收電路輸出的返回信號,軟件中通過記錄發(fā)射與接

47、收的時間差計算出距離S=CT/2,最后在LCD上顯示出距離和警報等功能。</p><p>  3.1核心處理器STC89C52</p><p>  在系統(tǒng)的設計中,選擇合適的系統(tǒng)核心器件就成為能否成功完成設計任務的關(guān)鍵,而作為控制系統(tǒng)核心的單片機的選擇更是重中之重。目前各半導體公司、電氣商都向市場上推出了形形色色的單片機,并提供了良好的開發(fā)環(huán)境。選擇好合適的單片機可以最大地簡化單片機應用系

48、統(tǒng),而且功能優(yōu)異,可靠性好,成本低廉,具有較強的競爭力。目前,市面上的單片機不僅種類繁多,而且在性能方面也各有所長。一般來說,選擇單片機需要考慮以下幾個方面:</p><p>  (1)單片機的基本性能參數(shù)。例如指令執(zhí)行速度,程序存儲器容量,I/O引腳數(shù)量等。</p><p>  (2)單片機的增強功能。例如看門狗、多指針、雙串口等。</p><p>  (3)單片

49、機的存儲介質(zhì)。對于程序存儲器來說,F(xiàn)lash存儲器和OTP(一次性可編程)存儲器相比較,最好是Flash存儲器。</p><p>  (4)芯片的封裝形式。如DIP(雙列直插)封裝,PLCC(PLCC有對應插座)封裝及表面貼附等。</p><p>  (5)芯片工作溫度范圍符合工業(yè)級、軍工級還是商業(yè)級。如果設計戶外產(chǎn)品,必須選用工業(yè)級。</p><p>  (6)芯

50、片的功耗。比如設計并口加密狗時,信號線取電只能提供幾mA的電流,選用STC單片機就是因為它能滿足低功耗的要求。</p><p>  (7)供貨渠道是否暢通、價格是否低廉。</p><p>  (8)技術(shù)支持網(wǎng)站的速度如何,資料是否豐富。包括芯片手冊,應用指南,設計方案,范例程序等。</p><p>  (9)芯片保密性能好、單片機的抗干擾性能好。</p>

51、<p>  STC89系列單片機是MCS-51系列單片機的派生產(chǎn)品。它在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標準8052單片機完全兼容,DIP40封裝系列與8051為pin-to-pin兼容。STC89系列單片機高速(最高時鐘頻率90MHz),低功耗,在系統(tǒng)/在應用可編程(ISP,IAP),不占用戶資源。根據(jù)本系統(tǒng)的實際情況,選擇STC89C52單片機,單片機(STC89C52)的引腳功能圖3-1</p><

52、;p>  圖3-1 STC98C52引腳圖</p><p>  單片機的引腳功能說明:</p><p><b>  電源引腳</b></p><p>  Vcc 第40腳 正電源腳, 工作電壓為5V。GND 第20腳 接地端</p><p>  2. 時鐘電路引腳XTAL1和XTAL2</p>

53、<p>  為了產(chǎn)生時鐘信號,在8052內(nèi)部設置了一個反相放大器,XTAL1是片內(nèi)振蕩器反相放大器的輸入端,XTAL2是片內(nèi)振蕩器反相放大器的輸出端,也是內(nèi)部時鐘發(fā)生器的輸入端。當使用自激振蕩方式時,XTAL1和XTAL2外接石英晶振,使內(nèi)部振蕩器按照石英晶振的頻率振蕩,就產(chǎn)生時鐘信號。</p><p>  產(chǎn)生時鐘信號電路如圖3-2: </p><p>  圖3-2時鐘信號電

54、路</p><p>  本系統(tǒng)使用的石英晶振頻率為12MHz。</p><p>  3. 復位 RST 第9腳</p><p>  在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腳時,將使單片機復位,只要這個腳保持高電平,52芯片變循環(huán)復位。復位后P0—P3口均置1引腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR全部清零。當復位腳由高電

55、平變?yōu)榈碗娖綍r,芯片為ROM的0000H處開始運行程序。</p><p>  常用的復位電路如下圖所示。</p><p>  圖3-3 復位電路圖</p><p>  本系統(tǒng)復位電路是手動復位電路,如圖3-4:</p><p>  圖3-4 復位電路圖</p><p>  4. 輸入輸出(I/0)引腳</p>

56、;<p>  Pin39-Pin32為P0.0-P0.7輸入輸出腳,稱為P0口,是一個8位漏極開路型雙向I/O口。內(nèi)部不帶上拉電阻,當外接上拉電阻時,P0口能以吸收電流的方式驅(qū)動八個LSTTL負載電路。通常在使用時外接上拉電阻,用來驅(qū)動多個數(shù)碼管。在訪問外部程序和外部數(shù)據(jù)存儲器時,P0口是分時轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,不需要外接上拉電阻。</p><p>  Pinl-Pin8為P1. 0-P

57、1.7輸入輸出腳,稱為Pl口,是一個帶內(nèi)部上拉電阻的8位雙向I/O 口。P1 口能驅(qū)動4個LSTTL負載。通常在使用時外不需要外接上拉電阻,就可以直接驅(qū)動發(fā)光二極管。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p>  對于輸出功能,在單片機工作時,我們可以通過用指令控制單片機的引腳輸出高電平或者低電平。如: 指令CLR,清零的意思。</p><p>  CLR Pl

58、.0:讓單片機從第一腳輸出低電平。指令SETB,置1的意思。</p><p>  SETB Pl.0;讓單片機從第一個腳輸出高電平。</p><p>  Pin21-Pin28為P2.0-P2.7輸入輸出腳,稱為P2 口,是一個帶內(nèi)部上拉電阻的8位雙向I/O 口,P2口能驅(qū)動4個LSTTL負載。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接收高8位

59、地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變。</p><p>  Pinl0-Pin17為P3.0-P3.7輸入輸出腳,稱為P3口,是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P2口能驅(qū)動4個LSTTL負載,這8個引腳還用于專門的第二功能。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編

60、程時,接控制信息。</p><p>  P1~P3端口在做輸入使用時,因內(nèi)部有上接電阻,被外部拉低的引腳會輸出一定的電流。除此之外P3端口]還用于一些專門功能,如下表。</p><p>  5.其它的控制或復用引腳</p><p>  (1) ALE/PROG 30訪問外部存儲器時,ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍

61、以不變的頻率輸出脈沖信號(此頻率是振蕩器頻率的1/6)。在訪問外部數(shù)據(jù)存儲器時,出現(xiàn)一個ALE脈沖。對Flash存儲器編程時,這個引腳用于輸入編程脈沖PROG</p><p>  表3-1 P3口專門功能</p><p>  (2)PSEN 29 該引腳是外部程序存儲器的選通信號輸出端。當STC89C52由外部程序存儲器取指令或常數(shù)時,每個機器周期輸出2個脈沖即兩次有效。但訪問外部數(shù)據(jù)存儲

62、器時,將不會有脈沖輸出。</p><p>  (3)EA/Vpp 31 外部訪問允許端。當該引腳訪問外部程序存儲器時,應輸入低電平。要使STC89C52只訪問外部程序存儲器(地址為0000H-FFFFH),這時該引腳必須保持低電平。對Flash存儲器編程時,用于施加Vpp編程電壓。</p><p>  單片機最小系統(tǒng)電路圖如下圖3-5所示: </p><p>  圖

63、 3-5 單片機最小系統(tǒng)圖</p><p>  3.2 超聲波換能器的選擇</p><p>  根據(jù)設計要求并綜合各方面因素,選擇了西安立宇電子科技有限公司的超聲波測距傳感器TCT40-16T/R(T表示發(fā)射傳感器,R表示接收傳感器),最大探測距離為6m,發(fā)射擴散度為60度。</p><p>  超聲波傳感器有兩塊壓電晶片和一塊共振板。當它的兩電極加脈沖信號(觸發(fā)脈

64、沖),若其頻率等于晶片的固有頻率時,壓電晶片就會發(fā)生共振,并帶動共振板振動,從而產(chǎn)生超聲波。相反,電極間未加電壓,則當共振板接收到回波信號時,將壓迫兩壓電晶片振動,從而將機械波能轉(zhuǎn)換為電信號,此時的傳感器就成了超聲波接收器。超聲波傳感器是一種采用壓電效應的傳感器,常用的材料是壓電陶瓷。由于超聲波在空氣中傳播時會有相當?shù)乃p,衰減的程度與頻率的高低成正比;而頻率高,分辨率也高,故短距離測量時應選擇頻率高的傳感器,而長距離的測量時應用低頻率

65、的傳感器。相臨兩片的壓電陶瓷片極化方向相反,芯片的數(shù)目成偶數(shù),以使前后金屬蓋板與同一極性的電極相連,否則在前后蓋板與芯片之間要墊以絕緣墊圈,會導致結(jié)構(gòu)不必要的的增大,兩芯片之間,芯片與金屬蓋板間通常以薄黃銅片(厚度小于0.1mm),作為焊接電極引線;芯片,電極銅片用強力膠膠合,在壓電組件的中央部分用結(jié)合軸狀諧振子連成一體,圓錐狀諧振子的邊緣部分裝有圓環(huán)彈性橡膠減振器,使之與外殼固定,起聲阻匹配作用。在電 — 聲變換部分的前面的超聲波束整

66、形板,是對應圓錐狀諧振子的振動模式設置的幾個開口,</p><p>  目前市面上出售的超聲波傳感器種類有通用型,拓寬型,寬帶域型,防水型和高頻型等這幾類。雖然通用型超聲波傳感器有頻率帶寬較窄的缺點,但是卻可以換來高靈敏度,抗噪聲干擾強的優(yōu)點。超聲波基本應用電路主要分為三類:</p><p>  (1)直射型,主要用于遙控及報警電路</p><p>  (2)分離反

67、射型,主要用于測距,料位測量等電路</p><p>  (3)反射型,主要用于材料的探傷,測厚電路</p><p>  鑒于成本的考慮,選用了普通的T/R-40系列的超聲波發(fā)射/接收傳感器。T/R-40系列超聲波傳感器典型的工作頻率為(39-41)KHz,其具體參數(shù)見表2.1和表2.2。</p><p>  表2.1 外形尺寸(T/R-4-XX中的”XX”表示傳感器

68、的外徑尺寸)</p><p><b>  表2.2 電氣參數(shù)</b></p><p><b>  傳感器位置</b></p><p>  由于此測距系統(tǒng)是采用超聲波發(fā)射和接收分離反射型結(jié)構(gòu),所以發(fā)射頭和接收頭應該在同一平行直線上。處于距離和發(fā)射夾角所引起的誤差以及超聲波信號在傳播過程中衰減問題的考慮,發(fā)射和接收探頭距離不可

69、以太遠,而又為了避免發(fā)射頭對接收頭接收信號產(chǎn)生的干擾,二者也不能間隔太近。經(jīng)過參考前人的經(jīng)驗以及調(diào)試時的實際情況,應保持超聲波發(fā)射頭和接收頭中心軸線平行并相距4-8cm即可。</p><p>  3.3發(fā)射電路的設計</p><p>  超聲波發(fā)射電路有兩種簡單易用的設計方案,一種是應用555定時器產(chǎn)生40KHZ的振蕩信號,然后通過555定時器驅(qū)動超聲波換能器工作產(chǎn)生超聲波信號;另外一種是

70、應用單片機產(chǎn)生40KHZ的方波信號然后通過反相器74LS04驅(qū)動輸入超聲波換能器產(chǎn)生超聲波信號,本設計采用的第二種方案。如圖3-6所示。</p><p>  圖 3-6 超聲波發(fā)射電路及驅(qū)動</p><p>  超聲波發(fā)射電路原理圖如圖3-6所示。發(fā)射電路主要由反相器74LS04和超聲波發(fā)生器Send_CSB構(gòu)成,單片機P1.0端口輸出的40KHZ方波信號一路經(jīng)一級反相器U2A后送到超聲波

71、換能器的一個電極,另一路經(jīng)兩級反相器U2D,U2E后送到超聲波換能器的另一個電極。用這種推挽形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強度。輸出端采用兩個反相器并聯(lián),可以提高驅(qū)動能力。上拉電阻R7,R8一方面可以提高反相器74LS04輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由震蕩的時間。</p><p>  3.4接收電路的設計</p><p>

72、;  集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器??紤]到紅外遙控常用的載波頻率38KHZ與測距的超聲波頻率40KHZ較為接近,可以利用它做超聲波的檢測接收電路。下面對紅外遙控接收器集成電路CX20106A做一個簡要的介紹。</p><p>  CX20106A是日本索尼公司生產(chǎn)的彩電專用紅外遙控接收器,采用單列8腳直插式,超小型封裝。CX20106A的基本性能如下:(1)電

73、源電壓典型值5V,最大17V。(2)電源電流1.1~2.5mA(典型值為1. 8mA)。(3)輸出低電平0.2V。(4)電壓增益77~79dB。(5)輸入阻抗為27k;(6)濾波器中心頻率f0為30~60KHz。</p><p>  其內(nèi)部結(jié)構(gòu)如下圖3-7所示。</p><p>  圖3-7 CX20106A內(nèi)部結(jié)構(gòu)圖</p><p>  各引腳功能(如下表3-2)

74、</p><p>  表3-2 CX20106A引腳功能</p><p>  CX20106A該IC內(nèi)部主要包括前置放大器,限幅放大,帶通濾波,峰值檢波,積分濾波及波形整形電路等?;驹砣缦拢航邮論Q能器把超聲波回波轉(zhuǎn)換為相應頻率的數(shù)字編碼脈沖調(diào)幅波,并由l腳進入集成放大器的正相輸入端。2腳是放大器的反相輸入端,外接RC負反饋網(wǎng)絡,可以決定和調(diào)節(jié)放人器的頻率特性和電壓增益,當電阻值小或者電

75、容值大時,電壓增益高,通頻帶窄;反之,電壓增益低,通頻帶寬。在放大器輸入端設置有ABLC電路(即自動偏壓電路或者自動電平控制電路,它可使放入及限幅電路輸出電平穩(wěn)定的編碼信號),可自動調(diào)整放大器的偏置電壓,使放大器的輸出電平穩(wěn)定。然后,信號進入限幅放大器,可以濾除雜亂的寄生調(diào)幅和其他干擾,輸出包絡脈沖頂部平直的編碼脈沖調(diào)幅波。信號再進入帶通濾波器,濾除頻率范圍30-50KHZ以外的干擾信號。5腳外接電阻。調(diào)節(jié)其阻值可調(diào)節(jié)帶通濾波器的中心頻

76、率值。然后信號進入峰值檢波器,對編碼脈沖的調(diào)幅波進行振幅檢波,解調(diào)出數(shù)字編碼脈沖信號,3腳外接電容是峰值檢波器的濾波電容。檢波出的信號再送到整形電路巾進行波形轉(zhuǎn)換與整形,最后由7腳輸出數(shù)字編碼脈沖信號,送至CPU去識別,處理。6腳外接積分電容,可</p><p>  根據(jù)以上原理,超聲波測距系統(tǒng)的接收電路如下圖3-8所示。超聲波接收換能器將接收到的回波信號轉(zhuǎn)換后經(jīng)過0. 0563UF的電容初步濾波后,進入CX20

77、106A的1腳,經(jīng)過CX20106A的前置放大器,限幅放大,帶通濾波器(中心頻率為40KHZ),檢波器及比較器,最后經(jīng)過內(nèi)部的整形電路,從7腳輸出至單片機的外部中斷0(P3.2)口。當芯片接收到40KHZ的信號時,7腳的輸出高電平轉(zhuǎn)為低電平,單片機外部中斷0口檢測到輸入信號的下降沿或者低電平時,立即產(chǎn)生中斷,同時停止定時/計數(shù)器T0。從而得到超聲波的回波時間t.</p><p>  圖3-8聲波接收電路</

78、p><p>  3.5 顯示報警模塊的設計</p><p><b>  3.5.1顯示模塊</b></p><p>  液晶顯示器以其微功耗、體秘小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點,在袖珍式儀表和低功耗應用系統(tǒng)中得到越來越廣泛的應用。隨著科技的發(fā)展,液晶顯示模塊的應用前景將更加廣闊。本系統(tǒng)選用的是MDLS(香港精電公司字符型液晶顯示模塊)系列的L

79、CD1602液晶顯示器。</p><p>  本系統(tǒng)選用LCD液品LCD1602顯示器做為顯示模塊。</p><p>  其芯片引腳功能如表3-3所示</p><p>  表3-3 LCD1602引腳功能</p><p>  LCD1602指令集</p><p><b>  1,清屏</b><

80、;/p><p>  運行時間(250KHZ):1.64uS</p><p>  功能:清DDRAM和AC值。</p><p><b>  2,歸位</b></p><p>  運行時間(250KHZ):1.64uS</p><p>  功能:AC=0,光標,畫面回HOME位。</p>&

81、lt;p><b>  3,輸入方式設置</b></p><p>  運行時間(250KHZ):40uS</p><p>  功能:設置光標,畫面移動方式。</p><p>  其中:I/D=1:數(shù)據(jù)讀,寫操作后,AC自動增一;</p><p>  I/D=0數(shù)據(jù)讀,寫操作后,AC自動減一;</p>&

82、lt;p>  S=1: 讀,寫操作,畫面平移;</p><p>  S=0:數(shù)據(jù)讀,寫操作,畫面不動。</p><p><b>  4,顯示開關(guān)控制</b></p><p>  運行時間(250KHZ):40uS</p><p>  功能:設置顯示,光標及閃爍開,關(guān)。</p><p>  其

83、中:D表示顯示開關(guān);D=1為開,D=0為關(guān);</p><p>  C表示光標開關(guān);C=1為開,C=0為關(guān);</p><p>  B表示閃爍開關(guān);B=1為開,B=0為關(guān)。</p><p><b>  5,光標,畫面位移</b></p><p>  運行時間(250KHZ):40Us</p><p>

84、  功能:光標,畫面移動,不影響DDRAM。</p><p>  其中:S/C=1;畫面平移一個字符位;</p><p>  S/C=0;光標平移一個字符位;</p><p>  R/L=1;右移;R/L=0;左移。</p><p><b>  6,功能設置</b></p><p>  運動時間(

85、250KHZ):40Us</p><p>  功能:工作方式設置(初始化指令)。</p><p>  其中:DL=1, 8位數(shù)據(jù)接口;DL=0,4位數(shù)據(jù)接口;</p><p>  N=1,兩行顯示;N=0,一行顯示;</p><p>  F=1, 5×10點陣字符;F=0, 5×7點陣字符。</p>&

86、lt;p>  7,CGRAM地址設置</p><p>  運行時間(250KHZ):40Us</p><p>  功能:設置CGRAM地址。A5~A0=0~3FH。</p><p>  8,DDRAM地址設置</p><p>  運行時間(250KHZ):40Us</p><p>  功能:設置DDRAM地址。&

87、lt;/p><p>  N=0,一行顯示A6~A0=0~4FH;</p><p>  N=1,兩行顯示,首行A6~A0=00H~2FH, 次行A6~A0=40H~67H。</p><p><b>  9,讀BF及AC值</b></p><p>  功能:讀忙BF值和地址技術(shù)器AC值。</p><p>

88、  其中:BF=1:忙;BF=0:準備好。此時,AC值意義為最近一次地址設置(CGRAM或DDRAM)定義。</p><p><b>  10,寫數(shù)據(jù)</b></p><p>  運行時間(250KHZ);40Us</p><p>  功能:根據(jù)最近設置的地址性質(zhì),數(shù)據(jù)寫入DDRAM或CGRAM內(nèi)。</p><p>&l

89、t;b>  11,讀數(shù)據(jù)</b></p><p>  運行時間(250KHZ):40Us</p><p>  功能:根據(jù)最近設置的地址性質(zhì),從DDRAM或CGRAM數(shù)據(jù)讀出。</p><p>  LCD1602與單片機連接的原理圖3-9,如下:</p><p>  圖3-9 LCD1602與單片機的連接圖</p>

90、<p><b>  內(nèi)部字符表</b></p><p>  表3-5 內(nèi)部字符表</p><p>  3.5.2 報警模塊的設計</p><p>  3.5.2.1 聲報警模塊</p><p><b>  如圖3-10所示</b></p><p>  圖3-10

91、 聲報警模塊</p><p>  3.5.2.2 光報警模塊</p><p><b>  如圖3-11所示</b></p><p>  圖3-11 光報警模塊</p><p>  3.6 單片機通信模塊的設計</p><p>  單片機與計算機通信采用RS232串行接口,由于RS232的供電電源為

92、+12V,而單片機為+5V,因此本系統(tǒng)采用單電源電平轉(zhuǎn)換芯片MAX232與RS232來實現(xiàn)單片機與計算機的的通信。</p><p><b>  MAX232</b></p><p>  MAX232芯片是美信公司專門為電腦的RS-232標準串口設計的單電源電平轉(zhuǎn)換芯片,使用+5V單電源供電。</p><p>  內(nèi)部結(jié)構(gòu)基本可分三個部分:<

93、;/p><p>  第一部分是電荷泵電路。由1、2、3、4、5、6腳和4 只電容構(gòu)成。功能是產(chǎn)生+12V和-12V兩個電源,提供給RS-232串口電平的需要。</p><p>  第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。</p><p>  其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IV)、14腳(T10UT

94、)為第一數(shù)據(jù)通道。</p><p>  8腳( R2IN)、9腳(R20UT)、10腳(T2IN)、7腳(T20UT)為第二數(shù)據(jù)通道。</p><p>  TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T10UT、T20UT送到電腦DB9插頭:DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OLT、R20UT輸出。</p&g

95、t;<p>  第三部分是供電。15腳GND、16腳VCC (+5V)。</p><p><b>  電路為:</b></p><p>  圖 3-11 MAX232內(nèi)部電路圖</p><p>  單片機STC89C52通過MAX232電路與計算機進行通信。</p><p><b>  電路圖如圖

96、3-12</b></p><p>  圖3-12 MAX232電路與單片機通信電路</p><p><b>  4系統(tǒng)軟件的設計</b></p><p>  軟件設計的主要思路是將預置、發(fā)射、接收、顯示、聲音與光報警等功能編成獨立的模塊,在主程序中采用鍵控循環(huán)的方式,當按下控制鍵后,在一定周期內(nèi),依次執(zhí)行各個模塊,調(diào)用預置子程序,發(fā)

97、射子程序、查詢接收子程序、定時子程序,并把測量的結(jié)果進行分析處理,根據(jù)處理結(jié)果決定顯示程序的內(nèi)容以及是否調(diào)用聲音,光,顯示報警程序。當測得距離小于預置距離時,聲音,光,顯示報警程序被調(diào)用。</p><p>  主程序首先是對系統(tǒng)環(huán)境初始化,設置定時器T0工作模式為16位定時計數(shù)器模式。置位總中斷允許位EA并給顯示端口P0清0。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的

98、直射波觸發(fā),需要延時約0.1 ms(這也就是超聲波測距儀會有一個最小可測距離的原因)后,才打開外中斷0接收返回的超聲波信號。超聲波汽車防撞電路的軟件設計主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。我們知道C語言程序有利于實現(xiàn)較復雜的算法,匯編語言程序則具有較高的效率且容易精細計算程序運行的時間,而超聲波測距儀的程序既有較復雜的計算(計算距離時),又要求精細計算程序運行時間(超聲波測距時),所以控制程序可采用C語言

99、和匯編語言混合編程。</p><p>  4.1超聲波汽車防撞電路的算法</p><p>  超聲波測距的原理為超聲波發(fā)生器T在某一時刻發(fā)出一個超聲波信號,當這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計算公式為:</p><p>  d=s/2=

100、(c×t)/2</p><p>  其中,d為被測物與測距儀的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時問。在啟動發(fā)射電路的同時啟動單片機內(nèi)部的定時器T0,利用定時器的計數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路輸出端產(chǎn)生一個負跳變,在INT0或INT1端產(chǎn)生一個中斷請求信號,單片機響應外部中斷請求,執(zhí)行外部中斷服務子程序,讀取時間差,計算距離。<

101、/p><p>  4.2 主程序流程圖</p><p>  軟件分為兩部分,主程序和中斷服務程序,如圖(4-1)(4-2)(4-3)所示。</p><p>  主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。</p><p>  定時中斷服務子程序完成三方向超聲波的輪流發(fā)射,外部中斷子程序主要完成時間值的讀取、距離計算、結(jié)果的輸出等工作。主

102、程序流程圖4-1</p><p>  圖4-1 主程序程序</p><p><b>  主程序部分代碼</b></p><p><b>  main()</b></p><p><b>  {</b></p><p>  WARN=1;// 關(guān)掉聲音警報

103、喇叭</p><p>  LED=1; //關(guān)掉光報警指示燈</p><p>  initTimer(); //外部中斷0與定時計數(shù)器0初始化函數(shù)</p><p>  clear_LCD(); //LCD1602清屏函數(shù)</p><p><b>  for(;;)</b></p><p>

104、<b>  {</b></p><p>  Send_Start(); //發(fā)射超聲波</p><p>  if(Stop_Flag) //Stop_Flag為定時器T0停止標志位,即接收到回波</p><p><b>  {</b></p><p>  Stop_Flag=0;</p>

105、<p>  if(!Over_Flag) //Over_Flag為定時器T0溢出標志位</p><p><b>  {</b></p><p>  time=TH0*256+TL0; //定時時間化成十進制,單位是us</p><p>  distance=time*0.000001*331.45*100/2; //先把時間

106、單位化為s,再利用距離公式計算得出與障礙物的距離,最后把結(jié)果轉(zhuǎn)換成單位cm</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

107、<p>  顯示報警子程序流程圖如圖4-2所示</p><p>  圖4-2 顯示報警子程序流程圖</p><p>  顯示報警子程序部分程序</p><p>  if(distance)</p><p><b>  {</b></p><p>  if(distance<50&

108、amp;&distance==50) /*當測量出的距離小于或者等于0.5m*/</p><p><b>  {</b></p><p>  show_chiese(a,16,0x80);</p><p>  LED=0; //剎車指示燈亮</p><p>  sha=0;//剎車制動</p>&l

109、t;p><b>  }</b></p><p><b>  else</b></p><p>  sha=1; //剎車指示燈滅</p><p>  LED=1; //停止剎車</p><p>  if(distance>50&&distance<100&&

110、amp;distance==100) /* 當測量出的距離大于0.5m,小于1m*/</p><p><b>  {</b></p><p>  show_chiese(b,16,0x80);//液晶顯示函數(shù)</p><p>  WARN=0; //發(fā)出警報聲音</p><p><b>  }</b&g

111、t;</p><p>  else WARN=1;</p><p>  if(distance>100) //當測量出的距離大于1m</p><p><b>  {</b></p><p>  show_chiese(c,16,0x80);</p><p><b>  }<

112、/b></p><p>  delay(10);</p><p>  numch(distance); //將測量得到的數(shù)字轉(zhuǎn)換成ASC碼</p><p>  show_chiese(d,17,0x88); //顯示出汽車與障礙物的距離</p><p>  delay(10);</p><p><b>

113、;  }</b></p><p>  INT0中斷服務子程序圖4-3</p><p>  圖4-3 中斷服務子程序流程圖</p><p>  中斷服務子程序部分程序</p><p>  /*********定時器T0計數(shù)溢出*******/</p><p>  void timer0(void) inter

114、rupt 1</p><p><b>  {</b></p><p><b>  TR0=0;</b></p><p><b>  ET0=0;</b></p><p><b>  TH0=0xff;</b></p><p><

115、;b>  TL0=0xff;</b></p><p><b>  TR1=0;</b></p><p>  Over_Flag=1;</p><p>  IE=0; //外部中斷0中斷標志位(1為申請中斷,0不再申請中斷)</p><p><b>  }</b></p&g

116、t;<p>  /**********外部中斷0中斷子程序*********/</p><p>  void int0(void) interrupt 0</p><p><b>  {</b></p><p>  TR1=0; //停止發(fā)射超聲波</p><p><b>  TR0=0;<

溫馨提示

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

評論

0/150

提交評論