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

下載本文檔

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

文檔簡介

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

2、32.1 超聲波3 2.1.1 定義3 2.1.2 超聲波的主要參數(shù)3 2.1.3 超聲波的特性3 2.1.4 超聲波的特點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ù)器 10 3.2.1 8051 的定時器/計數(shù)器功能 10 3.2.2 定時器控制寄存

3、器10 3.2.3 工作方式控制寄存器11 3.2.4 中斷允許控制寄存器(IE)11 3.2.5 定時器/計數(shù)器的工作方式113.3 8051 單片機(jī)的中斷12 3.3.1 中斷的定義12 3.3.2 8051 單片機(jī)的中斷源12 3.3.3 中斷控制的專用寄存器134 硬件設(shè)計164.1 8051 單片機(jī)的最小系統(tǒng)組成 164.2 超聲波發(fā)射電路設(shè)計17 4.2.1 超聲波頻率及探頭的選擇17 4.2.2 超聲波發(fā)射電路174.3 超聲波接收電路設(shè)計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è)計255.1 主程序設(shè)計265.1.1 主程序流程圖265.1.2 主程序275.2 中斷服務(wù)子程序275.2.1 中斷初始化275.2.2 中斷子程序流程圖295.3 溫度檢測子程序295.4 距離的計算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)以后,使得液位計的精度越來越高,越來越向智能化、一體化、小型化的方向發(fā)展。從上世紀(jì)八十年代開始,一些發(fā)達(dá)國家就借助微電子、計算機(jī)、光纖、超聲波、傳感器等高科技的研究成果,將各種新技術(shù)、新方法應(yīng)用到儲罐液位測量領(lǐng)域。電子式測量方法便是其中的重要成果之一。在電子式液位測量方法中,有許多新的測量原理,包括壓電式、應(yīng)變式、雷達(dá)式、超聲波式、浮球式、電容式、磁致伸縮式、伺服式、混合式等二十多種測量技術(shù)。由于該方法測量精度高,可靠性強(qiáng),持續(xù)時間長,安裝維護(hù)簡單,因而正在逐步取代舊的

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

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

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

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

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

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

12、 “空化”現(xiàn)象來解釋:超聲波振動在液體中傳播的音波壓強(qiáng)達(dá)到一個大氣壓時,其功率密度為0.35w/cm2,這時超聲波的音波壓強(qiáng)峰值就可達(dá)到真空或負(fù)壓,但實際上無負(fù)壓存在,因此在液體中產(chǎn)生一個很大的壓力,將液體分子拉裂成空洞 空化核。此空洞非常接近真空,它在超聲波壓強(qiáng)反向達(dá)到最大時破裂,由于破裂而產(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ì)中傳播時,可在界面上產(chǎn)生強(qiáng)烈的沖擊和空化現(xiàn)象。2.1.4 超聲波的特點(1)超聲波在傳播時,方向性強(qiáng),能量易于集中。 (2)超聲波能在各種不同媒質(zhì)中傳播,且可傳播足夠遠(yuǎn)的距離。 (3)超聲波與傳聲媒質(zhì)的相互作用適中,易于攜帶有關(guān)傳聲媒質(zhì)狀態(tài)的信息(診斷或?qū)髀暶劫|(zhì)產(chǎn)生效應(yīng)) 。超聲波是一種波動形式,它可以作為探測與負(fù)載信息的載體或媒介(如 B超等用作診斷) ;超聲波同時又是一種能量形式,當(dāng)其強(qiáng)度超過一定值時,它就可以通過與傳播超聲波的媒質(zhì)的相互作用,去影響,改變以致破壞后者的狀態(tài),性質(zhì)及結(jié)構(gòu)(用作治療) 。2.1.5 超聲波傳感器的主要應(yīng)用超聲波傳感技術(shù)應(yīng)用在生產(chǎn)實踐的不同方面

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

15、屬的無損探傷和超聲波測厚兩種。過去,許多技術(shù)因為無法探測到物體組織內(nèi)部而受到阻礙,超聲波傳感技術(shù)的出現(xiàn)改變了這種狀況。當(dāng)然更多的超聲波傳感器是固定地安裝在不同的裝置上,“悄無聲息”地探測人們所需要的信號。在未來的應(yīng)用中,超聲波將與信息技術(shù)、新材料技術(shù)結(jié)合起來,將出現(xiàn)更多的智能化、高靈敏度的超聲波傳感器。2.2 超聲波傳感器測距原理2.2.1 超聲波傳感器超聲波傳感器是利用超聲波的特性研制而成的傳感器。超聲波是一種振動頻率高于聲波的機(jī)械波,由換能晶片在電壓的激勵下發(fā)生振動產(chǎn)生的,它具有頻率高、波長短、繞射現(xià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)成晶片的材料可以有許多種。晶片的大小,如直徑和厚度也各不相同,因此每個探頭的性能是不同的,我們使用前必須預(yù)先了解它的性能。超聲波傳感器的主要性能指標(biāo)包括: (1)工作頻率。工作頻率就是壓電晶片的共振頻率。

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

18、。另一方面,當(dāng)振動壓電陶瓷時,則會產(chǎn)生一個電荷。利用這一原理,當(dāng)給由兩片壓電陶瓷或一片壓電陶瓷和一個金屬片構(gòu)成的振動器,所謂叫雙壓電晶片元件,施加一個電信號時,就會因彎曲振動發(fā)射出超聲波。相反,當(dāng)向雙壓電晶片元件施加超聲振動時,就會產(chǎn)生一個電信號?;谝陨献饔茫憧梢詫弘娞沾捎米鞒暡▊鞲衅?。如超聲波傳感器,一個復(fù)合式振動器被靈活地固定在底座上。該復(fù)合式振動器是諧振器以及,由一個金屬片和一個壓電陶瓷片組成的雙壓電晶片元件振動器的一個結(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 個冪的差異會導(dǎo)致在壓電陶瓷振動輻射表面上的大量損失。一種特殊材料粘附在壓電陶瓷上,作為聲匹配層,可實

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

21、波測距原理與雷達(dá)原理是一樣的。測距的公式表示為: L=CT式中 L 為測量的距離長度; C 為超聲波在空氣中的傳播速度; T 為測量距離傳播的時間差 (T 為發(fā)射到接收時間數(shù)值的一半 )。超聲波測距主要應(yīng)用于倒車提醒、建筑工地、工業(yè)現(xiàn)場等的距離測量,雖然目前的測距量程上能達(dá)到百米,但測量的精度往往只能達(dá)到厘米數(shù)量級。由于超聲波易于定向發(fā)射、方向性好、強(qiáng)度易控制、與被測量物體不需要直接接觸的優(yōu)點,是作為液體高度測量的理想手段。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 個專用控制寄存器、4kB 的程序存儲器、128字節(jié)的數(shù)據(jù)存儲器、4 組 8 位的并行口、兩個 16 位的可編程定時/計數(shù)器、一個全雙工的串行口以及布爾處理器。3.1.1 8051 單片機(jī)的總體框圖及功能內(nèi)部總體結(jié)構(gòu)如下:8 位 CPU4kbytes 程序存儲器(ROM)128bytes 的數(shù)據(jù)存儲器(RAM)32 條 I/O 口線111 條指令,大部分為單字節(jié)指令21 個專用寄存器2 個可編程定時/計數(shù)器5 個中斷源,2 個優(yōu)先級一個全雙工串行通信口外部數(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)部總線傳送地址信息,各功能部件分時使用總線,即所謂的內(nèi)部但總線結(jié)構(gòu)。3.1.2 8051 的引腳功能8051 單片機(jī)采用 40 腳雙列直插式封裝,其引腳排列及邏輯符號如圖 3.2 所示。圖 3.2 8051 單片機(jī)引腳圖下面分別說明各引腳的含義和功能3。(1)主電源引腳 Vcc 和 VssVcc電源端。工作電源和編程校驗(+5V) 。Vss接地端。(2)時鐘振蕩電路引腳

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

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

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

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

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

29、H 8DH 8CH 8BH 8AH 89H 88H位符號 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0(1)TF0(TF1)計數(shù)溢出標(biāo)志位當(dāng)計數(shù)器計數(shù)溢出(計滿)時,該位置“1”查詢方式時,此位作狀態(tài)位供查詢,軟件清“0” ;中斷方式時,此位作中斷標(biāo)志位,硬件自動清“0” 。(2)TR0(TR1) 定時器運(yùn)行控制位TR0(TR1)=0 停止定時器計數(shù)器工作TR0(TR1)=1 啟動定時器計數(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 啟動定時器GATE=1 以外中斷請求信號(/INT0 或/INT1)啟動定時器(2)C/T 定時方式或計數(shù)方式選擇位C/T=0 定時工作方式C/T=l 計數(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ù)中斷允許控制位ET0(ET1)=0 禁止定時計數(shù)中斷ET0(ET1)=1 允

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

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

33、R1 及計數(shù)溢出標(biāo)志位TF1 已被定時器計數(shù)器 0 借用,如圖所示。在這種情況下,定時器計數(shù)器1 通常是作為串行口的波特率發(fā)生器使用,以確定串行通信的速率。3.3 8051 單片機(jī)的中斷3.3.1 中斷的定義所謂的中斷就是,當(dāng) CPU 正在處理某項事務(wù)的時候,如果外界或者內(nèi)部發(fā)生了緊急事件,要求 CPU 暫停正在處理工作而去處理這個緊急事件,待處理完后,再回到原來中斷的地方,繼續(xù)執(zhí)行原來被中斷的程序,這個過程稱作中斷。 從中斷的定義我們可以看到中斷應(yīng)具備中斷源、中斷響應(yīng)、中斷返回這樣三個要素。中斷源發(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 引腳,采集到低電平或者下降沿時,產(chǎn)生中斷請求。外部中斷 1:來自 P3.3 引腳,采集到低電平或者下降沿時,產(chǎn)生中斷請求。(2)內(nèi)部中斷源 定時器計數(shù)器 0( T0 ):定時功能時,計數(shù)脈沖來自片內(nèi);計數(shù)功能時,計數(shù)脈沖來自片外 P3.4 引腳。發(fā)生溢出時,產(chǎn)生中斷請求。定時器計數(shù)器 1( T1 ):定時功能時,計數(shù)脈沖來自片內(nèi);計數(shù)功能時,計數(shù)脈沖來自片外 P3.5 引腳。發(fā)生溢出時,產(chǎn)生中斷請求。串行口:為完成串行數(shù)據(jù)傳送而

35、設(shè)置。單片機(jī)完成接受或發(fā)送一組數(shù)據(jù)時,產(chǎn)生中斷請求。3.3.3 中斷控制的專用寄存器MCS-51 單片機(jī)為用戶提供了四個專用寄存器,來控制單片機(jī)的中斷系統(tǒng)。(1)定時器控制寄存器(TCON) 該寄存器用于保存外部中斷請求以及定時器的計數(shù)溢出。進(jìn)行字節(jié)操作時,寄存器地址為 88H。按位操作時,各位的地址為 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)有效中斷請求時,IE0(IE1)位由硬件置“1” 。當(dāng)中斷響應(yīng)完成轉(zhuǎn)向中斷服務(wù)程序時,由硬件把 IE0(或 IE1)清零。TR0 和 TR1定時器運(yùn)行控制位TR0 (TR1 )0 定時器/計數(shù)器不工作TR0 (TR1 )1 定時器/計數(shù)器開始工作 TF0 和 TF1計數(shù)溢出標(biāo)志位 當(dāng)計數(shù)器產(chǎn)生計數(shù)溢出時,相應(yīng)的溢出標(biāo)志位由硬件置“1” 。當(dāng)轉(zhuǎn)向中斷服務(wù)時,再由硬件自動清“0” 。計數(shù)溢出標(biāo)志位的使用有兩種情況:采用中斷方式時,作中斷請求標(biāo)志位來使用;采用

37、查詢方式時,作查詢狀態(tài)位來使用。(2)串行口控制寄存器(SCON) 進(jìn)行字節(jié)操作時,寄存器地址為 98H。按位操作時,各位的地址為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é)操作時,寄存器地址為 0A8H。按位操作時,各位的地址為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ù)器中斷允許控制位ET0(ET1)0 禁止定時器/計數(shù)器中斷ET0(ET1)0 允許定時器/計數(shù)器中斷ES串行中斷允許控制位ES=0 禁止串行中斷ES=1 允許串行中斷可見,MCS-51 單片機(jī)通過中斷允許控制寄存器對中斷的允許(開放)實行兩級控制。即以 EA 位作為總控制位,以各中斷源的中斷允許位作為分控制位。當(dāng)總控制位為禁止時,關(guān)閉整個中斷系統(tǒng),不管分控制為狀態(tài)如何,整個中斷系統(tǒng)為禁止?fàn)顟B(tài);當(dāng)總控制位為允許時,開放中斷系統(tǒng),這時才能由各分控制位設(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ī)系統(tǒng)及顯示電路、超聲波發(fā)射電路、超聲波檢測接收電路以及溫度檢測電路組成。單片機(jī)選用 8051,經(jīng)濟(jì)易用,且片內(nèi)有 4K 的ROM,便于編程。采用 12MHz 高精度的晶振,以獲得較穩(wěn)定的時鐘頻率,減小測量誤差。單片機(jī) 8051 通過 P1.0 引腳經(jīng)振蕩器來控制超聲波的發(fā)送,然后單片機(jī)不停的檢測 INT0 引腳,當(dāng) INT0 引腳的電平由高電平變?yōu)榈碗娖綍r就認(rèn)為超聲波已經(jīng)

41、返回。計數(shù)器所計的數(shù)據(jù)就是超聲波所經(jīng)歷的時間,并進(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è)計4.2.1 超聲波頻率及探頭的選擇超聲波在空氣中頻率越高,功率越大,精度越高,但在空氣中衰減越快;相反頻率越低,功率越小,在空氣中衰減越慢,但誤差大。綜合考慮75KHZ、40KHZ、25KHZ 等幾個常用超聲波頻率的特點,取 40KHZ 可以較好的解決這個矛盾。為了便于超聲波的發(fā)射和接收,采用共振頻率為 40KHZ 的超

43、聲波探頭,其發(fā)射探頭選用 TCT40-10F1。4.2.2 超聲波發(fā)射電路超聲波發(fā)射電路由超聲波換能器(或稱超聲波振頭)和超聲波發(fā)生器兩部分組成, 40KHz 的超聲波信號是利用 555 時基電路振蕩產(chǎn)生的,振蕩頻率 f 1.43/((R9+2R10) C5),通過 R10調(diào)節(jié)信號頻率,使之與換能器的 40KHz 固有頻率一致,為保證 555 時基具有足夠的驅(qū)動能力,宜采用+12V 電源5。工作時,單片機(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è)計4.3.1 超聲波接收器超聲波接收器包括超聲波接收探頭、信號放大電路和波形變換電路三部分電路組成。電源 VCC 采用 12V 電源供電。超聲波接收探頭選擇與發(fā)射探頭配對的 TCT40-10S1。波形變換采用集成運(yùn)放芯片(LM324)作為比較器對放大后的信號進(jìn)行波形變換6。當(dāng)輸入信號的電壓大于基準(zhǔn)電壓時,輸出為“1” ;當(dāng)輸入信號的電壓小于基準(zhǔn)電壓時,輸出為“0” ;

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

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

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

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

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

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

51、顯示部分采用 LED 動態(tài)顯示技術(shù),節(jié)省單片機(jī)空間,而且動態(tài)顯示電流很小,單片機(jī)可以提供。LED 的段碼通過單片機(jī) 8051 的P0.0P0.7 口來控制,位碼通過 P2.0P2.3 來控制,當(dāng)需要某一位亮?xí)r,該位送位碼驅(qū)動它點亮。由于每位的點亮?xí)r間很短暫,視覺停留效應(yīng)就感覺每位都亮著。4.6 穩(wěn)壓電源4.6.1 穩(wěn)壓電源構(gòu)成由于每個模塊都需要提供電源,電源有+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 兩端形成一個并不十分穩(wě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 兩端形成一個并不十分穩(wěn)定的直流電壓(該電壓常常會因為市電電壓的波動或負(fù)載的變化等原因而發(fā)生變化)。此直流電壓經(jīng)過 7812 的穩(wěn)壓和 C4的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的+12V 直流輸出電壓。圖 4.8 +12V 電源電路圖5. 軟件設(shè)計系統(tǒng)軟件包括主程序、溫度采集子程序、發(fā)射子程序、計算子程序、顯示子程序、外部中斷子程序和定時器中斷子程序

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

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

56、機(jī)再調(diào)用計算子程序,計算出傳感器到目標(biāo)物體之間的距離,最后把測量結(jié)果存儲并通過數(shù)碼管電路顯示出來,完成一次測量。通過測距公式 S=vt/2,其中 t 為定時器所測得的時間。部分主程序如下: 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 ;收到反射信號時標(biāo)志位為 1 CLR EA LCALL DS18B

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

58、據(jù)的處理。5.2.1 中斷初始化在啟動發(fā)射電路的同時啟動單片機(jī)內(nèi)部的定時器 T0,T0 工作于工作模式1。是 16 位的定時器。其中 T0 的初值 X=65536-N,N 是計數(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ù)器的功能是由軟件編程確定的,所以一般在使用定時/計數(shù)器前都要對其進(jìn)行初始化,使其按設(shè)定的功能工作。初始化的步驟一般如下:(1)確定工作方

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

60、時器 T0 中斷SETB EA ;開總中斷SETB TR0 ;開啟測距定時器 定時器 T1 的初始化程序:T1 中斷,用于發(fā)送超聲波MOV TMOD,#20H ;T1 為模式 2,8 位自動重裝模式MOV TH1,#0F2H ;40KHZ 初值 MOV TL1,#0F2H SETB EASETB ET1SETB TR15.2.2 中斷子程序流程圖 定時器初始化發(fā)射超聲波關(guān)外部中斷發(fā)射完否返回定時中斷入口停止發(fā)射YN外部中斷入口開外部中斷關(guān)外部中斷計算距離結(jié)果輸出讀取時間值返回測溫子程序圖 5.2 定時中斷服務(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論