51單片機設(shè)計測距儀原理及其應(yīng)用
5l系列單片機中典型芯片(AT89C51)采用40引腳雙列直插封裝(DIP)形式,內(nèi)部由CPU,4kB的ROM,256 B的RAM,2個16b的定時/計數(shù)器TO和T1,4個8 b的工/O端I:IP0,P1,P2,P3,一個全雙功串行通信口等組成。特別是該系列單片機片內(nèi)的Flash可編程、可擦除只讀存儲器(E~PROM),使其在實際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。該系列單片機引腳與封裝如圖1所示。
5l系列 單片機 提供以下功能:4 kB存儲器;256 BRAM;32條工/O線;2個16b定時/計數(shù)器;5個2級中斷源;1個全雙向的串行口以及時鐘電路。
空閑方式:CPU停止工作,而讓RAM、定時/計數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。
掉電方式:保存RAM的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下一次硬件復(fù)位。
5l系列 單片機 為許多控制提供了高度靈活和低成本的解決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測距系統(tǒng)。
2 單片機 實現(xiàn)測距原理
單片機 發(fā)出超聲波測距是通過不斷檢測超聲波發(fā)射后遇到障礙物所反射的回波,從而測出發(fā)射和接收回波的時間差tr,然后求出距離S=Ct/2,式中的C為超聲波波速。
限制該系統(tǒng)的最大可測距離存在4個因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤差,可采用多個超聲波換能器分別作為多路超聲波發(fā)射/接收的設(shè)計方法。由于超聲波屬于聲波范圍,其波速C與溫度有關(guān),表1。列出了幾種不同溫度下的波速。
在測距時由于溫度變化,可通過溫度傳感器自動探測環(huán)境溫度、確定計算距離時的波速C,較精確地得出該環(huán)境下超聲波經(jīng)過的路程,提高了測量精確度。波速確定后,只要測得超聲波往返的時間r,即可求得距離5。其系統(tǒng)原理框圖如圖2所示。
單片機 (AT89C51)發(fā)出短暫的40kHz信號,經(jīng)放大后通過超聲波換能器輸出;反射后的超聲波經(jīng)超聲波換能器作為系統(tǒng)的輸入,鎖相環(huán)對此信號鎖定,產(chǎn)生鎖定信號啟動單片機中斷程序,得出時間t,再由系統(tǒng)軟件對其進行計算、判別后,相應(yīng)的計算結(jié)果被送至LED顯示電路進行顯示,若測得的距離超出設(shè)定范圍系統(tǒng)將提示聲音報警電路報警。
AT89C51通過外部引腳P2.0輸出脈沖寬度為25/us、載波為40kHz的超聲波脈沖串,加到射隨器的基級,經(jīng)功率放大推動超聲波發(fā)射器發(fā)射出去。超聲波接收器將接收到的反射超聲波送到放大器進行放大,然后用鎖相環(huán)電路進行檢波。經(jīng)處理后輸出低電平,送到AT89C51的引腳利用該原理設(shè)計的實例:汽車防撞雷達
3.1 系統(tǒng)硬件設(shè)計
汽車防撞雷達可以幫助駕駛員及時了解車周圍阻礙情況,防止汽車在轉(zhuǎn)彎、倒車等情況下撞傷、劃傷。其接收部分硬件電路如圖3所示,發(fā)射、預(yù)置\控制、顯示部分硬件電路如圖4所示。
sP3.2,提供給軟件進行處理。經(jīng)過AT89C51對接收到的信息進行處理后,被測的距離茬LED上顯示,顯示的數(shù)據(jù)由串口線RXD和TXD輸出到74LSl64,轉(zhuǎn)化為并行數(shù)據(jù)控制LED的顯示,采用動態(tài)顯示。兩位LED可表示4.9~0.1 m的距離,滿足顯示精度;若該距離小于預(yù)置的汽車低速安全剎車范圍(如:1 n)或0.5m),報警電路發(fā)出適當(dāng)?shù)木嫣崾疽?,由P2.1的輸出控制報警電路的工作。
3.2 系統(tǒng)軟件設(shè)計
汽車防撞雷達根據(jù)超聲測距原理用AT89C51 單片機 開發(fā)設(shè)計。整個軟件采用模塊化設(shè)計,由主程序、預(yù)置子程序、發(fā)射子程序、接收子程序、顯示子程序等模塊組成。
軟件設(shè)計的主要思路是將預(yù)置、發(fā)射、接收、顯示、聲音報警等功能編成獨立的模塊,在主程序中采用鍵控循環(huán)的方式,當(dāng)按下控制鍵后,在一定周期內(nèi),依次執(zhí)行各個模塊,調(diào)用預(yù)置子程序、發(fā)射子程序、查詢接收子程序、定時子程序,并把測量的結(jié)果進行分析處理,根據(jù)處理結(jié)果決定顯示程序的內(nèi)容以及是否調(diào)用聲音報警程序。當(dāng)測得距離小于預(yù)置距離時,聲音報警程序被調(diào)用。圖5所示為程序的流程圖。
4 結(jié) 語
利用51系列 單片機 設(shè)計的測距儀便于操作、讀數(shù)直觀。經(jīng)實際測試證明,該類測距儀工作穩(wěn)定,能滿足一般近距離測距的要求,且成本較低、有良好的性價比。由于該系統(tǒng)中鎖相環(huán)鎖定需要一定時間,測得的距離有誤差,在汽車?yán)走_應(yīng)用中此誤差為3C111可忽略不計;但在精度要求較高的工業(yè)領(lǐng)域如機器人自動測距等方面,此誤差不能忽略,只有通過改變--些硬件的應(yīng)用實現(xiàn)對超聲波的快速鎖定,使誤差進一步減小到0.31llnl,可以滿足更高要求。