基于51單片機(jī)的倒車?yán)走_(dá)設(shè)計(jì)說明_第1頁
基于51單片機(jī)的倒車?yán)走_(dá)設(shè)計(jì)說明_第2頁
基于51單片機(jī)的倒車?yán)走_(dá)設(shè)計(jì)說明_第3頁
基于51單片機(jī)的倒車?yán)走_(dá)設(shè)計(jì)說明_第4頁
基于51單片機(jī)的倒車?yán)走_(dá)設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

課程設(shè)計(jì)報(bào)告(嵌入式系統(tǒng)設(shè)計(jì)實(shí)踐)學(xué)院:電氣工程與自動(dòng)化學(xué)院題目基于51單片機(jī)的車倒車?yán)走_(dá)設(shè)計(jì)專業(yè)班級(jí):學(xué)號(hào):學(xué)生:指導(dǎo)老師:時(shí)間:2015年12月1日摘要倒車?yán)走_(dá)又稱泊車輔助系統(tǒng),是汽車泊車安全輔助裝置,能以聲音或者更為直觀的顯示告知駕駛員周圍障礙物的情況,解除了駕駛員泊車和起動(dòng)車輛時(shí)前后左右探視所引起的困擾,并幫助駕駛員掃除了視野死角和視線模糊的缺陷,提高了安全性。本文介紹了以STC89C51RC單片機(jī)為核心的一種低成本、高精度、微型化,并有數(shù)字顯示和聲光報(bào)警功能的倒車?yán)走_(dá)系統(tǒng)。倒車?yán)走_(dá)一般由超聲波傳感器(俗稱探頭)、控制器和顯示器等部分組成,現(xiàn)在市場上的倒車?yán)走_(dá)大多采用超聲波測距原理,駕駛者在倒車時(shí),啟動(dòng)倒車?yán)走_(dá),在控制器的控制下,由裝置于車尾保險(xiǎn)杠上的探頭發(fā)送超聲波,遇到障礙物,產(chǎn)生回波信號(hào),傳感器接收到回波信號(hào)后經(jīng)控制器進(jìn)行數(shù)據(jù)處理,判斷出障礙物的位置,由顯示器顯示距離并發(fā)出警示信號(hào),得到及時(shí)警示,從而使駕駛者倒車時(shí)做到心中有數(shù),使倒車變得更輕松。倒車?yán)走_(dá)的提示方式可分為液晶、語言和聲音三種;接收方式有無線傳輸和有線傳輸?shù)?。本方案采用語音提示的方式,利用STC89C51RC單片機(jī)所具備的功能,外接超聲波測距模組,即超聲波發(fā)射模塊和超聲波接收模塊,加上顯示模塊和語音報(bào)警模塊,組成一個(gè)示例的倒車?yán)走_(dá)系統(tǒng),語音提示報(bào)警(0.27m~1.0m)圍的障礙物,并通過數(shù)碼管顯示與障礙物之間的距離。關(guān)鍵詞:倒車?yán)走_(dá);超聲波;單片機(jī)STC89C51RC目錄TOC\o"1-5"\h\z第一章概述1設(shè)計(jì)目的1設(shè)計(jì)要求1本設(shè)計(jì)主要容1第二章倒車?yán)走_(dá)的基本工作原理2單片機(jī)的發(fā)展及其應(yīng)用2超聲波測距原理2超聲波測距的基本原理2超聲波測距的設(shè)計(jì)實(shí)現(xiàn)5超聲波倒車?yán)走_(dá)系統(tǒng)工作原理5超聲波倒車?yán)走_(dá)的工作原理5系統(tǒng)原理框圖6本章小結(jié)6第三章系統(tǒng)硬件設(shè)計(jì)7單片機(jī)系統(tǒng)及顯示電路7單片機(jī)控制芯片選擇7單片機(jī)系統(tǒng)及其外圍電路9顯示電路103.2超聲波發(fā)射電路11超聲波接收電路12語音部分原理圖14電源電路的設(shè)計(jì)15本章小結(jié)15第四章系統(tǒng)軟件設(shè)計(jì)16超聲波測距儀的算法設(shè)計(jì)17主程序設(shè)計(jì)18超聲波發(fā)生與接收程序設(shè)計(jì)20超聲波發(fā)生子程序設(shè)計(jì)20外部中斷子程序設(shè)計(jì)21倒車距離顯示及語音報(bào)警程序設(shè)計(jì)22顯示報(bào)警子程序設(shè)計(jì)22442LED顯示子程序設(shè)計(jì)24本章小結(jié)24第五章分析調(diào)試及結(jié)論25硬件組裝25軟件實(shí)現(xiàn)25整機(jī)調(diào)試26結(jié)論分析26本章小結(jié)26致27參考文獻(xiàn)28附錄I29附錄II30第一章概述1.1設(shè)計(jì)目的伴隨著我國汽車行業(yè)的高速發(fā)展,特別是近幾年來,開始進(jìn)入私家車時(shí)代,汽車的數(shù)量正在逐步增加,造成交通越來越擁擠。駕駛員開始越來越擔(dān)心行車安全,其中倒車最為典型。同時(shí)汽車駕駛員中非職業(yè)汽車駕駛員的比例也在逐年增加。在公路、街道、停車場、車庫等擁擠狹窄的地方倒車時(shí),駕駛員既要前瞻,又要后顧,稍微不小心就會(huì)發(fā)生追尾事件。本系統(tǒng)是將微計(jì)算機(jī)技術(shù)與超聲波的測距技術(shù)、傳感器技術(shù)、單片機(jī)技術(shù)等相結(jié)合,可以檢測到汽車倒車時(shí)障礙物與車尾的距離,通過液晶顯示屏顯示距離,并根據(jù)實(shí)際距離發(fā)出報(bào)警等級(jí)。駕駛員只要在駕駛室里就能做到心中有數(shù),極大的提高了停車和倒車時(shí)的安全和效率。1.2設(shè)計(jì)要求本系統(tǒng)主要由超聲波發(fā)射、接收電路、單片機(jī)處理模塊、LED數(shù)碼顯示以及聲光報(bào)警等部分組成。設(shè)計(jì)要求:1、設(shè)計(jì)硬件系統(tǒng);2、設(shè)計(jì)軟件系統(tǒng);3、繪制硬件電路圖;4、進(jìn)行圖像顯示提示及聲音提示,當(dāng)距離小于5CM(2.5M)的時(shí)候聲音提示,小于0.5CM(0.5M)時(shí),急促聲音提示。1.3本設(shè)計(jì)主要容本設(shè)計(jì)是以STC89C51RC單片機(jī)為核心,一種低成本、高精度、微型化,并有數(shù)字顯示和聲光報(bào)警功能的倒車?yán)走_(dá)系統(tǒng)。利用STC89C51RC單片機(jī)所具備的功能,外接超聲波測距模組,即超聲波發(fā)射模塊和超聲波接收模塊,加上顯示模塊和語音報(bào)警模塊,組成一個(gè)示例的倒車?yán)走_(dá)系統(tǒng),語音提示報(bào)警(0.27m~1.5m)圍的障礙物,并通過數(shù)碼管顯示與障礙物之間的距離。設(shè)計(jì)共分六章,主要容包括:緒論,倒車?yán)走_(dá)的基本工作原理,系統(tǒng)硬件設(shè)計(jì),系統(tǒng)軟件設(shè)計(jì),安裝調(diào)試及分析,以及對測距儀改進(jìn)的一些設(shè)想。第二章倒車?yán)走_(dá)的基本工作原理單片機(jī)的發(fā)展及其應(yīng)用單片機(jī)又稱微控制器,是在一塊硅片上集成了各種部件化微型計(jì)算機(jī),這些部件包括中央處理器CPU、數(shù)據(jù)存貯器RAM、程序存貯器ROM、定時(shí)器/計(jì)數(shù)器和多種I/O接口電路。單片機(jī)體積小、重量輕、具有很強(qiáng)的靈活性而且價(jià)格不高,越來越得到廣泛的應(yīng)用。8051在小中型應(yīng)用場合很常見,已成為單片機(jī)領(lǐng)域的實(shí)際標(biāo)準(zhǔn)。80年代中期,Intel公司將8051核使用權(quán)以專利互換或出售形式轉(zhuǎn)給世界許多著名IC制造廠商,如PHILIPS、西門子、AMD、OKI、NEC、Atmel等,這樣8051就變成有眾多制造廠商支持的、發(fā)展出上百個(gè)品種的大家族。90年代,PHILIPS推出支持16位計(jì)算的X4系列。XA系列是16位單片機(jī),又可完全兼容8051的指令系統(tǒng)。Intel推出的80C51也是與8051在機(jī)器代碼級(jí)兼容,這樣保證了8051用戶到21世紀(jì)技術(shù)的領(lǐng)先性。隨著硬件的發(fā)展,8051軟件工具已有C級(jí)編譯器及實(shí)時(shí)多任務(wù)操作系統(tǒng)(RIOS),單片機(jī)的程序設(shè)計(jì)更簡單、更可靠、實(shí)時(shí)性更強(qiáng)。因而8051系列是單片機(jī)教學(xué)的首選機(jī)型。而有部可擦寫RAM的89C51/52是目前我們常用的芯片。2.2超聲波測距原理2.2.2超聲波測距的基本原理(1)認(rèn)識(shí)超聲波超聲波是指振動(dòng)頻率大于20KHz以上的,其每秒的振動(dòng)次數(shù)(頻率)甚高,超出了人耳聽覺的上限(20000Hz),人們將這種聽不見的聲波叫做超聲波。超聲和可聞聲本質(zhì)上是一致的,它們的共同點(diǎn)都是一種機(jī)械振動(dòng),通常以縱波的方式在彈性介質(zhì)會(huì)傳播,是一種能量的傳播形式,其不同點(diǎn)是超聲頻率高,波長短,在一定距離沿直線傳播具有良好的束射性和方向性。超聲波由于其指向性強(qiáng)、能量消耗緩慢、傳播距離較遠(yuǎn)等優(yōu)點(diǎn),而經(jīng)常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實(shí)現(xiàn)。超聲波測距主要應(yīng)用于倒車?yán)走_(dá)、建筑施工工地以及一些工業(yè)現(xiàn)場,例如液位、井深、管道長度等場合。利用超聲波檢測往往比較迅速、方便、計(jì)算簡單、易于做到實(shí)時(shí)控制,并且在測量精度方面能達(dá)到工業(yè)實(shí)用的要求,因此在測控系統(tǒng)的研制上得到了廣泛應(yīng)用。(2)超聲波發(fā)生器為了研究和利用超聲波,人們已經(jīng)設(shè)計(jì)和制成了許多超聲波發(fā)生器。總體上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動(dòng)型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。

(3)超聲波傳感器的特性超聲波傳感器的基本特性有頻率特性和指向特性,這里以課題中選用的傳感器T/R40發(fā)射型超聲波傳感器的特性為例加以說明。①頻率特性8P曲澤出也8P曲澤出也圖2-1超聲波傳感器的升壓能級(jí)和靈敏度圖2-1是超聲波發(fā)射傳感器的升壓能級(jí)和靈敏度。其中,40KHz處為超聲波發(fā)射傳感器的中心頻率,在40KHz處,超聲發(fā)射傳感器所產(chǎn)生的超聲機(jī)械波最強(qiáng),也就是說在40KHz處所產(chǎn)生的超聲聲壓能級(jí)最高。而在40KHz兩側(cè),聲壓能級(jí)迅速衰減。其頻率特性如圖2-2所示。因此,超聲波發(fā)射傳感器一定要使用非常接近中心頻率40KHz的交流電壓來激勵(lì)。發(fā)射靈敏度(發(fā)射靈敏度(dB)圖2-2超聲發(fā)射傳感器頻率特性另外,超聲波接收傳感器的頻率特性與發(fā)射傳感器的頻率特性類似。超聲發(fā)射傳感器頻率特性如圖2-2所示,曲線在40KHz處曲線最尖銳,輸出電信號(hào)的振幅最大,即在40KHz處接收靈敏度最高。因此,超聲波接收傳感器具有很好的頻率選擇特性。超聲接收傳感器的頻率特性曲線和輸出端外接電阻R也有很大關(guān)系,如果R很大,頻率特性是尖銳共振的,并且在這個(gè)共振頻率上靈敏度很高。如果R較小,頻率特性變得光滑而且有較寬的帶寬,同時(shí)靈敏度以隨之降低。并且最大靈敏的向稍低的頻率移動(dòng)。因此,超聲接收傳感器應(yīng)與輸入阻抗的前置放大器配合使用,才能有較高的接收靈敏度??紤]到實(shí)際工程測量的要求,可以選用超聲波頻率f=40KHz,波長入=0.85cm。②指向特性實(shí)際的超聲波傳感器中的壓電晶片是一個(gè)小圓片,可以把表面上每個(gè)點(diǎn)看成一個(gè)振蕩器,輻射出一個(gè)半球波(子波),這些子波沒有指向性。但離開超聲傳感器的空間某一點(diǎn)的聲壓是這些子波迭加的結(jié)果(衍射),卻有指向性。超聲傳感器的指向圖由一個(gè)主瓣和幾個(gè)副瓣構(gòu)成,其物理意義是0度時(shí)電壓最大,角度逐漸增大時(shí),聲壓減小。超聲傳感器的指向角一般為40度到80度,本設(shè)計(jì)要求傳感器的指向角為75度。圖2-3是電路中選用的發(fā)射傳感器的指向特性及結(jié)構(gòu)。圖2-3超聲波傳感器指向特性及結(jié)構(gòu)(4)超聲波傳感器的應(yīng)用超聲波傳感技術(shù)應(yīng)用在生產(chǎn)實(shí)踐的不同方面,而醫(yī)學(xué)應(yīng)用是其最主要的應(yīng)用之一,以醫(yī)學(xué)為例子說明超聲波傳感技術(shù)的應(yīng)用。超聲波在醫(yī)學(xué)上的應(yīng)用主要是診斷疾病,它已經(jīng)成為了臨床醫(yī)學(xué)中不可缺少的診斷方法。超聲波診斷的優(yōu)點(diǎn)是:對受檢者無痛苦、無損害、方法簡便、顯像清晰、診斷的準(zhǔn)確率高等。因而推廣容易,受到醫(yī)務(wù)工作者和患者的歡迎。超聲波診斷可以基于不同的醫(yī)學(xué)原理,其中有代表性的一種所謂的A型方法。這個(gè)方法是利用超聲波的反射。當(dāng)超聲波在人體組織中傳播遇到兩層聲阻抗不同的介質(zhì)界面是,在該界面就產(chǎn)生反射回聲。每遇到一個(gè)反射面時(shí),回聲在示波器的屏幕上顯示出來,而兩個(gè)界面的阻抗差值也決定了回聲的振幅的高低。在工業(yè)方面,超聲波的典型應(yīng)用是對金屬的無損探傷和超聲波測厚兩種。過去,許多技術(shù)因?yàn)闊o法探測到物體組織部而受到阻礙,超聲波傳感技術(shù)的出現(xiàn)改變了這種狀況。當(dāng)然更多的超聲波傳感器是固定地安裝在不同的裝置上,“悄無聲息”地探測人們所需要的信號(hào)。在未來的應(yīng)用中,超聲波將與信息技術(shù)、新材料技術(shù)結(jié)合起來,將出現(xiàn)更多的智能化、高靈敏度的超聲波傳感器。(5)超聲波測距原理超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計(jì)時(shí)。假設(shè)某環(huán)境下超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離(s),即:s=3401/2。超聲波測距的設(shè)計(jì)實(shí)現(xiàn)超聲波測距是單片機(jī)控制超聲波傳感器發(fā)射出超聲波束,遇到障礙后返回,然后接收它的回波,利用發(fā)、收過程中產(chǎn)生的時(shí)間差,就可以計(jì)算出前方物體離超聲波傳感器的實(shí)際距離。經(jīng)分析可知:頻率為40KHZ左右的超聲波在空氣中傳播的效率最佳,因此,為了方便處理,發(fā)射的超聲波被調(diào)制成40KHZ左右、具有一定間隔的調(diào)制脈沖波信號(hào),如圖2-4所示。10us的TT觸發(fā)信號(hào)L循環(huán)模塊內(nèi)部發(fā)出2個(gè)4OKHZ脈沖發(fā)出信號(hào)輸出回響回響電平輸出與信號(hào)檢測距離成正比圖2-4超聲波通道工作時(shí)序圖以上時(shí)序圖表明你只需要提供一個(gè)10uS以上脈沖觸發(fā)信號(hào),該模塊部將發(fā)出2個(gè)40kHz周期電平并檢測回波。一旦檢測到有回波信號(hào)則輸出回響信號(hào),回響信號(hào)的脈沖寬度與所測的距離成正比。由此通過發(fā)射信號(hào)到收到的回響信號(hào)時(shí)間間隔可以計(jì)算得到距離。超聲波倒車?yán)走_(dá)系統(tǒng)工作原理倒車?yán)走_(dá)只需要在汽車倒車時(shí)工作,為駕駛員提供汽車后方的信息。由于倒車時(shí)汽車的行駛速度較慢,和聲速相比可以認(rèn)為汽車是靜止的,因此在系統(tǒng)中可以忽略多普勒效應(yīng)的影響。在許多測距方法中,脈沖測距法只需要測量超聲波在測量點(diǎn)與目標(biāo)間的往返時(shí)間,實(shí)現(xiàn)簡單,因此本系統(tǒng)采用了這種方法。該設(shè)計(jì)的應(yīng)用背景是基于STC89C51RC的超聲信號(hào)檢測的。因此初步計(jì)劃實(shí)在室小圍的測試,限定在1.5米左右。單片機(jī)(STC89C51RC)發(fā)出短暫的40KHz信號(hào),反射后的超聲波經(jīng)超聲波接收器作為系統(tǒng)的輸入,鎖相環(huán)對此型號(hào)進(jìn)行技術(shù)判斷后,把相應(yīng)的計(jì)算結(jié)果送到LED顯示電路顯示,并進(jìn)行聲光報(bào)警。超聲波倒車?yán)走_(dá)的工作原理聲波在其傳播介質(zhì)中被定義為縱波。當(dāng)聲波受到尺寸大于其波長的目標(biāo)物體阻擋時(shí)就會(huì)發(fā)生反射;反射波稱為回聲。假如聲波在介質(zhì)中傳播的速度是已知的,而且聲波從聲源到達(dá)目標(biāo)然后返回聲源的時(shí)間可以測量得到,從聲波到目標(biāo)的距離就可以精確地計(jì)算出來。這就是本系統(tǒng)的測量原理。超聲波測距是通過不斷檢測超聲波發(fā)射后遇到障礙物所反射的回波,從而測出發(fā)射和接收回波的時(shí)間差T,然后求出距離S=VT/2,式中的V為超聲波波速。由于超聲波也是一種聲波,其聲速C與溫度有關(guān),在使用時(shí),如果溫度變化不大,則可認(rèn)為聲速是基本不

變的。如果測距精度要求很高,則應(yīng)通過溫度補(bǔ)償?shù)姆椒右孕U?。聲速確定后,只要測得超聲波往返的時(shí)間,即可求得距離。這就是超聲波測距儀的機(jī)理。圖2-5即為超聲波測距的具體流程圖。倒車?yán)走_(dá)只需要在汽車倒車時(shí)工作,為駕駛員提供汽車后方的信息。由于倒車時(shí)汽車的行駛速度較慢,和聲速相比可以認(rèn)為汽車是靜止的,因此在系統(tǒng)中可以忽略多普勒效應(yīng)的影響。在許多測距方法中,脈沖測距法只需要測量超聲波在測量點(diǎn)與目標(biāo)間的往返時(shí)間,實(shí)現(xiàn)簡單,因此本系統(tǒng)采用了這種方法。系統(tǒng)原理框圖如圖2-6所示,駕駛員將手柄轉(zhuǎn)到倒車檔后,系統(tǒng)自動(dòng)啟動(dòng),超聲波發(fā)送模塊向后發(fā)射40kHz的超聲波信號(hào),經(jīng)障礙物反射,由超聲波接收模塊收集,進(jìn)行放大和比較,單片機(jī)STC89C51RC將此信號(hào)送入顯示模塊,同時(shí)觸發(fā)語音電路,發(fā)出同步語音提示,當(dāng)與障礙物距離小于lm、大于0.27m時(shí),發(fā)出不同的報(bào)警聲,提醒駕駛員停車。系統(tǒng)的工作原理框圖如圖2-6所示:圖2-6圖2-6系統(tǒng)工作原理框圖本章小結(jié)本章主要學(xué)習(xí)了單片機(jī)的發(fā)展及其應(yīng)用,超聲波研究發(fā)展及其測距工作原理,超聲波倒車?yán)走_(dá)系統(tǒng)工作原理,包括國外超聲波研究歷史及發(fā)展現(xiàn)狀,超聲波測距的基本原理,利用超聲波測距的實(shí)現(xiàn),超聲波倒車?yán)走_(dá)的工作原理,并完成了系統(tǒng)工作原理基本框圖?;臼煜ち顺暡ǖ管?yán)走_(dá)所涉及的理論知識(shí),為后面的設(shè)計(jì)打下了一定基礎(chǔ)。第三章系統(tǒng)硬件設(shè)計(jì)3.1單片機(jī)系統(tǒng)及顯示電路3.1.1單片機(jī)控制芯片選擇在系統(tǒng)的設(shè)計(jì)中,選擇合適的系統(tǒng)核心器件就成為能否成功完成設(shè)計(jì)任務(wù)的關(guān)鍵,而作為控制系統(tǒng)核心的單片機(jī)的選擇更是重中之重。目前各半導(dǎo)體公司、電氣商都向市場上推出了形形色色的單片機(jī),并提供了良好的開發(fā)環(huán)境。一般來說,選擇單片機(jī)需要考慮以下幾個(gè)方面:單片機(jī)的基本性能參數(shù)。例如指令執(zhí)行速度、程序存儲(chǔ)器容量、1/0引腳數(shù)量等。單片機(jī)的存儲(chǔ)介質(zhì)。對于程序存儲(chǔ)器來說,F(xiàn)lash存儲(chǔ)器和OTP(—次性可編程)存儲(chǔ)器相比較,最好是Flash存儲(chǔ)器。芯片的封裝形式。如DIP(雙列直插)封裝,PLCC(PLCC有對應(yīng)插座)封裝及表面貼附等。芯片的功耗。比如設(shè)計(jì)并口加密狗時(shí),信號(hào)線取電只能提供幾毫安的電流,選用STC單片機(jī)就是因?yàn)樗軡M足低功耗的要求。供貨渠道是否暢通、價(jià)格是否低廉。芯片性能好、單片機(jī)的抗干擾性能好。綜合考慮以上因素,選擇STC89C55作為本系統(tǒng)的控制部件。STC89C51RC是采用8051核的ISP(InSystemProgramming)的系統(tǒng)可編程芯片,最高工作時(shí)鐘頻率為80MHz,片含8KBytes的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,具有在系統(tǒng)可編程(ISP)特性,配合PC端的控制程序即可將用戶的程序代碼下載進(jìn)單片機(jī)部,省去了購買通用編程器,而且速度更快。STC89C51RC系列單片機(jī)是單時(shí)鐘/機(jī)器周期(1T)的兼容8051核單片機(jī),是高速/低功耗的新一代8051單片機(jī),全新的流水線/精簡指令集結(jié)構(gòu),部集成MAX810專用復(fù)位電路。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。單片機(jī)STC89C51RC的特點(diǎn):增強(qiáng)型1T流水線/精簡指令集結(jié)構(gòu)8051CPU。工作電壓:3.4V-5.5V(5V單片機(jī))/2.0V-3.8V(3V單片機(jī))。工作頻率圍:0-35MHz,相當(dāng)于普通8051的0?420MHz.實(shí)際工作頻率可達(dá)48MHz。用戶應(yīng)用程序空間12K/10K/8K/6K/4K/2K字節(jié)。片上集成512字節(jié)RAM。通用I/O口(27/23個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口),可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,推挽/強(qiáng)上拉,僅為輸入/高阻,每個(gè)I/O口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不得超過55mA。66ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器??赏ㄟ^串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成。EEPR0M功能??撮T狗。部集成MAX810專用復(fù)位電路(外部晶體20M以下時(shí),可省外部復(fù)位電路)。時(shí)鐘源:外部高精度晶體/時(shí)鐘,部R/C振蕩器。用戶在下載用戶程序時(shí),可選擇是使用部R/C振蕩器還是外部晶體/時(shí)鐘。常溫下部R/C振蕩器頻率為:5.2MHz?6.8MHz。精度要求不高時(shí),可選擇使用部時(shí)鐘,因?yàn)橛袦仄?,請選4MHz?8MHz。有2個(gè)16位定時(shí)器/計(jì)數(shù)器。外部中斷2路,下降沿中斷或低電平觸發(fā)中斷,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒。PWM(4路)/PCA(可編程計(jì)數(shù)器陣列),也可用來再實(shí)現(xiàn)4個(gè)定時(shí)器或4個(gè)外部中斷(上升沿中斷/下降沿中斷均可支持)。STC89Cc516AD具有ADC功能。10位精度ADC,共8路。通用異步串行口(UART)。SPI同步通信口,主模式/從模式。6工作溫度圍:0-75°C/-40-+85°C。封裝:PDIP-28,SOP-28,PDIP-20,SOP-20,PLCC-32,TSSOP-20(超小封裝)。它的超低功耗性能表現(xiàn)在:掉電模式:典型功耗<0.1uA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序。空閑模式:典型功耗2mA。正常工作模式:典型功耗4mA—7mA。掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設(shè)備。單片機(jī)STC89C51RC的管腳圖如圖3-1所示:12345U^-P10P11P12P13P14P15P1612345U^-P10P11P12P13P14P15P16P17INT1/P33INTO/P32VCCPOOP01P02P03P04P05P06P071^.143-11820T1/P35TO/P34EA/VPX1X2RESETRD—WR/P3GNDP27P26P25P24P23P22P21P20RXDTXDALE/PPSEN4039383736353433X282726252423222X10113029STC89C51RC圖3-1單片機(jī)STC89C51RC管腳圖3.1.2單片機(jī)系統(tǒng)及其外圍電路復(fù)位是單片機(jī)的初始化操作,只要給RESET引腳加上2個(gè)機(jī)器周期以上的高電平信號(hào),即可使單片機(jī)復(fù)位。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)程序運(yùn)行出錯(cuò)或是操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為了擺脫死鎖狀態(tài),也需要按復(fù)位鍵重新復(fù)位。在系統(tǒng)中,為了實(shí)現(xiàn)上述的兩項(xiàng)功能,采用常用的按鍵電平復(fù)位電路,本設(shè)計(jì)復(fù)位電路由一個(gè)按鍵、一個(gè)10uF電容、一個(gè)10k電阻組成,接到單片機(jī)的RESET管腳,如圖3-2所示。時(shí)鐘電路是用于產(chǎn)生單片機(jī)工作時(shí)所必需的時(shí)鐘信號(hào)。時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn)的,有條不紊地一拍一拍地工作。時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。單片機(jī)采用STC89C51RC系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定的時(shí)鐘頻率,減小測量誤差。本設(shè)計(jì)振蕩電路由兩個(gè)30pF電容和一個(gè)12MHZ的晶振組成時(shí)鐘電路,接到單片機(jī)的XTAL1和XTAL2管腳。單片機(jī)用P1.0端口輸出超聲波轉(zhuǎn)化器所需的40KHz方波信號(hào),利用外中斷0口檢測超聲波接受電路輸出的返回信號(hào)。利用P0口輸出控制四位共陽極數(shù)碼管的段選,用P2.0到P2.3的輸出控制四位數(shù)碼管的位選。通過P1.1端口輸出控制蜂鳴器報(bào)警。單片機(jī)系統(tǒng)及其外圍電路如圖3-2所示:S5U2VCCC710ufRSTC3C4復(fù)位電路1Y1R1310k30P30PFP112一34567813P32121514「廠廠1_31S5U2VCCC710ufRSTC3C4復(fù)位電路1Y1R1310k30P30PFP112一34567813P32121514「廠廠1_3118RST_9_1716P101RESET20INT1/P33INT0/P32T1/P35T0/P34P10P11P12P13P14P15P16P17EA/VPX1X2RDWR/P36gndALE/PPSEN39—3837363534333228272625242322211011302940VCCP00P01P02P03P04P05P06P07P27P26P25P24P23P22P21P20RXDTXD振蕩電路STC89C主電路圖3-2單片機(jī)系統(tǒng)及其外圍電路6644563.1.3顯示電路超聲波測距儀顯示模塊電路如圖3-3所示。通過單片機(jī)的21、22、23、24四個(gè)管腳的信號(hào)控制四個(gè)三極管的B極,利用三極管的開關(guān)特性,實(shí)現(xiàn)數(shù)碼管的點(diǎn)亮,從而實(shí)現(xiàn)動(dòng)態(tài)顯示。采用LED動(dòng)態(tài)顯示,數(shù)據(jù)經(jīng)過芯片的計(jì)算后傳到LED上,顯示精度是厘米。單片機(jī)STC89C51RC采用12MHz高精度的晶振,以獲得較穩(wěn)定的時(shí)鐘頻率,減少測量誤差。單片機(jī)用P1.0端口輸出超聲波換能器所需的40KHz方波信號(hào),利用外中斷0口檢測超聲波接收電路輸出的返回信號(hào)。顯示電路采用簡單實(shí)用的4位共陽LED數(shù)碼管,用于顯示車尾障礙物的距離,由單片機(jī)P0.0—P0.6接LED的a~g七個(gè)筆段,單片機(jī)的P0.7口接LED的dp段,P2.0~P2.3接四個(gè)8550三極管的公共端,通過軟件以動(dòng)態(tài)掃描方式顯示。段碼用74LS04驅(qū)動(dòng),位碼用PNP三極管8550驅(qū)動(dòng)。顯示部分電路如圖3-3所示:R4R5R623456781312151431191891716-20—U2P10VCCP11P00P12P01R4R5R623456781312151431191891716-20—U2P10VCCP11P00P12P01P13P02P14P03P15P04P16P05P17P06P07INT1/P33INT0/P32P27P26T1/P35P25T0/P34P24EA/VPP23P22X1P21X2P20RESETRXDTXDRD-WR/P36ALE/PGNDPSENSTC89C主電路■21If■30-2940VCC39P00\38P0^37P02y36P03\35P04\34P05>■33P063^P07■28-■272624P2#23P22J22P2乙J1*VCC1*P002345^04678^P0794TJ0r0)pl12380R8R9R10R7R1cdLfp匸mc~c~629DS1SMG_4R143kR157R173^1顯示部分vcc圖3-3顯示電路3.2超聲波發(fā)射電路發(fā)射電路通常分為調(diào)諧式和非調(diào)諧式。在調(diào)諧式電路中有調(diào)諧線圈(有時(shí)裝在探頭),諧振頻率由調(diào)諧電路的電感、電容決定,發(fā)射的超聲脈沖頻帶較窄。在非調(diào)諧式電路中沒有調(diào)諧元件,發(fā)射出的超聲頻率主要由壓電晶片的固定參數(shù)決定,頻帶較寬。將一定頻率、隔度的交流電壓加到發(fā)射傳感器的固有頻率40KHz,使其工作在諧振頻率,達(dá)到最優(yōu)的特性。發(fā)射電壓從理論上說是越高越好,因?yàn)閷ν恢Оl(fā)射傳感器而言,電壓越高,發(fā)射的超聲功率就越大,這樣能夠在接受傳感器上接受的回波功率就比較大,對于接受電路的設(shè)計(jì)就相對簡單一些。但是每一支實(shí)際的發(fā)生傳感器有其工作電壓的極限值同時(shí)發(fā)射電路中的阻尼電阻決定了電路的阻尼情況。通常采用改變阻尼電阻的方法來改變發(fā)射強(qiáng)度。發(fā)射部件的點(diǎn)脈沖電壓很高,但是由于障礙物回波引起的壓電晶片產(chǎn)生的射頻電壓不過幾十毫伏,要對這樣小的信號(hào)進(jìn)行處理就必須放大到一定的幅度。接收部分就是由兩級(jí)放大電路,檢波電路及鎖相環(huán)構(gòu)成,其中包括雜波抑制電路。最終達(dá)到對回波進(jìn)行放大檢測,產(chǎn)生一個(gè)單片機(jī)(STC89C51RC)能夠識(shí)別的中斷信號(hào)作為回波到達(dá)的標(biāo)志。超聲波發(fā)射電路原理圖如下圖所示。圖3-4超聲波發(fā)射電路原理圖發(fā)射電路主要由反向器74LS04和超聲波發(fā)射換能器T構(gòu)成,單片機(jī)P1.0端口輸出的40kHz方渡信號(hào)一路經(jīng)一級(jí)反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級(jí)反向器后進(jìn)到超聲波換能器的另一個(gè)電極。用這種推挽形式將方波信號(hào)加到超聲波換能器兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采用兩個(gè)反向器并聯(lián),用以提高驅(qū)動(dòng)能力。上拉電阻R10、R11,一方面可以提高反向器74LS04輸出高電平的驅(qū)動(dòng)能力,另一方面可以增加超聲換能器的阻尼效果,縮短其自由振蕩的時(shí)間。超聲傳感器是一種將其他形式的能轉(zhuǎn)變?yōu)樗桀l率的超聲能或是把超聲能轉(zhuǎn)變?yōu)橥l率的其他形式的能的器件。目前常用的超聲傳感器有兩大類,即電聲型與流體動(dòng)力型。電聲型主要有:壓電傳感器、磁致伸縮傳感器、靜電傳感器。流體動(dòng)力性中包括有氣體與液體兩種類型的哨笛。由于工作頻率與應(yīng)用目的不同,超聲傳感器的結(jié)構(gòu)形式是多種多樣的,并且名稱也有不同,例如在超聲檢測和診斷中習(xí)慣上都把超聲傳感器稱作探頭,而工業(yè)中采用的流體動(dòng)力型傳感器稱為“哨”或“笛”。壓電超聲波轉(zhuǎn)換器的功能:利用壓電晶體諧振工作。它有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng)產(chǎn)生超聲波,這時(shí)它就是一超聲波發(fā)生器;如沒加電壓,當(dāng)共振板接受到超聲波時(shí),將壓迫壓電振蕩器作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接受轉(zhuǎn)換器。超聲波發(fā)射轉(zhuǎn)換器與接受轉(zhuǎn)換器其結(jié)構(gòu)稍有不同。發(fā)射部分電路硬件接線圖如圖3-5所示:T_40KHZT_40KHZ3.3超聲波接收電路電路采用集成電路CX20106A。這是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器。考慮到紅外遙控常用的載波頻率38kHz與測距超聲波頻率40kHz較為接近,可以利用它作為超聲波檢測電路。實(shí)驗(yàn)證明,其具有很高的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)改變C1的大小,可改變接收電路的靈敏度和抗干擾能力。R1和C5控制CX20106A部的放大增益,R2控制帶通濾波器的中心頻率。一般取Rl=4.7Q,C5=3.3口F。其余元件按圖3-5取值。超聲波接收頭,當(dāng)收到超聲波時(shí)產(chǎn)生一個(gè)下降沿,接到單片機(jī)的外部中斷INTO上。當(dāng)超聲波接收頭接收到40kHz方波信號(hào)時(shí),將會(huì)將此信號(hào)通過CX20106A驅(qū)動(dòng)放大送入單片機(jī)的外部中斷0口。單片機(jī)在得到外部中斷0的中斷請求后,會(huì)轉(zhuǎn)入外部中斷0的中斷服務(wù)程序進(jìn)行處理,在移動(dòng)機(jī)器人的避障工作中,可以在中斷服務(wù)程序設(shè)定需要單片機(jī)處理的最短距離,比如1.0m。對于距離大于1.0m的障礙物,可以不做處理直接跳出中斷服務(wù)程序;對于距離小于或等于1.0m?又做另外一種處理等。使用CX20106A作為超聲波接收處理的典型電路。當(dāng)CX20106A接收到40KHz的信號(hào)時(shí),會(huì)在第7腳產(chǎn)生一個(gè)低電平下降脈沖,這個(gè)信號(hào)可以接到單片機(jī)的外部中斷引腳作為中斷信號(hào)輸入。

使用CX20106A集成電路對接收探頭受到的信號(hào)進(jìn)行放大、濾波。其總放大增益80db。以下是CX20106A的引腳注釋:1腳:超聲信號(hào)輸入端,該腳的輸入阻抗約為40kQ。2腳:該腳與地之間連接RC串聯(lián)網(wǎng)絡(luò),它們是負(fù)反饋串聯(lián)網(wǎng)絡(luò)的一個(gè)組成部分,改變它們的數(shù)值能改變前置放大器的增益和頻率特性。增大電阻R1或減小C1,將使負(fù)反饋量增大,放大倍數(shù)下降,反之則放大倍數(shù)增大。但C1的改變會(huì)影響到頻率特性,一般在實(shí)際使用中不必改動(dòng),推薦選用參數(shù)為R1=4.7Q,C1=3.3口F。3腳:該腳與地之間連接檢波電容,電容量大為平均值檢波,瞬間相應(yīng)靈敏度低若容量小,則為峰值檢波,瞬間相應(yīng)靈敏度高,但檢波輸出的脈沖寬度變動(dòng)大,易造成誤動(dòng)作,推薦參數(shù)為3.3口f。4腳:接地端。5腳:該腳與電源間接入一個(gè)電阻,用以設(shè)置帶通濾波器的中心頻率f,阻值越大,中心頻率越低。例如,取R=200kQ時(shí),f~42kHz,若取R=220kQ,則中心頻率f~0038kHz。6腳:該腳與地之間接一個(gè)積分電容,標(biāo)準(zhǔn)值為330pF,如果該電容取得太大,會(huì)使探測距離變短。7腳:遙控命令輸出端,它是集電極開路輸出方式,因此該引腳必須接上一個(gè)上拉電阻到電源端,推薦阻值為1OkQ,沒有接受信號(hào)是該端輸出為高電平,有信號(hào)時(shí)則產(chǎn)生下降。8腳:電源正極,4.5?5V。接收部分電路如圖3-6所示:U1CX20106AZHKO4RR401674VCCR2R3C1104330PFff309ZHKO4RR401674VCCR2R3C1104330PFff309C5?C6,圖3-6超聲波接收部分電路圖443.4語音部分原理圖蜂鳴器與家用電器上的喇叭在用法上也有相似的地方,通常工作電流比較大,工作時(shí)電路上通過的電流基本上驅(qū)動(dòng)不了蜂鳴器,需要增加一個(gè)電流放大的電路才可以,即由于一個(gè)管腳很難驅(qū)動(dòng)蜂鳴器發(fā)出聲音,所以增加了一個(gè)三極管來增加通過蜂鳴器的電流。通過將蜂鳴器連接到三極管的集電極,一旦有被檢測物體進(jìn)入,單片機(jī)P1.1口為0,三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。實(shí)現(xiàn)報(bào)警。當(dāng)P1.1管腳為高時(shí),三極管截至,蜂鳴器不發(fā)出聲音。報(bào)警電路如下如圖3-7所示:圖3-7蜂鳴器報(bào)警電路原理圖3.5電源電路的設(shè)計(jì)在各種電子設(shè)備中,直流穩(wěn)壓電源是必不可少的組成部分,它是電子設(shè)備唯一的能量來源,穩(wěn)壓電源的主要任務(wù)是將50Hz的電網(wǎng)電壓轉(zhuǎn)換成穩(wěn)定的直流電壓和電流,從而滿足負(fù)載的需要,直流穩(wěn)壓電源一般由整流、濾波、穩(wěn)壓等環(huán)節(jié)組成。由于本設(shè)計(jì)實(shí)際要求電源電壓較低,在實(shí)際操作中用五號(hào)電池+電池盒模式代替。同時(shí),為了顯示外接電源給實(shí)訓(xùn)板提供了電源,在系統(tǒng)中增加了電源指示燈電路,由于發(fā)光二極管工作在正常工作狀態(tài)時(shí),流過LED的電流只需要5?10mA左右就行,在電路中采用紅色高亮LED,所以可以取5mA左右的電流值,通過計(jì)算,可知:連接LED的限流電阻的阻值可以采用1kQ。電路如圖3-8所示:電源部分Z1DY5VR19電源部分Z1DY5VR191KC8C8C9104220UF104D1LED圖3-8電源電路3.6本章小結(jié)本章主要完成了系統(tǒng)的硬件電路設(shè)計(jì),包括單片機(jī)系統(tǒng),單片機(jī)外圍電路及顯示電路,超聲波發(fā)射電路,超聲波檢測接受電路,語音部分原理圖及應(yīng)用外接功放電路圖,電源電路等。這期間遇到了許多問題,最后通過網(wǎng)絡(luò)以及參考各方面書籍,完成了各電路的設(shè)計(jì),完成了本設(shè)計(jì)中的系統(tǒng)硬件設(shè)計(jì)部分。第四章系統(tǒng)軟件設(shè)計(jì)超聲波測距器的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序、顯示子程序及語音控制程序組成。我們知道C語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率并且容易精確計(jì)算程序運(yùn)行的時(shí)間,而超聲波測距器的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)),又要求精確計(jì)算程序運(yùn)行時(shí)間(超聲波測距時(shí)),本設(shè)計(jì)在計(jì)算部分比較復(fù)雜,所以控制程序采用C語言編程。軟件設(shè)計(jì)的總體結(jié)構(gòu)框圖如圖4-1:圖4-1系統(tǒng)模塊框圖(1)系統(tǒng)初始化模塊:即系統(tǒng)剛上電的時(shí)候?qū)ο到y(tǒng)的各個(gè)引腳的電平分配和對各寄存器的初值賦值。(2)數(shù)碼管顯示模塊:通過該模塊的設(shè)計(jì)能夠讓所測得的距離顯示在數(shù)碼管上。(3)按鍵掃描模塊:此模塊用來通過鍵盤控制倒車?yán)走_(dá)的工作。(4)發(fā)射接收控制模塊:發(fā)射控制模塊是軟件控制超聲波發(fā)射電路發(fā)射超聲脈沖啟動(dòng)定時(shí)器工作,同時(shí)啟動(dòng)接收電路工作,當(dāng)接收電路有信號(hào)輸入時(shí),對輸入信號(hào)進(jìn)行處理。(5)運(yùn)算結(jié)果處理模塊:運(yùn)算結(jié)果處理模塊將多次所測得時(shí)間進(jìn)行處理,進(jìn)行軟件取大值工作,根據(jù)公式計(jì)算出距離,然后再對計(jì)算得出的結(jié)果進(jìn)行修正處理,數(shù)據(jù)處理后送至數(shù)碼顯示模塊。(6)聲光報(bào)警模塊:當(dāng)所測距離小于一定值時(shí),通過聲光報(bào)警來挺行駕駛員。4.1超聲波測距儀的算法設(shè)計(jì)下圖示意了超聲波測距的原理圖4-2測距的原理即超聲波發(fā)生器T在某一時(shí)刻發(fā)出一個(gè)超聲渡信號(hào),當(dāng)這個(gè)超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號(hào)到接收到返回信號(hào)所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計(jì)算公式為:d二s/2=(cXt)/2(4—1)其中d為被測物與測距器的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時(shí)間。距離計(jì)算程序如下:voidcalculation(){distance*=172;distance/=10000;buf[0]=distance/1000;//高位buf[1]=distance%1000/100;buf[2]=distance%100/10;buf[3]=distance%10;//低位if(buf[0]==0)buf[0]=11;if((buf[0]==11)&&(buf[1]==0))buf[1]=11;//控制不需要顯示的數(shù)據(jù)0if((buf[1]==11)&&(buf[2]==0))buf[2]=11;4.2主程序設(shè)計(jì)主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器TO工作模式為16位定時(shí)計(jì)數(shù)器模式,置位總中斷允許位EA并給顯示端口P0和P2清零。然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖,為了避免超聲渡從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時(shí)約0.lms(這也就是超聲波測距器會(huì)有一個(gè)最小可測距離的原因)后,才打開外中斷0接收返回的超聲波信號(hào)。由于采用的是12MHz的晶振,計(jì)數(shù)器每計(jì)一個(gè)數(shù)就是lus,當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器TO中的數(shù)(即超聲波來回所用的時(shí)間)按式(4—2)計(jì)算,即可得被測物體與測距器之間的距離,設(shè)計(jì)時(shí)取20°C時(shí)的聲速為344m/s(不同溫度下超聲波產(chǎn)波速率不同)則有:D=(cXt)/2=172TO/10000cm(4—2)其中TO為計(jì)數(shù)器T0的計(jì)數(shù)值。測出距離后結(jié)果將以十進(jìn)制BCD碼方式送往LED顯示約0.5s,然后再發(fā)超聲波脈沖重復(fù)測量過程。為了有利于程序結(jié)構(gòu)化和容易計(jì)算出距離,主程序采用c語言編寫。下圖為主程序流程圖。主程序如下:voidmain(){P0=0xff;P1=0xff;P2=0xff;P3=0xff;TMOD=Oxll;//timeO/time1都工作方式1flag=0;ITO=1;//負(fù)跳變觸發(fā)外中斷0THO=0;TL0=0;//定時(shí)器0,清0,用于計(jì)時(shí)TH1=0;TL1=0;//定時(shí)器1,清0counter=0;PX0=1;//外中斷0優(yōu)先ET1=1;//允許定時(shí)器1中斷EA=1;//開總中斷TR1=1;//啟動(dòng)定時(shí)器1,測距while(1){if(flag==1)//說明成功接收{(diào)uchari;EA=0;calculation();if(distance<=100)//當(dāng)距離小于100cm時(shí)蜂鳴器響{p1_1=0;}else{p1_1=1;}for(i=0;i<100;i++)//控制顯示{scan();}flag=0;//清除接收成功標(biāo)志TR1=1;//啟動(dòng)定時(shí)器T1,開啟測距定時(shí)器EA=1;}else//如果測量失敗,顯示{p1_1=0;//測量失敗蜂鳴器響buf[0]=10;buf[1]=10;buf[2]=10;buf[3]=10;scan();4.3超聲波發(fā)生與接收程序設(shè)計(jì)4.3.1超聲波發(fā)生子程序設(shè)計(jì)超聲波的產(chǎn)生是由定時(shí)器1完成的,要求產(chǎn)生的超聲波頻率為40kHz,因此,一個(gè)脈沖周期即為25us,可得:所需單個(gè)脈沖寬度為12us左右,超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送2個(gè)左右超聲波脈沖信號(hào)(頻率約40kHz的方波),同時(shí)把計(jì)數(shù)器T0打開進(jìn)行計(jì)時(shí),通過所記時(shí)間計(jì)算距離。超聲波發(fā)生子程序較簡單,但要求程序運(yùn)行時(shí)間準(zhǔn)確。流程圖如下圖4-4所示:圖4-4定時(shí)中斷服務(wù)子程序流程圖定時(shí)器中斷子程序發(fā)送測距超聲波,函數(shù)如下:voidtime1_interrupt()interrupt3{EA=0;//關(guān)總中斷,防止發(fā)送超聲波時(shí)被干擾TR0=0;//關(guān)定時(shí)器0EX0=0;//關(guān)外中斷TH0=0;TL0=0;//定時(shí)器0,清0,用于計(jì)時(shí)TH1=0;TL1=0;//重裝初值,中斷一次65.536msEA=1;//開總中斷TR0=1;//開定時(shí)器0,計(jì)時(shí)for(counter=0;counter<4;counter++){p1_0=~p1_0;//取反輸出驅(qū)動(dòng)脈沖,頻率為40KHZ_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//_nop_();//_nop_();//_nop_();}counter=0;delay();//延時(shí),避開發(fā)射的直達(dá)聲波信號(hào)EX0=1;//開外中斷0,用于接收超聲波}4.3.2外部中斷子程序設(shè)計(jì)超聲波測距器主程序利用外中斷0檢測返回超聲波信號(hào),一旦接收到返回超聲波信號(hào)(即INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入該中斷后就立即關(guān)閉計(jì)時(shí)器TO停止計(jì)時(shí),并將測距成功標(biāo)志字賦值1。外部中斷服務(wù)子程序流程圖如下圖所示:圖4-5外部中斷服務(wù)子程序外部中斷0用來檢測是否接收到了超聲波,并存儲(chǔ)時(shí)間,中斷函數(shù)如下voidexternal_interrupt0()interrupt0{TR0=0;EA=0;EX0=0;distance=TH0;distance=(distance<<8)|TL0;TH0=0;TL0=0;//定時(shí)器0,清0flag=1;//接收到超聲波標(biāo)記置1}倒車距離顯示及語音報(bào)警程序設(shè)計(jì)4.4.1顯示報(bào)警子程序設(shè)計(jì)顯示報(bào)警設(shè)備是用單片機(jī)控制脈沖,通過單片機(jī)部程序進(jìn)行舉例計(jì)算,由LED進(jìn)行距離顯示,并在一定的距離讓蜂鳴器接通,來作為報(bào)警信號(hào),提示具體位置。顯示報(bào)警子程序如圖4-6所示:圖4-6顯示報(bào)警子程序框圖顯示報(bào)警子程序函數(shù)如下:while(1){if(flag==1)//說明成功接收{(diào)uchari;EA=0;calculation();if(distance<=100)//當(dāng)距離小于100cm時(shí)蜂鳴器響{p1_1=0;}else{p1_1=1;}for(i=0;i<100;i++)//控制顯示{scan();}flag=0;//清除接收成功標(biāo)志TR1=1;//啟動(dòng)定時(shí)器T1,開啟測距定時(shí)器EA=1;}else//如果測量失敗,顯示{p1_1=0;//測量失敗蜂鳴器響buf[0]=10;buf[1]=10;buf[2]=10;buf[3]=10;scan();4.4.2LED顯示子程序設(shè)計(jì)顯示部分要求先進(jìn)行動(dòng)態(tài)顯示初始化將指針指向緩沖區(qū)首地址,然后去顯示位指針,取要顯示的數(shù),再將數(shù)變成段碼,然后將段碼送段控制器,位碼送位控制器,在延時(shí),然后判斷是否是最后一位,是否顯示完畢,沒有的話修改該緩沖區(qū)指針和位碼,直到顯示完畢。LED顯示子程序流程圖如圖4-7所示:圖4-7顯示子程序框圖通過數(shù)碼管逐位掃描完成距離顯示,顯示部分子程序如下:voidscan()//掃描從低往高位即先個(gè)后十位以此類推{led=display[buf[3]];p2_0=0;Delay_ms(2);p2_0=1;led=display[buf[2]];p2_1=0;Delay_ms(2);p2_1=1;led=display[buf[1]];p2_2=0;Delay_ms(2);p2_2=1;led=display[buf[0]];p2_3=0;Delay_ms(2);p2_3=1;}本章小結(jié)本章主要完成了各個(gè)環(huán)節(jié)的流程圖及程序設(shè)計(jì),主要包括超聲波測距儀的算法設(shè)計(jì),主程序設(shè)計(jì),超聲波發(fā)生子程序和超聲波接收中斷程序設(shè)計(jì),以及倒車語音及報(bào)警控制程序設(shè)計(jì)。通過在KEIL環(huán)境下多次執(zhí)行及修正,以及向多名同學(xué)和老師的請教,最終很好的完成了設(shè)計(jì)目的。第五章分析調(diào)試及結(jié)論5.1硬件組裝一個(gè)系統(tǒng)要良好運(yùn)行,就需每一個(gè)模塊或每一個(gè)部分都要調(diào)試正確。它可以進(jìn)行單獨(dú)調(diào)試,將程序下載入STC89C51RC芯片,將所測距離顯示在數(shù)碼管上。采用數(shù)碼管顯示的是障礙物到超聲波探頭的距離.可以很直觀地顯示出距離的大小.與實(shí)際調(diào)試時(shí)完全相符,效果良好,直觀且精確,符合標(biāo)準(zhǔn)。超聲波測距儀的制作和調(diào)試,其中超聲波發(fā)射和接收采用①15的超聲波換能器TCT40-10F1(T發(fā)射)和TCT40-10S1(R接收),中心頻率為40kHz,安裝時(shí)應(yīng)保持兩換能器中心軸線平行并相距4?8cm,其余元件無特殊要求。若將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。根據(jù)測量圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容C4的大小,以獲得合適的接收靈敏度和抗干擾能力。如果這個(gè)板不管前面有無遮擋物總是顯示27,這是因?yàn)闃?biāo)有T字樣的超聲波接收頭沒有收到正確的回波信息導(dǎo)致工作異常引起的,我們發(fā)現(xiàn)接收頭比較嬌嫩,輕微的磕碰就會(huì)導(dǎo)致部器件錯(cuò)位影響正常工作,但是只要稍稍旋轉(zhuǎn)或者上下?lián)軇?dòng)一下接收頭,很多情況就會(huì)排除故障又能正常工作了。最小檢測距離為27厘米,是為了防止超聲波發(fā)射傳感器發(fā)出超聲波沿電路板或者外殼直接進(jìn)入超聲波接收傳感器引起誤判斷,所以程序要求超聲波發(fā)射若干時(shí)間后必須停止若干時(shí)間,這個(gè)時(shí)間大約是超聲波在空氣中傳播20多厘米的時(shí)間,這段時(shí)間是不接受信號(hào)的,主要就是為了躲開直接傳導(dǎo)的信號(hào)避免引起誤判斷。本測距儀理論上最小測量距離為27cm,測量誤差為1cm,最大測量距離250cm左右,但在實(shí)際操作中受各種外界條件及因素的影響很難達(dá)到該最大測量距離。(測試時(shí)盡量選擇平坦的阻擋超聲波致其反射的物體,測量中如遇系統(tǒng)假死機(jī)現(xiàn)象可按復(fù)位按鈕激活)。硬件完成部分主要是將所設(shè)計(jì)電路中各個(gè)模塊分別進(jìn)行連接,在焊接過程中一定要時(shí)刻注意虛焊等問題的發(fā)生。并在各個(gè)模塊完成后用數(shù)字萬用表測量各引腳之間是否連接正常。5.2軟件實(shí)現(xiàn)系統(tǒng)軟件的整體結(jié)構(gòu)各模塊在前面已介紹。先在KEIL下編完程序,然后編譯好通過后,生成目標(biāo)文件十二和十六進(jìn)制,燒錄到STC89C51RC片子中時(shí),先下載監(jiān)控程序加上我們編譯好的十六進(jìn)制程序,再寫入芯片中即可調(diào)試,通過不斷修改完善,最終很好地實(shí)現(xiàn)了我們的目標(biāo)。根據(jù)實(shí)際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時(shí)間,以適應(yīng)不同距離的測量需要。根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,測距儀能測的圍為27cm-100cm,測距儀最大誤差不超過3cm。系統(tǒng)調(diào)試完后應(yīng)對測量誤差和重復(fù)一致性進(jìn)行多次實(shí)驗(yàn)分析,不斷優(yōu)化系統(tǒng)使其達(dá)到實(shí)際使用的測量要求。5.3整機(jī)調(diào)試(1)連接好各硬件電路。(2)將各個(gè)模塊的功能進(jìn)行程序編寫,使其能夠按照需要的功能進(jìn)行運(yùn)行,并將其下載到STC89C51RC芯片中觀察其功能。(3)再進(jìn)行整體程序的編寫,將程序進(jìn)行模塊程序的移植和調(diào)用。使其能夠完整的實(shí)現(xiàn)其所需的功能。(4)在下載程序調(diào)試的過程中,由于顯示距離的變量定義不正確,導(dǎo)致無常的顯示其距離。通過調(diào)整之后能在LED中正常的顯示其距離。5.4結(jié)論分析對測量結(jié)果和誤差進(jìn)行分析:對于超聲波測距主要是根據(jù)超聲波在空氣中的傳播速度和時(shí)間決定,超聲波在空氣中傳播的速度受到磁場、溫度和風(fēng)速的影響。但起決定性作用的是風(fēng)速和氣溫。在測量的過程中可以忽略磁場和風(fēng)速的影響,其測量誤差主要是由以下一些原因造成:(1)溫度:在測量過程中,由于對溫度的測量也存在著一定的誤差,對實(shí)驗(yàn)結(jié)果也造成一定的誤差。(2)測量工具:超聲波在空氣中的傳播是以平面度方式進(jìn)行傳播的,由于測量卷尺、超聲波傳感器的垂直位置、人眼的觀測角度等都會(huì)對實(shí)驗(yàn)結(jié)果造成一定的誤差。因此在試驗(yàn)過程中要注意測量的方式和結(jié)果的讀取。(3)干擾:超聲波的發(fā)射波形是一種40KHZ的方波,但實(shí)驗(yàn)過程中用我們采用的是約為40KHZ的波形,在空氣可能受到一些近似波形的干擾對試驗(yàn)的結(jié)果造成誤差。因此可以在試驗(yàn)過程中對方波進(jìn)行載波調(diào)制,接受時(shí)候在接收端對其進(jìn)行解調(diào),可以提高測距的精確度。在本設(shè)計(jì)中,對汽車倒車的安全距離設(shè)定為100cm,當(dāng)汽車與障礙物的距離小于100cm是就會(huì)發(fā)出警報(bào),因此可以對上述一些除溫度外的誤差忽略不計(jì),總的來說本設(shè)計(jì)是成功的,基本實(shí)現(xiàn)了所需要的功能。5.5本章小結(jié)本章主要完成了倒車?yán)走_(dá)的硬件安裝與焊接,調(diào)試及分析,包括硬件部分的完成,軟件燒入與調(diào)試。最初出現(xiàn)了許多問題,例如數(shù)碼管顯示很不穩(wěn)定,最后發(fā)現(xiàn)大都屬

溫馨提示

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

最新文檔

評論

0/150

提交評論