房明寬 李姿* 沈陽(yáng)工學(xué)院
隨著經(jīng)濟(jì)的發(fā)展,人們生活水平的提高,當(dāng)今社會(huì)車(chē)輛已經(jīng)逐漸成為了人們?nèi)粘I钪兄陵P(guān)重要的一部分,以車(chē)代步已經(jīng)逐漸成為了我們的生活方式。關(guān)于汽車(chē)的各種新技術(shù)也層出不窮,但是在平日的生活當(dāng)中我們經(jīng)常會(huì)遇到這樣的問(wèn)題,如汽車(chē)在??炕虻管?chē)時(shí),往往需要通過(guò)后視鏡去估計(jì)倒車(chē)的距離,這樣不僅十分不便,而且一不小心還會(huì)造成經(jīng)濟(jì)損失,本次設(shè)計(jì)的汽車(chē)倒車(chē)防撞系統(tǒng)很好的解決了這種問(wèn)題,使倒車(chē)更加便利與安全。
本次設(shè)計(jì)采用的單片機(jī)的型號(hào)為STC89C51,通過(guò)C語(yǔ)言實(shí)現(xiàn)軟件編程來(lái)處理超聲波測(cè)距模塊發(fā)送的反還值。整個(gè)單片機(jī)內(nèi)部程序可以分為主程序、子程序、中斷子程序等幾個(gè)主要部分組成。整個(gè)系統(tǒng)的控制流程如圖1所示,在單片機(jī)進(jìn)行初始化后,系統(tǒng)會(huì)自動(dòng)打開(kāi)定時(shí)器開(kāi)始計(jì)時(shí),程序會(huì)進(jìn)入中斷響應(yīng)等待。本次使用的子程序的功能如下:
中斷服務(wù)程序是響應(yīng)單片機(jī)的外部中斷。在系統(tǒng)主程序中,發(fā)射的40KHz脈沖信號(hào)遇到障礙物反射后,經(jīng)接收檢測(cè)電路產(chǎn)生外部中斷信號(hào)并發(fā)送至單片機(jī)。在中斷服務(wù)程序中,把進(jìn)入中斷服務(wù)程序處的計(jì)數(shù)值讀出并對(duì)該數(shù)據(jù)進(jìn)行處理,計(jì)算得到相應(yīng)的距離值輸出。
由于51單片機(jī)是16位定時(shí)器,當(dāng)測(cè)量的距離很遠(yuǎn)的時(shí)候,定時(shí)器就會(huì)發(fā)生溢出;所以必須對(duì)溢出中斷進(jìn)行相應(yīng)的設(shè)置才能使得單片機(jī)正常工作。同時(shí)由于電路的測(cè)量距離有限最遠(yuǎn)為5米,當(dāng)測(cè)量距離超出5米時(shí),接收探頭就不能檢測(cè)回波。
圖1 倒車(chē)防撞系統(tǒng)中單片機(jī)內(nèi)部程序的流程圖
首先超聲波模塊采用IO觸發(fā)測(cè)距,當(dāng)模塊接通高電平后,模塊會(huì)自動(dòng)發(fā)送8個(gè)40kHz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;當(dāng)接收到信號(hào)返回時(shí),該模塊就會(huì)通過(guò)I/O輸出一高電平,高電平持續(xù)的時(shí)間為T(mén)。通過(guò)超聲波從發(fā)射到返回的時(shí)間,測(cè)得距離=(T*聲速(340M/S))/2。
圖2 倒車(chē)防撞系統(tǒng)的實(shí)物圖
在本次設(shè)計(jì)中,設(shè)計(jì)的目的是利用超聲波距離模塊來(lái)判斷倒車(chē)過(guò)程中是否有障礙物的出現(xiàn),并防止剮蹭。當(dāng)超聲波測(cè)距模塊檢測(cè)到倒車(chē)過(guò)程中車(chē)部后方出現(xiàn)障礙物時(shí),系統(tǒng)會(huì)發(fā)出警報(bào)并在顯示器上會(huì)顯示出與障礙物的當(dāng)前距離,提醒車(chē)主小心行駛。本次設(shè)計(jì)還有一些難以實(shí)現(xiàn)的問(wèn)題,如超聲波模塊無(wú)法檢測(cè)到超出5米范圍外的物體,所以無(wú)法實(shí)現(xiàn)高速情況下的倒車(chē)預(yù)防,且倒車(chē)防撞系統(tǒng)無(wú)法很好地解決在霧霾或陰雨天的檢測(cè)。