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