提高超聲波測距系統精度中的應用設計
254 的每個(gè)定時(shí)器都有一個(gè)控制口 GATE,可利用發(fā)射波與回波直接啟停該定時(shí)器,而不必把發(fā)射波與回波接至單片機,通過(guò)查詢(xún)或中斷再啟停定時(shí)器,這樣即可提高測距系統的響應速度,減少了系統自身的誤差,提高準確度。
3 硬件結構
假設超聲波測距系統采用 8031 單片機為控制核心,使用 8254 的 0#定時(shí)器記數,CLK0 信號由外部電路提供準確的 4MHz 脈沖信號(可通過(guò)74LS390 等分頻器分頻獲得),利用一個(gè) JK 觸發(fā)器的輸出作為 8254 0#定時(shí)器的門(mén)控信號 GATE0,回波信號同時(shí)作為單片機 INT 0的中斷響應信號。初始化時(shí),由 8031 單片機的 P1.0 口對JK觸發(fā)器清 0,8254 的 T0 不計時(shí);發(fā)射波產(chǎn)生后,JK 觸發(fā)器翻轉,T0 開(kāi)始工作,計數初值不斷減 1;超聲波傳感器收到回波后,使 JK 觸發(fā)器再次翻轉,8254 的 T0 停止工作,回波信號同時(shí)觸發(fā)單片機中斷,在中斷服務(wù)子程序讀出計數器計數初值中所剩余的值,然后計算出距離,通過(guò)顯示電路即可將測出的距離顯示出來(lái)。硬件結構如圖 2 所示
4 軟件設計
軟件分主程序和中斷服務(wù)程序為兩部分。主程序完成單片機和 8254 計數器的初始化工作、超聲波的發(fā)射與回波的檢測以及中斷控制。中斷服務(wù)子程序主要完成時(shí)間值的讀取、系統復位、距離計算和結果的輸出等工作。主程序和中斷服務(wù)子程序的流程圖如圖 3,圖 4 所示。
評論