【正文】
*************************************************** 。共陽段 0 , 1, 2, 3, 4, 5, 6, 7, 8, 9,不亮 。40H為最 高位, 43H為最低位,先掃描高位 DISPLAY:MOV R1,40H 。就收成功標(biāo)志 PINTT0_EXIT: RETI 。延時(shí),避開發(fā)射的直達(dá)聲波號 SETB EX0 。T1中斷, 65毫秒中斷一次 INT1: CLR EA CLR TR0 CLR EX0 MOV TH0,00H MOV TL0,00H MOV TH1,00H MOV TL1,00H 基于 51 單片機(jī)超聲波測距儀 第 18 頁 共 25 頁 SETB ET0 SETB EA SETB TR0 。重新啟動測距定時(shí)器 SETB EA SJMP START1 。啟 動測距定時(shí)器 START1:LCALL DISPLAY JNB 00H,START1 。40H43H為顯示數(shù)據(jù)存放單元 ( 40H為最高位 ) MOV R7,0BH 基于 51 單片機(jī)超聲波測距儀 第 17 頁 共 25 頁 CLEARDISP: MOV R0,00H INC R0 DJNZ R7,CLEARDISP MOV 20H,00H MOV TMOD,11H 。*************************************** ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH RETI ORG 0013H RETI ORG 001BH INT1 ORG 0023H RETI 。當(dāng)收到超聲波反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在 INT0或INT1 端產(chǎn)生一個(gè)中斷請求信號,單片機(jī)響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。 前方測距電路的輸出端接單片機(jī) INT0端口,中斷優(yōu)先級最高,左、右測距電路的輸出通過與門IC3A的輸出接單片機(jī) INT1端口,同時(shí)單片機(jī) IC3A 的輸入端,中斷源的識別由程序查詢來處理,中斷優(yōu)先級為先右后左。我們知道 C 語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細(xì)計(jì)算程序運(yùn)行的時(shí)間,而超聲波測距儀的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)),又要求精細(xì)計(jì)算程序運(yùn)行時(shí)間(超聲波測距時(shí)),所以控制程序可采用 C 語言和匯編語言混合編程??紤]到紅外遙控常用的載波頻率 38 kHz與測距的超聲波頻率 40 kHz較為接近,可以利用它制作超聲波檢測接收電路。超聲波換能器內(nèi)部有兩個(gè)壓電晶片和一個(gè)換能板。 超聲波 發(fā)射電路主要由反相器 74LS04 和超聲波發(fā)射換能器 T 構(gòu)成,單片機(jī) 端口輸出的 40kHz 的方波信號一 路經(jīng)一級反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個(gè)電極,用這種推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。單片機(jī)采用 AT89C51 或其兼容系列。軟件修正以用下面的公式: S=CT/2 附錄 1 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 1 8 A pr 2 0 10 S he e t o f F i l e : F : \王昭 \ c ha o s h e n g . d db D r a w n B y:M1M2M3M4P 0. 0bP 0. 1cP 0. 2dP 0. 3eP 0. 4P 0. 5gP 0. 6hP 0. 7 7 s l e dU?Q1P N PQ2P N PQ3P N PQ4P N P12345678161514131211109RR31 0KR 1 21KR 1 31KR 1 41KR 1 51K+5P 0. 0P 0. 1P 0. 2P 0. 3P 0. 4P 0. 5P 0. 6P 0. 7+5P 2. 7P 2. 6P 2. 5P 2. 4112233445566778899101011111212131314147 4L S 0 4U37 4L S 0 4K3T X ( f )*R 1 61KR 1 71KCC 1 6+5P 1. 012345678U4C X 2 01 0 6AK1R X ( S )+ C 1 41 0U F+ C 1 21 0U FC 1 51 04 P FC 1 14 70 U FC 1 33 30 P FR 1 94 . 7 KR 2 02 00 KR 2 12 00 K+5P 3. 2P 1. 01P 1. 12P 1. 23P 1. 34P 1. 45P 1. 56P 1. 67P 1. 78R S T9P 3. 0 ( R X D )10P 3. 1 ( T X D )11P 3. 2 I N T O12P 3. 3 I N T 113P 3. 4 T 014P 3. 5 T 115P 3. 6 _ W R16P 3. 7 _ R D17X T A L 218X T A L 119GND20P 2. 021P 2. 122P 2. 223P 2. 324P 2. 425P 2. 526P 2. 627P 2. 728P S E N29A L E30V P P31P 0. 732P 0. 633P 0. 534P 0. 435P 0. 336P 0. 237P 0. 138P 0. 039V C C40A T 89 C 5 1U2CC43 0P FCC33 0P FU 1 01 2M HCC21 0U FR 1 88K+5R S TR S TX T A L 1X T A L 2X T A L 1X T A L 2+5CC11 0U FP 0. 0P 0. 1P 0. 2P 0. 3P 0. 4P 0. 5P 0. 6P 0. 7P 3. 2P 2. 7P 2. 6P 2. 5P 2. 4P 1. 0 總結(jié) 超聲波測距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時(shí)間來計(jì)算出傳播距離。接收電路的主體是濾波放大電路。 接收電路的主要任務(wù)是檢測回波,并向單片機(jī)發(fā)出中斷以停止計(jì)時(shí)。它有非門和電阻電容構(gòu)成振蕩電路,有單片機(jī) 。系統(tǒng)設(shè)計(jì),針對溫度、回波和所加脈沖電壓對超聲測距精度的影響,在設(shè)計(jì)超聲波測距儀的時(shí),從硬件和軟件兩方面綜合考慮,設(shè)置了發(fā)射 、接收和顯示幾部分構(gòu)成了超超聲測距儀的系統(tǒng)結(jié)構(gòu)。超聲波傳感器外加脈沖電壓的幅值會影響壓電轉(zhuǎn)換效率。超聲波頻率越高,指向性越強(qiáng),這一點(diǎn)有利于距離測量。器衰減遵循指數(shù)規(guī)律。例如: 20度時(shí), T=,CS=; 40度時(shí), T=,CS=; 20度時(shí), T=,CS=;從上面的計(jì)算可以看出,溫度對超聲波在空氣中的傳播速度有明顯的影響。本章從引起超聲測距誤差的原因入手,分析了溫度對超聲波聲速的影響:回波檢測對時(shí)間測量的影響和超聲波傳感器所加電壓對測量精度和范圍的影響。 超聲波測距由于其在使用中不受光照度、電磁場、色彩等因素的影響,加之結(jié)構(gòu)簡單成本低、在機(jī)器人避障礙和和定位、汽車倒車、水庫液位測量等方面已經(jīng)有了廣泛的應(yīng)用。根據(jù)測量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容 C4的大 有回波么? 外部中斷子程序 結(jié)束 定時(shí)中斷入口 定時(shí)器初始化 發(fā)射超聲波 單方向發(fā)射完否? 停止發(fā)射 返回 外部中斷入口 關(guān)外部中斷 讀取時(shí)間值 計(jì)算距離 結(jié)果輸出 開外部中斷 返回 基于 51 單片機(jī)超聲波測距儀 第 13 頁 共 25 頁 小,以或得合適的接收靈敏度和抗干擾能力。進(jìn)入該中斷后就立即關(guān)閉計(jì)時(shí)器 T0停止計(jì)時(shí),并將測距成功標(biāo)志字賦值 溢出時(shí)還未檢測的到超聲波返回信號,則定 時(shí)器 T0溢出中斷將外中斷 0關(guān)閉,并將測距成功標(biāo)志字賦值 2以表示此次測距不成功。雖然用一個(gè)單獨(dú)計(jì)時(shí)器電路也可以測量超聲波的傳輸時(shí)間,但利用 AT89C51單片機(jī)可以簡化設(shè)計(jì),便于操作和直觀讀數(shù)。公用方式就是一個(gè)超聲波傳感器用作接收器,也用作發(fā)送器,但需要收發(fā)切換電路。如果接收到超聲波(有信號電壓)時(shí),說明接收 /發(fā)射器中間沒有被測物體。超聲波傳感器則不受這些條件的限制。如圖所示: 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 1 8 A pr 2 0 10 S he e t o f F i l e : F : \王昭 \ c ha o s h e n g . d db D r a w n B y:M1M2M3M4P 0. 0bP 0. 1cP 0. 2dP 0. 3eP 0. 4P 0. 5gP 0. 6hP 0. 7 7 s l e dU?Q1P N PQ2P N PQ3P N PQ4P N P12345678161514131211109RR31 0KR 1 21KR 1 31KR 1 41KR 1 51K+5P 0. 0P 0. 1P 0. 2P 0. 3P 0. 4P 0. 5P 0. 6P 0. 7+5P 2. 7P 2. 6P 2. 5P 2. 4 超聲波發(fā)射電路的設(shè)計(jì) 發(fā)射電路主要由 74LS04和超聲波換能器構(gòu)成,單片機(jī) 40KHZ方波信號一路經(jīng)一級方向器送到超聲波換能的一個(gè)電極,另一路經(jīng)兩極反向器后送到超聲波換能器的另一個(gè)電極,用這種推挽形式將方波信號加到超聲波換能器兩端可以提高發(fā)射強(qiáng)度。它用分時(shí)的方法輪流控制各個(gè)顯示器的 COM 端,使各個(gè)顯示器輪流的點(diǎn)亮。 基于 51 單片機(jī)超聲波測距儀