虞新軍,鄧玉良
1.金山職業(yè)技術(shù)學(xué)院,江蘇鎮(zhèn)江 212200 2.江蘇省金壇中等專業(yè)學(xué)校,江蘇金壇 212300
基于MSP430單片機控制的超聲波測距儀軟件系統(tǒng)設(shè)計
虞新軍1,鄧玉良2
1.金山職業(yè)技術(shù)學(xué)院,江蘇鎮(zhèn)江212200 2.江蘇省金壇中等專業(yè)學(xué)校,江蘇金壇212300
摘要本設(shè)計是一種基MSP430單片機的超聲波測距器。該測距器采用MSP430F123電路,通過主程序設(shè)計、中斷程序設(shè)計、測溫程序和測距程序設(shè)計,實現(xiàn)發(fā)射電路的控制和接收數(shù)據(jù)的處理。利用超聲波檢測可以快速、簡便、容易做到實時控制,具有很強的實用推廣價值。
關(guān)鍵詞超聲波傳感器;測距儀;MSP430F123
下圖1可以簡單說明超聲波測距的工作過程,即超聲波發(fā)生器(T)在某一時間發(fā)出超聲波信號,當(dāng)這個信號遇到被測物體后立刻反射回來,就被超聲波接收器(R)接收到。只要計算出從發(fā)射出超聲波信號到接收到返回超聲波信號所用的時間差,就可以算出超聲波發(fā)生器和被測物體之間的距離了。
該距離計算公式表示為:d=s/2=(vt)/2
其中:其中距離d就是被測物體到測距儀之間的距離,s就是超聲波往返經(jīng)過的距離,v就是超聲波在介質(zhì)當(dāng)中的傳播速度,t就是超聲波開始發(fā)射到接收時所用時間。
主程序完成單片機初始化,經(jīng)過延時再判斷是否中斷,若是則進行測量數(shù)據(jù)的處理;若否則跳轉(zhuǎn)回延時再判斷是否中斷,重復(fù)判斷。數(shù)據(jù)處理后將處理過后的數(shù)據(jù)即測量的距離顯示在數(shù)碼顯示管上。其主程序流程圖如圖2。
上述主程序是利用外中斷0檢測到返回超聲波信號的,一旦接收成功返回超聲波信號,就立即進入了中斷程序。進入中斷程序后就會立即關(guān)閉計時器T0,同時停止計時,并可以將測距成功標(biāo)志字賦值為1。如果計時器溢出時候還沒有檢測到超聲波的返回信號,那么定時器T0的溢出中斷將會外中斷0立即關(guān)閉,同時將測距成功標(biāo)志字賦值2,表示此次測距失敗。中斷設(shè)計流程圖如圖3。
每一個DS18B20在它的內(nèi)存ROM中都存在其唯一的48位序列號,出廠前都已寫入內(nèi)存ROM中。操作主機前,進入時必須用讀取ROM(33H)命令將該DS18B20的序列號一一讀出。
圖4所示為測溫程序流程圖。
主程序首先應(yīng)該對系統(tǒng)環(huán)境進行初始化,設(shè)置系統(tǒng)定時器T0的工作模式為16位定時計數(shù)器模式,置位總的中斷允許位為EA,并同時給顯示端口P0口和P2口清0。緊接著立即送出一個超聲波脈沖,為了避免超聲波產(chǎn)生的直接波觸發(fā),則需要延遲0.1ms后,才可以打開外部
中斷0接收到的返回超聲波信號。
其測距流程圖如圖5所示。
本次設(shè)計的超聲波測距儀具有準(zhǔn)雙向測距的功能,穩(wěn)定性很高、較靈敏,盲區(qū)范圍很小,分辨率<0.2m,被測量的目標(biāo)不需要直接垂直于測距儀,測量的角度可以保持在正負(fù)30°,還有一個優(yōu)點就是被測的目標(biāo)表面可以不平坦。但是缺點還是比較多的,比如測量的距離較小,大概在5米以內(nèi);測量時的可靠性還要加強,后續(xù)很多地方還要進行改進。
參考文獻
[1]張謙琳.超聲波檢測原理和方法[M].北京:中國科技大學(xué)出版社,1993.
[2]周立功.RAM嵌入式系統(tǒng)基礎(chǔ)教育[M].北京:航空航天大學(xué)出版社,2005.
[3]樓然苗,李光飛.單片機課程設(shè)計知道[M].北京:航空航天大學(xué)出版社,2007.
中圖分類號TP39
文獻標(biāo)識碼A
文章編號1674-6708(2015)139-0161-01