用MC68HC705J1A實現(xiàn)超聲波汽車倒泊防撞報警器的設計
jsr del450μs ;延時450μs
lda #00
sta ,x ;用于計時的緩沖單元清0
next: lda porta ;檢測處理器接收管腳是否為低電平
and #$03
cmp #$02
bne check ;檢測到低電平,退出計時
cmp #$01
bne check ;檢測到低電平,退出計時
cmp #$03
bne check ;檢測到低電平,退出計時
jsr del20μs
inc ,x ;計時緩沖單元內(nèi)容加1
lda #$max
cmp ,x ;判斷計時值是否超過限定最大值max
beq check ;若超過,退出計時
jmp next ;否則,繼續(xù)檢測計時
check: incx ;緩沖區(qū)地址加1
jsr distance ;調(diào)用計算距離子程序
jsr aver ;調(diào)用求平均值子程序,同時設置距離標志flag和報警參數(shù)
jsr alarm ;調(diào)用報警子程序,根據(jù)報警參數(shù)報警
jsr del30ms ;延時30ms
jmp transmit ;繼續(xù)下一次檢測
end
實際使用證明,該報警器性能比較穩(wěn)定,已達到實用要求。硬件設計中充分考慮了反射信號的復雜性和不穩(wěn)定性,對反射信號進行了一系列的濾波、放大與檢波處理。軟件設計采用結構化程序設計思想,結構簡潔,尤其是獨特的報警算法,避免了定時器中斷對檢測精度的影響。
分析可知,該報警器在性能上還可以做如下改進:
(1)采集數(shù)據(jù)的處理算法問題。該報警器采用的是連續(xù)10次采集數(shù)據(jù)求平均值的處理算法。當環(huán)境比較復雜時,采集數(shù)據(jù)會出現(xiàn)0或隨機數(shù)情況,對平均值算法的結果有很大影響,不利于測距精度的提高,所以選擇優(yōu)化算法是軟件設計仍需改進的難點之一。
(2)改進采樣方式。該報警器采用查詢方式采樣數(shù)據(jù),查詢一次的步長是50ms,因此每次采樣的最大誤差是50ms。如果采用其它方式檢測,例如中斷方式,還可以將采樣誤差控制到最小。
(3)溫度對聲速的影響。如果考慮環(huán)境溫度變化對聲速的影響,硬件設計中必須進行溫度檢測,在軟件中進行溫度補償計算,進一步減小測距誤差,使性能更加穩(wěn)定。
評論