基于MSP430單片機的倒車雷達設計
2 系統(tǒng)的軟件設計
2.1 總體思路
軟件設計采用模塊化設計, 包括主程序設計、T1 中斷服務子程序、INT0 外部中斷服務子程序、距離計算子程序、顯示子程序、延時子程序和報警子程序設計等。
系統(tǒng)初始化后就啟動定時器T1 從0 開始計數, 此時主程序進入等待,當到達65 ms 時T1 溢出進入T1 中斷服務子程序;在T1 中斷服務子程序中將啟動一次新的超聲波發(fā)射, 此時將在P1.0 引腳上開始產生40 kHz 的方波,同時開啟定時器T0 計時,為了避免直射波的繞射, 需要延遲1 ms 后再開INT0 中斷允許;INT0 中斷允許打開后,若此時P3.2(INT0)引腳出現低電平則代表收到回波信號,將提出中斷請求進入INT0 中斷服務子程序,在INT0 中斷服務子程序中將停止定時器T0 計時,讀取定時器T0 時間值到相應的存儲區(qū),同時設置接收成功標志;主程序一旦檢測到接收成功標志,將調用測溫子程序,采集超聲波測距時的環(huán)境溫度,并換算出準確的聲速,存儲到RAM 存儲單元中;單片機再調用距離計算子程序進行計算,計算出傳感器到目標物體之間的距離;此后主程序調用顯示子程序進行顯示;若超過設定的最小報警距離還將啟動揚聲器報警;當一次發(fā)射、接收、顯示的過程完成后,系統(tǒng)將延遲100 ms 重新讓T1 置初值,再次啟動T1 以溢出,進入下一次測距。如果由于障礙物過遠,超出量程,以致在T0 溢出時尚未接收到回波,則顯示ERROR重新回到主流程進入新一輪測試。
2.2 超聲波發(fā)射和接收部分軟件
超聲波的接收及障礙物和汽車之間的距離判斷方法,并根據判斷出的距離觸發(fā)報警器工作,其工作原理的流程圖如圖2.1 所示。
圖2.1 超聲波測距流程圖
超聲波發(fā)射子程序的任務: 控制時基電路輸出若干個超聲波,并同時啟動T0 開始計時。在此過程中,要計時采用屏蔽中斷,開中斷等操作,避免外中斷影響該子程序的有效執(zhí)行。
本系統(tǒng)使用一個中斷,即外部中斷INTO 是超聲波有效回送的指示信號,當中斷觸發(fā)時,可以根據時間差計算出超聲波的傳輸距離。內部定時器TO 用來計時,在發(fā)射子程序開始時,啟動T0 開始工作,而在INTO 中斷服務程序時, 停止T0 計時, 并讀取計時值用以計算距離。
距離子程序是根據MSP430 芯片計數器所提供的傳輸時間進行計算,并根據計算得出超聲波的傳輸距離。根據主程序的需要,將相關數據存入相關單元,以供主程序進行下一步處理。INTO 中斷服務程序將定時器中的值存入R1、R0 兩個寄存器中, 根據模值減去處置所得到的數值得出時間差。傳輸距離根據公式S=V*T 進行計算。目標物的距離值,也按公式計算,其中T 為測出的額計數器的計時差值,單位為us.使用該公式即可計算出目標物與汽車的距離。
3 總結
系統(tǒng)利用超聲波在空氣中的可傳播性,實時測得超聲波在空氣中的傳播時間和傳播速度,在將時間和速度相乘即得距離的原理,設計了一個基于MSP430 的超聲波倒車雷達監(jiān)測報警系統(tǒng),用于實時測得汽車尾部與障礙物的距離,通過LCD 顯示距離值,將距離值提供給司機,該系統(tǒng)具有成本低、非接觸、速度快、可靠性強、適應性好、操作方便,有著廣泛的應用前景。
實踐應用表明,該設計在生產應用和科學研究方面均具有一定的價值。一方面產品設計的人機界面更為人性化,司機可直接通過LCD顯示屏觀察車后的詳細狀況,不需要回頭就可以倒車,大大減少了汽車司機的工作量,避免了引導車不慎造成交通事故;另一方面系統(tǒng)不斷采集汽車與障礙物之間的距離, 并通過語音報警系統(tǒng)實時提醒司機,為我們的倒車提供了更為安全的保障,從而使我們在倒車的時候更方便快捷,同時也更為安全可靠。
評論