喜歡就充值下載吧。。。資源目錄里展示的全都有,,下載后全都有,,請放心下載,原稿可自行編輯修改 【QQ:414951605 可咨詢交流】=====================
喜歡就充值下載吧。。。資源目錄里展示的全都有,,下載后全都有,,請放心下載,原稿可自行編輯修改 【QQ:1304139763 可咨詢交流】=====================
喜歡就充值下載吧。。。資源目錄里展示的全都有,,下載后全都有,,請放心下載,原稿可自行編輯修改 【QQ:1304139763 可咨詢交流】=====================
本科學(xué)生畢業(yè)設(shè)計(jì)
基于超聲波的汽車防撞報警
系統(tǒng)設(shè)計(jì)
系部名稱: 汽車與交通工程學(xué)院
專業(yè)班級: 車輛工程 B06-8班
學(xué)生姓名: 劉冬磊
指導(dǎo)教師: 齊益強(qiáng)
職 稱: 實(shí)驗(yàn)師
黑 龍 江 工 程 學(xué) 院
二○一○年六月
The Graduation Design for Bachelor's Degree
Ultrasonic Automotive Anti-collision
Alarm System Design
Candidate:Liu Donglei
Specialty:Vehicle Engineering
Class:B06-8
Supervisor:Experimentalist Division. Qi Yiqiang
Heilongjiang Institute of Technology
2010-06·Harbin
黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì)
摘 要
近年來,隨著汽車產(chǎn)業(yè)的迅速發(fā)展和人們生活水平的不斷提高,我國的汽車數(shù)量正逐年增加。同時汽車駕駛?cè)藛T中非職業(yè)汽車駕駛?cè)藛T的比例也逐年增加。在公路、街道、停車場、車庫等擁擠、狹窄的地方倒車時,駕駛員既要前瞻,又要后顧,稍微不小心就會發(fā)生追尾事故。據(jù)相關(guān)調(diào)查統(tǒng)計(jì),15%的汽車碰撞事故是因倒車時汽車的后視能力不良造成的。因此,增加汽車的后視能力,研制汽車后部探測障礙物的倒車?yán)走_(dá)便成為近些年來的研究熱點(diǎn)。為此,設(shè)計(jì)了以單片機(jī)為核心,利用超聲波實(shí)現(xiàn)無接觸測距的倒車?yán)走_(dá)系統(tǒng)。
超聲波一般指頻率在20 kHz以上的機(jī)械波,具有穿透性強(qiáng),衰減小,反射能力強(qiáng)等特點(diǎn)。工作時,超聲波發(fā)射器不斷發(fā)射出一系列連續(xù)脈沖,給測量邏輯電路提供一個短脈沖。最后由信號處理裝置對接收的信號依據(jù)時間差進(jìn)行處理,自動計(jì)算出車與障礙物之間的距離。超聲波測距原理簡單,成本低,制作方便,但其傳輸速度受天氣影響較大,不能精確測距;因此大都用于汽車倒車?yán)走_(dá)等近距離測距中本文根據(jù)聲波在空氣中傳播反射原理,以超聲波換能器為接口部件,介紹了基于STC89S52單片機(jī)的超聲波測距器。該設(shè)計(jì)由超聲波發(fā)射模塊、信號接收模塊、單片機(jī)處理模塊、數(shù)碼顯示以及聲光報警顯示模塊等部分組成,文中詳細(xì)介紹了測距器的硬件組成、檢測原理、方法以及軟件結(jié)構(gòu)。接收電路使用SONY公司的CX20106A紅外檢測專用芯片,該芯片常用于38kHz的檢波電路,文中通過對芯片內(nèi)部電路的仔細(xì)分析,設(shè)計(jì)出能夠成功對40kHz超聲波檢波的硬件電路,并且增益可調(diào),與傳統(tǒng)超聲波檢波電路相比,電路變得精簡,調(diào)試變得相對容易。
關(guān)鍵詞:超聲波;報警;STC89C52;調(diào)試;設(shè)計(jì)
黑龍江工程學(xué)院本科生畢業(yè)設(shè)計(jì)
ABSTRACT
In recent years, with the rapid development of automobile industry and the continuous improvement of people's living standard, China's number of cars is increasing every year. Driving in Central Africa at the same time professional staff of the proportion of car drivers is also increasing year by year. Highways, streets, parking, garage and other crowded places narrow reverse, the driver should not only forward but also looking back, a little rear-end careless accidents can occur. According to related statistics, 15% of motor vehicle collisions when the vehicle is reversing, as the capacity of the latter caused by bad.So after the increase of motor vehicles as the ability to detect obstacles on the development of the rear of the car reversing radar has become the research hotspot in recent years. To this end, the design of a single-chip microcomputer as the core, the use of ultrasonic ranging to achieve non-contact reversing radar system.
Generally refers to ultrasonic frequencies above 20 kHz mechanical waves, with penetrating, and attenuation of small, reflecting the ability and so on. Work, the ultrasonic transmitter continuously emits a series of consecutive pulses to the measurement of logic circuits to provide a short pulse. Finally, signal processing devices based on the received signal for processing the time difference, automatic calculation of turnout and the distance between obstacles. Ultrasonic Ranging simple, low cost, easy production, but the transmission speed by a larger weather can not be precise range;Thus reversing radar are used in cars, such as close range in this paper, according to the spread of sound waves in air reflection to ultrasonic transducer interface components, based on MCU STC89S52 ultrasonic range-finder. Designed by the ultrasonic transmitter module, receiver module, single-chip processing module, a digital display and alarm sound and light display module, such as parts, the text in detail the range of hardware devices, detection theory, methods and software architecture. Receiving circuit using the SONY company dedicated CX20106A infrared detecting chip, the chip used in the detector circuit 38kHz, the text of the chip through the careful analysis of the internal circuit design can successfully 40kHz ultrasonic detection of hardware circuitry and adjustable gain, and compared to conventional ultrasonic detection circuit, the circuit has become streamlined and easier to debug.
Key words: Silent Wave; Alerting; STC89C52;Debug; Design
目 錄
摘要………………………………………………………………………………………I
Abstract…………………………………………………………………………………II
第1章 緒論………………………………………………………………………………1
1.1 課題的背景………………………………………………………………………1
1.2 課題設(shè)計(jì)的意義…………………………………………………………………1
1.3 超聲波防裝系統(tǒng)的應(yīng)用介紹……………………………………………………2
1.4 課題主要研究的內(nèi)容……………………………………………………………3
第2章 課題的方案設(shè)計(jì)與論證………………………………………………………4
2.1 系統(tǒng)的總體設(shè)計(jì)…………………………………………………………………4
2.1.1 系統(tǒng)總體框圖…………………………………………………………………4
2.1.2 傳感器的位置…………………………………………………………………5
2.2 設(shè)計(jì)方案的論證…………………………………………………………………5
2.3 本章小結(jié)…………………………………………………………………………5
第3章 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)………………………………………………………7
3.1 單片機(jī)的選擇……………………………………………………………………7
3.2 發(fā)射電路設(shè)計(jì)…………………………………………………………………12
3.3 接收電路設(shè)計(jì)…………………………………………………………………12
3.4 顯示報警電路的設(shè)計(jì)…………………………………………………………15
3.4.1 MAX232………………………………………………………………………15
3.5 本章小結(jié)…………………………………………………………………………16
第4章 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)………………………………………………………17
4.1主程序流程圖……………………………………………………………………19
4.2 超聲波發(fā)射程序編寫原理………………………………………………………22
4.3 本章小結(jié)…………………………………………………………………………22
第5章 制作與調(diào)試……………………………………………………………………23
5.1 硬件的制作……………………………………………………………………23
5.1.1 焊接時布線及其注意事項(xiàng)…………………………………………………23
5.1.2硬件的整體焊接……………………………………………………………26
5.2 硬件調(diào)試…………………………………………………………………………27
5.2.1 發(fā)射調(diào)試…………………………………………………………………28
5.2.2 接收調(diào)試…………………………………………………………………29
5.2.3 顯示調(diào)試…………………………………………………………………30
5.2.4報警調(diào)試…………………………………………………………………31
5.3 軟件調(diào)試…………………………………………………………………………32
5.3.1 超聲波接收發(fā)射調(diào)試過程………………………………………………33
5.4 本章小結(jié)…………………………………………………………………………34
結(jié)論………………………………………………………………………………………35
參考文獻(xiàn)…………………………………………………………………………………36
致謝………………………………………………………………………………………36
附錄………………………………………………………………………………………38
附錄A 英文文獻(xiàn)與中文參考譯文…………………………………………………38
附錄B 整機(jī)原理圖…………………………………………………………………45
附錄C實(shí)物效果圖…………………………………………………………………49
附錄D材料清單……………………………………………………………………51
附錄E 源程序………………………………………………………………………53
第1章 緒 論
1.1 課題背景
隨著經(jīng)濟(jì)的發(fā)展與汽車科學(xué)技術(shù)的進(jìn)步,公路交通呈現(xiàn)出行駛高速化、車流密集化和駕駛員非職業(yè)化的趨勢。同時,隨著汽車工業(yè)的飛速發(fā)展,汽車的產(chǎn)量和保有量都在急劇增加。但公路發(fā)展、交通管理卻相對落后,導(dǎo)致了交通事故與日劇增,城市里尤其突出。智能交通系統(tǒng)ITS是目前世界上交通運(yùn)輸科學(xué)技術(shù)的前沿技術(shù),它在充分發(fā)揮現(xiàn)有基礎(chǔ)設(shè)施的潛力,提高運(yùn)輸效率,保障交通安全,緩解交通賭塞,改善城市環(huán)境等方面的卓越效能,已得到各國政府的廣泛關(guān)注。中國政府也高度重視智能交通系統(tǒng)的研究開發(fā)與推廣應(yīng)用。汽車防撞系統(tǒng)作為ITS發(fā)展的一個基礎(chǔ),它的成功與否對整個系統(tǒng)有著很大的作用。從傳統(tǒng)上說,汽車的安全可以分為兩個主要研究方向:一是主動式安全技術(shù),即防止事故的發(fā)生,該種方式是目前汽車安全研究的最終目的;二是被動式安全技術(shù),即事故發(fā)生后的乘員保護(hù)。目前汽車安全領(lǐng)域被動安全研究較多,主要從安全氣囊、ABS(防抱死系統(tǒng))和懸架等方面著手,以保證駕乘人員的安全。從經(jīng)濟(jì)性和安全性兩方面來說,這些被動安全措施是在事故發(fā)生時刻對車輛和人員進(jìn)行保護(hù),有很大的局限性,因而車輛的主動安全研究尤為重要,而且隨著車輛保有量的增加,車庫與停車位的需求量越來越大,室外停車場,地下停車場,車輛密集,停車人多,所以撞車,擦碰逐漸增多。引出了本文研究的基于超聲波汽車防撞報警系統(tǒng)基于超聲波的汽車防撞報警系統(tǒng)的逐漸嶄露頭角,它可以使駕駛員們倒車、泊車更簡單,在汽車接近障礙物的時候能發(fā)出報警,很大程度地避免了駕駛員停車或泊車時發(fā)生事故。
這個系統(tǒng)是一種可向司機(jī)預(yù)先發(fā)出視聽信號的探測裝置。它安裝在汽車上,能探測企圖接近車身的行人、車輛或周圍障礙物;能使司機(jī)及乘員提前發(fā)現(xiàn)障礙物并發(fā)出危險的信號,促使司機(jī)采取應(yīng)急措施來應(yīng)付撞車掛碰等,避免損失。[2]
1.2 課題設(shè)計(jì)的意義
隨著現(xiàn)代社會工業(yè)化程的發(fā)展,汽車這一交通工具正為越來越多人所用,但隨之而來的問題也顯而易見,那就是隨著車輛的增多,汽車的一些掛碰,一般都是由于駕駛員反應(yīng)不及所引起的,很多時候都是因?yàn)轳{駛員對離障礙物的距離判斷不準(zhǔn)造成的。若駕駛員能夠提早知道障礙物的存在或者知道障礙物的遠(yuǎn)近,那么駕駛員將能及時采取措施,避免事故的發(fā)生。因此,大力研究開發(fā)如汽車防撞裝置等主動式汽車輔助安全裝置,減少駕駛員的負(fù)擔(dān)和判斷錯誤,對于提高交通安全將起到重要的作用。
本設(shè)計(jì)采用單片機(jī)來實(shí)現(xiàn)智能超聲波測距,雖其在功能上是不能與高精度的智能超聲波測距儀相比的,但優(yōu)點(diǎn)在于系統(tǒng)規(guī)模較小,器件更換容易,成本低,有一定靈活性。但不適宜用于測量過于精確或者過大的距離,容易產(chǎn)生誤差。用于倒車泊車。
因此,大力研究開發(fā)如汽車防撞裝置等主動式汽車輔助安全裝置,減少駕駛員的負(fù)擔(dān)和判斷錯誤,對于提高交通安全將起到重要的作用。顯然,此類產(chǎn)品的研究開發(fā)具有極大的實(shí)現(xiàn)意義和廣闊的應(yīng)用前景。[5]
1.3 超聲波防撞系統(tǒng)的應(yīng)用介紹
超聲波防撞報警系統(tǒng)(俗稱電子眼)是汽車倒車防撞安全輔助裝置 ,能以聲音或者更為直觀的數(shù)字形式動態(tài)顯示周圍障礙物的情況。其較早的產(chǎn)品是用蜂鳴器報警 ,蜂鳴聲越急 ,表示車輛離障礙物越近。后繼的產(chǎn)品可以顯示車后障礙物離車體的距離。其大多數(shù)產(chǎn)品探測范圍在0.4~1.5 m,有的產(chǎn)品能達(dá)到0.35~2.5 m,并有距離顯示、聲響報警、區(qū)域警示和方位指示 ,有些產(chǎn)品還具備開機(jī)自檢功能。目前市場上還出現(xiàn)了具有語音報警功能的產(chǎn)品。這些產(chǎn)品存在的主要問題是測量盲區(qū)大 ,報警滯后 ,未考慮汽車制動時的慣性因素 ,使駕駛者制動滯后 ,抗干擾能力不強(qiáng) ,誤報也較多。汽車防撞雷達(dá)之所以能實(shí)現(xiàn)防撞報警功能, 主要有超聲波這把無形尺子, 它測量最近障礙物的距離, 并告訴給車主。其實(shí)超聲測距原理簡單: 它發(fā)射超聲波并接收反射回波, 通過單片機(jī)計(jì)數(shù)器獲得兩者時間差t, 利用公式S=Ct /2計(jì)算距離, 其中S為汽車與障礙物之間的距離, C為聲波在介質(zhì)中的傳播速度。
本文介紹的超聲防撞報警系統(tǒng)共有2只超聲波換能器(俗稱探頭),分別布置在汽車的后左、后右2個位置上。能檢測前進(jìn)和倒車方向障礙物距離, 通過后視鏡內(nèi)置的顯示單元顯示距離和方位, 發(fā)出一定的聲響, 起到提示和警戒的作用。系統(tǒng)采用一片STC89C52單片機(jī)對兩路超聲波信號進(jìn)行循環(huán)采集。
超聲波是指頻率高于20KHz的機(jī)械波。為了以超聲波作為檢測手段,必須產(chǎn)生超生波和接收超聲波。完成這種功能的裝置就是超聲波傳感器,習(xí)慣上稱為超聲波換能器或超聲波探頭。超聲波傳感器有發(fā)送器和接收器,但一個超聲波傳感器也可具有發(fā)送和接收聲波的雙重作用。超聲波傳感器是利用壓電效應(yīng)的原理將電能和超聲波相互轉(zhuǎn)化,即在發(fā)射超聲波的時候,將電能轉(zhuǎn)換,發(fā)射超聲波;而在收到回波的時候,則將超聲振動轉(zhuǎn)換成電信號。
超聲波測距的原理一般采用渡越時間法TOF(time of flight)。首先測出超聲波從發(fā)射到遇到障礙物返回所經(jīng)歷的時間,再乘以超聲波的速度就得到二倍的聲源與障礙物之間的距離 。測量距離的方法有很多種,短距離的可以用尺,遠(yuǎn)距離的有激光測距等,超聲波測距適用于高精度的中長距離測量。因?yàn)槌暡ㄔ跇?biāo)準(zhǔn)空氣中的傳播速度為331.45米/秒,由單片機(jī)負(fù)責(zé)計(jì)時,單片機(jī)使用12.0M晶振,所以此系統(tǒng)的測量精度理論上可以達(dá)到毫米級。
由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播距離遠(yuǎn),因而超聲波可以用于距離的測量。利用超聲波檢測距離,設(shè)計(jì)比較方便,計(jì)算處理也較簡單,并且在測量精度方面也能達(dá)到要求。
超聲波發(fā)生器可以分為兩類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。本設(shè)計(jì)屬于近距離測量,可以采用常用的壓電式超聲波換能器來實(shí)現(xiàn)觸發(fā)單元。
利用超聲波測距的功能,就可以根據(jù)測量發(fā)射波與反射波之間的時間間隔,從而達(dá)到測量距離的作用。其主要有三種測距方法:
第一、相位檢測法,相位檢測法雖然精度高,但檢測范圍有限;
第二、聲波幅值檢測法,聲波幅值檢測法易受反射波的影響;
第三、渡越時間檢測法,渡越時間檢測法的工作方式簡單,直觀,在硬件控制和軟件設(shè)計(jì)上都非常容易實(shí)現(xiàn)。其原理為:檢測從發(fā)射傳感器發(fā)射超聲波,經(jīng)氣體介質(zhì)傳播到接收傳感器的時間,這個時間就是渡越時間。[8]
1.4 課題主要內(nèi)容研究
本設(shè)計(jì)的超聲波測距就是使用了渡越時間檢測法。在倒車的車輛中應(yīng)用的超聲波傳感器,是利用超聲波在空氣中的定向傳播和固體反射特性(縱波),通過接收自身發(fā)射的超聲波反射信號,根據(jù)超聲波發(fā)出及回波接收的時間差和傳播速度,計(jì)算傳播距離,從而得到障礙物到車輛的距離,并顯示距離,發(fā)聲報警。
課題的主要研究內(nèi)容是:
第一、解決硬件平臺搭建。
第二、完成軟件程序編寫。
- 61 -
第2章 課題的方案設(shè)計(jì)與論證
2.1 系統(tǒng)總體設(shè)計(jì)
2.1.1 系統(tǒng)總體框圖
構(gòu)成超聲波防撞報警系統(tǒng)的電路功能模塊包括發(fā)射電路、接收電路、顯示電路、核心功能模塊單片機(jī)控制器及一些輔助電路。采取收發(fā)分離方式有兩個好處:一是收發(fā)信號不會混疊,接收探頭所接收到的純?yōu)榉瓷湫盘?;二是將接收探頭放置在合適位置,可以避免超聲波在物體表面反射時造成的各種損失和干擾,提高系統(tǒng)的可靠性。
圖2.1 超聲波汽車防撞原理框圖
根據(jù)設(shè)計(jì)要求并綜合各方面因素,選擇的超聲波測距傳感器是TR40-16(T 表示發(fā)射傳感器,R表示接收傳感器),最大探測距離為6m,發(fā)射擴(kuò)散角為60度。
超聲波傳感器有兩塊壓電晶片和一塊共振板。當(dāng)它的兩電極加脈沖信號(觸發(fā)脈沖),若其頻率等于晶片的固有頻率時,壓電晶片就會發(fā)生共振,并帶動共振板振動,從而產(chǎn)生超聲波。相反, 電極間未加電壓,則當(dāng)共振板接收到回波信號時,將壓迫兩壓電晶片振動,從而將機(jī)械能轉(zhuǎn)換為電信號,此時的傳感器就成了超聲波接收器。超聲波傳感器是一種采用壓電效應(yīng)的傳感器,常用的材料是壓電陶瓷。由于超聲波在空氣中傳播時會有相當(dāng)?shù)乃p,衰減的程度與頻率的高低成正比;而頻率高分辨率也高,故短距離測量時應(yīng)選擇頻率高的傳感器,而長距離的測量時應(yīng)用低頻率的傳感器。
相臨兩片的壓電陶瓷片極化方向相反,芯片的數(shù)目成偶數(shù),以使前后金屬蓋板與同一極性的電極相連,否則在前后蓋板與芯片之間要墊以絕緣墊圈,會導(dǎo)致結(jié)構(gòu)不必要的增大,兩芯片之間,芯片與金屬蓋板間通常以薄黃銅片(厚度小于0.1mm),作為焊接電極引線用;芯片,電極銅片用強(qiáng)力膠膠合,在壓電組件的中央部分用結(jié)合軸與圓錐狀諧振子連成一體,圓錐狀諧振子的邊緣部分裝有圓環(huán)彈性橡膠減振器,使之與外殼固定,起聲阻匹配作用。在電聲變換部分的前面的超聲波束整形板,是對應(yīng)圓錐狀諧振子的振動模式設(shè)置的幾個開口,使超聲波波束指向尖銳,吸聲片吸收多余反射聲波。目前市面上出售的超聲波傳感器種類有通用型,拓寬型,寬帶域型,防水型和高頻型等這幾類。雖然通用型超聲波傳感器有頻率帶寬較窄的缺點(diǎn),但是卻可以換來高靈敏度,抗噪聲干擾強(qiáng)的優(yōu)點(diǎn)。超聲波基本應(yīng)用電路主要分為三類:
第一類,直射型,主要用于遙控及報警電路;
第二類,分離反射型,主要用于測距,料位測量等電路;
第三類,反射型,主要用于材料的探傷,測厚電路。
鑒于成本的考慮,選用了普通的T/R-40系列的超聲波發(fā)射/接收傳感器。TR-40系列超聲波傳感器典型的工作頻率為39~41KHz。如圖2.2所示。[6]
圖2.2 超聲波探頭
2.1.2 傳感器位置
超聲波發(fā)生器T是一個超聲頻電子振蕩器,當(dāng)把振蕩器產(chǎn)生的超聲頻電壓加到超聲換能器的壓電陶瓷上時,壓電陶瓷組件就在電場作用下產(chǎn)生縱向振動。壓電組件在超聲振蕩時,仿佛是一個小活塞,其振幅很小,約為1~10. 2Lm,但這種振動加速度很大,約10~103gn,于是把電磁振蕩能量轉(zhuǎn)化為振動能量,這種巨大的超聲波能量,沿著特定方向傳播出來。其關(guān)鍵技術(shù)是使超聲波波束變細(xì),除待測物外不受其它構(gòu)造物的影響。超聲傳感器是產(chǎn)生超聲波必需的能量轉(zhuǎn)換裝置,它把超聲電磁振蕩的能量轉(zhuǎn)換為聲波。通過上述超聲換能結(jié)構(gòu),配以適當(dāng)?shù)氖瞻l(fā)電路,可以使超聲能量的定向傳輸,并按預(yù)期接收反射波,實(shí)現(xiàn)超聲遙控、測距、防盜等檢測功能 。
由于是測距系統(tǒng)是采用超聲波發(fā)射和接收分離反射型結(jié)構(gòu),所以發(fā)射頭和接收頭應(yīng)該在同一平行直線上。出于距離和發(fā)射夾角所引起的誤差以及超聲波信號在傳播過程中衰減問題的考慮,發(fā)射和接收探頭距離不可以太遠(yuǎn),而又為了避免發(fā)射頭對接收頭接收信號產(chǎn)生的干擾,二者也不能間隔太近。經(jīng)過參考前人的經(jīng)驗(yàn)以及調(diào)試時的實(shí)際情況,應(yīng)保持超聲波發(fā)射頭和接收頭中心軸線平行并相距4-8cm即可。[8]
2.2 設(shè)計(jì)方案的論證
超聲波探測技術(shù)主要用于中程測距、結(jié)構(gòu)探傷、智能控制等領(lǐng)域,超聲波換能器是其核心部件,換能器按其工作介質(zhì)可分為氣相、液相和固相換能器;按其發(fā)射波束寬度可分為寬波束和窄波束換能器;按其工作頻率又可分為38KHz、40KHz等不同等級。本設(shè)計(jì)選用氣相、窄波束、40KHz的超聲波換能器。
當(dāng)利用超聲波探測器測距時常用兩種方法,是強(qiáng)度法和反射時間法,強(qiáng)度法是利用聲波在空氣中的傳輸損耗值來測量被測物的距離,被測物越遠(yuǎn)其反射信號越弱,根據(jù)反射信號的強(qiáng)弱就可以知道被測物的遠(yuǎn)近,但在使用這種方法時由于換能器之間的直接耦合信號很難消除,在放大器增益較高時這一直接耦合信號就可使放大器飽和從而使整套系統(tǒng)失效,由于直接耦合信號的影響強(qiáng)度法測距只適合較短距離的且精度要求不高的場合。
反射時間法其原理是利用檢測聲波發(fā)出到接收到被測物反射回波的時間來測量距離,對于距離較短和要求不高的場合我們可認(rèn)為空氣中的聲速為常數(shù),我們通過測量回波時間T利用公式S=V×(T/2)其中S為被測距離、V為空氣中聲速、T為回波時間(T=T1+T2)計(jì)算出路程,這種方法不受聲波強(qiáng)度的影響,直接耦合信號的影響也可以通過設(shè)置“時間門”來加以克服,因此這種方法非常適合較遠(yuǎn)距離的測距,如果對聲速進(jìn)行溫度修訂,其精度還可進(jìn)一步提高,本設(shè)計(jì)中選用此方法。[4]
2.3 本章小結(jié)
40KHz的方波可以直接通過單片機(jī)輸出PWM信號或通過外部震蕩電路來產(chǎn)生,這里我采用的是51單片機(jī),沒有多余的資源完成這么多工作,故摒棄了由單片機(jī)直接產(chǎn)生PWM信號的方式,而采用了外部電路產(chǎn)生。
40KHz的發(fā)射頻率由單片機(jī)提供給軟件進(jìn)行處理控制發(fā)射及停止,回波經(jīng)過STC89C52對接收到的信息進(jìn)行處理后,被測的距離在LED上顯示,顯示部分采用動態(tài)掃描顯示。滿足顯示精度;若該距離小于預(yù)置的汽車低速安全剎車范圍(如:0.2m或0.5m),報警電路發(fā)出適當(dāng)?shù)木嫣崾疽簦蒔1.1口的蜂鳴器輸出控制報警電路的工作。從而完成本設(shè)計(jì)所要達(dá)到的功能,這是本章的重點(diǎn)。
第3章 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)
3.1 單片機(jī)的選擇
在系統(tǒng)的設(shè)計(jì)中,選擇合適的系統(tǒng)核心器件就成為能否成功完成設(shè)計(jì)任務(wù)的關(guān)鍵,而作為控制系統(tǒng)核心的單片機(jī)的選擇更是重中之重。單片機(jī)選擇對整個系統(tǒng)的硬件性能發(fā)揮具有決定性作用。
目前各半導(dǎo)體公司、電氣商都向市場上推出了形形色色的單片機(jī),并提供了良好的開發(fā)環(huán)境。選擇好合適的單片機(jī)可以最大地簡化單片機(jī)應(yīng)用系統(tǒng),而且功能優(yōu)異,可靠性好,成本低廉,具有較強(qiáng)的競爭力。目前,市面上的單片機(jī)不僅種類繁多,而且在性能方面也各有所長。
一、選擇單片機(jī)需要考慮以下幾個方面:
1、單片機(jī)的基本性能參數(shù)。例如指令執(zhí)行速度,程序存儲器容量,I/O引腳數(shù)量等。
2、單片機(jī)的增強(qiáng)功能。例如看門狗、多指針、雙串口等。
3、單片機(jī)的存儲介質(zhì)。對于程序存儲器來說,F(xiàn)lash存儲器和OTP(一次性可編程)存儲器相比較,最好是Flash存儲器。
4、芯片的封裝形式。如DIP(雙列直插)封裝,PLCC(PLCC有對應(yīng)插座)封裝及表面貼附等。
5、芯片工作溫度范圍符合工業(yè)級、軍工級還是商業(yè)級。如果設(shè)計(jì)戶外產(chǎn)品,必須選用工業(yè)級。
6、芯片的功耗。比如設(shè)計(jì)并口加密狗時,信號線取電只能提供幾毫安的電流,選用STC單片機(jī)就是因?yàn)樗軡M足低功耗的要求。
7、供貨渠道是否暢通、價格是否低廉。
8、技術(shù)支持網(wǎng)站的速度如何,資料是否豐富。包括芯片手冊,應(yīng)用指南,設(shè)計(jì)方案,范例程序等。
9、芯片保密性能好、單片機(jī)的抗干擾性能好。
STC89系列單片機(jī)是MCS-51系列單片機(jī)的派生產(chǎn)品。它在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052單片機(jī)完全兼容,DIP40封裝系列與8051為pin-to-pin兼容。STC89系列單片機(jī)高速(最高時鐘頻率90MHz),低功耗,在系統(tǒng)/在應(yīng)用可編程(ISP,IAP),不占用戶資源。STC公司的單片機(jī)根據(jù)了解根據(jù)本系統(tǒng)的實(shí)際情況,STC公司的單片機(jī)加密效果好,功耗低,價格便宜等優(yōu)點(diǎn),所以選擇STC89C52單片機(jī)。單片機(jī)(STC89C52)外觀如圖3.1、3.2所示。
圖3.1 STC89C52正面外觀
圖3.2 STC89C52背面外觀
單片機(jī)(STC89C52)的引腳功能如圖3.3所示。
圖3.3 STC89C52引腳圖
二、單片機(jī)的引腳功能說明:
1、電源引腳
VCC是40腳正電源腳,工作電壓為5V。GND是20腳接地端。
2、XTAL1和XTAL2
為了產(chǎn)生時鐘信號,在89C52內(nèi)部設(shè)置了一個反相放大器,XTAL1是片內(nèi)振蕩器反相放大器的輸入端,XTAL2是片內(nèi)振蕩器反相放大器的輸出端,也是內(nèi)部時鐘發(fā)生器的輸入端。當(dāng)使用自激振蕩方式時,XTAL1和XTAL2外接石英晶振,使內(nèi)部振蕩器按照石英晶振的頻率振蕩,就產(chǎn)生時鐘信號。本系統(tǒng)使用的石英晶振頻率為12MHz。
產(chǎn)生時鐘信號電路如圖3.4所示。
圖3.4 時鐘信號電路
3、復(fù)位 RST 9腳
在振蕩器運(yùn)行時,有兩個機(jī)器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腳時,將使單片機(jī)復(fù)位,只要這個腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0~P3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的0000H處開始運(yùn)行程序。常用的復(fù)位電路如下圖所示。
圖3.5 復(fù)位電路圖 圖3.6 復(fù)位電路圖
4、輸入輸出I/O引腳
Pin39~Pin32為P0.0~P0.7輸入輸出腳,稱P0口,是一個8位漏極開路型雙向I/O口。內(nèi)部不帶上拉電阻,當(dāng)外接上拉電阻時,P0口能以吸收電流的方式驅(qū)動八個LSTTL負(fù)載電路。通常使用時外接上拉電阻,用來驅(qū)動多個數(shù)碼管。在訪問外部程序和外部數(shù)據(jù)存儲器時,P0口是分時轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,不需外接上拉電阻。
Pin1~Pin8為P1.0~P1.7輸入輸出腳,稱為P1口,是一個帶內(nèi)部上拉電阻的8位雙向I/0口。P1口能驅(qū)動4個LSTTL負(fù)載。通常在使用時外不需要外接上拉電阻,就可以直接驅(qū)動發(fā)光二極管。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。
CLR P1.0:讓單片機(jī)從第一腳輸出低電平。指令 SETB,置1的意思。
SETB P1.0 :讓單片機(jī)從第一個腳輸出高電平。
Pin21~Pin28為P2.0~P2.7輸入輸出腳,稱為P2口,是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P2口能驅(qū)動4個LSTTL負(fù)載。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變。
Pin10~Pin17為P3.0~P3.7輸入輸出腳,稱為P3口,是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P2口能驅(qū)動4個LSTTL負(fù)載,這8個引腳還用于專門的第二功能。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。
P3端口在做輸入使用時,因內(nèi)部有上接電阻,被外部拉低的引腳會輸出一定的電流。除此之外P3端口還用于一些專門功能,如下表:
表3.1 P3口專門功能
P3引腳
兼用功能
P3.0
串行通訊輸入(RXD)
P3.1
串行通訊輸出(TXD)
P3.2
外部中斷0( INT0)
P3.3
外部中斷1(INT1)
P3.4
定時器0輸入(T0)
P3.5
定時器1輸入(T1)
P3.6
外部數(shù)據(jù)存儲器寫選通WR
P3.7
外部數(shù)據(jù)存儲器寫選通RD
5、其它的控制或復(fù)用引腳
ALE/PROG 30 訪問外部存儲器時,ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率輸出脈沖信號(此頻率是振蕩器頻率的1/6)。在訪問外部數(shù)據(jù)存儲器時,出現(xiàn)一個ALE脈沖。對Flash存儲器編程時,這個引腳用于輸入編程脈沖PROG。
PSEN 29 該引是外部程序存儲器的選通信號輸出端。當(dāng)STC89C52由外部程序存儲器取指令或常數(shù)時,每個機(jī)器周期輸出2個脈沖即兩次有效。但訪問外部數(shù)據(jù)存儲器時,將不會有脈沖輸出。
EA/Vpp 31 外部訪問允許端。當(dāng)該引腳訪問外部程序存儲器時,應(yīng)輸入低電平。要使STC89C52只訪問外部程序存儲器(地址為0000H-FFFFH),這時該引腳必須保持低電平。對Flash存儲器編程時,用于施加Vpp編程電壓。
單片機(jī)最小系統(tǒng)電路圖如下圖3.7所示。
圖3.7 單片機(jī)最小系統(tǒng)圖
3.2 發(fā)射電路的設(shè)計(jì)
超聲波發(fā)射電路如圖3所示,STC89C52通過外部引腳P1.0 輸出脈沖寬度為25μs , 40kHz的10個脈沖串通過超聲波驅(qū)動電路以推挽方式加到超聲波傳感器而發(fā)射出超聲波。由于超聲波的傳播距離與它的振幅成正比,為了使測距范圍足夠遠(yuǎn),可對振蕩信號進(jìn)行功率放大后再加在超聲波傳感器上。
圖3.8中T為超聲波傳感器,是超聲波測距系統(tǒng)中的重要器件。利用逆壓電效應(yīng)將加在其上的電信號轉(zhuǎn)換為超聲機(jī)械波向外輻射; 利用壓電效應(yīng)可以將作用在它上面的機(jī)械振動轉(zhuǎn)換為相應(yīng)的電信號, 從而起到能量轉(zhuǎn)換的作用。市售的超聲波傳感器有專用型和兼用型,專用型就是發(fā)送器用作發(fā)送超聲波,接收器用作接收超聲波。兼用型就是收發(fā)一體, 只一個傳感器頭, 具有發(fā)送和接收聲波的雙重作用, 稱為可逆元件。
圖3.8 超聲波發(fā)射電路
3.3 接收電路的設(shè)計(jì)
集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器??紤]到紅外遙控常用的載波頻率38KHz與測距的超聲波頻率40KHz較為接近,可以利用它做超聲波的檢測接收電路。下面對紅外遙控接收器集成電路CX20106A做一個簡要的介紹。
CX20106A是日本索尼公司生產(chǎn)的彩電專用紅外遙控接收器,采用單列8腳直插式,超小型封裝。CX20106A的基本性能如下:(1)電源電壓典型值5V,最大17V。(2)電源電流1.1~2.5mA(典型值為1.8mA)。(3)輸出低電平0.2V。(4)電壓增益77~79dB。(5)輸入阻抗為27kΩ。(6)濾波器中心頻率f0為30~60kHz。其內(nèi)部結(jié)構(gòu)如下圖3.9所示。
圖3.9 CX20106A內(nèi)部結(jié)構(gòu)圖
各引腳功能(如下表3.3)
表3.3 CX20106A引腳功能
引腳
名稱
功能
1
IN
信號輸入端
2
C1
RC網(wǎng)絡(luò)連接端,該端與地串接一RC網(wǎng)絡(luò),以確定前置放大器的頻率特性與增益。R阻值大,C容量小,增益低;反之則高但C不宜過大,否則瞬態(tài)響應(yīng)速度會降低。
3
C2
檢波電容連接端,該端與地接檢波電容,電容量大,則為平均值檢波,瞬態(tài)響應(yīng)靈敏度低;電容值小,則為峰值檢波,瞬態(tài)響應(yīng)靈敏度高,但檢波輸出的脈寬變動大。
4
GND
接地端
5
f0
帶通濾波器中心頻率設(shè)置端,通過該腳與電源正端接一電阻R來確定f0,當(dāng)R=200千歐時,中心頻率f0=40KHZ;當(dāng)R=220千歐時,中心頻率f0=38KHZ。
6
C3
積分電容連接端,該腳所接積分電容標(biāo)準(zhǔn)值為330PF,當(dāng)電容值增大時,則外部濾波干擾增強(qiáng),而且輸出脈沖的低電平持續(xù)時間增加。
7
OUT
信號輸出端,該端口為集電極開路輸出,當(dāng)該腳與電源正端接一22千歐的電阻時,輸出脈沖低電平的標(biāo)準(zhǔn)值約為0.2V
8
VDD
電源正端,接+5V
CX20106A該IC內(nèi)部主要包括前置放大器,限幅放大,帶通濾波,峰值檢波,積分濾波及波形整形電路等?;驹砣缦拢航邮論Q能器把超聲波回波轉(zhuǎn)換為相應(yīng)頻率的數(shù)字編碼脈沖調(diào)幅波,并由1腳進(jìn)入集成放大器的正相輸入端。2腳是放大器的反相輸入端,外接RC負(fù)反饋網(wǎng)絡(luò),可以決定和調(diào)節(jié)放大器的頻率特性和電壓增益,當(dāng)電阻值小或者電容值大時,電壓增益高,通頻帶窄;反之,電壓增益低,通頻帶寬。在放大器輸入端設(shè)置有ABLC電路(即自動偏壓電路或者自動電平控制電路,它可使放大及限幅電路輸出電平穩(wěn)定的編碼信號),可自動調(diào)整放大器的偏置電壓,使放大器的輸出電平穩(wěn)定。然后,信號進(jìn)入限幅放大器,可以濾除雜亂的寄生調(diào)幅和其他干擾,輸出包絡(luò)脈沖頂部平直的編碼脈沖調(diào)幅波。信號再進(jìn)入帶通濾波器,濾除頻率范圍30~50KHZ以外的干擾信號。5腳外接電阻。調(diào)節(jié)其阻值可調(diào)節(jié)帶通濾波器的中心頻率值。然后信號進(jìn)入峰值檢波器,對編碼脈沖的調(diào)幅波進(jìn)行振幅檢波,解調(diào)出數(shù)字編碼脈沖信號,3腳外接電容是峰值檢波器的濾波電容。檢波出的信號再送到整形電路中進(jìn)行波形轉(zhuǎn)換與整形,最后由7腳輸出數(shù)字編碼脈沖信號,送至CPU去識別,處理。6腳外接積分電容,可以濾除已調(diào)波的載波頻率分量。而由檢波器輸出的數(shù)據(jù)編碼信號,CPU不能識別,故在檢波器后設(shè)置由積分電路和磁滯回線型比較器組成的整形電路,整形電路是一種波形變換電路,它可將檢波器輸出的寬度編碼脈沖整形變換為CPU所能識別的數(shù)字信號。而實(shí)用的波形整形電路是積分電路和施密特比較器組成的電路。
根據(jù)以上原理,超聲波測距系統(tǒng)的接收電路如下圖3.10所示。超聲波接收換能器將接收到的回波信號轉(zhuǎn)換后經(jīng)過473電容初步濾波后,進(jìn)入CX20106A的1腳,經(jīng)過CX20106A的前置放大器,限幅放大,帶通濾波器(中心頻率為40KHz),檢波器及比較器,最后經(jīng)過內(nèi)部的整形電路,從7腳輸出至STC89C52單片機(jī)的外部中斷0(P3.2)口。當(dāng)芯片接收到40KHz的信號時,7腳的輸出由高電平轉(zhuǎn)為低電平,單片機(jī)外部中斷0口檢測到輸入信號的下降沿或者低電平時,立即產(chǎn)生中斷,同時停止定時/計(jì)數(shù)器T0。從而得到超聲波的回波時間t。
圖3.10 超聲波接收電路
3.4 顯示報警模塊的設(shè)計(jì)
液晶顯示器以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。隨著科技的發(fā)展,液晶顯示模塊的應(yīng)用前景將更加廣闊。本系統(tǒng)選用四位共陽數(shù)碼管做為顯示模塊。
參考四位共陽數(shù)碼管與單片機(jī)引腳功能畫出它們連接原理圖,如圖3.11所示。
圖3.11 共陽數(shù)碼管與單片機(jī)連接原理圖
3.4.1 MAX232
MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v單電源供電。
內(nèi)部結(jié)構(gòu)基本可分三個部分:
第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。
第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。
其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。
8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。
TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。
第三部分是供電。15腳GND、16腳VCC(+5v)。
電路為:
圖3.12 MAX232內(nèi)部電路圖
3.5 本章小結(jié)
本章著重介紹了單片機(jī)選擇,發(fā)射電路選擇,接收電路的選擇,顯示電路的布置,以及錄入芯片。確定了單片機(jī)的主要電路,以及布置。使設(shè)計(jì)的硬件平臺基本搭建完成。并且又介紹了錄入設(shè)備的組成,把MAX232芯片進(jìn)行了著重介紹,讓大家對硬件平臺的錄入設(shè)備有了更深的認(rèn)識。
第4章 系統(tǒng)軟件的設(shè)計(jì)
軟件設(shè)計(jì)的主要思路是將預(yù)置、發(fā)射、接收、顯示、聲音報警等功能編成獨(dú)立的模塊,在主程序中采用鍵控循環(huán)的方式,當(dāng)按下控制鍵后,在一定周期內(nèi),依次執(zhí)行各個模塊,調(diào)用預(yù)置子程序,發(fā)射子程序、查詢接收子程序、定時子程序,并把測量的結(jié)果進(jìn)行分析處理,根據(jù)處理結(jié)果決定顯示程序的內(nèi)容以及是否調(diào)用聲音,顯示報警程序。當(dāng)測得距離小于預(yù)置距離時,聲音,顯示報警程序被調(diào)用。
主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)置定時器T0工作模式為16位定時計(jì)數(shù)器模式。置位總中斷允許位EA并給顯示端口P0和P2清0。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時約0.1ms(這也就是超聲波測距儀會有一個最小可測距離的原因)后,才打開外中斷0接收返回的超聲波信號。超聲波汽車防撞電路的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。我們知道C語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,而超聲波測距儀的程序有較復(fù)雜的計(jì)算(計(jì)算距離時),所以控制程序可采用C語言。
?超聲波測距的原理為超聲波發(fā)生器T在某一時刻發(fā)出一個超聲波信號,當(dāng)這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計(jì)算公式為:?d=s/2=(c×t)/2 其中,d為被測物與測距儀的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時間。在啟動發(fā)射電路的同時啟動單片機(jī)內(nèi)部的定時器T0,利用定時器的計(jì)數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當(dāng)收到超聲波反射波時,接收電路輸出端產(chǎn)生一個負(fù)跳變,在INT0或INT1端產(chǎn)生一個中斷請求信號,單片機(jī)響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時間差,計(jì)算距離。其部分源程序如下:
void InitTimer(void)
{
TMOD=0x11;//定時器0方式1用于計(jì)時
TH1 = 0xFF;
TL1 = 0xFC;
TL0=0;
TH0=0;
IT0=0;//中斷0下降沿有效
EA = 1;
ET1 = 0; //關(guān)閉定時器1中斷
TR1 = 0;
}
void fashe(void)
{
EX0=0;
TR0=0;
ET0=0;
ET1 = 1;
EA=1;
TR1 = 1;
flag_send=0;
while(flag_send==0);
ET0=1;
delay100us();//延時100us左右后再開中斷,避免直接回來的回波
delay100us();
delay100us();
EX0=1;//打開外部中斷1
TR0=1;//開定時0
}
void main()
{
unsigned char i=0;
delay_nms(10);//等待單片機(jī)復(fù)位
Speaker =0;//蜂鳴器打開
delay_nms(200);
Speaker =1;//蜂鳴器關(guān)閉
InitTimer();
send=1;
while(1)
{
fashe();
while(flag==0);//等待接收
if(flag==1)
{
S1*=17.2;//計(jì)算距離,因?yàn)闀r間是來回的時間,
聲速為344M/S 除以2就為172
S1=S1/1000;
S=(int)(S1);
flag=0;
if(S>S2)//如果測試距離超過限制距離則報警
Speaker =1;
else Speaker =0;
for(i=0;i<50;i++)
LEDSHOW(S);//S=0;
}
else
{
LEDshibai();//超出距離顯示hello
for(i=0;i<10;i++)
LEDshibai();
flag=0;
}
}
}
4.1 主程序流程圖
軟件分為兩部分,主程序和中斷服務(wù)程序,如圖4.1、4.2 、 4.3所示。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。
定時中斷服務(wù)子程序完成三方向超聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。程序流程圖4.1所示。
圖4.1 軟件程序流程圖
圖4.2 定時器中斷服務(wù)子程流程序圖
圖4.3 中斷服務(wù)子程序流程圖
超聲波測距時工作過程如下:
第一、由單片機(jī)發(fā)出控制74ls04產(chǎn)生40KHZ脈沖信號。
第二、脈沖信號通過超聲波發(fā)射換能器發(fā)出超聲波。
第三、單片機(jī)在發(fā)送脈沖時刻開始計(jì)時。
第四、超聲波遇到障礙物后回波被超聲波換能器接收。
第五、讀取T0口計(jì)數(shù)值。
第六、數(shù)據(jù)計(jì)算。
第七、顯示報警。
主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)置定時器T0工作模式為16位定時計(jì)數(shù)器模式。置位總中斷允許位EA并給顯示端口P0和P1清0。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時約0.1 毫秒(這也就是超聲波測距儀會有一個最小可測距離的原因),才打開外中斷0接收返回的超聲波信號。由于采用的是12 MHz的晶 振,計(jì)數(shù)器每計(jì)一個數(shù)就是1μs,當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器T0中的數(shù)(即超聲波來回所用的時間)按式(2)計(jì)算,即可得被測物體與測距儀之間的距離,設(shè)計(jì)時取20℃時的聲速為344 m/s則有:d=(c×t)/2=172T0/10000cm 其中,T0為計(jì)數(shù)器T0的計(jì)算值。?
測出距離后結(jié)果將以十六進(jìn)制方式送往LED顯示約0.5s,然后再發(fā)超聲波脈沖重復(fù)測量過程。為了有利于程序結(jié)構(gòu)化和容易計(jì)算出距離,主程序采用C語言編寫。
?4.2 超聲波防撞報警系統(tǒng)程序編寫原理
超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送脈沖信號控制74ls04芯片超聲波的發(fā)射(頻率約40kHz的方波)占空比不一定為50%,脈沖寬度為12μs左右,同時把計(jì)數(shù)器T0打開進(jìn)行計(jì)時。
?使用外部中斷INT0來檢測回波,使其工作于下降沿觸發(fā)方式(IT0=1)。當(dāng)檢測到回波信號,觸發(fā)并進(jìn)入中斷,同時停止發(fā)射超聲波和停止計(jì)時器T0,在中斷服務(wù)程序中讀取T1的值,并計(jì)算測量結(jié)果。
使用T0作為計(jì)時器,工作方式為方式1。發(fā)射超聲波的同時開定時器T1。如果定時時間結(jié)束仍沒有接收到回波信號,則進(jìn)入T1溢出中斷服務(wù)程序,關(guān)閉外部中斷INT0和T1溢出中斷,重新開始新的一輪測試。
由于T0工作方式為方式1時,最大可定時65ms,即在理想情況下可測最大距離為0.065*324/2=10.5m。而考慮實(shí)際情況下并不需測這么遠(yuǎn)的距離或系統(tǒng)很難探測到這么遠(yuǎn)的距離,但為了方便計(jì)算,所以初值賦為0。
超聲波測距儀主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)時器T0停止計(jì)時,并將測距成功標(biāo)志字賦值1。
4.3 本章小結(jié)
本章主要介紹了程序流程圖,整個程序系統(tǒng)的設(shè)計(jì)。在編程方面,用程序?qū)崿F(xiàn)測距報警的功能,由單片機(jī)發(fā)出控制74ls04產(chǎn)生40KHZ脈沖信號。脈沖信號通過超聲波發(fā)射換能器發(fā)出超聲波。 單片機(jī)在發(fā)送脈沖時刻開始計(jì)時。超聲波遇到障礙物后