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