單片機本科畢業(yè)設(shè)計--微處理器控制的超聲波汽車倒車測距系統(tǒng)的設(shè)計_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  超聲波汽車倒車探測器是一種能夠?qū)崟r顯示車后障礙物狀況的汽車倒車輔助裝置。在現(xiàn)實生活中應(yīng)用十分廣泛。本文根據(jù)聲波在空氣中可定向發(fā)射和反射的原理,以超聲波換能器為接口部件,應(yīng)用單片機技術(shù)設(shè)計了一套超聲波測距系統(tǒng)。</p><p>  文章提出了微處理器控制的超聲波汽車倒車測距系統(tǒng)的設(shè)計方案。微處理器計算超

2、聲波從發(fā)射到接收的時間,在數(shù)據(jù)處理中采用溫度補償技術(shù)對超聲波在空氣中的傳播速度進行修正,計算出距離,并根據(jù)障礙物與車尾的距離遠近情況發(fā)出不同等級的報警聲,同時顯示車后障礙物與車體的距離。</p><p>  論文概述了超聲波探測器的發(fā)展狀況及基本原理。對測距系統(tǒng)發(fā)射、接收、檢測、顯示等部分的設(shè)計方案進行了分析。從系統(tǒng)的性能需求、實用要求出發(fā),對系統(tǒng)組成、檢測原理和方法作出選擇并對軟硬件進行了設(shè)計。文章詳細敘述了系

3、統(tǒng)的硬件設(shè)計過程,并給出了系統(tǒng)軟件設(shè)計程序流程圖,通過誤差分析,說明了系統(tǒng)應(yīng)用的實用性。</p><p><b>  Abstract</b></p><p>  The ultrasonic wave automobile back-draft detector is one kind auxiliary unit that can display the cond

4、ition of the obstacle behind the vehicle in real time.It applies extremely widely in the real life.</p><p>  In this paper,according to the transmission reflection theory of wave in the air,using supersonic

5、transducer as interface unit and applying monolithic machine techniques to design a series of bus ultrasonic measuring system.</p><p>  This paper introduces the design of ultrasonic range system in Back Car

6、 based on microprocessor.The microprocessor control the time and transmitting and reflecting back of ultrasonic,the distance can measure through calculating the speed of ultrasonic in car, and use the temperature compens

7、ation amendment in the data of the speed processing.The system can alert according to the changing distance, the distance could be displayed on real time as well. </p><p>  This paper summarizes the developm

8、ent and fundamental principle of ultrasonic detection. And then the transmission, receiver, detection, displays chime of this distance meter system is brought out. Starting from the performance demand and requirement of

9、utility,the opinion is to choose the system component,testing theory and methods,design both the hard and soft ware.It describes the hardware design of the system in detail,and provides the procedural flow chart of softw

10、are design.It explains the</p><p>  Key Words: ultrasonic distance measurement; microcomputer</p><p><b>  前 言</b></p><p>  隨著社會的發(fā)展,汽車數(shù)量不斷增加,人們便對汽車操作的便捷性愈加挑剔。汽車倒車時的不便被汽

11、車制造行業(yè)所重視。人們希望有一種裝置能夠?qū)崿F(xiàn)汽車“后視”功能,在倒車時能夠提示人們汽車后方是否有障礙物以及障礙物與汽車的大致距離等。</p><p>  基于以上原因,出現(xiàn)了超聲波汽車倒車探測器。超聲波汽車倒車探測器是一種汽車泊車安全輔助裝置,能以聲音或者更為直觀的顯示告知駕駛員周圍障礙物的情況,幫助駕駛員掃除視野死角,提高駕駛的安全性。</p><p>  本文設(shè)計了一種超聲波汽車倒車探

12、測器,用超聲波傳感器發(fā)射和接收超聲波測距,DS1820芯片測溫,STC12C5A60S2單片機做處理器,處理數(shù)據(jù)并計算聲速及距離,用LED數(shù)碼管顯示距離,報警器及示意指示燈報警。</p><p>  本課題的主要研究內(nèi)容有以下幾個方面:</p><p>  (1) 簡述了設(shè)計和設(shè)計超聲波汽車倒車探測器的目的和意義,以及超聲波汽車倒車探測器的應(yīng)用及發(fā)展狀況。</p><p

13、>  (2) 簡要論述了超聲波汽車倒車探測器的工作原理、基本組成,以及系統(tǒng)的方案,工作流程和系統(tǒng)的性能要求。</p><p>  (3) 重點對超聲波汽車倒車探測器硬件部分進行了分析與設(shè)計。主要是對超聲波發(fā)射、接收、溫度測量,報警及顯示電路的分析與設(shè)計。</p><p>  (4) 較為詳細的說明了系統(tǒng)軟件流程,關(guān)鍵部分還給出了流程圖和相關(guān)程序。</p><p&g

14、t;  (5) 最后對超聲波汽車倒車探測器研制過程中所做工作進行了總結(jié)。</p><p><b>  1 概述</b></p><p><b>  1.1 選題的意義</b></p><p>  汽車倒車探測器一般被稱為“倒車防撞雷達”,也叫“泊車輔助裝置”,能以聲音或者更為直觀的顯示告知駕駛員周圍障礙物的情況,解除了駕

15、駛員泊車和起動車輛時前后左右探視所引起的困擾,并幫助駕駛員掃除了視野死角和視線模糊的缺陷,提高駕駛的安全性。</p><p>  1.2 超聲波汽車倒車探測器的應(yīng)用和發(fā)展現(xiàn)狀</p><p>  超聲波汽車倒車探測器,種類繁多,應(yīng)用廣泛,目前在市場上呈現(xiàn)了一種各種檔次并存,高低搭配的局面。</p><p>  因為它實用性強,技術(shù)成熟,所以發(fā)展很快。從第一代經(jīng)過短短

16、幾年時間便發(fā)展到第五代,從純電路模式到使用高速處理器;從單純轟鳴器報警到顯示器顯示,語音報警。另外安裝使用更加方便,精度及穩(wěn)定性也有極大提高。在現(xiàn)實生活中的作用越來越大。</p><p>  (1) 第1代使用超聲波探頭、轟鳴器</p><p>  倒車時,超聲波探頭發(fā)送,接收超聲波,車體與障礙物距離的改變使電路中電壓或電流產(chǎn)生變化給轟鳴器不同的信號,如果車后1.5-1.8m處有障礙物,轟

17、鳴器就會開始工作。轟鳴聲越急,表示車輛離障礙物越近。第一代探測器沒有語音提示,也沒有距離顯示,雖然司機知道有障礙物,但不能確定障礙物離車有多遠,對司機幫助不大。</p><p>  (2) 第2代使用超聲波探頭、微處理器、數(shù)碼波段顯示器</p><p>  倒車時,超聲波探頭發(fā)送,接收超聲波,處理器進行處理,將處理后的信號送給距離顯示設(shè)備,可以顯示車后障礙物與車體的距離。如果是物體,在1.

18、8m左右的距離開始顯示;如果是人,在0.9m左右的距離開始顯示。 這一代產(chǎn)品有兩種顯示方式,數(shù)碼顯示產(chǎn)品顯示距離數(shù)字,而波段顯示產(chǎn)品由3種顏色來區(qū)別距離:綠色代表安全距離,表示障礙物與車體的距離有0.8m以上;黃色代表警告距離,表示與障礙物的距離只有0.6-0.8m;紅色代表危險距離,表示與障礙物之間只有不到0.6m的距離,必須停止倒車。第二代產(chǎn)品把數(shù)碼和波段組合在一起,比較實用,能夠作到一目了然,但沒有聲響,警示效果不好。</p

19、><p>  (3) 第3代使用超聲波探頭、處理器、液晶熒屏顯示器</p><p>  這一代產(chǎn)品較前兩代有了質(zhì)的飛躍,特別是熒屏顯示的使用表明開始出現(xiàn)動態(tài)顯示系統(tǒng)。不用掛倒擋,只要發(fā)動汽車,超聲波探頭及處理器就開始工作,顯示器上就會出現(xiàn)汽車圖案以及車輛周圍障礙物的距離。動態(tài)顯示,色彩清晰漂亮,外表美觀,可以直接粘貼在儀表盤上,安裝很方便。不過液晶顯示器外觀雖精巧,但靈敏度較高,抗干擾能力不強

20、,所以誤報也較多。 </p><p>  (4) 第4代使用超聲波探頭、處理器、魔幻鏡顯示器</p><p>  結(jié)合了前幾代產(chǎn)品的優(yōu)點,采用了最新仿生超聲雷達技術(shù),配以高速電腦控制,可全天候準確地測知2m以內(nèi)的障礙物,并以不同等級的聲音提示和直觀的顯示提醒駕駛員。魔幻鏡倒車雷達把后視鏡、倒車雷達、免提電話結(jié)合起來,并設(shè)計了語音功能,是目前市面上比較先進的倒車雷達系統(tǒng)。因為其外形就是一塊倒

21、車鏡,所以可以不占用車內(nèi)空間,直接安裝在車內(nèi)倒視鏡的位置。而且顏色款式多樣,可以按照個人需求和車內(nèi)裝飾選配,不過造價較高。</p><p>  (5) 第5代使用超聲波探頭、后視攝像機、控制器、監(jiān)視器</p><p>  超聲波信號接入顯示控制器,同時將視頻監(jiān)視子系統(tǒng)中的攝像探頭信號接入顯示控制器,通過安裝在汽車內(nèi)部的顯示控制器的自動切換電路、字符疊加器、微處理器,將顯示控制器的輸出再接入

22、監(jiān)視器,這樣實現(xiàn)自動切換圖像、監(jiān)視、超聲波倒車測距、自動報警等功能。車載電視顯示車后景物圖像和車后障礙物距離。倒車探測器具有精確判斷距離的優(yōu)點,后視攝像對車后方的水溝、山崖、凸出的鋼筋、竹竿等倒車安全上的死角極為有效;后者圖像直觀真實,前者可獲得精確的距離,兩者精確結(jié)合非常實用。此系統(tǒng)技術(shù)非常復(fù)雜,也不是很成熟,不宜普及。</p><p>  雖然各代探測器各有特點但是它們有著此類產(chǎn)品固有的缺點。車用倒車探測器首

23、先要解決的技術(shù)難題就是誤報。由于道路狀況十分復(fù)雜,以及道路兩旁的靜態(tài)護欄、標志牌,還有各種惡劣天氣的影響等,使得探測器對目標的識別十分困難,誤報率很高。要想完全解決好誤報問題,還需要采取多傳感器的信息融合技術(shù)。實現(xiàn)信息綜合分析,利用數(shù)據(jù)間的冗余性和互補特性進行容錯處理,克服單一傳感器可靠性低、有效探測范圍小等缺點,有效地降低探測器的誤報機率。</p><p>  生產(chǎn)超聲波傳感器的主要材料的價格一直居高不下,成為

24、車用探測器推廣應(yīng)用的瓶頸??梢灶A(yù)見,隨著新材料、新工藝在探測器制作中的應(yīng)用,使低價格、高性能的車用探測器的實現(xiàn)和普及成為可能。</p><p>  超聲波的汽車倒車探測器的發(fā)展趨勢是:使用的處理器速度越來越快,系統(tǒng)反應(yīng)時間越來越短;使用的傳感器技術(shù)越來越先進,系統(tǒng)穩(wěn)定性越來越高;使用的顯示報警技術(shù)更加先進,探測器顯示、報警方式會更加直觀,更加人性化。各種減小誤差電路的出現(xiàn),會使系統(tǒng)準確性大大提高。總之,超聲波汽車

25、倒車探測器用起來會更加方便,更加令人放心。</p><p><b>  2 設(shè)計方案分析</b></p><p>  2.1 基于單片機和基于DSP的方案比較</p><p>  2.1.1 基于單片機的倒車雷達設(shè)計</p><p>  測距方式對系統(tǒng)測量精度及穩(wěn)定性都有較大影響。因此選擇一種合適的測距方式對系統(tǒng)性能提

26、高有很大幫助。目前汽車倒車探測器使用的距離測量方式多種多樣,有基于單片機的倒車雷達設(shè)計和基于DSP的倒車雷達設(shè)計。本系統(tǒng)采用STC12C5A60S2為控制核心,外圍電路由超聲波發(fā)射電路、超聲波接收電路、溫度采集模塊、聲光報警電路、液晶顯示電路、接口電路及電源電路等部分組成。</p><p>  STC12C5A60S2是宏晶科技生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片

27、機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對電機控制,強干擾場合。</p><p>  2.1.2 基于DSP倒車雷達設(shè)計</p><p>  本系統(tǒng)采用數(shù)字信號處理器(DSP)來作為控制芯片。由前視雷達AD模塊、復(fù)雜可編程邏輯器件(CPLD)模塊、模式控制模塊、顯示語言模塊組成。系統(tǒng)框圖

28、如圖2.1所示。</p><p>  圖2.1 基于DSP倒車雷達設(shè)計框圖</p><p>  各個部分作用及特點:</p><p>  采用TMS320DM643,其內(nèi)核TMS320c64XTM是TMS320C6000平臺的一款最高性能的定點數(shù)字信號處理器系列。用dm642來完成對其他各個模塊的控制。前視雷達AD來實現(xiàn)模擬到數(shù)字的轉(zhuǎn)換,將轉(zhuǎn)換結(jié)果送給DSP處理。C

29、PLD采用altera公司的MAX7000系列的EPM7128SL,該器件有2500個可用邏輯門、128個宏單元、8個邏輯陣列塊、100個I/O引腳,工作頻率為151.5MHz。顯示模塊采用LCD顯示,模式控制有三個按鍵,分別用于選擇前視、后視、倒車模式。若選擇后視模式,倒車報警界限時,啟動車后的報警器,給后面的車以警示;若選擇倒車模式,則啟動倒車語言;如選擇前視模式,到達報警界限時,啟動車內(nèi)報警器。前后方的最近目標的距離和速度在LCD

30、上顯示。</p><p><b>  2.2 方案確定</b></p><p>  從經(jīng)濟等方面考慮,本次設(shè)計方案采用基于單片機的倒車雷達設(shè)計,DS1820芯片測溫,STC12C5A60S2單片機做處理器,處理數(shù)據(jù)并計算聲速及距離,用液晶屏顯示距離,用蜂鳴器、指示燈報警。</p><p>  倒車時倒檔啟動探測器系統(tǒng),單片機STC12C5A60

31、S2作為主控器,控制DS1820芯片并處理所測得的溫度數(shù)據(jù)??刂朴?55定時器及超聲波換能器 TCT40組成的發(fā)射電路發(fā)射超聲波,同時啟動內(nèi)部定時器T0開始計時。當超聲波信號碰到障礙物時信號立刻返回,經(jīng)濾波電容,放大器,電壓比較器傳給單片機的INT0口。如果INT0接收的信號由高電平變?yōu)榈碗娖?,此時表明信號已經(jīng)返回,微處理器進入中斷,關(guān)閉定時器。再把定時器中的數(shù)據(jù)經(jīng)過換算結(jié)合由所測溫度值換算出的聲速值就可以得出車體與障礙物之間的距離。根

32、據(jù)計算的車體與障礙物之間的距離值及其與設(shè)定距離值的比較結(jié)果給顯示電路及提醒電路不同提醒信號,產(chǎn)生不同的聲光效果,引起駕駛?cè)藛T注意,以便采取相應(yīng)行動。系統(tǒng)結(jié)構(gòu)如圖2.1所示。</p><p>  圖2.1 基于STC12C5A60S2單片機的系統(tǒng)框圖</p><p>  2.2.1 測距探測器方案</p><p>  除了上述方案分析比較中講述的超聲波測距所獨有的優(yōu)點

33、外,超聲波測距在某些特定場合還有著顯著的優(yōu)點,超聲波測距系統(tǒng)是利用計算超聲波在被測物體和超聲波探頭之間的傳輸來測量距離的,因此它是一種非接觸式的測量,所以它能夠在某些特定場合或環(huán)境比較惡劣的環(huán)境下使用。</p><p>  考慮到所設(shè)計產(chǎn)品是主要服務(wù)于普通用戶,而且要求結(jié)構(gòu)簡單、制作方便、成本低廉實用性強。因此選擇利用超聲波傳感器來作為探測器。</p><p>  由發(fā)射波束特性知,由于擴

34、散角的原因,超聲波的角度分辨率較低,但距離分辨率較高(1cm左右),目前最大探測距15m,最小盲區(qū)0.3-0.4m。超聲波傳感器具有反應(yīng)靈敏、探測速度快(一個測量周期僅需幾十毫秒)的優(yōu)點,而且結(jié)構(gòu)簡單,體積小,成本低。</p><p>  傳感器的工作頻率是測距系統(tǒng)的主要技術(shù)參數(shù),它直接影響超聲波的擴散和吸收損失,障礙物反射損失、背景噪聲,并直接決定傳感器的尺寸。</p><p>  工作

35、頻率的確定主要基于以下幾點考慮:</p><p>  (1) 如果測距的能力要求很大,聲波傳播損失就相對增加,由于介質(zhì)對聲波的吸收與聲波頻率的平方成正比,為減小聲波的傳播損失,就必須降低工作頻率。</p><p>  (2) 工作頻率越高,對相同尺寸的換能器來說,傳感器的方向性越尖銳,測量障礙物復(fù)雜表面越準,而且波長短,尺寸分辨率高,“細節(jié)”容易辯識清楚,因此從測量復(fù)雜障礙物表面和測量精度

36、來看,工作頻率要求提高。</p><p>  (3) 從傳感器設(shè)計角度看,工作頻率越低,傳感器尺寸就越大,制造和安裝就越困難。</p><p>  綜上所述,由于本測距儀最大測量量程不大 因而選擇測距儀工作頻率在40KHz,發(fā)射角與接收角均為60度的錐角。這樣傳感器方向性尖銳,且避開了噪聲,提高了信噪比;雖然傳播損失相對低頻有所增加,但不會給發(fā)射和接收帶來困難。所以本方案選用的探頭是收發(fā)分

37、體式40KHz的超聲傳感器。</p><p>  2.2.1超聲波發(fā)射模塊</p><p>  發(fā)射電路通常有調(diào)諧式和非調(diào)諧式。在調(diào)諧式電路中有調(diào)諧線圈(有時裝在探頭內(nèi)),調(diào)諧頻率由調(diào)諧電路的電感、電容決定。發(fā)射出的超聲脈沖頻帶較窄。在非調(diào)諧式電路中沒有調(diào)諧元件。發(fā)射出的超聲頻率主要由壓電晶片的固有參數(shù)決定,頻帶較寬。本文采用非調(diào)諧式。為了將一定頻率、幅度的交流電壓加到發(fā)射傳感器的兩端,使

38、其振動發(fā)出超聲波,電路頻率的選擇應(yīng)該滿足發(fā)射傳感器的固有頻率40KHz。這樣才能使其工作在諧振頻率,達到最優(yōu)的特性。發(fā)射電壓從理論上是越高越好,因為對同一個發(fā)射傳感器而言,電壓越高,發(fā)射的超聲功率就越大,這樣能夠在接收傳感器上接收的回波功率就比較大,對于接收電路的設(shè)計就相對簡單一些。但是,每一個實際的發(fā)射傳感器有其工作電壓的極限值,即當工作電壓超過了這個極限值以后,會對傳感器的內(nèi)部造成不可回復(fù)的損害。因此,工作電壓不能超過這個極限值。發(fā)

39、射部分的點脈沖電壓很高,但是由障礙物回波引起的壓電晶片產(chǎn)生的射頻電壓只達毫伏級,甚至微伏。要對這樣小的信號進行處理就必須放大到一定的幅度。本文采用由555定時器構(gòu)成的多諧震蕩器驅(qū)動超聲波傳感器,驅(qū)動頻率為40KHz。</p><p>  2.2.3 超聲波回波接收模塊</p><p>  在超聲波發(fā)射完畢后,再延遲一小段時間才能進行接收,目的是為了避免單片機對發(fā)射頭直接傳送到接收頭的信號進

40、行響應(yīng)而不能正常工作。</p><p>  超聲波回波經(jīng)過超聲波接收傳感器,電容隔直濾波,一、二級放大,三級增益放大后進入比較器,這樣在比較器的輸出端將得到40KHz的方波輸入到單片機INT0引腳以產(chǎn)生中斷。但是由于超聲波傳感器固有特性,即盲區(qū)的存在,對回波的接收和處理造成了一定程度的影響。</p><p>  2.2.4 溫度測量及補償模塊</p><p>  溫

41、度對超聲波波速影響非常大,極大的影響測距精度,需要進行溫度補償。本設(shè)計采用DS18B20芯片進行測溫。由單片機處理后進行補償。DS18B20芯片是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,溫度測量范圍是-55℃到+120℃ ,可編程為9位到12位A/D轉(zhuǎn)換精度,測溫分辨率可達0.0625℃。</p><p>  2.2.5 顯示及報警模塊</p><p>  倒車探測器在其偵測區(qū)內(nèi)檢測到

42、障礙物時,LED指示燈及蜂鳴器會根據(jù)車與障礙物的距離發(fā)出警告聲。同時液晶屏顯示相應(yīng)距離。這樣用戶不僅可以很快的判斷出障礙物的大概距離,還可以清楚的知道詳細距離。</p><p>  障礙距離指示燈與報警器響應(yīng)方式:</p><p>  A段:當汽車尾部與障礙物距離大于5m時, 可認為是安全狀態(tài),液晶顯“ ― ― ” 標志;</p><p>  B段:在5m和1m之間

43、時認為是正常的,液晶屏上則顯示實測距離;</p><p>  C段:小于1 m 時, 應(yīng)提醒司機注意, 系統(tǒng)發(fā)出聲音報警功能, 單片機向其端口發(fā)出PWM 脈沖, 隨著距離的減小, 通過控制PWM 脈沖的占空比使蜂鳴的頻率加??;</p><p>  D段:小于0.5 m 時, 要求聲光同時報警, 由于閃光頻率不能過高, 通過單片機另一個端口控制其閃亮。</p><p>

44、;<b>  3 硬件電路設(shè)計</b></p><p><b>  3.1 硬件框圖</b></p><p>  單片機STC12C5A60S2作為主控器,復(fù)位端接上電+按鈕復(fù)位電路。XTAL1和XTAL2接12MHZ晶振構(gòu)成的時鐘電路。P1.5腳控制DS18B20芯片并接收所測得的溫度數(shù)據(jù)。P1.3控制由555定時器及超聲波換能器TCT40組

45、成的發(fā)射電路發(fā)射超聲波。超聲波信號碰到障礙物時信號立刻返回,經(jīng)傳感器,濾波電容,放大器,電壓比較器傳給單片機的INT0口一個低電平。P2.5和P2.6分別控制聲音和LED燈報警電路。硬件框圖如圖3.1所示。</p><p><b>  圖3.1硬件框圖</b></p><p>  3.2 單片機最小系統(tǒng)設(shè)計</p><p>  單片機復(fù)位是使C

46、PU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,復(fù)位后PC=0000H,使單片機從第—個單元取指令。無論是在單片機剛開始接上電源時,還是斷電后或者發(fā)生故障后都要復(fù)位。單片機復(fù)位的條件是:必須使RST引腳加上持續(xù)兩個機器周期(即24個振蕩周期)的高電平。本文中時鐘頻率為12MHz,每個機器周期為1µs,則只需2µs以上時間的高電平,在RST引腳出現(xiàn)高電平后的第二個機器周期執(zhí)行復(fù)位。</p

47、><p>  復(fù)位電路由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合“電容電壓不能突變”的性質(zhì),可以知道,當系統(tǒng)一上電,RST腳將會出現(xiàn)高電平,并且,這個高電平持續(xù)的時間由電路的RC值來決定。適當組合RC的取值就可以保證可靠的復(fù)位。該電路除具有上電復(fù)位功能外,若要復(fù)位,只需按RESET鍵,此時電源經(jīng)電阻、分壓,在RESET端產(chǎn)生復(fù)位高電平。</p><p>  時鐘電路主要任務(wù)是提供一個工作頻率。單片機內(nèi)部有

48、一個用于構(gòu)成震蕩器的高增益反相放大器,此放大器的輸入和輸出端分別是XTAL1和XTAL2,在XTAL1和XTAL2上外接時鐘源即可構(gòu)成時鐘電路。有內(nèi)部和外部兩種時鐘產(chǎn)生方式。本設(shè)計采用內(nèi)部時鐘產(chǎn)生方式。電路接法如圖3.2所示,在XTAL1和XTAL2兩端跨接晶體諧振器(振蕩頻率為12MHZ),與內(nèi)部反相器構(gòu)成自激震蕩器。其發(fā)出脈沖直接送入片內(nèi)定時控制部件。此外,電容對頻率有微調(diào)作用,因為外接晶振,電容選擇20pF,實際應(yīng)用時諧振器和電容

49、盡可能安裝在單片機附近,減少寄生電容,保證振蕩器穩(wěn)定可靠的工作。</p><p><b>  圖3.2 時鐘部分</b></p><p>  3.3 超聲波發(fā)送電路設(shè)計</p><p>  超聲波發(fā)送電路包括超聲波產(chǎn)生電路和超聲波發(fā)射控制電路兩個部分,超聲波探頭(又稱“超聲波換能器”)選用TCT40。40KHz的超聲波是利用555時基電路振蕩驅(qū)

50、動超聲波探頭產(chǎn)生的。</p><p>  由555定時器構(gòu)成的多諧振蕩器(如圖3.3所示)。接通電源后,電源通過和對電容充電,當<1/3時,振蕩器輸出=1,放電管截止。當充電到≥2/3后,振蕩器輸出翻轉(zhuǎn)成0,此時放電管導(dǎo)通,使放電端(DIS)接地,電容C通過對地放電,使下降。當下降到≤1/3后,振蕩器輸出又翻轉(zhuǎn)成1,此時放電管又截止,使放電端(DIS)不接地,電源通過和又對電容充電,又使從1/3上升到2/3

51、,觸發(fā)器又發(fā)生翻轉(zhuǎn),如此周而復(fù)始,從而在輸出端得到連續(xù)變化的振蕩脈沖波形。脈沖寬度≈0.7,由電容放電時間決定; =0.7(+),由電容充電時間決定,脈沖周期T≈+。其振蕩頻率計算式為f=1.43/(( +2))。超聲波發(fā)射電路圖(如圖3.4所示)中將設(shè)計為可調(diào)電阻的目的是為了調(diào)節(jié)信號頻率,使之與換能器的40kHz固有頻率一致。</p><p>  圖3.3 555定時器構(gòu)成的多諧振蕩器</p>&

52、lt;p>  采用555定時器構(gòu)成的多諧振蕩器可以實現(xiàn)寬范圍占空比的調(diào)節(jié),并且電路設(shè)計簡單,占用面積小。555 定時器的4腳是復(fù)位端,利用它來控制超聲波脈沖的發(fā)射。當4 腳為低電平時,555有振蕩脈沖輸出;為高電平時,555定時器清零,沒有輸出。因而,將4 腳與單片機的控制信號相接就可以控制發(fā)射電路。為保證555時基具有足夠的驅(qū)動能力,宜采用+12V電源即=12V。4腳為超聲波發(fā)射控制信號輸入端,由單片機進行控制。</p&g

53、t;<p>  圖3.4 超聲波發(fā)射電路圖</p><p>  3.4 超聲波接收電路設(shè)計</p><p>  超聲波接收模塊的作用是將反射的超聲波轉(zhuǎn)換成電壓信號并放大處理成標準的數(shù)字信號,然后輸出給下一級電路。超聲波接收器包括超聲波接收探頭、信號放大電路及波形變換電路三部分。超聲波探頭必須采用與發(fā)射探頭對應(yīng)的型號,關(guān)鍵是頻率要一致,否則將因無法產(chǎn)生共振而影響接收效果,甚至無

54、法接收。本設(shè)計采用集成電路CX20106芯片。集成電路CX20106是一款紅外線檢波接收的專用芯片,它由前置放大器、限幅放大器、帶通濾波器、檢波器、積分器和整型電路組成。由于經(jīng)探頭變換后的正弦波電信號非常弱,因此必須經(jīng)放大電路放大。正弦波信號不能直接被單片機接收,必須進行波形變換。按照上面所討論的原理,單片機需要的只是第一個回波的時刻。接收電路如圖3.5所示。超聲波在空氣中傳播時,其能量的衰減與距離成正比,即距離越近信號越強,距離越遠信

55、號越弱,通常在1mV~1V之間。不同接收探頭的輸出信號強度存在差異。由于輸入信號的范圍較大,對放大電路的增益提出了兩個要求:一是放大增益要大,以適應(yīng)小信號時的需要;二是放大增益要能變化,以適應(yīng)信號變化范圍大的需要。另外,由于輸入信號為正弦波,因此必須將放大電路設(shè)計成交流放大電路。</p><p>  圖3.5 超聲波接收模塊電路</p><p>  CX20106 常用于電視機紅外遙控接收

56、器??紤]到紅外遙控常用的載波頻率38 kHz 與測距的超聲波頻率40 kHz 較為接近,可以利用它制作超聲波檢測接收電路。如圖4 所示,超聲波接收探頭TCT40-10-R 將接收到的反射超聲波轉(zhuǎn)換成毫伏級電壓信號,送入CX20106 的1 腳,CX20106的總放大增益約為80 dB,實際增益由2 腳外接電阻R2 和電容C1 來決定,電阻R2 越小或電容C1 越大,增益越高, 但取值過大易造成頻率響應(yīng)變差,本系統(tǒng)取電容為1 μF。C2

57、為外接峰值檢波電容,C13 為外接積分電容, 調(diào)整RP電位器使內(nèi)置帶通濾波器的中心頻率為40 kHz ,當接收到與濾波器中心頻率相符的信號時, 其7腳輸出一個低電平直接接到STC12c5a60s2的INT0 上, 以觸發(fā)中斷。</p><p>  3.5 溫度測量電路設(shè)計</p><p>  溫度對超聲波波速影響非常大,超聲波波度c與環(huán)境溫度的關(guān)系有如下經(jīng)驗公式: (m/s),所以溫度每變

58、化1℃,聲波的速度變化約為0.16m /s 。當溫度從0~40℃變化時,將會產(chǎn)生大約7% 的聲速變化,在超聲波測距儀中,把聲速作為一個標準量,為了獲得較精確的聲速,引入溫度補償是必要的。本文采用了DS1820進行測溫。DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,電路連接非常簡單,但是必須保證時序與單片機嚴格同步。溫度測量范圍是-55℃-+125℃,可編程為9-12位A/D轉(zhuǎn)換精度,未編程時默認精度為12 位,測量精度一般

59、為0.5℃,軟件處理后可達0.1℃。溫度輸出以16 位符號擴展的二進制數(shù)形式提供,低位在前,以0.0625℃/LSB(最小可分辨信號)形式表達,高五位為擴展符號位。轉(zhuǎn)換周期與轉(zhuǎn)換精度設(shè)定有關(guān),9位精度時,最大轉(zhuǎn)換時間為93.75ms;12位精度時,最大轉(zhuǎn)化時間為750ms。</p><p>  DS1820溫度傳感器有兩個晶振,低溫度系數(shù)晶振和高溫度系數(shù)晶振。低溫度系數(shù)晶振的震蕩頻率受溫度影響很小,用于產(chǎn)生固定頻

60、率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其震蕩率明顯改變,所產(chǎn)生信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)制在—55攝氏度所對應(yīng)的一個基數(shù)。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1攝氏度,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)至計數(shù)器2計數(shù)到0,停止溫度寄存器累加,此時溫度寄存器中的數(shù)值即為所測溫度。<

61、/p><p>  實際測溫電路如圖3.6所示,圖中DS1820管腳2與單片機P1.5口相連,單片機通過它以串口數(shù)據(jù)傳誦方式讀取測溫結(jié)果。DS1820利用單線控制信號在總線上與單片機進行通信。由于所用設(shè)備通過漏極開路端(2腳)連在總線上,控制線需要一個上拉電阻。</p><p>  圖3.6 溫度檢測模塊</p><p>  3.6 聲光報警模塊設(shè)計</p>

62、<p>  報警電路的主要作用是在汽車尾部與障礙物距離較近時進行報警。根據(jù)實際情況,當汽車尾部與障礙物距離大于5 m 時, 可認為是安全狀態(tài),液晶顯示“ ― ― ”標志;在5 m 和1 m 之間時認為是正常的,顯示實測距離;小于1 m 時, 應(yīng)提醒司機注意,系統(tǒng)發(fā)出聲音報警功能,單片機向其端口發(fā)出PWM脈沖,隨著距離的減小,通過控制PWM 脈沖的占空比使蜂鳴的頻率加劇小于0.5 m 時, 要求聲光同時報警,由于閃光頻率不能過

63、高,通過單片機另一個端口控制其閃亮報警電路如圖3.7所示,采用單片機通過控制引腳(手動復(fù)位腳)的電平來控蜂鳴器和LED燈的工作。振蕩頻率為800Hz。單片機的P1.4控制555 電路根據(jù)測量結(jié)果,產(chǎn)生不同頻率的信號使報警電路發(fā)出不同長短報警聲。在揚聲器發(fā)出報警聲時,時基電路555 處于暫穩(wěn)態(tài),此時電源向電容充電,從而使555 結(jié)束暫穩(wěn)態(tài)回復(fù)到穩(wěn)定狀態(tài)輸出低電平,使揚聲器停止發(fā)出報警聲。</p><p>  LED

64、指示燈由單片機管腳控制,高電平點亮,低電平熄滅,其閃爍頻率與聲音報警頻率相同。</p><p>  圖 2.7 聲光報警模塊</p><p>  3.7 顯示電路設(shè)計</p><p>  超聲波測距儀的顯示要求比較簡單,測量結(jié)果采用十進制數(shù)字顯示。顯示器件可選用HJ1602A液晶顯示器。它具有體積小、功耗低、顯示內(nèi)容豐富等特點。HJ1602A 可以顯示2 行16個字

65、符, 有8 bit 數(shù)據(jù)總線D0~D7,RS、R/W、EN 三個控制端口,工作電壓為5 V,并且?guī)в凶址麑Ρ榷日{(diào)節(jié)和背光顯示。第一行顯示環(huán)境溫度,第二行顯示倒車雷達測量距離, 液晶顯示電路如圖3.8所示</p><p>  圖3.8 液晶顯示電路</p><p>  3.8 電源電路設(shè)計</p><p>  3.8.1 +5V和+12V穩(wěn)壓電源</p>

66、<p>  我們用到的穩(wěn)壓電源電路,能產(chǎn)生+12v、+5v和-5v共3組輸出電壓,可供采用正、負工作電源的數(shù)字電路或微處理器集成電路使用。并且?guī)в谐潆娦铍姵刈鳛閭溆秒娫?,當單片機電源正常工作時,蓄電池處于浮充電狀態(tài),時刻保持滿電狀態(tài),當緊急情況下,如果單片機電源不能夠正常工作,那么蓄電池提供+5v的穩(wěn)定電源,直到電源故障解除為止。然后單片機電源恢復(fù)工作后再次對蓄電池充電。電源電路圖如圖3.9所示:</p>&l

67、t;p><b>  圖3.9 電源電路</b></p><p>  3.8.2 穩(wěn)壓電源電路</p><p>  圖3.10是穩(wěn)壓芯片。采用7805芯片是我們最常用到的穩(wěn)壓芯片,它的使用方便,用很簡單的電路即可以實現(xiàn)一個直流穩(wěn)壓電源,他的輸出電壓恰好為5V,剛好是51系列單片機運行所需的電壓。它有很多的系列如ka7805,ads7805,cw7805等,性能有微

68、小的差別,用的最多的還是lm7805。下面我簡單的介紹一下他的3個引腳以及用它來構(gòu)成的穩(wěn)壓電路的資料。其中1接整流器輸出的+電壓,2為公共地(也就是負極),3就是我們需要的正5V輸出電壓了。</p><p><b>  圖3.10穩(wěn)壓芯片</b></p><p>  穩(wěn)壓電路簡圖如3.11所示</p><p>  圖3.11 穩(wěn)壓電路</

69、p><p>  上圖中R1用220Ω,R2用680Ω的這個是用來調(diào)節(jié)輸出電壓的。輸出電壓公式Uo≈Uxx(1+R2/R1),此穩(wěn)壓電路可在5~12V穩(wěn)壓范圍內(nèi)實現(xiàn)輸出電壓連續(xù)可調(diào)節(jié)。此三端集成穩(wěn)壓集成電路lm7805最大輸入電壓為35V,輸入輸出差需保持2V以上,這樣該電路中因為穩(wěn)壓器的直流輸入電壓是正14V,故該穩(wěn)壓電路的最大輸出電壓為正12V。此電路的精度一般可達到0.04以上,用lm7805就能滿足一般需求了&

70、lt;/p><p><b>  3.9 器件說明</b></p><p>  3.9.1 STC12C5A60S2單片機</p><p>  STC12C5A60S2/AD/PWM系列單片機是宏晶科技生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成M

71、AX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對電機控制,強干擾場合。</p><p>  1).增強型8051 CPU,1T,單時鐘/機器周期,指令代碼完全兼容傳統(tǒng)8051;</p><p>  2).工作電壓:STC12C5A60S2系列工作電壓:5.5V- 3.3V(5V單片機)STC12LE5A60S2系列工作電壓:3.6V- 2.2V(3V單片機

72、);</p><p>  3).工作頻率范圍:0 - 35MHz,相當于普通8051的 0~420MHz;</p><p>  4).用戶應(yīng)用程序空間8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字節(jié)......</p><p>  5).片上集成1280字節(jié)RAM;</p><p>  6

73、).通用I/O口(36/40/44個),復(fù)位后為:準雙向口/弱上拉(普通8051傳統(tǒng)I/O口)可設(shè)置成四種模式:準雙向口/弱上拉,推挽/強上拉,僅為輸入/高阻,開漏 每個I/O口驅(qū)動能力均可達到20mA,但整個芯片最大不要超過55mA;</p><p>  7).ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器可通過串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片;&

74、lt;/p><p>  8).有EEPROM功能(STC12C5A62S2/AD/PWM無內(nèi)部EEPROM);</p><p><b>  9).看門狗;</b></p><p>  10).內(nèi)部集成MAX810專用復(fù)位電路(外部晶體12M以下時,復(fù)位腳可直接1K電阻到地);</p><p>  11).外部掉電檢測電路:在

75、P4.6口有一個低壓門檻比較器5V單片機為1.32V,誤差為+/-5%,3.3V單片機為1.30V,誤差為+/-3%;</p><p>  12).時鐘源:外部高精度晶體/時鐘,內(nèi)部R/C振蕩器(溫漂為+/-5%到+/-10%以內(nèi)) 1用戶在下載用戶程序時,可選擇是使用內(nèi)部R/C振蕩器還是外部晶體/時鐘;常溫下內(nèi)部R/C振蕩器頻率為:5.0V單片機為:11MHz~15.5MHz 3.3V單片機為:

76、 8MHz~12MHz;精度要求不高時,可選擇使用內(nèi)部時鐘,但因為有制造誤差和溫漂,以實際測試為準;</p><p>  13).共4個16位定時器兩個與傳統(tǒng)8051兼容的定時器/計數(shù)器,16位定時器T0和T1,沒有定時器2,但有獨立波特率發(fā)生器做串行通訊的波特率發(fā)生器再加上2路PCA模塊可再實現(xiàn)2個16位定時器;</p><p>  14).2個時鐘輸出口,可由T0的溢出在P3.4/T0

77、輸出時鐘,可由T1的溢出在P3.5/T1輸出時鐘;</p><p>  15).外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊,Power Down模式可由外部中斷喚醒,INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通過寄存器設(shè)置到P4.2 ), CCP1/P1.4 (也可通過寄存器設(shè)置到P4.3

78、);</p><p>  16). PWM(2路)/PCA(可編程計數(shù)器陣列,2路)---也可用來當2路D/A使用 ---也可用來再實現(xiàn)2個定時器 ---也可用來再實現(xiàn)2個外部中斷(上升沿中斷/下降沿中斷均可分別或同時支持);</p><p>  17).A/D轉(zhuǎn)換, 10位精度ADC,共8路,轉(zhuǎn)換速度可達250K/S(每秒鐘25萬次)</p><p>

79、  18).通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時器或PCA軟件實現(xiàn)多串口;</p><p>  19). STC12C5A60S2系列有雙串口,后綴有S2標志的才有雙串口,RxD2/P1.2(可通過寄存器設(shè)置到P4.2),TxD2/P1.3(可通過寄存器設(shè)置到P4.3);</p><p>  20).工作溫度范圍:-40 - +85℃(工業(yè)級)/

80、0 - 75℃(商業(yè)級);</p><p>  21).封裝:PDIP-40,LQFP-44,LQFP-48 I/O口不夠時,可用2到3根普通I/O口線外接74HC164/165/595(均可級聯(lián))來擴展I/O口,還可用A/D做按鍵掃描來節(jié)省I/O口,或用雙CPU,三線通信,還多了串口;</p><p>  3.9.2 超聲波換能器</p><p>  換能器是進行

81、能量轉(zhuǎn)換的器件,是將一種形式的能量轉(zhuǎn)換成另一種形式的裝置。通常所說的換能器一般都是指的電聲換能器,凡能實現(xiàn)電能和聲能間相互轉(zhuǎn)換的換能器成為電聲換能器,用來發(fā)射聲波的換能器叫發(fā)射器,換能器在發(fā)射狀態(tài)時,將電能轉(zhuǎn)換為機械能,再轉(zhuǎn)換成聲能,用來接收的換能器叫接收器,換能器處于接收狀態(tài)時,將聲能轉(zhuǎn)換成機械能,再轉(zhuǎn)換成電能,一般情況下,換能器既能用來發(fā)射,也能用來接收。通常換能器都有一個電的儲能元件和一個機械振動系統(tǒng),當換能器用作發(fā)射時,從發(fā)射機

82、的輸出級送來的電震蕩信號引起電儲能元件中的電場或磁場的變化,這種變化借助于某種物理效應(yīng)對換能器機械振動系統(tǒng)產(chǎn)生一個推動力,使其進入振動狀態(tài)。從而推動與機械振動系統(tǒng)相接觸的介質(zhì)振動,向介質(zhì)中輻射聲波。接收的過程正好相反,這是介質(zhì)聲場作用在換能器的振動面上,是機械振動系統(tǒng)發(fā)生振動時,借助于某種物理效應(yīng),引起電儲能元件中的電場或磁場發(fā)生相應(yīng)的變化,從而是換能器的電輸出端產(chǎn)生一個相應(yīng)于聲信號的電壓或電流。按照實現(xiàn)機電轉(zhuǎn)換的物理效應(yīng)的不同,將換能

83、器分為:電動式、電磁式、磁致伸縮式、電容式、壓電式和電致伸縮式等。極化了的電致伸縮換能器,從換能原理和處理方</p><p>  壓電式超聲波傳感器實際上是利用壓電晶體的諧振來工作的超聲波傳感器內(nèi)部結(jié)構(gòu)是:兩個壓電晶片和一個共振扳。當它的兩電極間外加脈沖信號時,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,開帶動共振板振動,便產(chǎn)生超聲波,稱為逆壓電效應(yīng)。反之,如果兩電極間末外加電壓.當共振板接收到超聲

84、波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了,稱為正壓電效應(yīng)。同時它還具有頻率特性,當施加的外力頻率等于他的固有頻率時,將產(chǎn)生機械諧振,諧振時振幅最大,彈性能量也最大,產(chǎn)生最大的壓電信號。</p><p><b>  4 軟件設(shè)計</b></p><p>  4.1 系統(tǒng)軟件結(jié)構(gòu)</p><p>  在系統(tǒng)硬件

85、構(gòu)架了超聲測距的基本功能之后,系統(tǒng)軟件所實現(xiàn)的功能主要是針對系統(tǒng)功能的實現(xiàn)及數(shù)據(jù)的處理和應(yīng)用。根據(jù)以上所述系統(tǒng)硬件設(shè)計和所完成功能,系統(tǒng)軟件需要實現(xiàn)以下功能:</p><p><b> ?。?) 信號控制</b></p><p>  在系統(tǒng)硬件中,己經(jīng)完成了發(fā)射電路、回波接收電路、溫度補償電路的設(shè)計。在系統(tǒng)軟件中,要完成對發(fā)射脈沖信號、脈沖接收信號、時序及輸出信號的控

86、制。</p><p><b> ?。?) 數(shù)據(jù)存儲</b></p><p>  為了得到發(fā)射信號與接收回波間的時間差,要讀出此刻計數(shù)器的計數(shù)值,然后存儲在RAM中,芯片所測出的溫度值也要存在RAM中,而且每次發(fā)射周期的開始,需要對計數(shù)器清零,以備后續(xù)處理。</p><p><b> ?。?)信號處理</b></p&g

87、t;<p>  RAM中的溫度值要轉(zhuǎn)化為此溫度下的聲速,轉(zhuǎn)換公式是: (m/s)。RAM中存儲的計數(shù)值也不能作為距離值直接顯示輸出,計數(shù)值與實際的距離值之間轉(zhuǎn)換公式為: ,其中,t為發(fā)射信號到接收之間經(jīng)歷的時間,為方波信號作為計數(shù)脈沖時計數(shù)器的時間分辨率,N為計數(shù)器的值。在這部分中,信號處理包括計數(shù)值與距離值換算,二進制與十進制轉(zhuǎn)換。</p><p> ?。?) 數(shù)據(jù)傳輸與顯示</p>

88、<p>  經(jīng)軟件處理得到的距離送給四位LED顯示。由于采用了STC12C5A60S2單片機并考慮整個系統(tǒng)的控制流程,整個系統(tǒng)軟件都由STC12C5A60S2系列單片機匯編語言實現(xiàn)。由于距離值的得出是在中斷子程序中完成的,因此在初始化發(fā)射程序后進入中斷響應(yīng)的等待。在中斷響應(yīng)之后,原始數(shù)據(jù)經(jīng)計數(shù)值與距離值換算程序,二進制與十進制轉(zhuǎn)換程序,最后顯示輸出。</p><p>  STC12C5A60S2單片機

89、和其開發(fā)應(yīng)用系統(tǒng)具有語言簡潔、可移植性好、表達能力強、表達方式靈活、可進行結(jié)構(gòu)化設(shè)計、可以直接控制計算機硬件、生成代碼質(zhì)量高、使用方便等諸多優(yōu)點。整個系統(tǒng)軟件功能的實現(xiàn)可以分為主程序、子程序、中斷服務(wù)程序等幾個主要部分。該系統(tǒng)的主程序處于循環(huán)工作方式,當汽車掛倒檔時,主程序開始調(diào)用測溫程序、發(fā)射子程序、中斷程序、并把測量結(jié)果用顯示子程序及報警程序表示出來。 主程序是單片機程序的主體,整個單片機系統(tǒng)軟件的功能實現(xiàn)都是在其中完成的

90、,在此過程中主程序調(diào)用了子程序及中斷服務(wù)程序。如圖4.1所示為系統(tǒng)的主程序流程。系統(tǒng)上電以后,首先對T0,各I/0口等進行初始化編程。P1.3輸出啟動信號,發(fā)射超聲波,同時使T0計數(shù)器開始記數(shù)。如果沒有收到回波信號,T0將溢出,同時顯示器將顯示錯誤報警以說明沒有收到回波信號。如果收到回波信號,則INT0發(fā)出中斷請求,執(zhí)行中斷程序。計數(shù)器T0停止計數(shù),CPU讀取T0計數(shù)值N并送存RAM。同時讀取溫度傳感器DS1820的溫度。根據(jù)溫度的讀數(shù)

91、及時間算出距離并啟動報警及顯示電路。</p><p>  4.3 測溫電路程序</p><p>  測溫數(shù)據(jù)讀取:訪問DS18B20必須遵循初始化、ROM命令、DS18B20函數(shù)命令這一順序,缺少其中任何一步或打亂順序,DS18B20都不會響應(yīng)。所以與 DS18B20的通信首先必須初始化:單片機發(fā)出復(fù)位脈沖,DS18B20以存在脈沖響應(yīng),這表示DS18B20已經(jīng)在總線上并準備好操作。單片機

92、在寫時序?qū)憯?shù)據(jù)到DS1820,在讀時序從DS18B20中讀數(shù)據(jù),每一總線時序傳送一位數(shù)據(jù)。DS18B20 有兩種類型的寫時序:寫1時序和寫0時序。單片機用寫1時序?qū)戇壿嫛?”到DS1820,用寫0時序?qū)戇壿嫛?”到DS18B20。所有寫時序必須持續(xù)最少60µs,每個寫時序之間必須有至少11µs的恢復(fù)時間。DS18B20在單片機發(fā)出寫時序后的15-60µs的時間窗口內(nèi)采樣總線。如果在采樣窗口期間總線為高,“1

93、”就被寫入;反之,“ 0”被寫入。當單片機發(fā)出讀時序時,DS18B20可以發(fā)送數(shù)據(jù)到單片機。所有讀時序必須持續(xù)60µs,每個讀時序之間必須至少有11µs的恢復(fù)時間。單片機DS18B20開始在總線上傳送“1”或“0”。 DS18B20通過保持總線為高發(fā)送“1”,將總線拉低發(fā)送0。</p><p><b>  子程序部分如下:</b></p><p>

94、  void init() //初始化</p><p><b>  {</b></p><p><b>  lcden=0;</b></p><p>  write_com(0x38); //設(shè)置16*2顯示,5*7點陣,8位數(shù)據(jù)接口</p><p>  write_com(0x0c); //

95、設(shè)置開顯示 ,不顯示光標00001100</p><p>  write_com(0x06); //寫一個字符后地址指針加1</p><p>  write_com(0x01); //顯示清零,數(shù)據(jù)指針清零</p><p><b>  }</b></p><p>  //***********************

96、********************************************</p><p>  void ds_init(void) //DS18B20初始化</p><p><b>  {</b></p><p><b>  uint i;</b></p><p>  DQ

97、=1;//將數(shù)據(jù)線置高電平1</p><p><b>  i++;</b></p><p><b>  DQ=0;</b></p><p><b>  i=103;</b></p><p>  while(i>0) i--; //延時750us</p>&

98、lt;p><b>  DQ=1;</b></p><p><b>  i=4;</b></p><p>  while(i>0) i--;</p><p><b>  }</b></p><p>  //******************************

99、*************************************</p><p>  bit read_tempreadbit(void) //讀1位</p><p><b>  {</b></p><p><b>  uint i;</b></p><p><b>  

100、bit dat;</b></p><p>  DQ=1;i++;</p><p>  DQ=0; i++; i++;</p><p>  DQ=1; i++;</p><p><b>  dat=DQ;</b></p><p><b>  i=8;</b><

101、;/p><p>  while(i>0) i--;</p><p>  return(dat);</p><p><b>  }</b></p><p>  //*******************************************************************</p>

102、<p>  uchar read_tempreadbyte(void) //讀1字節(jié)</p><p><b>  {</b></p><p>  uchar i,j,dat;</p><p><b>  dat=0;</b></p><p>  for(i=0;i<8;i++)&l

103、t;/p><p><b>  {</b></p><p>  j=read_tempreadbit();</p><p>  dat=(j<<7)|(dat>>1);</p><p><b>  }</b></p><p>  return(dat);&l

104、t;/p><p><b>  }</b></p><p>  //*******************************************************************</p><p>  void write_tempreadbyte(uchar dat) //寫1字節(jié)</p><p>

105、;<b>  {</b></p><p><b>  uint i;</b></p><p><b>  uchar j;</b></p><p>  bit testb;</p><p>  for (j=1;j<9;j++)</p><p>&

106、lt;b>  {</b></p><p>  testb=dat&0x01;</p><p>  dat=dat>>1;</p><p>  if(testb==1)</p><p><b>  {</b></p><p><b>  DQ=0;&l

107、t;/b></p><p>  i++; i++;</p><p><b>  DQ=1;</b></p><p><b>  i=8;</b></p><p>  while(i>0) i--;</p><p><b>  }</b>&l

108、t;/p><p><b>  else</b></p><p><b>  {</b></p><p><b>  DQ=0;</b></p><p><b>  i=8;</b></p><p>  while(i>0) i--

109、;</p><p><b>  DQ=1;</b></p><p><b>  i++;i++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }<

溫馨提示

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

評論

0/150

提交評論