汽車倒車報警系統(tǒng)設計_第1頁
汽車倒車報警系統(tǒng)設計_第2頁
汽車倒車報警系統(tǒng)設計_第3頁
汽車倒車報警系統(tǒng)設計_第4頁
汽車倒車報警系統(tǒng)設計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設計說明書(論文)設計題目:汽車倒車報警系統(tǒng)設計專業(yè):

班級:學號:

姓名:

指導教師:

2021年7月15日

目錄第一章課題簡介及其發(fā)展現(xiàn)狀 頁第一章課題簡介及其發(fā)展現(xiàn)狀1.1課題研究現(xiàn)狀及其發(fā)展意義隨著社會經(jīng)濟發(fā)展的不斷進步,汽車的數(shù)量逐年增加,汽車擁擠的現(xiàn)狀不可避免,而在汽車擁擠的情況下,惡性事故屢屢發(fā)生,時刻威脅著人們的安全。我國交通事故的年死亡人數(shù)遠高于他國,分別是美國的2.3倍、德國的18.4倍、日本的13.4倍。當現(xiàn)代家庭充分的享受汽車帶來方便的同時,也為此付出了沉重的代價。據(jù)統(tǒng)計,我國自2010年至2010年,已有150多萬人死于道路交通事故,其中大部分的道路交通事故為汽車追尾碰撞事故。面對當今這種現(xiàn)狀,設計出一種反應快,穩(wěn)定性好而且經(jīng)濟實用的汽車防撞報警系統(tǒng)勢在必行。防撞預警自動測量的技術應運而生,尤其非接觸式測量技術發(fā)展卓越。在大多情況下,測量與障礙物之間的距離是不能夠接觸到障礙物的,在這種時候就會用到非接觸式測量設備。在物理學中人們發(fā)現(xiàn)了電子學技術產(chǎn)生的超聲波后,從此超聲波技術在測量領域得到了廣泛的運用,尤其是在超聲波測距方面,結合了其他技術,用超聲波測距變得十分常用超聲波在介質中傳播的距離較遠,分辨力較高,且能量消耗小,利用超聲波測距比較方便而且速度快計算簡單,容易做到實時控制,并且測量精度好,都能夠達到工業(yè)測量的需要。因此超聲測距廣泛應用于當今生活中,特別是應用于超聲波測距方面。超聲波測距利用的是聲波反射原理,聲波在空氣中傳播避免了與介質接觸。與其它測距方式相比,超聲測距不受顏色、光線和電、磁場的影響,使他受到干擾的可能大幅度減少。它還具有可靠性能高、結構簡單、價格便宜、安裝方便等優(yōu)點。也能夠測量處于黑暗、煙霧、有灰塵、電磁干擾等惡劣環(huán)境中的障礙物。但由于超聲波傳播時溫度對聲速影響比較大,使超聲測距的精確度到了影響,在這里可以采用溫度補償進行校正,能夠消除溫度對其的影響。1.2汽車防撞系統(tǒng)的發(fā)展過程國際上對汽車防撞的研究開始于二十世紀六十年代,以德、美、日為代表的西方國家內(nèi)開始研究,與眾多汽車制造廠商合作,制造出世界上第一批汽車防撞報警器。但局限于當時器件的發(fā)展水平和單片機成本過高,導致報警器難以做到體積輕巧、結構簡單、價格便宜。此外,報警器的干擾因素很多,在實驗室制造的樣機,對許多干擾因素考慮不全面,使在實際得應用中,防撞效果并不讓眾多研究者滿意。二十世紀末,奔馳公司組織,計劃將組合通信、傳感器、智能技術結合于于一個系統(tǒng)中,改進了汽車的經(jīng)濟性、安全性和有效性,在這次研究中研制出了性能優(yōu)良的汽車防撞報警器,能夠幫助駕駛員避免發(fā)生交通事故。使得制造出低成主本、高性能的汽車防撞雷達成為可能。歐盟RadarNet研究項目整合己有研究成果,研制新型多功能汽車防撞雷達。其中,德國的汽車生產(chǎn)廠商奔馳公司和英國的電子生產(chǎn)廠商勞倫斯電子公司強強連和,成功研制出了超聲波頻率為35G赫茲可報警距離為150米的汽車防撞報警雷達,系統(tǒng)能夠智能計算出汽車與前方障礙物的距離和兩者之間的相對運行速度,并且根據(jù)自身行駛速度計算出汽車與障礙物之間的安全距離,當汽車與障礙物之間或與前車之間的距離小于計算出的安全距離時,預警系統(tǒng)便會發(fā)出聲音報警信號,提醒司機避開障礙物或者緊急停車。這種預警雷達適合于在轎車、客車上使用,應用了汽車防撞預警系統(tǒng)能夠對于惡性交通事故的發(fā)生起到了較好的預防作用。1.3超聲波簡介眾所周知,當物體在振動的時候就能夠發(fā)出聲音。但是人類耳朵只能聽到頻率為20~20000赫茲的聲波。當聲波的振動頻率不在這個范圍時的聲音人類是聽不見的。根據(jù)這種情況,人們規(guī)定把聲波頻率高于20KHZ的聲波稱為“超聲波”。由于超聲波具有方向性好,抗干擾能力強,穿透能力強等優(yōu)點。在現(xiàn)實生活中有著不可替代的作用它常用于清洗,測距,測速等。實際測試發(fā)現(xiàn),相同振幅下,振動頻率和物體振動的能量是成正比的,當超聲波傳播時,聲波振動頻率很高,物體的震動能量也很大。在現(xiàn)實生活中我們充分的利用了這些能量,例如超聲波加濕器,它是把超聲波發(fā)射到水罐中,物體震動的巨大能量能夠使水罐中的水升華成霧氣,在把霧氣吹入到空氣中,這樣就使空氣的濕度增加。除此之外應用超聲波還可以做很多方便現(xiàn)實生活的實用工具,本文介紹的汽車防撞裝置也是應用超聲波的原理制成的。超聲波是聲波大家族中的一員。聲波指的是物體在機械振動下,物質的質點在其平衡位置進行的往返運動狀態(tài)。例如鼓經(jīng)過敲打之后,鼓面就會上下振動,振動通過空氣向四面八方進行傳播,這就是聲波。超聲波就使頻率很高的聲波。超聲波在現(xiàn)實生活中能夠光泛應用,是因為超聲波有以下幾種特性,它能夠在氣體、固體、液體、等介質中進行傳播,能夠傳遞巨大的能量,能夠發(fā)生反射、干涉和共振的現(xiàn)象,并且超聲波在液體中進行傳播時,可以產(chǎn)生劇烈的空化和沖擊的現(xiàn)象。雖然人類的耳朵聽不見超聲波,但是不少動物卻擁有此項能力。他們就是利用超聲波來捕捉獵物,并且能夠避開障礙物。好多人們疑問為什么蝙蝠能夠在完全黑暗的情況下還能夠分析在哪能夠捕食和避開障礙物。其實蝙蝠就是利用它聽到的超聲波而進行在黑暗中自己定位的。蝙蝠通過自己的嗓子發(fā)出超聲波,超聲波發(fā)出之后四面八方的發(fā)射出去,當超聲波遇到障礙物之后發(fā)生反射,這種反射回來的超聲波進入到蝙蝠的耳朵中,蝙蝠聽到超聲波后,就能自己判斷出障礙物或者獵物的位置。然后快速的判斷出來從而能夠自在的在空中飛翔。國內(nèi)的超聲波研究照比其它國家起步較晚,人們在發(fā)現(xiàn)正壓電效應和逆壓電效應之后,超聲波才逐漸應用于電子行業(yè)、清洗機械器件、軍事、塑料焊接、金屬焊接、醫(yī)學等等領域。尤其在醫(yī)學方面的應用尤為廣泛,超聲波在人體里傳播時,當超聲波在人體內(nèi)的傳播時如果遇到障礙物,超聲波便會發(fā)生反射和折射。由于每個人的組織結構都是不同的所以他們對于超聲波的吸收能力也不同。這種差別在通過儀器設備把他們顯示出來,醫(yī)生便能通過這種差別便能夠判斷出身體是否發(fā)出病變。第二章總體設計方案汽車防撞預警系統(tǒng)是指在汽車行駛過程中防止汽車發(fā)生碰撞障礙物的一種智能報警裝置。它能自動發(fā)現(xiàn)可能與汽車發(fā)生碰撞的障礙物體,并且同時檢測汽車與障礙物之間的距離,到達極限距離時發(fā)出報警信號以避免碰撞的發(fā)生。根據(jù)題目要求,汽車防撞報警器的功能主要有兩個:判斷汽車與障礙物之間的距離和當汽車與障礙物之間的距離到達臨界距離時發(fā)出報警信號。2.1設計總體思路概況汽車防撞預警系統(tǒng)的原理是利用超聲波的發(fā)射和接收,用計時器計出超聲波從發(fā)射到接收到遇到障礙物后反射聲波的時間通過公式計算出汽車與障礙物之間的距離。在實際生活中常用的測距方法主要有兩種,一種是在被測距離的兩端,一端設置發(fā)射裝置,一端設置接收裝置,利用公式S=vt得出測量的距離。這種測量方式特別適用于測量身高;另一種是本次設計采用的方式,利用超聲波遇到障礙物后反射得出距離。汽車防撞系統(tǒng)硬件電路的設計主要包括單片機系統(tǒng)、超聲波發(fā)射電路和超聲波檢測接收電路及顯示電路三部分。單片機采用的是AT89C51系列。為了獲得較穩(wěn)定時鐘頻率而采用了高精度的晶振,這樣極大的減小測量距離的誤差。用單片機P1.0端口輸出超聲波發(fā)射器所需要的40kHz的方波信號,使用外中斷0口檢測接收超聲波的反射信號。顯示電路裝置用了結構簡單價格便宜的4位LED數(shù)碼管來顯示距離。超聲波的發(fā)射裝置主要是由反相器74LS04和發(fā)射傳感器構成。AT89C51單片機P1.0引腳輸出40k赫茲的間斷方波信號分成2路,一路信號經(jīng)過一個反向器后到達TCT40一個引腳,另一路通過兩個反向器后到TCT40的另一個引腳,用這種形式將P1.0發(fā)出的單片機P1.0端口發(fā)出的間斷方波信號加到TCT40的兩端上,用這種推換形式將間斷的方波信號連接到超聲波傳感器的兩個引腳上,這樣能夠增強超聲波的發(fā)射強度。在加載反波信號時使用兩個74LS04并聯(lián),是它的驅動能力得到了很大的提高。而電阻R8、R9增大超聲波傳感器的阻尼效果,縮短了震蕩時間,使超聲波傳感器輸出高電平的能力大大增加。超聲波接收采用CX20106A集成電路模塊,根據(jù)電路圖可以看出,集成芯片CX20106在接收裝置電路中的作用很大。CX20106是一款紅外線檢波接收的芯片,它常用于現(xiàn)實生活中,而且價格便宜。由于紅外線波的頻率為38kHz,與測距使用的超聲波頻率接近。并且CX20106芯片的內(nèi)部設置比較好,由于設計中芯片的f5角連接了一個外接電阻,此電阻使他濾波器的中心頻率能夠調(diào)節(jié),當R15的阻值越大濾波器的中心頻率就越低,變化范圍在30~60kHz之間。此次設計證明用CX20106A接收超聲波信號具有優(yōu)秀的靈敏特性和較強的抗干擾能力。超聲波測距預警系統(tǒng)主要包括主程序、發(fā)射子程序、溫度采集子程序、外部中斷子程序和數(shù)碼顯示子程序等。超聲波測距預計能夠系統(tǒng)主程序第一步是對系統(tǒng)進行初始化,初始化定時器T0為16位定時計數(shù)器的工作模式。全局中斷打開并給顯示端口清0。在調(diào)用超聲波的發(fā)生子程序發(fā)出一個超聲波脈沖,在發(fā)射過程中延時約0.1ms,避免聲波信號從發(fā)射器發(fā)出后直接傳送到接收器而引起直射波觸發(fā),然后在使用外中斷接收遇到物體后返回聲波信號。我采用了12MHz的晶振,計數(shù)器每次計數(shù)間隔是1μs,當主程序接收到成功的信號后,將計數(shù)器T0中的數(shù)計算,即得出與障礙物之間的距離,測出距離后將結果送往LED顯示,這就是超聲波測距的過程。在系統(tǒng)調(diào)試方面,由于設計的電路由很多集成電路構成。外圍元件很少,所以調(diào)試不太難。只要焊接的電路沒有錯誤,簡單調(diào)試一下就能夠正常使用了。電路設計中除了集成電路,對其它電子元件也沒專業(yè)要求??梢愿鶕?jù)測量距離的差異,調(diào)整與接收換能器濾波電容就能得到適合靈敏度和超聲波抗干擾能力。2.2超聲波測距原理超聲波測距是通過檢測超聲波發(fā)射后遇到障礙物所反射回來的回波,如圖2-1所示。從而測出超聲波發(fā)射和接收的時間差T,然后根據(jù)公式S=CT/2即可算出汽車與被測物體的距離。S為汽車與障礙物之間的距離,C為超聲波在空氣中的傳播速度。聲速c與溫度有關,如溫度變化不大,則可認為聲速是基本不變的。如果測距精度要求很高,則應通過溫度補償?shù)姆椒右孕U?。本設計中設定溫度為常溫20℃。圖2-1超聲波傳播圖利用超聲波的測距的原理圖如框圖2-2所示,單片機發(fā)出40kHZ的信號,經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號經(jīng)放大器放大,用鎖相環(huán)電路進行檢波處理后,啟動單片機中斷程序,測得時間為t,再由軟件進行判別、計算,得出距離數(shù)。數(shù)據(jù)顯示數(shù)據(jù)顯示定時器單片機控制放大電路超聲波發(fā)射器放大電路超聲波接收器圖2-2超聲波測距原理圖2.3超聲波傳感器為了利用超聲波方便人們的生活,科研機構已經(jīng)設計制做了很多的超聲波傳感器。超聲傳感器指的是在超聲頻率范圍內(nèi)將交變電信號轉換成聲波信號或將外界的聲波信號轉換成電信號的轉換器件。超聲波是聲波中的一種。超聲波就是頻率很高的聲波。超聲波在現(xiàn)實生活中能夠廣泛應用,是因為超聲波有以下幾種特性,它能夠在氣體、固體、液體、等介質中進行傳播,能夠傳遞巨大的能量,能夠發(fā)生反射、干涉和共振的現(xiàn)象。這些優(yōu)點使超聲波換能器的研究勢在必行。大體上講,超聲波的發(fā)生器可分為兩類:一類是用機械方式產(chǎn)生超聲波,一類是用電氣方式產(chǎn)生超聲波。兩種方式產(chǎn)生的超聲波功率、頻率和聲波的特性都不相同,因此不同的用途采用不同的方式產(chǎn)生超聲波。而我在此次設計中采用電氣方式產(chǎn)生超聲波,使用目前在理論研究和實際生活中最為常用的壓電式超聲波發(fā)生器。壓電式超聲波傳感器裝置是根據(jù)聲電轉換原理制成的,它又稱超聲波探頭或者超聲波換能器。超聲波換能器有兩種,一種是超聲波發(fā)射換能器,另一種是超聲波接收換能器。壓電式超聲波換能器的原理是依靠壓電晶體的諧振來進行工作的。超聲波換能器的內(nèi)部由一個換能板和兩個壓電晶片構成。這種超聲換能器需要的壓電材料很少并且價格便宜,并且很適用于氣體介質中。當壓電晶片受到發(fā)射電脈沖激勵后即可產(chǎn)生振動,發(fā)射聲波脈沖,是逆壓電效應。逆壓電效應用于超聲波的發(fā)射。當外界的超聲波作用于壓電晶片時,晶片被迫發(fā)生振動引起形變轉換成電信號,這是正壓電效應。正壓電效應應用于超聲波的接收。在換能器的兩極引腳加上大小和方向不斷變化的交流電壓,就能使壓電晶片產(chǎn)生機械變形,當引腳的頻率和壓電晶片上的振蕩頻率相同時,就能帶動共振板發(fā)生共振產(chǎn)生超聲波。超聲波換能器的工作原理是把40kHz的間斷方波信號分成2路,一路經(jīng)一級反向器后到達TCT40一個電極,另一路通過兩級反向器后到TCT40的另一個電極,用這種形式將P1.0發(fā)出的方波信號加到TCT40的兩端上,然后產(chǎn)生諧振后經(jīng)輻射器將振動信號向四面八法傳播出去。當超聲波信號經(jīng)過傳播后如果遇到障礙物之后就會發(fā)生光波折射,在傳播回來,由接收換能器進行接收。2.4控制系統(tǒng)方框圖超聲波防撞控制系統(tǒng)圖如框圖2-3所示。該系統(tǒng)全部都由單片機進行控制,單盤機發(fā)出40Hz的方波脈沖,經(jīng)過超聲波發(fā)射電路發(fā)射出超聲波。超聲波在遇到障礙物之后反射射回來再由接收電路接收反射聲波信號送入單片機進行分析,計算出汽車與障礙物之間的距離,將處理后的結果送入顯示電路經(jīng)過數(shù)碼顯示管顯示出距離,如果距離達到安全的極限距離著由報警電路通過蜂鳴器發(fā)車報警,提示司機躲避障礙物。ATAT89C51單片機振蕩復位電路掃描驅動LED顯示超聲波發(fā)送電路報警電路超聲波接收電路圖2-3超聲波測距報警系統(tǒng)圖2.5晶振電路51單片機的時鐘電路通常有兩種方式:一種是內(nèi)部時鐘方式,另一種是外部時鐘電路。本設計采用內(nèi)部時鐘電路,也稱晶振電路,如圖2-4所示。圖2-4晶振電路AT89C51中有一個用于構成內(nèi)部震蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端,把一個晶振振蕩器和兩個電容器組成的自己振蕩電路接于XTAL1和XTAL2之間,把振蕩器發(fā)出的脈沖直接送入內(nèi)部時鐘電路。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,成為單片機的時鐘脈沖信號。晶體振蕩器可以是石英晶體或陶瓷結構,振蕩頻率范圍是1.2M~12MHz。對于本論文中選取的石英晶體振蕩器,電容器C1、C2在30pF左右。2.6超聲波發(fā)射裝置的設計超聲波發(fā)射器包括兩個部分:超聲波產(chǎn)生電路部分和超聲波發(fā)射控制電路部分。超聲波探頭采用TCT40。單片機P1.0端口輸出40KHz的超聲波信號,此時定時器開始計時。通過輸出引腳輸入,經(jīng)驅動后推動發(fā)射探頭產(chǎn)生超聲波,此方法充分利用了軟件控制,靈活性好。超聲波的發(fā)射電路主要由反相器74LS04和發(fā)射換能器構成。AT89C51單片機P1.0口輸出的40kHz的間斷方波信號分成2路,一路經(jīng)一級反向器后到達TCT40一個電極,另一路通過兩級反向器后到TCT40的另一個電極,用這種形式將P1.0發(fā)出的方波信號加到TCT40的兩端上,這樣能夠增強超聲波的發(fā)射強度。在加載反波信號時使用兩個74LS04并聯(lián),可以提高驅動能力。而電阻R8、R9可以增加超聲波換能器的阻尼效果,縮短了震蕩時間,還可以提高換能器輸出高電平的驅動能力。2.6超聲波接收裝置的設計超聲波接收器包括接收∕發(fā)射探頭、信號放大電路和波形變換電路三個部分。超聲波探頭采用RCT40。按照超聲波原理,微處理器需要的只是第一個回波的時刻。接收裝置的設計可用CX20106A來完成。在空氣中傳播超聲波的其能量的衰減與距離是成正比的,距離越小、衰減越少、離越大、衰減越多,通常都在1V之內(nèi)。超聲波的接收裝置如圖2-5超聲波接收裝置圖所示。超聲波的接收采用CX20106A集成電路模塊,根據(jù)電路圖可以看出,集成芯片CX20106在接收裝置電路中的作用很大。CX20106是一款紅外線檢波接收的芯片,他常用于現(xiàn)實生活中,而且價格便宜。由于紅外線波的頻率為38kHz,與測距使用的超聲波頻率接近。并且CX20106芯片的內(nèi)部設置比較好,由于設計中芯片的f5角連接了一個外接電阻,此電阻使他濾波器的中心頻率能夠調(diào)節(jié),當R15的阻值越大濾波器的中心頻率就越低,變化范圍在30~60kHz之間。CX20106對收到的信號進行放大、濾波的作用。當接收到的聲波信號經(jīng)由放大器,調(diào)整信號的頻率,然后濾波消除干擾信號,最后再經(jīng)過整形,輸出到CX20106的7腳輸出。當接收到的聲波信號與CX20106的中心頻率相符時,它的7腳就會低電平輸出,而7腳接到INT0引腳上,這樣就會中斷。若頻率和CX20106的中心頻率不同時,即可調(diào)節(jié)R15,使濾波器的中心頻率與超聲波測距的頻率相符。2.7顯示電路的設計顯示電路中顯示測量距離使用的是4位共陰的LED數(shù)碼管,它簡單實用并且價格便宜。位碼使用四個PNP三極管來驅動,顯示電路設計圖如圖2-5顯示電路設計圖所示。圖2-5顯示電路設計圖2.8報警裝置的設計報警部分采用一個蜂鳴器進行報警,LED發(fā)光,利用單片機控制輸出一個一定頻率的信號。信號通過一個三極管,把信號放大,以增強驅動能力。然后將放大之后的信號連接到蜂鳴器上,報警部分裝置的設計圖如圖2-6所示。圖2-6報警裝置設計圖蜂鳴器是使用直流電源進行供電,它廣泛應用于當今生活中,尤其在計算機、報警器、復印機、打印機、電子玩具、汽車電子設備、電話機等電子設備制造中作為發(fā)聲的器件而廣泛應用。蜂鳴器是一種一體化結構的電子發(fā)聲器,它分為兩種類型,一種是壓電式蜂鳴器另一種是電磁式蜂鳴器。壓電式蜂鳴器主要由壓電蜂鳴片、多諧振蕩器、共鳴箱阻及抗匹配器還有外殼等部分組成。壓電蜂鳴片是由鈮鎂酸鉛或鋯鈦酸鉛壓電陶瓷材料制造而成。而多諧振蕩器由集成電路或者晶體管構造而成。當電極兩端接通電源以后,多諧振蕩器開始振動,輸出音頻信號,然后阻抗匹配器便能推動壓電蜂鳴片發(fā)出聲音。電磁式蜂鳴器主要由振蕩器、磁鐵、振動膜片、電磁線圈和外殼等部分組成。在兩極接通電源之后,振蕩器能夠產(chǎn)生的音頻信號,信號通過電磁線圈,便會使電磁線圈生成磁場。這樣振動膜片便會在磁鐵和電磁線圈的作用下,周期性反復地振動從而發(fā)出聲音。第三章硬件的設計3.1芯片的功能硬件電路的設計主要包括三部分:單片機系統(tǒng)、顯示電路、超聲波的發(fā)射和檢測接收電路。在本次設計中單片機采用AT89C51。還采用了12MHz高精度的晶振,以減小測量誤的差。用AT89C51的P1.0端口輸出所需的40kHz的方波信號,采用AT89C51實現(xiàn)對TCT40超聲波轉換模塊和CX20106A芯片的控制。3.1.1AT89C51的功能特點AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS8位單片機,片內(nèi)4bytes的可反復擦寫的只讀程序存儲器(PEROM)和128

bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置用8位中央處理器(CPU)和Flash存儲單元,功能強大。AT89C51單片機可靈活應用于各種控制領域。

AT89C51單片機提供以下標準功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個l/O口線,兩個16位定時、計數(shù)器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,

AT89C51單片機可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時、計數(shù)器,串行通行口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下個硬件復位。AT89C51主要功能列舉如下:

①為一般控制應用的8

位單芯片

②晶片內(nèi)部具時鐘振蕩器(傳統(tǒng)最高工作頻率可至12MHz)

③內(nèi)部程式存儲器(ROM)為4KB

④內(nèi)部數(shù)據(jù)存儲器(RAM)為128B

⑤外部程序存儲器可擴充至

64KB⑥外部數(shù)據(jù)存儲器可擴充至64KB

⑦32

條雙向輸入輸出線,且每條均可以單獨做VO的控制⑧5個中斷向量源

⑨2組獨立的16位定時器

⑩1個全多工串行通信端口AT89C51單片機主要由中央處理器、存儲器、輸入輸出接口等組成。中央處理器是單片機的核心部分,它的主要作用是完成運算和控制功能。程序存儲器具有存儲功能,使應用程序在開發(fā)調(diào)試后永久性的存儲在程序存儲器中。AT89C51控制著超聲波的發(fā)送和接收,串行口發(fā)送數(shù)據(jù)。LED顯示是共陰極接法的動態(tài)循環(huán)顯示.接收電路接收超聲波遇到物體后反射回來的回波信號。該芯片包括了限幅放大、前置放大、整形和輸出數(shù)據(jù)信號,這樣方便了檢測判斷回波的數(shù)據(jù)是否正確,并且能夠通過計算得出距離值.AT89C51是一種帶4K字節(jié)閃爍可編程可擦除存儲器的低電壓,8位高性能的CMOS微處理器,叫做單片機。該單片機采用的制造技術是ATMEL高密度非易失存儲器制造成的,它能夠與達到工業(yè)標準的輸出管腳和MCS-51指令集相兼容。由于它將8位多功能CPU處理器和閃爍存儲器組合在單個芯片中,AT89C51是一種高效微控制器外形及引腳排列如圖3-1所示。圖3-1AT89C51控制器AT89C51有兩種可用軟件來選擇的省電方式:空閑工作方式和掉電工作方式。當處于空閑方式時CPU處于睡眠狀態(tài),但片內(nèi)的其他部件仍然繼續(xù)工作,而且片內(nèi)RAM的內(nèi)容和所有專用寄存器的內(nèi)容在空閑方式期間都被保留起來。當處于掉電方式時保存了RAM的內(nèi)容,振蕩器停止震蕩,禁止芯片其它功能直到下一次硬件復位才能使用。AT89C51為許多器材的制造提供了十分靈活和低成本的解決辦法。充分的利用了單片機的片內(nèi)資源,使我們可以在較少使用外圍電路的情況下完成超聲波測距。3.1.2SRF04超聲波裝置工作原理在初始狀態(tài)時,Tr引腳電平由單片機拉高,Ec引腳電平由傳感器拉低。工作時,首先由單片機將Tr引腳拉低后再給一個高電平脈沖(持續(xù)時間至少為10us),傳感器收到該脈沖信號后開始向外發(fā)射8個40KHz的方波即用來測距的超聲波。該測距超聲波以聲速(340m/s)向前傳播,在遇到障礙物時,該超聲波被反彈向回傳播,因此最終能夠被傳感器接收到,傳感器會記錄從發(fā)射超聲波到接收到超聲波的所經(jīng)歷的時間t。傳感器在收到返回的信號后,由Ec引腳輸出一個與t相同時間的高電平脈沖。此時,我們只需要通過單片機內(nèi)部定時/計數(shù)器記錄Ec引腳高電平脈沖時間即可得超聲波的傳播時間t。因此可算出傳感器到障礙物間的距離=340*(t/2)(因為t是超聲波一來一回經(jīng)歷的時間,所以單程時間要除以2)。超聲波裝置如圖3-2所示。圖3-2SRF04超聲波裝置超聲波是一種頻率超過20KHz的機械波。它沿直線傳播,方向性好,傳播距離較遠,在介質中傳播時在不同的分界面上會產(chǎn)生反射波。另外,超聲波傳感器有如下特性[10]:1)在自身特性諧振點40KHz附近可獲得較高的靈敏度;2)諧振帶寬、波束角可以通過制作工藝控制得很窄,有利于抗聲波干擾設計;3)不受無線電頻譜資源限制,易于抗電磁干擾設計;4)超聲系統(tǒng)成本低、性能穩(wěn)定可靠,應用前景好。由于超聲波具有以上特性,從而被廣泛應用于測量物體的距離、厚度、液位等領域。利用超聲波測量是一種有效的非接觸式測距方法。超聲波測距的方法多種多樣,例如相位檢測法、聲波幅值檢測法和渡越時間檢測法等。相位檢測法雖然精度高,但檢測范圍有限;聲波幅值檢測法易受反射波的影響;渡越時間檢測法的工作方式簡單,直觀,在硬件控制和軟件設計上都容易實現(xiàn)[11]。本文采用渡越時間檢測法,如圖3-3所示。圖3-3超聲波測距原理圖測距時由安裝在相鄰位置的超聲波發(fā)射器和接收器完成超聲波的發(fā)射與接收,由定時器計時。首先由發(fā)射向特定方向發(fā)射超聲波并同時啟動定時器計時,超聲波在介質傳播途中一旦遇到障礙物后就被反射回來,當接收器收到反射波后立即停止計時。這樣,定時器就記錄下了超聲波自發(fā)射點至障礙物之間往返傳播經(jīng)歷的時間t(s)。由于兩個探頭之間的距離d與測試距離S相比很小,通??梢院雎浴3叵鲁暡ㄔ诳諝庵械膫鞑ニ俣燃s為340m/s,所以發(fā)射點距障礙物之間的距離為:S=340×t/2=170×t由于單片機內(nèi)部定時器的計時實際上是對機器周期T機的計數(shù),設計中時鐘頻率fosc取12MHz,設計數(shù)值N,則T機=12/fosc=1μs,t=NT機=N×10-6(s)S=170×N×T機=170×N/106(m)或S=17×N/103=0.017×N(cm)3.1.3LM016L顯示屏我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。在單片機的人機交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。發(fā)光管和ED數(shù)碼管比較常用,軟硬件都比較簡單,在前面章節(jié)已經(jīng)介紹過,在此不作介紹,本章重點介紹字符型液晶顯示器的應用。

在單片機系統(tǒng)中應用晶液顯示器作為輸出器件有以下幾個優(yōu)點:

顯示質量高

由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不.

像陰極射線管顯示器(

CRT

)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質高且不會閃爍。LM016L顯示屏如圖3-4所示圖3-4LM016L顯示屏3.1.4系統(tǒng)的特點基于超聲波技術的汽車防撞系統(tǒng)的設計,由于使用單片機作為控制元件控制整個系統(tǒng)電路,致使系統(tǒng)操作方便、可靠性高、結構簡單并且能夠自動控制該系統(tǒng)的的運行,能夠自己檢測障礙物。對于當今社會汽車擁擠的這一現(xiàn)狀,此項研究對于防止交通事故的發(fā)生具有預防作用??傮w說來,本次設計能夠實現(xiàn)測距的功能,報警距離可以人工智能控制,能夠產(chǎn)生方向性好,抗干擾能力強,穿透能力強的聲波信號,能夠在事故發(fā)生前提示報警。汽車倒車報警系統(tǒng)在實際中測量車后一定距離范圍內(nèi)的物體與車尾的距離,超聲波測距系統(tǒng)與被測物體無直接接觸,并以AT89C51單片機作為中心控制單元,這種倒車防撞報警系統(tǒng)通過顯示器可以及時顯示障礙物距車尾的距離,也能完成突然闖入危險區(qū)域內(nèi)的行人的自動探測功能,顯示的測量范圍能達到0.1~5.0m,采用四位數(shù)碼管可顯示數(shù)值,單位mm,測量精度要求為1cm,在小于設定的安全距離值時,還可以根據(jù)幾段不同的距離分別設計出幾種不同的報警信號,以警示司機幾種不同程度的緊急狀態(tài),使司機據(jù)此做出相應的操作,防止事故的發(fā)生。本設計能實現(xiàn)(1)集中監(jiān)控,且價格低廉;(2)采用模塊化設計,使用維護方便,易于普及;(3)利用傳感器和單片機分別實現(xiàn)檢測和智能控制,易安裝,穩(wěn)定性好;(4)利用超聲波發(fā)射與接收分開的特點,防止了信號發(fā)射與接收不精確。3.1.5性能優(yōu)化及改善低功耗問題由于時鐘為連續(xù)性工作狀況,因此其平均功率消耗的高低不僅對節(jié)能有現(xiàn)實意義,而且對降低系統(tǒng)溫度、提高系統(tǒng)長期安全可靠運行也有現(xiàn)實意義。對于以微處理器為核心的系統(tǒng),其平均工作功率取決于系統(tǒng)的硬件設計,主要是低功耗器件的選用,同時也決于系統(tǒng)的軟件設計,主要是系統(tǒng)的運行模式等。核心AT89C51單片機有睡眠(IDLE)和掉電(POWER—DOWN)兩種可用軟件編程的省電模式,通過分別置位PCON寄存器中的IDL位和PD位來做選擇。在待機方式下,晶體振蕩器頻率為12MHz,電源電壓為5V時,電源電流從20MA降至5MA,而電壓為3V時,電流由5.5MA降至1MA,由此可見其節(jié)電效果是十分明顯。任何一個中斷或硬件復位都能喚醒中斷工作模式,恢復正常工作模式。在硬件方面,在倒車時,才會接通電源,而平時是處在無電源狀態(tài)??垢蓴_問題由于汽車在工作時的高壓點火,對外有很強的電磁輻射,電磁環(huán)境惡劣,故在硬件及軟件方面就抗干擾問題都進行考濾。解決方法如下:1)良好的接地接地不良時將形成明顯的共模干擾,以及受其它高頻干擾。接地應用原則:一般高頻電路應就近多點接地,低頻電路應同一點接地。在高頻電路中,地線上具有電感,因而增加了地線阻抗,而且地線變成了天線,向外輻射噪聲信號,因此要多點就近接地。在低頻電路中,接地電路若形成環(huán)路,對系統(tǒng)影響很大,因此應同一點接地。除此之外數(shù)字電路模塊和模擬電路模塊應分開接地。2)屏蔽硬件方面,超聲波的接收在前級是弱小信號,傳感器的連接采用質量好的單芯屏蔽線,保證小信號的可靠傳輸,在信號的放大部分采用濾波器,濾去高頻和低頻干擾。發(fā)射和接收部分分塊設計,像控制器一樣用金屬外殼對外電磁場進行屏蔽,對于各種通過電磁感應引起的干擾特別有效。溫度對聲速的影響超聲波的聲速受溫度影響較大。但在本文的設計中,此測距系統(tǒng)在某一地區(qū)使用,因溫度變化不大,則可認為聲速是基本恒定不變的。如果在溫度變化很大的地區(qū)或者測距精度要求很高,則應通過溫度補償?shù)姆椒右孕U?諝庵械穆曀賑與溫度T(單位:°C)的關系可以表示為:c=331.45+0.607T為了便于對溫度信號的數(shù)據(jù)采集及處理,可采用DALASS公司生產(chǎn)的DS18B20集成溫度傳感器。DS18B20采用了DALASS公司的1-WIRE總線專利技術,能夠僅在占用控制器一個I/O口的情況下工作(芯片可由數(shù)據(jù)線供電),極大的方便了使用者的調(diào)試使用,而且其在-10℃~+85℃的工作環(huán)境下可以保持±0.5%的使用精度[17],在這個空間內(nèi)足以保證為超聲波測距設備提供足夠的精度范圍。通過DS18B20芯片獲得的數(shù)據(jù)信號經(jīng)由1-WIRE總線傳至MCU,由軟件進行聲速換算補償,能夠滿足較高精度超聲波測距的設計要求,因此可靠性得到保障。3.2硬件電路設計和PCB板的制作超聲波測距預警系統(tǒng)硬件部分由超聲波的接收電路、顯示電路、超聲波的發(fā)射電路和單片機的外圍電路等各部分組成。使用單片機的P1.0口輸出40KHZ的方波信號,經(jīng)反相器來控制超聲波的發(fā)送,以達到超聲波換能器所需的震蕩條件。利用中斷口INT0檢測超聲波接收電路接收到的返回信號,當單片機INT0引腳由高電平變?yōu)榈碗娖綍r超聲波就已經(jīng)返回。計數(shù)器計出超聲波傳播所用的時間,然后算就能夠得到與障礙物之間的距離大小。顯示電路采用結構簡單的4位LED數(shù)碼管把測量的距離顯示出來,位碼用4個PNP三極管來驅動。超聲波測距預警系統(tǒng)是利用單片機控制超聲波的發(fā)射接,并自動計時得出超聲波的往返時間,單片機采用的是AT89C51,這種單片機經(jīng)濟實用,結構簡單。并且單片機內(nèi)有4K的ROM,方便于編程。這時就可以使用單片機把各部分設計好的電路圖連接起來進行仿真了。超聲波預警系統(tǒng)電路的設計圖如附錄一汽車預警系統(tǒng)原理圖所示。4.1軟件工作過程按下控制系統(tǒng)的開關,進行系統(tǒng)的初始化,當主程序完成初始化后調(diào)用發(fā)射子程序,由P1.0口發(fā)射出1個脈沖,驅動超聲波換能器發(fā)射超聲波,并且計數(shù)器開始計時。利用定時器的計數(shù)功能記錄到超聲波發(fā)射到接受所用的時間當超聲波接收器接收到超聲波后,接收電路輸出端輸出一個跳變信號,在INT0端產(chǎn)生一個中斷的信號,得到超聲波的時間差。溫度假設不變,知道了時間和超聲波的聲波速度后,通過單片機的計算得出距離,顯示出來,到達距離極限時,啟用報警模塊。4.2主程序流程圖軟件分成兩部分,主程序和中斷服務程序,如圖4-1主程序流程圖、圖4-2定時中斷服務子程序、圖4-3外部中斷服務子程序所示。主程序完成初始化工作,各路超聲波發(fā)射和接受順序的控制。定時中斷服務子程序完成三方向超聲波的輪流發(fā)射。外部中斷服務子程序主要完成是件值得讀取,距離計算,結果的輸出等工作。定時中斷入口定時器初始化定時中斷入口定時器初始化停止發(fā)射返回發(fā)射超聲波三方向均發(fā)射完否?YN開始單片機初始化定時中斷子程序有無回撥?外部中斷子程序NY圖4-1主程序流程圖圖4-2定時中斷服務子程序外部中斷入口外部中斷入口關外部中斷開外部中斷結果輸出計算距離讀取時間值返回圖4-3外部中斷服務子程序主程序首先是對系統(tǒng)環(huán)境初始化,設置定時器T0工作模式為16位定時計數(shù)器模式。置位總中斷允許位EA并給顯示端P0和P1清零。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時約0.1ms(這也就是超聲波測距儀會有一個最小可測距離的原因)后,才打開外中斷0接受返回的超聲波信號。由于采用的是12MHz的晶振,計數(shù)器每計一個數(shù)就是1us,當主程序檢測到接收成功的標志位之后將計數(shù)器T0中的數(shù)(即超聲波來回所用的時間)按公式計算,即可得到被測物體與測距儀之間的距離,設計時取20℃時的聲速為344m/s則有:S=CT/2=172T0/10000cm其中,T0為計數(shù)器T0的計算值。測出距離后結果將以十進制BCD碼方式送往LED顯示約0.5s,然后再發(fā)超聲波脈沖重復測量過程。為了有利于程序結構化和容易計算出距離,主程序采用C語言。結論汽車倒車報警系統(tǒng)的原理是利用超聲波的發(fā)射和接收,用計時器計出超聲波從發(fā)射到接收到遇到障礙物后反射聲波的時間通過公式計算出汽車與障礙物之間的距離。它的硬件電路的設計主要包括單片機系統(tǒng)、超聲波發(fā)射電路和超聲波檢測接收電路及顯示電路三部分。單片機采用的是AT89C51系列。超聲波的發(fā)射電路主要由反相器74LS04和發(fā)射換能器構成,用單片機P1.0端口輸出超聲波發(fā)射器所需要的40kHz的方波信號。超聲波的接收采用CX20106A集成電路模塊進行。超聲波測距預警系統(tǒng)軟件設計主要包括主程序、發(fā)射子程序、外部中斷子程序和數(shù)碼顯示子程序。雖然在本次畢業(yè)設計中已經(jīng)通過認真的思考,但是還有很多不足的地方。在本設計中有兩點不足之處,一是沒有把汽車速度的測量設計到汽車防撞預警系統(tǒng)中去,對于這一方面還沒有充分的研究,對于測速的初步想法就是利用多普勒效應測出汽車的行駛速度,然后根據(jù)測出的速度確定汽車與障礙物之間的極限安全距離在由單片機智能控制發(fā)出報警信號。二是對于溫度對超聲波傳播速度的影響,本設計把溫度設為常溫不變,實際溫度對超聲波速度影響很大,所以就降低了超聲波的抗干擾能力,對于溫度補償?shù)某醪较敕ㄊ怯脺囟葌鞲衅鲗ζ嚪雷差A警系統(tǒng)進行溫度補償,消除了溫度對于超聲波聲速的影響??傮w而言,這次設計達到預期效果,實物可以顯示預期要求,而且這次設計時做實物,就更提高了我的動手能力,能讓我更好的把理論運用到實際中去,時間有限,不能進一步的深入,希望有時間時可以對本設計進一步完善,對不足之處進行補充修改。致謝歷時一個月的畢業(yè)設計已經(jīng)告一段落。經(jīng)過自己的探索努力以及瞿老師的幫助,本設計已經(jīng)基本完成。同時利用學校圖書室及老師的指導為我的設計提供了很多的幫助。在此對幫助過我的同和老師表示深深的感謝。通過這次畢業(yè)設計,使我深刻地認識到學好專業(yè)知識的重要性,也理解了理論聯(lián)系實際的含義,這次畢業(yè)設計使我對單片機有了更加深刻的了解和掌握。并且檢驗了大學三年的學習成果。雖然在這次設計中對于知識的運用和銜接還不夠熟練。但是我將在以后的工作和學習中繼續(xù)努力、不斷完善。這一個月的設計是對過去所學知識的系統(tǒng)提高和擴充的過程,為今后的發(fā)展打下了良好的基礎。由于自身能力水平有限,設計中一定存在很多不足之處,敬請各位老師批評指正。

參考文獻主要參考文獻、資料(寫清楚參考文獻名稱、作者、出版單位):[1]張彭洋.汽車倒車測距系統(tǒng)的研究與設計[J].天工,2019(06):122-123.[2]崔仁杰.智能倒車鏡系統(tǒng)的設計[J].電子制作,2018(22):35-36+68.[3]陳灝.基于超聲波測距的倒車報警系統(tǒng)設計[J].內(nèi)燃機與配件,2018(20):5-7.[4]戴庚.基于STC89C52的汽車智能報警系統(tǒng)的設計[J].電子技術與軟件工程,2018(01):244.[5]許洋洋,王瑩.汽車智能防撞報警系統(tǒng)設計[J].自動化技術與應用,2014,33(12):95-98+102.[6]仇成群,胡天云.基于單片機的汽車倒車防撞報警系統(tǒng)設計[J].現(xiàn)代制造工程,2010(12):111-114.

附錄一

附錄二#include<reg52.h>#include<intrins.h>#defineucharunsignedchar //以后unsignedchar就可以用uchar代替#defineuintunsignedint //以后unsignedint就可以用uint代替sfrISP_DATA=0xe2; //數(shù)據(jù)寄存器sfrISP_ADDRH=0xe3; //地址寄存器高八位sfrISP_ADDRL=0xe4; //地址寄存器低八位sfrISP_CMD=0xe5; //命令寄存器sfrISP_TRIG=0xe6; //命令觸發(fā)寄存器sfrISP_CONTR=0xe7; //命令寄存器sbitLcdRs_P=P2^7; //1602液晶的RS管腳sbitLcdRw_P=P2^6; //1602液晶的RW管腳sbitLcdEn_P=P2^5; //1602液晶的EN管腳sbitTrig_P=P2^2; //超聲波模塊的Trig管腳sbitEcho_P=P2^3; //超聲波模塊的Echo管腳sbitKeySet_P=P3^2; //“設置”按鍵的管腳sbitKeyDown_P=P3^3; //“減”按鍵的管腳sbitKeyUp_P=P3^4; //“加”按鍵的管腳sbitBuzzer_P=P2^1; //蜂鳴器的管腳sbitLed_P=P2^0; //LED報警燈的管腳//sbitDQ=P1^0; //溫度傳感器的引腳定義uintgAlarm; //報警距離變量floatgSpeed; //保存超聲波的速度值voidISP_Disable(){ ISP_CONTR=0; ISP_ADDRH=0; ISP_ADDRL=0;}voidISP_Disable(){ ISP_CONTR=0; ISP_ADDRH=0; ISP_ADDRL=0;}unsignedcharEEPROM_Read(unsignedintadd){ ISP_DATA=0x00; ISP_CONTR=0x83; ISP_CMD=0x01; ISP_ADDRH=(unsignedchar)(add>>8); ISP_ADDRL=(unsignedchar)(add&0xff); //對STC89C51系列來說,每次要寫入0x46,再寫入0xB9,ISP/IAP才會生效 ISP_TRIG=0x46; ISP_TRIG=0xB9; _nop_(); ISP_Disable(); return(ISP_DATA);}voidEEPROM_Write(unsignedintadd,unsignedcharch){ ISP_CONTR=0x83; ISP_CMD=0x02; ISP_ADDRH=(unsignedchar)(add>>8); ISP_ADDRL=(unsignedchar)(add&0xff); ISP_DATA=ch; ISP_TRIG=0x46; ISP_TRIG=0xB9; _nop_(); ISP_Disable();}voidSector_Erase(unsignedintadd) { ISP_CONTR=0x83; ISP_CMD=0x03; ISP_ADDRH=(unsignedchar)(add>>8); ISP_ADDRL=(unsignedchar)(add&0xff); ISP_TRIG=0x46; ISP_TRIG=0xB9; _nop_(); ISP_Disable();}voidDelayMs(uinttime){ uinti,j; for(i=0;i<time;i++) for(j=0;j<112;j++);}voidDelay15us(void){ _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();}voidLcdWriteCmd(ucharcmd){ LcdRs_P=0; LcdRw_P=0; LcdEn_P=0; P0=cmd; DelayMs(2); LcdEn_P=1; DelayMs(2); LcdEn_P=0; }voidLcdWriteData(uchardat){ LcdRs_P=1; LcdRw_P=0; LcdEn_P=0; P0=dat; DelayMs(2); LcdEn_P=1; DelayMs(2); LcdEn_P=0;}voidLcdInit(){ LcdWriteCmd(0x38);//16*2顯示,5*7點陣,8位數(shù)據(jù)口 LcdWriteCmd(0x0C);//開顯示,不顯示光標 LcdWriteCmd(0x06);//地址加1,當寫入數(shù)據(jù)后光標右移 LcdWriteCmd(0x01);//清屏}voidLcdGotoXY(ucharline,ucharcolumn){ //第一行 if(line==0) LcdWriteCmd(0x80+column); //第二行 if(line==1) LcdWriteCmd(0x80+0x40+column);}voidLcdPrintStr(uchar*str){ while(*str!='\0') LcdWriteData(*str++);}voidLcdPrintNum(uintnum){ LcdWriteData(num/100+0x30); //百位 LcdWriteData(num%100/10+0x30); //十位 LcdWriteData(num%10+0x30); //個位}voidLcdPrintTemp(inttemp){ if(temp<0) { LcdWriteData('-'); //負號 temp=0-temp; //負數(shù)轉為正數(shù) } if(temp>999) { LcdWriteData(temp/1000+0x30); //百位 } LcdWriteData(temp%1000/100+0x30); //十位 LcdWriteData(temp%100/10+0x30); //個位 LcdWriteData('.'); //小數(shù)點 LcdWriteData(temp%10+0x30); //小數(shù)后一位 LcdWriteData(0xdf); //攝氏度符號 LcdWriteData('C'); LcdWriteData('');}uintGetDistance(void){ uintss; //用于記錄測得的距離 TH0=0; TL0=0; Trig_P=1; //給超聲波模塊一個開始脈沖 DelayMs(1); Trig_P=0; while(!Echo_P); //等待超聲波模塊的返回脈沖 TR0=1; //啟動定時器,開始計時 while(Echo_P); //等待超聲波模塊的返回脈沖結束 TR0=0; //停止定時器,停止計時 ss=((TH0*256+TL0)*gSpeed)/2; //距離cm=(時間us*速度cm/us)/2 if(ss>999) //把檢測結果限制999厘米內(nèi) ss=999; returnss;}voidKeyScanf(){ uchari; uchardat1,dat2; if(KeySet_P==0) //判斷是否有按鍵按下 { LcdGotoXY(1,0); //液晶第二行刷新顯示 LcdPrintStr("alarm=cm"); LcdGotoXY(1,8); LcdPrintNum(gAlarm); //顯示當前的報警值 DelayMs(10); //消除按鍵按下的抖動 while(!KeySet_P); //等待按鍵釋放 DelayMs(10); //消除按鍵松開的抖動 i=1; while(i) { if(KeyDown_P==0) //報警值減的處理 { while(KeyDown_P==0); if(gAlarm>2) gAlarm--; LcdGotoXY(1,8); LcdPrintNum(gAlarm); DelayMs(300); } if(KeyUp_P==0) //報警值加的處理 { while(KeyUp_P==0); if(gAlarm<400) gAlarm++; LcdGotoXY(1,8); LcdPrintNum(gAlarm);

溫馨提示

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

評論

0/150

提交評論