一種智能汽車防撞報警器的設計開發
主程序框圖如圖2所示。
本程序對工作過程分了8個狀態:準備狀態(t0~t1)、發射超聲波(t1~t2)、不接收信號時間(t2~t3)、等待聲波反射時間(t3~t4)、測反射的個數(t4~t5)、不計反射波個數,間歇一段時間(t5~t6)、再測波的個數(t6~t7)、間歇時間(t7~t0)。為測得超聲波收發時間差 t,換算成距離s和判斷是否報警,程序中使用了兩個函數:
一個是void t0Interrupt(void)interTupt:1 using 1,它是t0計時中斷函數,通過switch語句處理由工作過程分成的8種狀態。
另外一個是函數void intInterrupt(void)interrupt2 using 2,它處理反射回來的輸入信號,發生在t3~r4階段,主要是由int1外部中斷來得出時間distanceIn-time,并啟動T1計數器,它用來計算反射波個數。
評論