羅紫陽,陳 鵬
(成都理工大學信息科學與技術(shù)學院,成都 610059)
隨著近年來車輛飛速增長,人們對車輛的倒車距離測量也提出了更高的要求。在天氣惡劣的情況下,傳統(tǒng)的測距手段已不能滿足我們的需求。因此,超聲波測距的出現(xiàn)解決了這一問題,不僅能適應(yīng)各種外界條件且在穩(wěn)定可靠的基礎(chǔ)上實現(xiàn)了高精度測量。本文基于以上理念,要求設(shè)計出一種可以實時反饋距離信息,且距離過近會提示報警信號的超聲波測距控制系統(tǒng)。
本設(shè)計以STC89C52作為中心器件,以及電容、電阻、晶振等元器件,組成了單片機的最小系統(tǒng)。其他功能模塊也是以單片機最小系統(tǒng)為中心來開展。其中包含:(1)超聲波模塊HCSR04,通過它來實現(xiàn)超聲波的發(fā)送以及接收,最終來完成距離的測量;(2)顯示模塊,應(yīng)用LCD1602作為顯示模塊,擔任把測量到的數(shù)值顯示出來的任務(wù);(3)按鍵模塊,主要是完成報警值的設(shè)置;(4)聲光報警模塊,如果測量值小于設(shè)定值,就會聲光報警;(5)電源模塊,運用5V的電源進行供電。

圖1 超聲波測距系統(tǒng)結(jié)構(gòu)框圖
(1)超聲波傳感器:HC-SR04超聲波傳感器模塊可用于各種外界條件的檢測。其具有兩個探頭,一個用于發(fā)射超聲波,一個用于接收超聲波。在發(fā)射過程中如遇見障礙物則會反饋回超聲波信號。
(2)顯示模塊:LCD1602液晶顯示模塊,通過液晶實現(xiàn)將所測量的距離信息顯示出來,方便人們實時了解系統(tǒng)的工作情況。
(3)按鍵模塊:通過三個獨立按鍵實現(xiàn)“設(shè)定報警距離”、“加1”、“減1”的設(shè)置。
(4)聲光報警模塊:應(yīng)用蜂鳴器和發(fā)光二極管(LED)實現(xiàn)如果所測距離小于所設(shè)置的報警值則會發(fā)聲發(fā)光,以提示用戶距離過近。
(5)電源模塊:本設(shè)計的STC89C52單片機,需要5V的供電電壓。我們可以使用USB接口、移動電源等來進行供電。
本設(shè)計的主控單元是STC89C52單片機,在主程序中,首先執(zhí)行初始液晶顯示器的和定時器的動作,并且液晶顯示的初始化包括執(zhí)行的初始化和顯示器的內(nèi)容的初始化,然后進入無限循環(huán)顯示的過程。進入環(huán)路的第一項任務(wù)是啟動超聲波模塊并通過LCD1602顯示測量距離。接著判斷該測得的距離是否小于設(shè)置的值,假如是小于的話,就會發(fā)生聲光報警。完成第一項任務(wù)后就開始了按鍵的掃描,此時會判別是否按鍵有動作發(fā)生,假如有按鍵被按下的話,就會進行設(shè)定報警值的動作。至此,完成了一次循環(huán)的過程,之后反復開始任務(wù)并不斷如此循環(huán)。
液晶開始顯示之前,必須先確定一個位置,表示要在哪個地方顯示,比如第1行第5列的位置。在完成坐標定位之后就可以開始顯示內(nèi)容了。液晶在顯示的時候,是一位一位完成的。顯示字符串的話,也是一樣的道理。要說明的是,每次顯示一串字符或一個數(shù)字的時候,只需在最開始的時候完成一次定位,之后每顯示完一個字符,液晶會自動跳到下一個位置的,無需每個字符都定位一次。
首先由單片機發(fā)送一個觸發(fā)信號,經(jīng)過Trig引腳再發(fā)送給超聲波模塊,超聲波模塊收到這個信號后啟動測距,此時程序檢測Echo返回高電平,該引腳低電平表示正在測距,低電平轉(zhuǎn)高電平表示測距完成。在收到超聲波模塊Echo引腳的低電平轉(zhuǎn)高電平信號之后,啟用定時器,計時Echo引腳輸出的高電平的持續(xù)時間,然后關(guān)閉定時器。此高電平持續(xù)的時間,即超聲波往復的時間。只要根據(jù)公式:,由于來回運行,計算出的距離除以2即為最終檢測距離。
本文論述了利用超聲波來實現(xiàn)測距的原理、硬件電路和軟件設(shè)計方法的實現(xiàn),利用微控制器的運算以及控制功能,開發(fā)出一種便捷適用的超聲波測距系統(tǒng),該系統(tǒng)具備速度快,精度高,易于實時控制的特點可有效提升智能化時代下人們的生活品質(zhì)。隨著科學技術(shù)的飛速發(fā)展,超聲波的使用將越來越寬泛,這是一個爆炸性增長的技術(shù)和行業(yè)領(lǐng)域,并提供無限的前景。