新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的超聲波測(cè)距儀LED顯示電路的設(shè)計(jì)

基于單片機(jī)的超聲波測(cè)距儀LED顯示電路的設(shè)計(jì)

作者: 時(shí)間:2010-04-02 來源:網(wǎng)絡(luò) 收藏

3.2.3 發(fā)射電路

壓電轉(zhuǎn)換器的功能:利用壓電晶體諧振工作。內(nèi)部結(jié)構(gòu)上圖所示,它有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng)產(chǎn)生,這時(shí)它就是一超聲波發(fā)生器;如沒加電壓,當(dāng)共振板接受到超聲波時(shí),將壓迫壓電振蕩器作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接受轉(zhuǎn)換器。超聲波發(fā)射轉(zhuǎn)換器與接受轉(zhuǎn)換器其結(jié)構(gòu)稍有不同。

壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內(nèi)部有兩個(gè)壓電晶片和一個(gè)換能板。當(dāng)它的兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng)產(chǎn)生超聲波,這時(shí)它就是一個(gè)超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時(shí)應(yīng)分清器件上的標(biāo)志。本設(shè)計(jì)中發(fā)射器電路采用集成電路模塊不需考慮這些問題,主要是采用4069反相器在換能器兩端提供脈沖信號(hào)。其原理圖如圖3所示。

基于單片機(jī)設(shè)計(jì)的超聲波測(cè)距儀 - 雕★{天★ - 但得柔情消b猓此生常伴梳y

3.2.4 超聲波檢測(cè)接收電路

集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 kHz與的超聲波頻率40 kHz較為接近,可以利用它制作超聲波檢測(cè)接收電路(如圖2-3)。實(shí)驗(yàn)證明用CX20106A接收超聲波(無信號(hào)時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)更改電容CS的大小,可以改變接收電路的靈敏度和抗干擾能力。此部分電路在集成芯片上。

基于單片機(jī)設(shè)計(jì)的超聲波測(cè)距儀 - 雕★{天★ - 但得柔情消b猓此生常伴梳y

3.2.5 LED顯示電路

根據(jù)設(shè)計(jì)要求并綜合各方面因素,可以采用AT89S51作為主控制器,用動(dòng)態(tài)掃描法實(shí)現(xiàn)LED數(shù)字顯示,超聲波驅(qū)動(dòng)信號(hào)用的定時(shí)器完成,顯示電路如下圖5

基于單片機(jī)設(shè)計(jì)的超聲波測(cè)距儀 - 雕★{天★ - 但得柔情消b猓此生常伴梳y

3.3 系統(tǒng)軟件的設(shè)計(jì)

本設(shè)計(jì)匯編語言編程,其軟件設(shè)計(jì)思路如下:

3.3.1超聲波儀的算法設(shè)計(jì)

超聲波的原理為超聲波發(fā)生器T在某一時(shí)刻發(fā)出一個(gè)超聲波信號(hào),當(dāng)這個(gè)超聲波遇到被測(cè)物體后反射回來,就被超聲波接收器R所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號(hào)到接收到返回信號(hào)所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計(jì)算公式為:

d=s/2=(c×t)/2 (1)

其中,d為被測(cè)物與測(cè)距儀的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時(shí)間。 在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)內(nèi)部的定時(shí)器T0,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)收到超聲波反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在INT0或INT1端產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)外部中斷請(qǐng)求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。其部分源程序如下:

WORK: PUSH ACC

PUSH PSW

PUSH B

MOV PSW,#18H

MOV R3,45H

MOV R2,44H

MOV R1,00D

MOV R0,17D

LCALL MUL2BY2

MOV R3,#03H

MOV R2,0E8H

LCALL DIV4BY2

LCALL DIV4BY2

MOV 40H,R4

MOV A,40H

JNZ JJ0

MOV 40H,#0AH

JJ0: MOV A, R0

MOV R4, A

MOV A, R1

MOV R5, A

MOV R3, 00D

MOV R2, #100D

LCALL DIV4BY2

MOV 41H,R4

MOV A,41H

JNZ JJ1

MOV A,40H

SUBB A,#0AH

JNZ JJ1

MOV 41H,#0AH

JJ1: MOV A,R0

MOV R4,A

MOV A,R1

MOV R5,A

MOV R3,#00D

MOV R2,10D

LCALL DIV4BY2

MOV 42H,R4

JNZ JJ2

MOV A,41H

SUBB A,#0AH

JNZ JJ2

MOV 42H,#0AH

JJ2: MOV 43H,R0

POP B

POP PSW

POP ACC

RET

3.3.2 主程序流程圖

軟件分為兩部分,主程序和中斷服務(wù)程序,如圖3-1(a)(b) (c) 所示。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。

定時(shí)中斷服務(wù)子程序完成三方向超聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時(shí)間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。

主程序首先是對(duì)系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器T0工作模式為16位定時(shí)計(jì)數(shù)器模式。置位總中斷允許位EA并給顯示端口P0和P1清0。然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時(shí)約0.1 ms(這也就是超聲波測(cè)距儀會(huì)有一個(gè)最小可測(cè)距離的原因)后,才打開外中斷0接收返回的超聲波信號(hào)。由于采用的是12 MHz的晶 振,計(jì)數(shù)器每計(jì)一個(gè)數(shù)就是1μs,當(dāng)主程序檢測(cè)到接收成功的標(biāo)志位后,將計(jì)數(shù)器T0中的數(shù)(即超聲波來回所用的時(shí)間)按式(2)計(jì)算,即可得被測(cè)物體與測(cè)距儀之間的距離,設(shè)計(jì)時(shí)取20℃時(shí)的聲速為344 m/s則有:

d=(c×t)/2=172T0/10000cm (2)

其中,T0為計(jì)數(shù)器T0的計(jì)算值。

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

基于單片機(jī)設(shè)計(jì)的超聲波測(cè)距儀 - 雕★{天★ - 但得柔情消b猓此生常伴梳y

3.3.3超聲波發(fā)生子程序和超聲波接收中斷程序

超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送2個(gè)左右超聲波脈沖信號(hào)(頻率約40kHz的方波),脈沖寬度為12μs左右,同時(shí)把計(jì)數(shù)器T0打開進(jìn)行計(jì)時(shí)。超聲波發(fā)生子程序較簡(jiǎn)單,但要求程序運(yùn)行準(zhǔn)確,所以采用匯編語言編程。

51單片機(jī)相關(guān)文章:51單片機(jī)教程


晶振相關(guān)文章:晶振原理


評(píng)論


相關(guān)推薦

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

關(guān)閉