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