基于單片機的超聲波測距儀設計
2.5 顯示電路
本設計中采用四位一體共陽極數(shù)碼管SM410564作為顯示器件。其非公共端接到單片機的P0口上,公共端接到P2口的P2.0~P2.3四個引腳上,以動態(tài)掃描的方式進行掃描。由于P2口的驅(qū)動能力有限,因此數(shù)碼管的公共端沒有直接接到P2口上,而是通過P2口控制四個三極管的導通與關斷來給數(shù)碼管供電的。顯示電路如圖11所示。
3 超聲波測距儀的軟件系統(tǒng)設計
超聲波測距的軟件系統(tǒng)主要包括主程序、外部中斷程序、定時中斷程序,以及需要調(diào)用的若干個子程序。
3.1 主程序
主程序流程圖如圖12所示,系統(tǒng)初始化后調(diào)用超聲波發(fā)射子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器而引起直射波觸發(fā),延時后,方打開外中斷0接收返回的超聲波信號。主程序檢測到成功接收的標志位后,進入計算子程序,獲得被測物體與測距器之間的距離。
3.2 測溫子程序
測距時,單片機與DS18B20通信經(jīng)過如下三個步驟:對DS18B20復位、復位之后發(fā)送ROM指令、發(fā)送RAM指令。由于本設計為單點溫度測量,只用到一片DS18B20,所以,發(fā)送的ROM指令為跳過ROM指令(0CCH)。測溫子程序流程圖如圖13所示。
3.3 定時中斷程序
定時中斷程序的作用是判斷發(fā)射時間、延時時間和接收時間。在不同的時間間斷內(nèi),確保系統(tǒng)內(nèi)的全局變量S作出相應的變化。定時中斷程序的流程如圖14所示。
4 結(jié)論
本文設計了一種基于單片機的超聲波測距儀。設計中采用MAX232對電路進行升壓,提高了超聲換能器的輸出能力,從而提高了測距的距離。采用了紅外接收芯片CX20106A,減少了電路之間的相互干擾,提高了接收信號的靈敏度。同時,設計中采用數(shù)字溫度傳感器DS18B20為溫度補償電路,提高了測量精度和智能化程度,并在一定程度上降低了系統(tǒng)成本。本超聲波測距儀經(jīng)試驗運行良好,性能優(yōu)良、成本低、能有效改善測量技術,適合于機器人檢測、家具安防、汽車倒車等小距離測量。
評論