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