新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)控制的超聲波測距報警系統(tǒng)

基于單片機(jī)控制的超聲波測距報警系統(tǒng)

作者: 時間:2012-05-24 來源:網(wǎng)絡(luò) 收藏

P3 口也可作為AT89C52 的一些特殊功能口,如表1 所示。

表1 P3 特殊功能口

基于單片機(jī)控制的超聲波測距報警系統(tǒng)

  P3 口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。

(11)ALE//PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。

(12)/PSEN:外部程序存儲器的選通信號。

在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。

2.4 超聲波發(fā)射電路

超聲波發(fā)射電路原理如圖5 所示。輸出端采用兩個反向器并聯(lián),用以提高驅(qū)動能力。上位電阻R10、R11 一方面可以提高反向器74LS04 輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時間。

基于單片機(jī)控制的超聲波測距報警系統(tǒng)

圖5 超聲波發(fā)射電路原理圖

2.5 超聲波檢測接收電路

集成電路CX20106A 是一款紅外線檢波接收的專用芯片??紤]到紅外遙控常用的載波頻率38 kHz 與測距的超聲波頻率40 kHz 較為接近,可以利用它制作超聲波檢測接收電路( 如圖6)。實(shí)驗(yàn)證明用CX20106A 接收超聲波( 無信號時輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。

基于單片機(jī)控制的超聲波測距報警系統(tǒng)

圖6 超聲波檢測接收電路

2.6 顯示電路

顯示電路采用簡單實(shí)用的4 位共陽LED 數(shù)碼管,段碼用74LS244 驅(qū)動,位碼用PNP 三級管驅(qū)動。接P2.1 引腳的為個位顯示數(shù)碼管,其小數(shù)點(diǎn)在P2.1 有效時顯示,此功能由軟件來完成。

2.7 復(fù)位功能

系統(tǒng)應(yīng)具備測距啟動功能,可以復(fù)位系統(tǒng),使其開始重新測距。

綜上所述,本系統(tǒng)的特點(diǎn)是利用超聲波的發(fā)射和對超聲波自發(fā)射至接收往返時間的計(jì)時,單片機(jī)選用STC89C52,經(jīng)濟(jì)易用,且片內(nèi)有8K 的ROM,便于編程。電路原理如圖7 所示。

3 軟件方案

系統(tǒng)軟件設(shè)計(jì)采用模塊化設(shè)計(jì),主要包括主程序設(shè)計(jì)、T0 中斷服務(wù)子程序、外部中斷服務(wù)子程序、距離計(jì)算子程序、LED 顯示子程序設(shè)計(jì)等。

主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)置定時器T0工作模式為16 位定時計(jì)數(shù)器模式。置位總中斷允許位EA 并給顯示端口P0 和P2 清0.

基于單片機(jī)控制的超聲波測距報警系統(tǒng)

圖7 電路原理

然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時約0.1 ms,然后才打開外中斷0 接收返回的超聲波信號。

測出距離后結(jié)果將以十進(jìn)制BCD 碼方式送往LED 顯示約0.5 s,然后再發(fā)超聲波脈沖重復(fù)測量過程。為了有利于程序結(jié)構(gòu)化和容易計(jì)算出距離,主程序采用C 語言編寫。

3.1 主程序

· 系統(tǒng)控制初始化LED、初始化計(jì)數(shù)控制部分,清除計(jì)數(shù)值。

· 單片機(jī)超聲波脈沖信號。

· 立刻置INT0 為1,打開計(jì)時器,等待回波信號。

· 回波信號到達(dá),關(guān)閉計(jì)時器,P3.3 為0,清INT0 為0.

· 單片機(jī)讀出計(jì)數(shù)值。

· 單片機(jī)將計(jì)數(shù)值進(jìn)行計(jì)算后得出的距離值,顯示在LED 上。

· 當(dāng)測量距離 10.0 cm 或> 50.0 cm 時,燈亮。

· 當(dāng)按下復(fù)位鍵時,啟動復(fù)位功能。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉