基于單片機(jī)的超聲波液位測量系統(tǒng)_第1頁
基于單片機(jī)的超聲波液位測量系統(tǒng)_第2頁
基于單片機(jī)的超聲波液位測量系統(tǒng)_第3頁
基于單片機(jī)的超聲波液位測量系統(tǒng)_第4頁
基于單片機(jī)的超聲波液位測量系統(tǒng)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、摘 要介紹了超聲波測距的基本原理和系統(tǒng)框圖,給出了超聲波發(fā)射和接收電路,通過盲區(qū)的消除以及環(huán)境溫度的采樣,提高了測距的精確度。利用超聲波傳輸中距離與時(shí)間的關(guān)系,采用 8051 單片機(jī)進(jìn)行控制及數(shù)據(jù)處理,設(shè)計(jì)出了能精確測量兩點(diǎn)間距離的超聲波液位檢測系統(tǒng)。系統(tǒng)主要由超聲波發(fā)射器電路、超聲波接收器電路、單片機(jī)控制電路、環(huán)境溫度檢測電路及顯示電路構(gòu)成。利用所設(shè)計(jì)出的超聲波液位檢測系統(tǒng),對液面進(jìn)行了測試,采集當(dāng)時(shí)的環(huán)境溫度獲得精確的速度,計(jì)算出液面距離。此系統(tǒng)具有易控制、工作可靠、測量精度高的優(yōu)點(diǎn),可實(shí)時(shí)檢測液位。 關(guān)鍵詞: 超聲波,液位測量,溫度傳感器目 錄前言11 總體概述12 超聲波和超聲波傳感器

2、32.1 超聲波3 2.1.1 定義3 2.1.2 超聲波的主要參數(shù)3 2.1.3 超聲波的特性3 2.1.4 超聲波的特點(diǎn)3 2.1.5 超聲波傳感器的主要應(yīng)用3 2.2 超聲波傳感器測距原理4 2.2.1 超聲波傳感器4 2.2.2 超聲波傳感器的性能指標(biāo)4 2.2.3 超聲波傳感器的結(jié)構(gòu)5 2.2.4 超聲波測距原理53 MCS-51 系列單片機(jī)73.1 8051 單片機(jī)的總體結(jié)構(gòu)7 3.1.1 8051 單片機(jī)的總體框圖和功能7 3.1.2 8051 的引腳功能83.2 8051 單片機(jī)的定時(shí)器/計(jì)數(shù)器 10 3.2.1 8051 的定時(shí)器/計(jì)數(shù)器功能 10 3.2.2 定時(shí)器控制寄存

3、器10 3.2.3 工作方式控制寄存器11 3.2.4 中斷允許控制寄存器(IE)11 3.2.5 定時(shí)器/計(jì)數(shù)器的工作方式113.3 8051 單片機(jī)的中斷12 3.3.1 中斷的定義12 3.3.2 8051 單片機(jī)的中斷源12 3.3.3 中斷控制的專用寄存器134 硬件設(shè)計(jì)164.1 8051 單片機(jī)的最小系統(tǒng)組成 164.2 超聲波發(fā)射電路設(shè)計(jì)17 4.2.1 超聲波頻率及探頭的選擇17 4.2.2 超聲波發(fā)射電路174.3 超聲波接收電路設(shè)計(jì)18 4.3.1 超聲波接收器18 4.3.2 超聲波接收電路圖194.4 溫度檢測電路20 4.4.1 溫度檢測方案的分析204.4.2 數(shù)

4、字溫度傳感器 DS18B20 簡介20 4.4.3 DS18B20 的結(jié)構(gòu)及電路204.5 顯示方案的論證與選擇214.5.1 LED 顯示電路圖214.6 穩(wěn)壓電源22 4.6.1 穩(wěn)壓電源構(gòu)成22 4.6.2 +5V 電源電路23 4.6.3 +12V 電源電路235 軟件設(shè)計(jì)255.1 主程序設(shè)計(jì)265.1.1 主程序流程圖265.1.2 主程序275.2 中斷服務(wù)子程序275.2.1 中斷初始化275.2.2 中斷子程序流程圖295.3 溫度檢測子程序295.4 距離的計(jì)算30結(jié)論31致謝32參考文獻(xiàn)33附錄 A34附錄 B35前 言近年來,隨著電子技術(shù)和信號處理技術(shù)的迅速發(fā)展,液位測

5、量儀表中的測量技術(shù)也發(fā)展很快,經(jīng)歷了由機(jī)械式向機(jī)電一體化再到自動化的發(fā)展過程。結(jié)合這兩大技術(shù),尤其是將微處理器引進(jìn)液位測量系統(tǒng)以后,使得液位計(jì)的精度越來越高,越來越向智能化、一體化、小型化的方向發(fā)展。從上世紀(jì)八十年代開始,一些發(fā)達(dá)國家就借助微電子、計(jì)算機(jī)、光纖、超聲波、傳感器等高科技的研究成果,將各種新技術(shù)、新方法應(yīng)用到儲罐液位測量領(lǐng)域。電子式測量方法便是其中的重要成果之一。在電子式液位測量方法中,有許多新的測量原理,包括壓電式、應(yīng)變式、雷達(dá)式、超聲波式、浮球式、電容式、磁致伸縮式、伺服式、混合式等二十多種測量技術(shù)。由于該方法測量精度高,可靠性強(qiáng),持續(xù)時(shí)間長,安裝維護(hù)簡單,因而正在逐步取代舊的

6、機(jī)械式液位測量方法。用于儲罐液位測量的眾多電子式技術(shù)中,壓電式、超聲波式、應(yīng)變式、浮球式、電容式五種測量技術(shù)應(yīng)用最為廣泛,約占總數(shù)的 60%以上。其中,超聲波式測量技術(shù)的應(yīng)用份額最大。超聲波液位測量有很多優(yōu)點(diǎn):它不僅能夠定點(diǎn)和連續(xù)檢測液位,而且能夠方便地提供遙控或遙控所需的信號。與放射性技術(shù)相比,超聲技術(shù)不需要防護(hù)。與目前的激光測量液位技術(shù)相比,超聲方法比較簡單而且價(jià)格較低。一般說來,超聲波測位技術(shù)不需要有運(yùn)動的部件,所以在安裝和維護(hù)上有很大的優(yōu)越性。特別是超聲測位技術(shù)可以選用氣體、液體或固體來作為傳聲媒質(zhì),因而有較大的適應(yīng)性。所以在測量要求比較特殊,一般液位測量技術(shù)無法采用時(shí),超聲測位技術(shù)往

7、往仍能適用。在未來,超聲波的液位測量將有更大的用途,更大的應(yīng)用范圍。它不但可以幫助人們解決很多生活中的困難,還可以作為科學(xué)探測和研究的手段。特別是水位的測量,可以幫助確定水位的高度,以便于其他工作的順利進(jìn)行。1總體概述我們把頻率高于 20000 赫茲的聲波稱為“超聲波”1。超聲波發(fā)射器發(fā)出的超聲波以速度 v 在空氣中傳播,在到達(dá)被測物體時(shí)被反射返回,由接收器接收,其往返時(shí)間為 t,由 s=vt/2 即可算出被測物體的距離。由于超聲波也是一種聲波,其聲速 v 與溫度有關(guān),下表列出了幾種不同溫度下的聲速。在使用時(shí),如果溫度變化不大,則可認(rèn)為聲速是基本不變的。表 1.1 超聲波波速與溫度的關(guān)系表 溫

8、度()-30-20-100102030100聲速(m/s)313319325323338344349386超聲波液位測距原理框圖如圖 1.1 單片機(jī)發(fā)出 40kHZ 的信號,通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號經(jīng)放大器放大,進(jìn)行處理后,啟動單片機(jī)中斷程序,測得時(shí)間為 t,再由軟件進(jìn)行判別、計(jì)算,得出距離數(shù)并送 LED 顯示。 超聲波接收超聲波發(fā)送8051單片機(jī)LED 顯示溫度檢測555 電路圖 1.1 超聲波測距系統(tǒng)設(shè)計(jì)框圖1.11.1 工作原理工作原理本文采用超聲脈沖回波法測液位5。超聲脈沖回波法的基本原理是由超聲波傳感器的發(fā)射探頭發(fā)射超聲波,當(dāng)超聲波遇到障礙物時(shí)會被反射,

9、利用單片機(jī)記錄超聲波發(fā)射的時(shí)間和接收到回波的時(shí)間,根據(jù)當(dāng)前環(huán)境下超聲波的傳播速度,即可通過公式 1.1 計(jì)算出超聲波傳播的距離,也就得到了障礙物離測試系統(tǒng)的距離。測距原理如圖 1.2 所示。 S=Ct2 (1.1)式中 S 為被測距離,C 為超聲波的傳播速度,t 為回波時(shí)間,t=Tl+T2。圖 1.2 超聲波測距原理圖利用超聲波在液體中傳播時(shí),有較好的方向性,且傳播過程中能量損失較少,遇到分界面時(shí)能反射的特性,可用回波測距的原理,測定超聲波發(fā)射后遇液面反射回來的時(shí)間,以確定液面的高度。超聲波液位檢測的原理圖如圖 1.3 所示。圖 1.3 超聲波液位檢測原理圖由圖 1.3 可知h=H-S (1.

10、2)式中 S 為超聲波探頭到液面的距離,可由式 1.1 求得, H 為超聲波探頭到容器底的距離,需要提前測定,h 為所要測的液位高度。為了防止超聲波發(fā)射探頭發(fā)出的超聲波直接傳入接收探頭引起誤差,兩個(gè)探頭在安裝時(shí)應(yīng)平行并且相距 48cm。在軟件設(shè)計(jì)時(shí),為了消除這個(gè)誤差,INT0 應(yīng)當(dāng)在超聲波發(fā)射探頭發(fā)射超聲波后 0.3ms 再開啟,以防從發(fā)射探頭發(fā)出的超聲波直接進(jìn)入接收探頭觸發(fā)中斷。在 20條件下超聲波的傳播速度為 344m/s,超聲波在 0.3ms 時(shí)間內(nèi)在空氣中可以傳播 10.32cm,已經(jīng)超出發(fā)射和接收探頭之間的距離,此時(shí)超聲波接收探頭已經(jīng)接收不到從發(fā)射探頭直接發(fā)射過來的超聲波,此時(shí)再開啟

11、 INT0 中斷,就不會因?yàn)榘l(fā)射探頭發(fā)出的超聲波直接進(jìn)入接收探頭觸發(fā)中斷產(chǎn)生時(shí)間誤差。2超聲波和超聲波傳感器2.1 超聲波2.1.1 定義科學(xué)家們將每秒鐘振動的次數(shù)稱為聲音的頻率,它的單位是赫茲。我們?nèi)祟惗淠苈牭降穆暡l率為 2020000 赫茲。當(dāng)聲波的振動頻率大于 20000 赫茲或小于 20 赫茲時(shí),我們便聽不見了。因此,我們把頻率高于 20000 赫茲的聲波稱為“超聲波”。2.1.2 超聲波的主要參數(shù)超聲波的兩個(gè)主要參數(shù): 頻率:F20K/Hz; 功率密度: p=發(fā)射功率(W)/發(fā)射面積(cm2);通常 p0.3w/cm2; 在液體中傳播的超聲波能對物體表面的污物進(jìn)行清洗,其原理可用

12、 “空化”現(xiàn)象來解釋:超聲波振動在液體中傳播的音波壓強(qiáng)達(dá)到一個(gè)大氣壓時(shí),其功率密度為0.35w/cm2,這時(shí)超聲波的音波壓強(qiáng)峰值就可達(dá)到真空或負(fù)壓,但實(shí)際上無負(fù)壓存在,因此在液體中產(chǎn)生一個(gè)很大的壓力,將液體分子拉裂成空洞 空化核。此空洞非常接近真空,它在超聲波壓強(qiáng)反向達(dá)到最大時(shí)破裂,由于破裂而產(chǎn)生的強(qiáng)烈沖擊將物體表面的污物撞擊下來。這種由無數(shù)細(xì)小的空化氣泡破裂而產(chǎn)生的沖擊波現(xiàn)象稱為“空化”現(xiàn)象。 太小的聲強(qiáng)無法產(chǎn)生空化效應(yīng)。2.1.3 超聲波的特性 (1)超聲波可在氣體、液體、固體、固熔體等介質(zhì)中有效傳播。 (2)超聲波可傳遞很強(qiáng)的能量。 (3)超聲波會產(chǎn)生反射、干涉、疊加和共振現(xiàn)象。 (4)

13、超聲波在液體介質(zhì)中傳播時(shí),可在界面上產(chǎn)生強(qiáng)烈的沖擊和空化現(xiàn)象。2.1.4 超聲波的特點(diǎn)(1)超聲波在傳播時(shí),方向性強(qiáng),能量易于集中。 (2)超聲波能在各種不同媒質(zhì)中傳播,且可傳播足夠遠(yuǎn)的距離。 (3)超聲波與傳聲媒質(zhì)的相互作用適中,易于攜帶有關(guān)傳聲媒質(zhì)狀態(tài)的信息(診斷或?qū)髀暶劫|(zhì)產(chǎn)生效應(yīng)) 。超聲波是一種波動形式,它可以作為探測與負(fù)載信息的載體或媒介(如 B超等用作診斷) ;超聲波同時(shí)又是一種能量形式,當(dāng)其強(qiáng)度超過一定值時(shí),它就可以通過與傳播超聲波的媒質(zhì)的相互作用,去影響,改變以致破壞后者的狀態(tài),性質(zhì)及結(jié)構(gòu)(用作治療) 。2.1.5 超聲波傳感器的主要應(yīng)用超聲波傳感技術(shù)應(yīng)用在生產(chǎn)實(shí)踐的不同方面

14、,而醫(yī)學(xué)應(yīng)用是其最主要的應(yīng)用之一,下面以醫(yī)學(xué)為例子說明超聲波傳感技術(shù)的應(yīng)用。超聲波在醫(yī)學(xué)上的應(yīng)用主要是診斷疾病,它已經(jīng)成為了臨床醫(yī)學(xué)中不可缺少的診斷方法。超聲波診斷的優(yōu)點(diǎn)是:對受檢者無痛苦、無損害、方法簡便、顯像清晰、診斷的準(zhǔn)確率高等。因而推廣容易,受到醫(yī)務(wù)工作者和患者的歡迎。超聲波診斷可以基于不同的醫(yī)學(xué)原理,我們來看看其中有代表性的一種所謂的 A 型方法。這個(gè)方法是利用超聲波的反射。當(dāng)超聲波在人體組織中傳播遇到兩層聲阻抗不同的介質(zhì)界面是,在該界面就產(chǎn)生反射回聲。每遇到一個(gè)反射面時(shí),回聲在示波器的屏幕上顯示出來,而兩個(gè)界面的阻抗差值也決定了回聲的振幅的高低。 在工業(yè)方面,超聲波的典型應(yīng)用是對金

15、屬的無損探傷和超聲波測厚兩種。過去,許多技術(shù)因?yàn)闊o法探測到物體組織內(nèi)部而受到阻礙,超聲波傳感技術(shù)的出現(xiàn)改變了這種狀況。當(dāng)然更多的超聲波傳感器是固定地安裝在不同的裝置上,“悄無聲息”地探測人們所需要的信號。在未來的應(yīng)用中,超聲波將與信息技術(shù)、新材料技術(shù)結(jié)合起來,將出現(xiàn)更多的智能化、高靈敏度的超聲波傳感器。2.2 超聲波傳感器測距原理2.2.1 超聲波傳感器超聲波傳感器是利用超聲波的特性研制而成的傳感器。超聲波是一種振動頻率高于聲波的機(jī)械波,由換能晶片在電壓的激勵(lì)下發(fā)生振動產(chǎn)生的,它具有頻率高、波長短、繞射現(xiàn)象小,特別是方向性好、能夠成為射線而定向傳播等特點(diǎn)。超聲波對液體、固體的穿透本領(lǐng)很大,尤其

16、是在陽光不透明的固體中,它可穿透幾十米的深度。超聲波碰到雜質(zhì)或分界面會產(chǎn)生顯著反射形成反射成回波,碰到活動物體能產(chǎn)生多普勒效應(yīng)。因此超聲波檢測廣泛應(yīng)用在工業(yè)、國防、生物醫(yī)學(xué)等方面。 以超聲波作為檢測手段,必須產(chǎn)生超聲波和接收超聲波。完成這種功能的裝置就是超聲波傳感器,習(xí)慣上稱為超聲換能器,或者超聲探頭。2.2.2 超聲波傳感器的性能指標(biāo)超聲探頭的核心是其塑料外套或者金屬外套中的一塊壓電晶片。構(gòu)成晶片的材料可以有許多種。晶片的大小,如直徑和厚度也各不相同,因此每個(gè)探頭的性能是不同的,我們使用前必須預(yù)先了解它的性能。超聲波傳感器的主要性能指標(biāo)包括: (1)工作頻率。工作頻率就是壓電晶片的共振頻率。

17、當(dāng)加到它兩端的交流電壓的頻率和晶片的共振頻率相等時(shí),輸出的能量最大,靈敏度也最高。 (2)工作溫度。由于壓電材料的居里點(diǎn)一般比較高,特別是診斷用超聲波探頭使用功率較小,所以工作溫度比較低,可以長時(shí)間地工作而不會失效。醫(yī)療用的超聲探頭的溫度比較高,需要單獨(dú)的制冷設(shè)備。 (3)靈敏度。主要取決于制造晶片本身。機(jī)電耦合系數(shù)大,靈敏度高;反之,靈敏度低。2.2.3 超聲波傳感器的結(jié)構(gòu)超聲波探頭主要由壓電晶片組成,既可以發(fā)射超聲波,也可以接收超聲波。小功率超聲探頭多作探測作用。它有許多不同的結(jié)構(gòu),直探頭、斜探頭、表面波探頭、蘭姆波探頭、雙探頭等。當(dāng)電壓作用于壓電陶瓷時(shí),就會隨電壓和頻率的變化產(chǎn)生機(jī)械變形

18、。另一方面,當(dāng)振動壓電陶瓷時(shí),則會產(chǎn)生一個(gè)電荷。利用這一原理,當(dāng)給由兩片壓電陶瓷或一片壓電陶瓷和一個(gè)金屬片構(gòu)成的振動器,所謂叫雙壓電晶片元件,施加一個(gè)電信號時(shí),就會因彎曲振動發(fā)射出超聲波。相反,當(dāng)向雙壓電晶片元件施加超聲振動時(shí),就會產(chǎn)生一個(gè)電信號?;谝陨献饔?,便可以將壓電陶瓷用作超聲波傳感器。如超聲波傳感器,一個(gè)復(fù)合式振動器被靈活地固定在底座上。該復(fù)合式振動器是諧振器以及,由一個(gè)金屬片和一個(gè)壓電陶瓷片組成的雙壓電晶片元件振動器的一個(gè)結(jié)合體。諧振器呈喇叭形,目的是能有效地輻射由于振動而產(chǎn)生的超聲波,并且可以有效地使超聲波聚集在振動器的中央部位。室外用途的超聲波傳感器必須具有良好的密封性,以便防

19、止露水、雨水和灰塵的侵入。壓電陶瓷被固定在金屬盒體的頂部內(nèi)側(cè)。底座固定在盒體的開口端,并且使用樹脂進(jìn)行覆蓋。對應(yīng)用于工業(yè)機(jī)器人的超聲波傳感器而言,要求其精確度要達(dá)到 1mm,并且具有較強(qiáng)的超聲波輻射。利用常規(guī)雙壓電晶片元件振動器的彎曲振動,在頻率高于70KHz 的情況下,是不可能達(dá)到此目的的。所以,在高頻率探測中,必須使用垂直厚度振動模式的壓電陶瓷。在這種情況下,壓電陶瓷的聲阻抗與空氣的匹配就變得十分重要。壓電陶瓷的聲阻抗為2.6107kg/m2s,而空氣的聲阻抗為4.3102kg/m2s。5 個(gè)冪的差異會導(dǎo)致在壓電陶瓷振動輻射表面上的大量損失。一種特殊材料粘附在壓電陶瓷上,作為聲匹配層,可實(shí)

20、現(xiàn)與空氣的聲阻抗相匹配。這種結(jié)構(gòu)可以使超聲波傳感器在高達(dá)數(shù)百kHz 頻率的情況下,仍然能夠正常工作。2.2.4 超聲波測距原理 超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間 t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離 (s),即:s=340t/2 。這就是所謂的時(shí)間差測距法2。 超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)射后遇到障礙物反射回來的時(shí)間,根據(jù)發(fā)射和接收的時(shí)間差計(jì)算出發(fā)射點(diǎn)到障礙物的實(shí)際距離。由此可見,超聲

21、波測距原理與雷達(dá)原理是一樣的。測距的公式表示為: L=CT式中 L 為測量的距離長度; C 為超聲波在空氣中的傳播速度; T 為測量距離傳播的時(shí)間差 (T 為發(fā)射到接收時(shí)間數(shù)值的一半 )。超聲波測距主要應(yīng)用于倒車提醒、建筑工地、工業(yè)現(xiàn)場等的距離測量,雖然目前的測距量程上能達(dá)到百米,但測量的精度往往只能達(dá)到厘米數(shù)量級。由于超聲波易于定向發(fā)射、方向性好、強(qiáng)度易控制、與被測量物體不需要直接接觸的優(yōu)點(diǎn),是作為液體高度測量的理想手段。3MCS-51 系列單片機(jī)3.1 8051 單片機(jī)的總體結(jié)構(gòu)MCS-51 系列單片機(jī)主要包括 8031、8051 和 8751 等通用產(chǎn)品。8051 是 MCS-51 系列

22、單片機(jī)中的代表產(chǎn)品,它內(nèi)部集成了功能強(qiáng)大的中央處理器,包含了硬件乘除法器、21 個(gè)專用控制寄存器、4kB 的程序存儲器、128字節(jié)的數(shù)據(jù)存儲器、4 組 8 位的并行口、兩個(gè) 16 位的可編程定時(shí)/計(jì)數(shù)器、一個(gè)全雙工的串行口以及布爾處理器。3.1.1 8051 單片機(jī)的總體框圖及功能內(nèi)部總體結(jié)構(gòu)如下:8 位 CPU4kbytes 程序存儲器(ROM)128bytes 的數(shù)據(jù)存儲器(RAM)32 條 I/O 口線111 條指令,大部分為單字節(jié)指令21 個(gè)專用寄存器2 個(gè)可編程定時(shí)/計(jì)數(shù)器5 個(gè)中斷源,2 個(gè)優(yōu)先級一個(gè)全雙工串行通信口外部數(shù)據(jù)存儲器尋址空間為 64kB外部程序存儲器尋址空間為 64k

23、B邏輯操作位尋址功能雙列直插 40PinDIP 封裝單一+5V 電源供電圖 3.1 8051 單片機(jī)的內(nèi)部基本結(jié)構(gòu)圖 3.1 是 8051 的內(nèi)部結(jié)構(gòu)框圖,從圖中可以看出,單片機(jī)內(nèi)部各功能部件都是掛靠在內(nèi)部總線上的,它們通過內(nèi)部總線傳送地址信息,各功能部件分時(shí)使用總線,即所謂的內(nèi)部但總線結(jié)構(gòu)。3.1.2 8051 的引腳功能8051 單片機(jī)采用 40 腳雙列直插式封裝,其引腳排列及邏輯符號如圖 3.2 所示。圖 3.2 8051 單片機(jī)引腳圖下面分別說明各引腳的含義和功能3。(1)主電源引腳 Vcc 和 VssVcc電源端。工作電源和編程校驗(yàn)(+5V) 。Vss接地端。(2)時(shí)鐘振蕩電路引腳

24、XTAL1 和 XTAL2XTAL1 和 XTAL2 分別用作晶體振蕩電路的反相器輸入和輸出端。在使用內(nèi)部振蕩電路時(shí),這兩個(gè)端子用來外接石英晶體,振蕩頻率為晶振頻率,振蕩信號送至內(nèi)部時(shí)鐘電路產(chǎn)生時(shí)鐘脈沖信號;若采用外部振蕩電路,則 XTAL2用于輸入外部振蕩脈沖,該信號直接送至內(nèi)部時(shí)鐘電路,而 XTAL1 必須接地。(3)控制信號引腳 RST/Vpp、ALE/PROG、PSEN 和 EA/VppRST/Vpp RST 為復(fù)位信號輸入端。當(dāng) RST 端保持兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)以上的高電平時(shí),使單片機(jī)完成復(fù)位操作。第二功能 Vpp 為內(nèi)部RAM 的備用電源輸入端。當(dāng)主電源 Vcc 一旦發(fā)

25、生斷電(稱掉電或失電) ,降到一定低電壓值時(shí),可通過 Vpp 為單片機(jī)內(nèi)部 RAM 提供電源,以保護(hù)片內(nèi) RAM中的信息不丟失,使上電后能繼續(xù)正常運(yùn)行。ALE/PROGALE 為地址鎖存允許信號。在訪問外部存儲器時(shí),ALE 用來鎖存 P0 擴(kuò)展地址低 8 位的地址信號。在不訪問外部存儲器時(shí),ALE 也以時(shí)鐘振蕩頻率的 1/6 的固定速率輸出,因而它又可用作外部定時(shí)或其它需要。但是,在遇到訪問外部數(shù)據(jù)存儲器時(shí),會丟失一個(gè) ALE 脈沖。ALE 能驅(qū)動 8 個(gè)LSTTL 門輸入。第二功能 PROG 是對內(nèi)部 ROM 編程時(shí)的編程脈沖輸入端。PSEN外部程序存儲器 ROM 的讀選通信號。當(dāng)訪問外部

26、ROM 時(shí),PSEN 產(chǎn)生負(fù)脈沖作為外部 ROM 的選通信號。而在訪問外部數(shù)據(jù) RAM 或片內(nèi)ROM 時(shí),不會產(chǎn)生有效的 PSEN 信號。PSEN 可驅(qū)動 8 個(gè) LSTTL 門輸入端。EA/Vpp訪問外部程序存儲器控制信號。對 80C51,它們的片內(nèi)有 4KB的程序存儲器,當(dāng) EA 為高電平時(shí),CPU 訪問程序存儲器有兩種情況:第一種情況是訪問的地址空間在 04K 范圍內(nèi),CPU 訪問片內(nèi)程序存儲器;第二種情況是訪問的地址超出 4K 時(shí),CPU 將自動執(zhí)行外部程序存儲器的程序,即訪問外部 ROM。當(dāng) EA 接地時(shí),只能訪問外部 ROM。第二功能 Vpp 為編程電源輸入。(4)4 個(gè) 8 位

27、I/O 端口 P0、P1、P2 和 P3P0 口(P0.0P0.7)是一個(gè) 8 位漏極開路型的雙向 I/O 口。第二功能是在訪問外部存儲器時(shí),分時(shí)提供低 8 位地址線和 8 位雙向數(shù)據(jù)總線。在對片內(nèi)ROM 進(jìn)行編程和校驗(yàn)時(shí),P0 口用于數(shù)據(jù)的輸入和輸出。P1 口(P1.0P1.7)是一個(gè)內(nèi)部帶提升電阻的準(zhǔn)雙向 I/O 口。在對片內(nèi)ROM 編程和校驗(yàn)時(shí),P1 口用于接收低 8 位地址。P2 口(P2.0P2.7)是一個(gè)內(nèi)部帶提升電阻的 8 位準(zhǔn)雙向 I/O 口。第二功能是在訪問外部存儲器時(shí),輸出高 8 位地址。在對片內(nèi) ROM 進(jìn)行編程和校驗(yàn)時(shí),P2 口用作接收高 8 位地址和控制信號。P3 口

28、(P2.0P2.7)是一個(gè)內(nèi)部帶提升電阻的 8 位準(zhǔn)雙向 I/O 口。3.2 8051 單片機(jī)的定時(shí)器/計(jì)數(shù)器3.2.1 8051 的定時(shí)器計(jì)數(shù)器功能(1)計(jì)數(shù)功能所謂計(jì)數(shù)是指時(shí)外部脈沖進(jìn)行計(jì)數(shù)。外部脈沖通過 T0(P3.4)、T1(P3.5)兩個(gè)信號引腳輸入。輸入的脈沖在負(fù)跳變時(shí)有效,進(jìn)行計(jì)數(shù)器加 1(加法計(jì)數(shù))。計(jì)數(shù)脈沖的頻率不能高于晶振頻率的 1/24。(2)定時(shí)功能定時(shí)功能也是通過計(jì)數(shù)器的計(jì)數(shù)來實(shí)現(xiàn)的,不過此時(shí)的計(jì)數(shù)脈沖來自單片機(jī)的內(nèi)部,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖。也就是每個(gè)機(jī)器周期計(jì)數(shù)器加1。3.2.2 定時(shí)器控制寄存器表 3.1 定時(shí)器控制寄存器(TCON)位地址 8FH 8E

29、H 8DH 8CH 8BH 8AH 89H 88H位符號 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0(1)TF0(TF1)計(jì)數(shù)溢出標(biāo)志位當(dāng)計(jì)數(shù)器計(jì)數(shù)溢出(計(jì)滿)時(shí),該位置“1”查詢方式時(shí),此位作狀態(tài)位供查詢,軟件清“0” ;中斷方式時(shí),此位作中斷標(biāo)志位,硬件自動清“0” 。(2)TR0(TR1) 定時(shí)器運(yùn)行控制位TR0(TR1)=0 停止定時(shí)器計(jì)數(shù)器工作TR0(TR1)=1 啟動定時(shí)器計(jì)數(shù)器工作軟件方法使其置“1”或清“0” 。3.2.3 工作方式控制寄存器各位定義如下:表 3.2 工作方式控制器寄存器 TMOD位序 B7 B6 B5 B4 B3 B2 B1 B0位符號 G

30、ATE Error! M1 M0 GATE Error! M1 M0(1)GATE 門控位GATE=0 以運(yùn)行控制位 TR 啟動定時(shí)器GATE=1 以外中斷請求信號(/INT0 或/INT1)啟動定時(shí)器(2)C/T 定時(shí)方式或計(jì)數(shù)方式選擇位C/T=0 定時(shí)工作方式C/T=l 計(jì)數(shù)工作方式(3)M1、M0 工作方式選擇位M1、M0=00 方式 0M1、M0=01 方式 1M1、M0=10 方式 2M1、M0=11 方式 33.2.4 中斷允許控制寄存器(IE)(1)EA 中斷允許總控制位(2)ET0 和 ET1 定時(shí)計(jì)數(shù)中斷允許控制位ET0(ET1)=0 禁止定時(shí)計(jì)數(shù)中斷ET0(ET1)=1 允

31、許定時(shí)計(jì)數(shù)中斷3.2.5 定時(shí)器/計(jì)數(shù)器的工作方式(1)方式 0方式 0 是 13 位計(jì)數(shù)結(jié)構(gòu)的工作方式,其計(jì)數(shù)器由 TH0 全部 8 位和 TL0 的低 5 位構(gòu)成。TH0 的高 3 位棄之不用。當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間的計(jì)算公式為:(213-計(jì)數(shù)初值)晶振周期12(2)方式 1方式 1 是 16 位計(jì)數(shù)結(jié)構(gòu)的工作方式,計(jì)數(shù)器由 TH0 全部 8 位和 TL0 全部8 位構(gòu)成。其電路和工作情況與方式 0 完全相同。在方式 1 下的定時(shí)時(shí)間的計(jì)算公式為:(216-計(jì)數(shù)初值)晶振周期12 (3)方式 2 初始化時(shí),8 位計(jì)數(shù)初值同時(shí)裝入 TL0 和 TH0 中。當(dāng) TL0 計(jì)數(shù)溢出時(shí),置位

32、TF0,同時(shí)把保存在預(yù)置寄存器 TH0 中的計(jì)數(shù)初值自動加載 TL0,然后 TL0重新計(jì)數(shù)。當(dāng)為定時(shí)工作方式時(shí),定時(shí)時(shí)間的計(jì)算公式為:(255-計(jì)數(shù)初值)晶振周期12(4)方式 3工作方式 3 下的定時(shí)器計(jì)數(shù)器 0在工作方式 3 下,定時(shí)器計(jì)數(shù)器 0 被拆成兩個(gè)獨(dú)立的 8 位計(jì)數(shù)器 TL0 和TH0。其中 TL0 既可以計(jì)數(shù)使用,又可以定時(shí)使用,定時(shí)器計(jì)數(shù)器 0 的各控制位和引腳信號全歸它使用。TH0 則只能作為簡單的定時(shí)器使用。工作方式 3 下的定時(shí)器計(jì)數(shù)器 1如果定時(shí)器計(jì)數(shù)器 0 已工作在工作方式 3,則定時(shí)器計(jì)數(shù)器 1 只能工作在方式 0、方式 1 或方式 2 下,因?yàn)樗倪\(yùn)行控制位 T

33、R1 及計(jì)數(shù)溢出標(biāo)志位TF1 已被定時(shí)器計(jì)數(shù)器 0 借用,如圖所示。在這種情況下,定時(shí)器計(jì)數(shù)器1 通常是作為串行口的波特率發(fā)生器使用,以確定串行通信的速率。3.3 8051 單片機(jī)的中斷3.3.1 中斷的定義所謂的中斷就是,當(dāng) CPU 正在處理某項(xiàng)事務(wù)的時(shí)候,如果外界或者內(nèi)部發(fā)生了緊急事件,要求 CPU 暫停正在處理工作而去處理這個(gè)緊急事件,待處理完后,再回到原來中斷的地方,繼續(xù)執(zhí)行原來被中斷的程序,這個(gè)過程稱作中斷。 從中斷的定義我們可以看到中斷應(yīng)具備中斷源、中斷響應(yīng)、中斷返回這樣三個(gè)要素。中斷源發(fā)出中斷請求,單片機(jī)對中斷請求進(jìn)行響應(yīng),當(dāng)中斷響應(yīng)完成后應(yīng)進(jìn)行中斷返回,返回被中斷的地方繼續(xù)執(zhí)行

34、原來被中斷的程序。3.3.2 8051 單片機(jī)的中斷源8051 單片機(jī)的中斷源共有兩類,它們分別是:外部中斷和內(nèi)部中斷。(1)外部中斷源 外部中斷 0:來自 P3.2 引腳,采集到低電平或者下降沿時(shí),產(chǎn)生中斷請求。外部中斷 1:來自 P3.3 引腳,采集到低電平或者下降沿時(shí),產(chǎn)生中斷請求。(2)內(nèi)部中斷源 定時(shí)器計(jì)數(shù)器 0( T0 ):定時(shí)功能時(shí),計(jì)數(shù)脈沖來自片內(nèi);計(jì)數(shù)功能時(shí),計(jì)數(shù)脈沖來自片外 P3.4 引腳。發(fā)生溢出時(shí),產(chǎn)生中斷請求。定時(shí)器計(jì)數(shù)器 1( T1 ):定時(shí)功能時(shí),計(jì)數(shù)脈沖來自片內(nèi);計(jì)數(shù)功能時(shí),計(jì)數(shù)脈沖來自片外 P3.5 引腳。發(fā)生溢出時(shí),產(chǎn)生中斷請求。串行口:為完成串行數(shù)據(jù)傳送而

35、設(shè)置。單片機(jī)完成接受或發(fā)送一組數(shù)據(jù)時(shí),產(chǎn)生中斷請求。3.3.3 中斷控制的專用寄存器MCS-51 單片機(jī)為用戶提供了四個(gè)專用寄存器,來控制單片機(jī)的中斷系統(tǒng)。(1)定時(shí)器控制寄存器(TCON) 該寄存器用于保存外部中斷請求以及定時(shí)器的計(jì)數(shù)溢出。進(jìn)行字節(jié)操作時(shí),寄存器地址為 88H。按位操作時(shí),各位的地址為 88H8FH。寄存器的內(nèi)容及位地址表示如下:表 3.3 寄存器 TCON位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位符號 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 IT0 和 IT1外部中斷請求觸發(fā)方式控制位IT0 (IT1)1 脈沖觸發(fā)方式

36、,下降沿有效IT0 (IT1)0 電平觸發(fā)方式,低電平有效IE0 和 IE1外中斷請求標(biāo)志位當(dāng) CPU 采樣到 INT0(或 INT1)端出現(xiàn)有效中斷請求時(shí),IE0(IE1)位由硬件置“1” 。當(dāng)中斷響應(yīng)完成轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件把 IE0(或 IE1)清零。TR0 和 TR1定時(shí)器運(yùn)行控制位TR0 (TR1 )0 定時(shí)器/計(jì)數(shù)器不工作TR0 (TR1 )1 定時(shí)器/計(jì)數(shù)器開始工作 TF0 和 TF1計(jì)數(shù)溢出標(biāo)志位 當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),相應(yīng)的溢出標(biāo)志位由硬件置“1” 。當(dāng)轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動清“0” 。計(jì)數(shù)溢出標(biāo)志位的使用有兩種情況:采用中斷方式時(shí),作中斷請求標(biāo)志位來使用;采用

37、查詢方式時(shí),作查詢狀態(tài)位來使用。(2)串行口控制寄存器(SCON) 進(jìn)行字節(jié)操作時(shí),寄存器地址為 98H。按位操作時(shí),各位的地址為98H9FH。寄存器的內(nèi)容及位地址表示如下:表 3.4 串行口控制寄存器 SCON位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位符號 SM0 SM1 SM2 R EN TB8 RB8 TIRI其中與中斷有關(guān)的控制位共 2 位:TI串行口發(fā)送中斷請求標(biāo)志位當(dāng)發(fā)送完一幀串行數(shù)據(jù)后,由硬件置“1” ;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清“0” 。RI串行口接收中斷請求標(biāo)志位當(dāng)接收完一幀串行數(shù)據(jù)后,由硬件置“1” ;在轉(zhuǎn)向中斷服務(wù)程序后,用軟件清“0”

38、 。串行中斷請求由 TI 和 RI 的邏輯或得到。就是說,無論是發(fā)送標(biāo)志還是接收標(biāo)志,都會產(chǎn)生串行中斷請求。(3)中斷允許控制寄存器(IE) 進(jìn)行字節(jié)操作時(shí),寄存器地址為 0A8H。按位操作時(shí),各位的地址為0A8H0AFH。寄存器的內(nèi)容及位地址表示如下:表 3.5 中斷允許控制寄存器 IE位地址 0AFH 0AEH 0ADH 0ACH 0ABH 0AAH 0A9H 0A8H 位符號 EA / / ES ET1 EX1 ET0 EX0 其中與中斷有關(guān)的控制位共 6 位:EA中斷允許總控制位EA0 中斷總禁止,禁止所有中斷EA1 中斷總允許,總允許后中斷的禁止或允許由各中斷源的中斷允許控制位進(jìn)行設(shè)

39、置。EX0 和 EX1外部中斷允許控制位EX0(EX1)0 禁止外部中斷EX0(EX1)1 允許外部中斷ET0 和 ET1定時(shí)器/計(jì)數(shù)器中斷允許控制位ET0(ET1)0 禁止定時(shí)器/計(jì)數(shù)器中斷ET0(ET1)0 允許定時(shí)器/計(jì)數(shù)器中斷ES串行中斷允許控制位ES=0 禁止串行中斷ES=1 允許串行中斷可見,MCS-51 單片機(jī)通過中斷允許控制寄存器對中斷的允許(開放)實(shí)行兩級控制。即以 EA 位作為總控制位,以各中斷源的中斷允許位作為分控制位。當(dāng)總控制位為禁止時(shí),關(guān)閉整個(gè)中斷系統(tǒng),不管分控制為狀態(tài)如何,整個(gè)中斷系統(tǒng)為禁止?fàn)顟B(tài);當(dāng)總控制位為允許時(shí),開放中斷系統(tǒng),這時(shí)才能由各分控制位設(shè)置各自中斷的允

40、許與禁止。MCS-51 單片機(jī)復(fù)位后(IE)00H,因此中斷系統(tǒng)處于禁止?fàn)顟B(tài)。單片機(jī)在中斷響應(yīng)后不會自動關(guān)閉中斷。因此在轉(zhuǎn)中斷服務(wù)程序后,應(yīng)根據(jù)需要使用有關(guān)指令禁止中斷,即以軟件方式關(guān)閉中斷。4. 硬件設(shè)計(jì)硬件電路主要由單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路、超聲波檢測接收電路以及溫度檢測電路組成。單片機(jī)選用 8051,經(jīng)濟(jì)易用,且片內(nèi)有 4K 的ROM,便于編程。采用 12MHz 高精度的晶振,以獲得較穩(wěn)定的時(shí)鐘頻率,減小測量誤差。單片機(jī) 8051 通過 P1.0 引腳經(jīng)振蕩器來控制超聲波的發(fā)送,然后單片機(jī)不停的檢測 INT0 引腳,當(dāng) INT0 引腳的電平由高電平變?yōu)榈碗娖綍r(shí)就認(rèn)為超聲波已經(jīng)

41、返回。計(jì)數(shù)器所計(jì)的數(shù)據(jù)就是超聲波所經(jīng)歷的時(shí)間,并進(jìn)行溫度的測量,通過換算就可以得到傳感器與障礙物之間的距離。最后通過數(shù)碼管LED 顯示出來。用 LED 顯示數(shù)字比較清晰,而且電路結(jié)構(gòu)簡單,成本低廉。4.1 8051 單片機(jī)的最小系統(tǒng)組成單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成單片機(jī)可以工作的系統(tǒng)。對 8051 單片機(jī)來說,最小系統(tǒng)應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路。下面是 8051 單片機(jī)的最小系統(tǒng)電路。圖 4.1 最小系統(tǒng)電路圖圖 4.1 中,P0.0P0.7 用來控制 LED 的段碼,P2.0P2.3 用來控制 LED 的位碼,P1.3 用來和溫度傳感器 DS18B20

42、 連接,超聲波發(fā)射電路和單片機(jī) 8051的 P1.0 口連接,而超聲波接收電路連接到 8051 的外部中斷 INT0。因此單片機(jī)8051 不需要進(jìn)行外部擴(kuò)展就可滿足超聲波測距電路的系統(tǒng)要求4。電源采用+5V 電源供電。晶振 X1 的頻率是 12MHZ。4.2 超聲波發(fā)射電路設(shè)計(jì)4.2.1 超聲波頻率及探頭的選擇超聲波在空氣中頻率越高,功率越大,精度越高,但在空氣中衰減越快;相反頻率越低,功率越小,在空氣中衰減越慢,但誤差大。綜合考慮75KHZ、40KHZ、25KHZ 等幾個(gè)常用超聲波頻率的特點(diǎn),取 40KHZ 可以較好的解決這個(gè)矛盾。為了便于超聲波的發(fā)射和接收,采用共振頻率為 40KHZ 的超

43、聲波探頭,其發(fā)射探頭選用 TCT40-10F1。4.2.2 超聲波發(fā)射電路超聲波發(fā)射電路由超聲波換能器(或稱超聲波振頭)和超聲波發(fā)生器兩部分組成, 40KHz 的超聲波信號是利用 555 時(shí)基電路振蕩產(chǎn)生的,振蕩頻率 f 1.43/((R9+2R10) C5),通過 R10調(diào)節(jié)信號頻率,使之與換能器的 40KHz 固有頻率一致,為保證 555 時(shí)基具有足夠的驅(qū)動能力,宜采用+12V 電源5。工作時(shí),單片機(jī)通過 P1.0 口向超聲波發(fā)生電路發(fā)出控制信號從 555 振蕩電路的 4 腳輸入到驅(qū)動器,經(jīng)驅(qū)動器驅(qū)動后推動探頭產(chǎn)生超聲波,超聲波發(fā)生電路產(chǎn)生40KHz 的調(diào)制脈沖,經(jīng)換能器轉(zhuǎn)換為超聲波信號向

44、前方空間發(fā)射。 圖 4.2 超聲波發(fā)射電路由 555 型電路組成多諧振蕩器,它的振蕩頻率為 40kHz。R10用來調(diào)節(jié)信號頻率。多諧振蕩器產(chǎn)生的 40kHz 的脈沖由 3 腳輸出,通過超聲波發(fā)射器向外發(fā)射。4.3 超聲波接收電路設(shè)計(jì)4.3.1 超聲波接收器超聲波接收器包括超聲波接收探頭、信號放大電路和波形變換電路三部分電路組成。電源 VCC 采用 12V 電源供電。超聲波接收探頭選擇與發(fā)射探頭配對的 TCT40-10S1。波形變換采用集成運(yùn)放芯片(LM324)作為比較器對放大后的信號進(jìn)行波形變換6。當(dāng)輸入信號的電壓大于基準(zhǔn)電壓時(shí),輸出為“1” ;當(dāng)輸入信號的電壓小于基準(zhǔn)電壓時(shí),輸出為“0” ;

45、這樣就實(shí)現(xiàn)了對輸入信號進(jìn)行變換的目的。4.3.2 超聲波接收電路圖 圖 4.3 超聲波接收電路芯片 CX201067是一款應(yīng)用廣泛的紅外線檢波接收的專用芯片,其具有功能強(qiáng)、性能優(yōu)越、外圍接口簡單、成本低等優(yōu)點(diǎn),由于紅外遙控常用的載波頻率 38 kHz 與測距的超聲波頻率 40 kHz 比較接近,而且 CX20106 內(nèi)部設(shè)置的濾波器中心頻率 f0五可由其 5 腳外接電阻調(diào)節(jié),阻值越大中心頻率越低,范圍為3060 kHz。故本次設(shè)計(jì)用它來做接收電路。CX20106 內(nèi)部由前置放大器、限幅放大器、帶通濾波器、檢波器、積分器及整形電路構(gòu)成。工作過程如下:接收的回波信號先經(jīng)過前置放大器和限幅放大器,將

46、信號調(diào)整到合適幅值的矩形脈沖,由濾波器進(jìn)行頻率選擇,濾除干擾信號,再經(jīng)整形,送給輸出端。當(dāng)接收到與 CX20106 濾波器中心頻率相符的回波信號時(shí),其輸出端就輸出低電平,而輸出端直接到 8051 的 INT0 引腳上,以觸發(fā)中斷,圖中芯片未接任何元件的引腳為輸出端。若頻率有一些誤差,可調(diào)節(jié)芯片引腳 5 的外接電阻,通過改變電阻值來將濾波器的中心頻率設(shè)置在 40 kHz,就可達(dá)到理想的效果。4.4 溫度檢測電路4.4.1 溫度檢測方案的分析由于超聲波也是屬于聲速,所以在傳播途中也會受到溫度等外界因素的影響,為了比較精確的得到傳感器與液面之間的距離,利用溫度傳感器檢測當(dāng)時(shí)條件下的環(huán)境溫度,并換算到

47、相對應(yīng)的超聲波聲速,利用這個(gè)速度去計(jì)算距離就可以得到比較準(zhǔn)確的距離。因此在整個(gè)系統(tǒng)中添加一個(gè)溫度傳感器來對當(dāng)時(shí)環(huán)境溫度進(jìn)行檢測。4.4.2 數(shù)字溫度傳感器 DS18B20 簡介DS18B20 是美國 DALLAS 公司推出的單總線數(shù)字測溫芯片8。他具有獨(dú)特的單總線接口方式,僅需使用 1 個(gè)端口就能實(shí)現(xiàn)與單片機(jī)的雙向通訊。采用數(shù)字信號輸出提高了信號抗干擾能力和溫度測量精度。他的工作電壓使用范圍寬(3.05.5 V),可以采用外部供電方式,也可以采用寄生電源方式,即當(dāng)總線DQ 為高電平時(shí),竊取信號能量給 DS18B20 供電。他還有負(fù)壓特性,電源極性接反時(shí),DS18B20 不會因接錯(cuò)線而燒毀,但不

48、能正常工作??梢酝ㄟ^編程實(shí)現(xiàn)912 位的溫度轉(zhuǎn)換精度設(shè)置。設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間就越長,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。4.4.3 DS18B20 的結(jié)構(gòu)及電路DS18B20 采用 3 腳 T0-92封裝,形如三極管,同時(shí)也有 8 腳 SOIC 封裝,還有 6 腳的 TSOC 封裝。測溫范圍為-55+125,在-1085范圍內(nèi),精度為0.5。每一個(gè) DS18B20 芯片的 ROM 中存放了一個(gè) 64 位 ID 號:前 8 位是產(chǎn)品類型編號,隨后 48 位是該器件的自身序號,最后 8 位是前面 56 位的循環(huán)冗余校驗(yàn)碼。又因其可以采用寄生電源方式供電。因此,一條總線

49、上可以同時(shí)掛接多個(gè) DS18B20,實(shí)現(xiàn)多點(diǎn)測溫系統(tǒng)9。圖 4.4 DS18B20 的外形及封裝圖 4.5 數(shù)字溫度傳感器 DS18B20 電路圖溫度傳感器的 DQ 腳與單片機(jī) 8051 的 P1.3 管腳相連,用于顯示當(dāng)時(shí)的環(huán)境溫度。并把從外界檢測到的溫度返回到單片機(jī)中,并通過固化在程序中的溫度速度表,查得最接近檢測到的溫度的速度值,代入距離計(jì)算公式,從而得到比較精確的距離,提高了超聲波測距的精度。4.5 顯示方案的論證與選擇方案一:采用 LCD 液晶顯示器。LCD 液晶顯示器既能顯示數(shù)字又能顯示文字,功能很大的,但價(jià)格要比較貴,且控制較為困難。方案二:采用數(shù)碼管(LED)顯示,特點(diǎn):顯示數(shù)

50、字清晰,電路結(jié)構(gòu)簡單,成本低廉。根據(jù)對比,方案二優(yōu)于方案一,所以選擇方案二,即采用 LED 進(jìn)行顯示。4.5.1 LED 顯示電路圖顯示電路采用簡單實(shí)用的 4 位 LED 數(shù)碼管,單片機(jī)系統(tǒng)及顯示電路如圖 4.6所示。LED(Light Emitting Diode)是當(dāng)外加電壓超過額定電壓時(shí)發(fā)生擊穿而發(fā)出可見光,LED 的工作電壓通常為 220mA。工作壓降為 2V 左右,使用時(shí)需加限流電阻。圖 4.6 LED 與 8051 的接口電路圖顯示電路采用 LED 數(shù)碼管顯示,數(shù)碼管具有:低能耗、低損耗、低壓,對外界環(huán)境要求低,易維護(hù)的優(yōu)點(diǎn),雖只能顯示非常有限的符號和數(shù)碼字,但可完全滿足本設(shè)計(jì)。在

51、顯示部分采用 LED 動態(tài)顯示技術(shù),節(jié)省單片機(jī)空間,而且動態(tài)顯示電流很小,單片機(jī)可以提供。LED 的段碼通過單片機(jī) 8051 的P0.0P0.7 口來控制,位碼通過 P2.0P2.3 來控制,當(dāng)需要某一位亮?xí)r,該位送位碼驅(qū)動它點(diǎn)亮。由于每位的點(diǎn)亮?xí)r間很短暫,視覺停留效應(yīng)就感覺每位都亮著。4.6 穩(wěn)壓電源4.6.1 穩(wěn)壓電源構(gòu)成由于每個(gè)模塊都需要提供電源,電源有+5V 和+12V 的,因此采用直流穩(wěn)壓電源供電。單片機(jī)采用+5V 電源供電,超聲波發(fā)射和接收模塊以及溫度采集模塊都采用+12V 來供電。4.6.2 +5V 電源電路如圖 4.7 為+5V 穩(wěn)壓電源的電路圖。它由電源變壓器 T1、橋式整流

52、電路BR1、濾波電容 C3、C4,防自激電容 C1、C2和一只穩(wěn)壓器 7805 構(gòu)成。220V 交流市電通過電源變壓器變換成交流低壓,再經(jīng)過橋式整流電路和濾波電容 C3的整流和濾波,在穩(wěn)壓器 7805 的 VI 和 GND 兩端形成一個(gè)并不十分穩(wěn)定的直流電壓(該電壓常常會因?yàn)槭须婋妷旱牟▌踊蜇?fù)載的變化等原因而發(fā)生變化)。此直流電壓經(jīng)過 7805 的穩(wěn)壓和 C4 的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。本穩(wěn)壓電源可作為單片機(jī)電路的電源。圖 4.7 +5V 電源電路4.6.3 +12V 電源電路圖 4.8 是+12V 穩(wěn)壓電源電路圖,其中 7812 是輸出電壓為 12V 的

53、三端穩(wěn)壓器,T2 是電源變壓器,BR2 是橋式整流電路,濾波電容 C3、C4,防自激電容C1、C2。220V 交流市電通過電源變壓器變換成交流低壓,再經(jīng)過橋式整流電路和濾波電容 C3的整流和濾波,在穩(wěn)壓器 7812 的 VI 和 GND 兩端形成一個(gè)并不十分穩(wěn)定的直流電壓(該電壓常常會因?yàn)槭须婋妷旱牟▌踊蜇?fù)載的變化等原因而發(fā)生變化)。此直流電壓經(jīng)過 7812 的穩(wěn)壓和 C4的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的+12V 直流輸出電壓。圖 4.8 +12V 電源電路圖5. 軟件設(shè)計(jì)系統(tǒng)軟件包括主程序、溫度采集子程序、發(fā)射子程序、計(jì)算子程序、顯示子程序、外部中斷子程序和定時(shí)器中斷子程序

54、。設(shè)計(jì)中,超聲波發(fā)射極和接收端距離較近,當(dāng)發(fā)射極發(fā)射超聲波后,有部分超聲波沒經(jīng)過障礙物反射就直接繞射到接收端上,這部分信號是無用的,會引起系統(tǒng)誤測10。設(shè)計(jì)中采用延時(shí)技術(shù)來解決這個(gè)問題11,并設(shè)定延時(shí)時(shí)間為0.1ms,即在發(fā)射極發(fā)射超聲波 0.1ms 內(nèi),通過軟件關(guān)閉所有中斷,接收電路對此期間接收到的任何信號不予理睬,0.1ms 后立即開啟外部中斷,等待接收超聲波返回來的信號,這時(shí)接收到的信號才有效,并在接收到回波信號的同時(shí),停止計(jì)時(shí)。此時(shí) t0所記錄的單片機(jī)發(fā)送脈沖信號的前沿到回波脈沖信號之間的時(shí)間才是需要的。5.1 主程序設(shè)計(jì)5.1.1 主程序流程圖開中斷,等待回波盲區(qū)延時(shí) 0.1ms測溫

55、子程序定時(shí)中斷子程序距離計(jì)算初始化有回波?外部中斷子程序開始顯示輸出YN圖 5.1 主程序流程圖Figure 5.1 main program flowchart 5.1.2 主程序主程序完成初始化后調(diào)用發(fā)射子程序,由 p1.0 口發(fā)出信號,通過 555 振蕩電路驅(qū)動超聲波傳感器發(fā)射超聲波,并關(guān)外部中斷,計(jì)數(shù)器 t0開始計(jì)時(shí),當(dāng)確定發(fā)射完超聲波后返回繼續(xù)執(zhí)行主程序;為防止虛假回波的干擾,在延時(shí)一段時(shí)間后,開中斷。當(dāng)有外部中斷信號時(shí),單片機(jī)就停止 t0的計(jì)時(shí),計(jì)算出渡越時(shí)間 t 并存儲到 RAM 中;然后調(diào)用測溫子程序,采集超聲波測距時(shí)的環(huán)境溫度,并換算出準(zhǔn)確的聲速 c,存儲到 RAM 中;單片

56、機(jī)再調(diào)用計(jì)算子程序,計(jì)算出傳感器到目標(biāo)物體之間的距離,最后把測量結(jié)果存儲并通過數(shù)碼管電路顯示出來,完成一次測量。通過測距公式 S=vt/2,其中 t 為定時(shí)器所測得的時(shí)間。部分主程序如下: START: MOV SP,#4FH MOV R0,#40H ;40H-43H 為顯示數(shù)據(jù)存放單元(40H 為最高位) MOV R7,#0BH CLEARDISP: MOV R0,#00H INC R0 DJNZ R7,CLEARDISP MOV 20H,#00H . START1: LCALL DISPLAY JNB 00H,START1 ;收到反射信號時(shí)標(biāo)志位為 1 CLR EA LCALL DS18B

57、20_RST;測溫子程序LCALL WORK ;計(jì)算距離子程序 . 超聲波測距儀主程序利用外中斷 0 檢測返回超聲波信號,一旦接收到返回超聲波信號(即 INT0 引腳出現(xiàn)低電平) ,立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)時(shí)器 T0 停止計(jì)時(shí),并將測距成功標(biāo)志字賦值 1。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測到超聲波返回信號,則定時(shí)器 T0 溢出中斷將外中斷 0 關(guān)閉,并將測距成功標(biāo)志字賦值 2 以表示此次測距不成功。5.2 中斷服務(wù)子程序中斷服務(wù)子程序由定時(shí)中斷服務(wù)子程序和外部中斷服務(wù)子程序構(gòu)成。定時(shí)中斷服務(wù)子程序主要用于程序中的定時(shí),而當(dāng)接收到反射回來的超聲波時(shí)就會產(chǎn)生外部中斷,然后進(jìn)入相關(guān)的程序和數(shù)

58、據(jù)的處理。5.2.1 中斷初始化在啟動發(fā)射電路的同時(shí)啟動單片機(jī)內(nèi)部的定時(shí)器 T0,T0 工作于工作模式1。是 16 位的定時(shí)器。其中 T0 的初值 X=65536-N,N 是計(jì)數(shù)值,把 N 設(shè)為最大值,也就是說 65ms 中斷一次,所以 X=0。即 TH0=00H,TL0=00H。T1 工作于模式 2,初值 X=255-N。由于信號是 40KHZ,所以周期 25s,X=255-12.5*12/12=F2H,因此 TH1=F2H,TL1=F2H。由于定時(shí)器/計(jì)數(shù)器的功能是由軟件編程確定的,所以一般在使用定時(shí)/計(jì)數(shù)器前都要對其進(jìn)行初始化,使其按設(shè)定的功能工作。初始化的步驟一般如下:(1)確定工作方

59、式(即對 TMOD 賦值);(2)預(yù)置定時(shí)或計(jì)數(shù)的初值(可直接將初值寫入 TH0、TL0 或TH1、TL1);(3)根據(jù)需要開放定時(shí)器/計(jì)數(shù)器的中斷(直接對 IE 位賦值);(4)啟動定時(shí)器/計(jì)數(shù)器(若已規(guī)定用軟件啟動,則可把 TR0 或 TR1 置“1”;若已規(guī)定由外中斷引腳電平啟動,則需給外引腳步加啟動電平。當(dāng)實(shí)現(xiàn)了啟動要求后,定時(shí)器即按規(guī)定的工作方式和初值開始計(jì)數(shù)或定時(shí))。定時(shí)器 T0 的初始化程序:T0 中斷,65ms 中斷一次MOV TMOD,#01H ; T0 為模式 1,16 位定時(shí)器 MOV TH0,#00H ;65 毫秒初值 MOV TL0,#00H SETB ET0 ;開定

60、時(shí)器 T0 中斷SETB EA ;開總中斷SETB TR0 ;開啟測距定時(shí)器 定時(shí)器 T1 的初始化程序:T1 中斷,用于發(fā)送超聲波MOV TMOD,#20H ;T1 為模式 2,8 位自動重裝模式MOV TH1,#0F2H ;40KHZ 初值 MOV TL1,#0F2H SETB EASETB ET1SETB TR15.2.2 中斷子程序流程圖 定時(shí)器初始化發(fā)射超聲波關(guān)外部中斷發(fā)射完否返回定時(shí)中斷入口停止發(fā)射YN外部中斷入口開外部中斷關(guān)外部中斷計(jì)算距離結(jié)果輸出讀取時(shí)間值返回測溫子程序圖 5.2 定時(shí)中斷服務(wù)流程圖 圖 5.3 外部中斷服務(wù)流程圖Figure 5.2 timer interru

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論