單片機(jī)課程設(shè)計(jì)超聲波液位檢測(cè)儀_第1頁
單片機(jī)課程設(shè)計(jì)超聲波液位檢測(cè)儀_第2頁
單片機(jī)課程設(shè)計(jì)超聲波液位檢測(cè)儀_第3頁
單片機(jī)課程設(shè)計(jì)超聲波液位檢測(cè)儀_第4頁
單片機(jī)課程設(shè)計(jì)超聲波液位檢測(cè)儀_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、湖0件拓孝林單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告書課題名稱超聲波液位檢測(cè)儀姓 名學(xué) 號(hào)專 業(yè)機(jī)電與控制工程學(xué)院任務(wù)書、課題名稱超聲波液位檢測(cè)儀的設(shè)計(jì)與制作、設(shè)計(jì)內(nèi)容及要求1、以單片機(jī)為核心,設(shè)計(jì)一個(gè)液位檢測(cè)系統(tǒng)2、測(cè)量數(shù)據(jù)由液晶顯示3、系統(tǒng)要有一定的可靠性和一定的測(cè)量精度目 錄1、緒論 12、方案論證23、方案說明44、硬件方案設(shè)計(jì) 85、軟件方案設(shè)計(jì) 126、調(diào)試 227、技術(shù)小結(jié)238、參考文獻(xiàn)241、緒論隨著各行業(yè)的快速發(fā)展,液位測(cè)量已應(yīng)用到越來越多的領(lǐng)域,不僅 用于各種容器、管道內(nèi)液體液位的測(cè)量,還用于水渠、水庫、江河、湖 海水位的測(cè)量。這些領(lǐng)域使用傳統(tǒng)的液位測(cè)量手段已經(jīng)無法滿足對(duì)其精 確性的

2、要求,所以超聲波液位測(cè)量這種新的測(cè)量方向已經(jīng)成為一種新的 手段被廣泛的應(yīng)用。在目前市場(chǎng)上,按測(cè)量液位的感應(yīng)元件與被測(cè)液體是否接觸,液位 儀表可以分為接觸型和非接觸型兩大類。 接觸型液位測(cè)量主要有:人工檢 尺法、浮子測(cè)量裝置、伺服式液位計(jì)、電容式液位計(jì)以及磁致伸縮液位 計(jì)等。它們的共同點(diǎn)是測(cè)量的感應(yīng)元件與被測(cè)液體接觸,即都存在著與 被測(cè)液體相接觸的測(cè)量部件且多數(shù)帶有可動(dòng)部件。因此存在一定的磨損 且容易被液體沾污或粘住,尤其是桿式結(jié)構(gòu)裝置,還需有較大的安裝空 間,不方便安裝和檢修。非接觸型液位測(cè)量主要有微波雷達(dá)液位計(jì)、射線液位計(jì)以及激光液位計(jì)等。顧名思義,這類測(cè)量?jī)x表的共同特點(diǎn)是測(cè)量的感應(yīng)元件與被

3、測(cè) 液體不接觸。因此測(cè)量部件不受被測(cè)介質(zhì)影響,也不影響被測(cè)介質(zhì),因 而其適用范圍較為廣泛,可用于接觸型測(cè)量?jī)x表不能滿足的特殊場(chǎng)合, 如粘度高、腐蝕性強(qiáng)、污染性強(qiáng)、易結(jié)晶的介質(zhì)。超聲波液位測(cè)量計(jì)就屬于非接觸型液位測(cè)量的一種,所以它也有不受被測(cè)介質(zhì)影響,不影響被測(cè)介質(zhì),能適應(yīng)粘度高、腐蝕性強(qiáng)、污染性 強(qiáng)、易結(jié)晶、高溫、高壓、低溫、低壓、有輻射性、毒性、易揮發(fā)易爆 等特殊介質(zhì)的測(cè)量的特點(diǎn),能適應(yīng)的范圍比其它的測(cè)量手段更廣泛。本次課程設(shè)計(jì),將對(duì)超聲波液位檢測(cè)系統(tǒng)進(jìn)行介紹。2、方案論證液位計(jì)量?jī)x表早期大多采用機(jī)械原理, 但近年來隨著電子技術(shù)的應(yīng)用,逐步向機(jī)電一體化發(fā)展,并且發(fā)展了許多新的測(cè)量原理。在傳統(tǒng)

4、原理中也滲透了電子技術(shù)及微機(jī)技術(shù),結(jié)構(gòu)有了很大的改善、功能有了很大的提高。尤其是近二十年來,隨著微處理器的引入,測(cè)量?jī)x表更是發(fā)生了革命性的變化。液位計(jì)的量程從幾米到幾十米,測(cè)量精度亦大大提高。根據(jù)液位測(cè)量所涉及的液體存儲(chǔ)容器、被測(cè)介質(zhì)以及工藝過程的不同,液位計(jì)類型的選用也不同。在進(jìn)行液位測(cè)量前,必須充分了解液位測(cè)量的工藝特點(diǎn),以此作為液位計(jì)設(shè)計(jì)過程中的參考因素。因此,可根據(jù)系統(tǒng)的工作原理的不同,設(shè)計(jì)出三種不同的液位檢測(cè)方法。方法一:根據(jù)連通器原理,可以直接用與被測(cè)容器連通的玻璃管或玻璃板來顯示容器中的液位高度, 他是最原始但仍應(yīng)用較多的一種液位測(cè)量?jī)x表,另外,利用侵入式刻度鋼皮尺直接測(cè)量液面高

5、度的人工檢尺法也是應(yīng)用較廣泛的液位計(jì)量方法,尤其是在大型油罐儲(chǔ)油量中,也可把它用作現(xiàn)場(chǎng)檢驗(yàn)其他測(cè)量?jī)x表的參考手段。其精度一般為2mm勺人為誤差。方法二:根據(jù)懸浮物測(cè)量液位。利用浮子的比重比所測(cè)液體的比重稍小的特點(diǎn),使浮子漂在液面上并隨液面的升高或下降來反應(yīng)液位,他也是一種應(yīng)用最早并且應(yīng)用范圍很廣的液位測(cè)量?jī)x表;將浮子用一條多孔鋼帶連接至一個(gè)恒轉(zhuǎn)矩裝置或平衡錘上,由浮子的重量帶動(dòng)多于 l 鋼帶通過齒輪裝置推動(dòng)機(jī)械計(jì)算器作現(xiàn)場(chǎng)顯示,還可連接電動(dòng)變送器作現(xiàn)場(chǎng)顯示,還可連接電動(dòng)變送器,獲得遠(yuǎn)距離顯示。方法三:利用超聲波對(duì)容器液位進(jìn)行檢測(cè)。超聲波液位儀是非接觸測(cè)量中發(fā)展最快的一種。該技術(shù)基于超聲波在空氣

6、中的傳播速度及遇到被測(cè)物體表面產(chǎn)生反射的原理??蓪?shí)現(xiàn)非接觸測(cè)量、測(cè)量范圍寬、并且測(cè)量不受介質(zhì)密度、介電常數(shù)、導(dǎo)電性等的影響。對(duì)比以上三種方法,方法一,雖然具有測(cè)量簡(jiǎn)單、直觀、成本低的優(yōu)點(diǎn),但測(cè)量量程有限,并且不適于惡劣環(huán)境的測(cè)量,特別是在對(duì)粘稠性較高的液體進(jìn)行液位檢測(cè)時(shí),就很容易出現(xiàn)問題。粘性液體黏在管壁內(nèi)側(cè),容易引起讀數(shù)錯(cuò)誤;方法二,由于滑輪機(jī)械裝置的摩擦力和冒帶重量,測(cè)量誤差較大,且當(dāng)使用時(shí)間較長(zhǎng)時(shí),由于滑輪機(jī)械的磨損,致使測(cè)量誤差越來越大;方法三,可實(shí)現(xiàn)非接觸測(cè)量,測(cè)量范圍寬,且不受測(cè)量液體的影響,也不影響被測(cè)液體,是一種較為安全、測(cè)量精度較高的測(cè)量方法,因此它的實(shí)用性也是最廣的。綜上所

7、敘,在此我們選擇第三種方案,即利用超聲波對(duì)容器液位進(jìn)行檢測(cè)。3、方案說明3.1 超聲波的介紹簡(jiǎn)單來說,超聲波就是超過人耳能聽到的物體振動(dòng)的聲音的頻率范圍的聲波就叫超聲波。一般來說是指聲音超過了 20000hz 以上的聲波稱之為超聲波。與光波不同,聲波是一種彈性機(jī)械波,即機(jī)械振動(dòng)在彈性媒質(zhì)中的傳播。超聲波有以下幾個(gè)特點(diǎn): 1. 頻率高波長(zhǎng)短定向好; 2. 振幅小加速度大能量集中功率高強(qiáng)度大; 3. 在不同介質(zhì)界面上大部分能量反射。 因而,超聲波特別適合于距離測(cè)量。3.1.1 超聲波基本性質(zhì)和其他聲波一樣,超聲波可以在氣體、液體及固體中傳播,并有各自的傳播速度。例如,在常溫下空氣中的聲速約為 33

8、4m/s,在水中的聲 速約為i440m/s,而在鋼鐵中約為5000m/so其在空氣中的傳播速度主要 與空氣的壓力和溫度有關(guān)正常條件下由于大氣壓力變化很小因此其傳播 速度主要考慮溫度的影響在空氣中傳播速度為c=331.3+0.606t(m/s)其中c為超聲波聲速,t為傳播介質(zhì)的溫度。因此只要溫度已知, 就能算出超聲波的速度。為了簡(jiǎn)單起見,我們直接取其速度為340m/s。在空氣中,聲波在介質(zhì)中傳播時(shí)會(huì)被吸收而衰減,氣體吸收最強(qiáng)而 衰減最大,液體其次,固體吸收最小而衰減最小。因此,對(duì)于一給定強(qiáng) 度的聲波,在氣體中傳播的距離會(huì)明顯比在液體和固體中傳播的距離短。 另外,聲波在介質(zhì)中傳播時(shí)衰減的程度還與聲

9、波的頻率有關(guān),頻率越高,聲波的衰減也越大,因此,超聲波比其他聲波在傳播時(shí)的衰減更明顯。因此考慮到實(shí)際工程的需要,在設(shè)計(jì)超聲波液位計(jì)時(shí),選用頻率等 于40khz的超聲波,波長(zhǎng)為0.85cm。3.2 超聲波液位檢測(cè)原理超聲波液位測(cè)量法是 70年代發(fā)展起來的一種新型液位測(cè)量方 法,該方法利用了超聲波在相同的介質(zhì)中傳播速度不變的原理。超聲波 是機(jī)械波的一種,其最明顯的一個(gè)特征是方向性好,能夠定向傳播,當(dāng) 碰到障礙物時(shí)能夠反射回來。超聲波測(cè)量方法有很多,如脈沖回波法、 共振法、頻差法以及聲衰減法等,其中應(yīng)用最廣泛的是超聲波脈沖回波 法。超聲波的測(cè)距原理是通過發(fā)射聲波傳感器由脈沖信號(hào)激勵(lì)發(fā)出超聲 波,通過

10、傳聲媒介傳到被測(cè)液面,形成反射波,反射波再通過傳聲介質(zhì) 返回到接收傳感器,傳感器把聲信號(hào)轉(zhuǎn)換成電信號(hào),由儀表計(jì)算出超聲 波從發(fā)射到接收所傳播的時(shí)間,再根據(jù)超聲波在介質(zhì)中傳播的速度計(jì)算 出來回的直線路徑的長(zhǎng)度,從而得到所測(cè)距離的長(zhǎng)度。如圖 2-1超聲波 夜位檢測(cè)儀示意圖所示。發(fā)射傳感器圖3-2超聲波夜位檢測(cè)儀示意圖該系統(tǒng)中是通過超聲波脈沖傳播的時(shí)間來確定液位,所以必須己知 超聲波在傳聲媒質(zhì)中聲速。然而,對(duì)于氣體介質(zhì)式和液體介質(zhì)式超聲波 液位計(jì),聲速會(huì)隨媒質(zhì)的組成、溫度、壓強(qiáng)的變化而變化。因此,只有 當(dāng)測(cè)試條件比較理想,媒質(zhì)的成分、溫度、壓強(qiáng)等沒有很大變化,才可 把傳聲媒質(zhì)的聲速近似看成不變,直接

11、由測(cè)量的聲波傳播時(shí)間來確定液 位,否則就應(yīng)該對(duì)傳聲媒質(zhì)的聲速進(jìn)行校正。在這個(gè)系統(tǒng)中,運(yùn)用的是超聲波往返時(shí)間檢測(cè)法進(jìn)行距離的測(cè)量的。 即,檢測(cè)從超聲波發(fā)射器發(fā)出超聲波的時(shí)候算起,通過介質(zhì)的傳播在反 射回來的到接收器的時(shí)間,叫往返時(shí)間。用往返時(shí)間與介質(zhì)中超聲波的 速度相乘,就可以得到超聲波運(yùn)動(dòng)的距離,然而實(shí)際的距離為所得到距 離的一半,如果測(cè)量高度為h、超聲波在介質(zhì)里的傳播速度為v,傳播時(shí) 問為t,可以得到:1 h 二 一 v t2這個(gè)公式使用于自發(fā)自收單感應(yīng)器方式,探頭采用垂直的方式發(fā)射超聲 波,然后再讓超聲波原路返回到探頭。如果采用一發(fā)一收雙感應(yīng)器方式,那么探頭就不在采用垂直于介質(zhì) 面發(fā)射的方

12、式,因此用上面的公式計(jì)算的出來就不在是真實(shí)高度,而是 超聲波經(jīng)過的路程。這就需要加入角 a , a角為豎直方向與超聲波方向 的夾角。如圖3-3 a角示意圖,圖3-3 a角示意圖因此,系統(tǒng)要把測(cè)得超聲波經(jīng)過的距離換算成真實(shí)的高度。如果超 聲波經(jīng)過的距離為l,要測(cè)量的真實(shí)高度為h,那么超聲波經(jīng)過的距離與 真實(shí)高度之間有這樣的關(guān)系:h = l cos(:)這時(shí)h為要測(cè)量的真實(shí)高度。在公式中,a為超聲波的入射角。如果實(shí) 際情況無法測(cè)得a角時(shí),還可以通過測(cè)得兩個(gè)探頭之間的距離 m來得到 需要測(cè)量的高度,h=m22來計(jì)算。3.3測(cè)量盲區(qū)由于發(fā)射聲脈沖自身有一定的寬度, 加上放大器有阻塞問題,在 靠近發(fā)射脈

13、沖一段時(shí)間范圍內(nèi),所要求發(fā)現(xiàn)的缺陷往往不能被發(fā)現(xiàn),這 段距離,稱為盲區(qū)。用脈沖回波測(cè)量距離時(shí),液面與超聲波探頭間的距 離既不能太遠(yuǎn)也不能太近,存在著近限和遠(yuǎn)限。距離過遠(yuǎn)時(shí),接收到的 信號(hào)太弱,以致無法從噪聲信號(hào)中分辨出來,這是遠(yuǎn)限所以存在的原因。 在距離過近時(shí),接收信號(hào)將落進(jìn)盲區(qū)中而無法分辨,這是近限所以存在 的原因。超聲波液位儀在使用一個(gè)探頭情況下,同時(shí)發(fā)射和接收超聲波,由于在 探頭上施加的發(fā)射電壓強(qiáng)達(dá)幾十伏甚至上百伏以上,雖然發(fā)射信號(hào)只維 持一個(gè)極短的時(shí)間,但停止施加發(fā)射信號(hào)后,探頭上還存在一定的余振, 因此在一段較長(zhǎng)時(shí)間內(nèi),加載接收放大器輸入端的發(fā)射信號(hào)幅值仍是相 當(dāng)強(qiáng)的,可以達(dá)到限幅電

14、路,引起探頭振動(dòng),不能進(jìn)行正確的測(cè)量,在 這種情況下,選用兩個(gè)探頭分別用于發(fā)送和接收。雙探頭方式,不僅可 以增加探測(cè)距離,還可以減小盲區(qū)。由于發(fā)射探頭上并不直接施加發(fā)射 電壓,所以,從理論上說,可以沒有盲區(qū)。但是,由于接收電路多少會(huì) 受到發(fā)射電路的感應(yīng),并且發(fā)射探頭所發(fā)出的超聲波可能有部分直接繞 道接收探頭,因此實(shí)際上仍存在一定的盲區(qū),不過他要比單探頭方式的 盲區(qū)小很多。所以,在本設(shè)計(jì)中,選取了雙探頭的工作方式,減小盲區(qū), 同時(shí)提高檢測(cè)的距離。4.硬件方案設(shè)計(jì)本文所設(shè)計(jì)的超聲波液位檢測(cè)儀主要由 51單片機(jī)的最小系統(tǒng)電路、 超聲波發(fā)射和接收電路以及液晶顯示部分組成。其總體的系統(tǒng)設(shè)計(jì)框圖如下:?jiǎn)纹?/p>

15、機(jī)液晶顯示4. 1單片機(jī)最小系統(tǒng)最小系統(tǒng)是指能維護(hù)單片機(jī)運(yùn)行的最簡(jiǎn)單配置系統(tǒng)。它主要包括晶 體震蕩電路、復(fù)位電路,其圖如下:c2 -x112m .text.2jpf . ctekt: jiit - u119c322pfiouf-訪.1o o)10h293037單片機(jī)勖卜系統(tǒng)xtal1po.tvadopo.1/ad1p0i.2w2ktal2p0.3md3pd.4xftd4p0.5iftd5p0.6wd6rstpd.7md7p2.0/a8p21/a9p22/a10psenp2jxm1alep2.4/a12ea-p2wa13pn6/a1& p2 7za15p1,0p3.0urxdp1.1p3.1/t

16、kdpl .2p3,2*itop1.3p3.3jmt1p1.4p3.4/t0p1.5p3 5/t1_pl .6p3j&a麗p1.7p3.7/rd-at69c51net=en38p0.137p0.236p0.3造_p0,*34p0.5 *33p0.6*32p0.72122q 24 2526rw27en2$1011 - r = r1213p314工16i. . - -74lso4n左仆0j3hf-ojotrf-超聲波片受由潞-74lsew wtextn:u2:e7ls04l2b .74ls04i - ,u2:d74lsw超聲波發(fā)生器內(nèi)部結(jié)構(gòu)有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極 外加脈沖信號(hào),其頻

17、率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會(huì) 發(fā)生共振,并帶動(dòng)共振板振動(dòng),便產(chǎn)生超聲波。反之,如果兩電極間未 外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械 能轉(zhuǎn)換為電信號(hào),就成為超聲波接收器。本次課程設(shè)計(jì)采用的超聲波測(cè) 距模塊集發(fā)射和接收為一體,內(nèi)部超聲波發(fā)生器諧振頻率40khz,模塊工作電壓為4.5-5v 。4.3液晶顯示部分4.4總原理圖mlitlshlislsit黑泰或囂be/ eraeepho*as fz.itm pz.ldrz.q kz f2s.13rzjffl.rsfj.iftxt”.vtd3.trd5、軟件方案設(shè)計(jì)程序代碼:#include / 包括一個(gè) 52

18、標(biāo)準(zhǔn)內(nèi)核的頭文件#include / 包含 _nop_() 函數(shù)定義的頭文件#define uchar unsigned char / 定義一下方便使用#define uint unsigned int/#define ulong unsigned longsbit tx = p3a3; /sbit rx = p3a2; /sbit rs=p2a4;sbit rw=p2a5;sbit e=p2a6;sbit bf=p0a7;/產(chǎn)生脈沖引腳回波引腳寄存器選擇位,將rs位定義為p2.0引腳 讀寫選擇位,將rw&定義為p2.1引腳 使能信號(hào)位,將e位定義為p2.2引腳 忙碌標(biāo)志位,將bf位定義為p0

19、.7引腳unsigned char code string = chao sheng bo;/unsigned char code string1 =quick study mcu; unsigned char code digit =0123456789; /定義字符數(shù)組顯示數(shù)字code/ucharseg710=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/ 數(shù)碼管 0-9uint distance4; / 測(cè)距接收緩沖區(qū)uchar ge,shi,bai,temp,flag,outcomeh,outcomel,i; / 自定義寄存器bi

20、t succeed_flag; / 測(cè)量成功標(biāo)志/* 函數(shù)聲明void conversion(uint temp_data);void delay_20us();void pai_xu();/*函數(shù)功能:延時(shí)1ms(3j+2)*i=(3 x 33+2) x 10=1010(微秒),可以認(rèn)為是 1 毫秒*/ void delay1ms()unsigned char i,j;for(i=0;i10;i+)for(j=0;j33;j+) /*函數(shù)功能:延時(shí)若干毫秒入口參數(shù): n */ void delay(unsigned char n)unsigned char i;for(i=0;in;i+)d

21、elay1ms();/*函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)返回值: result 。 result=1 ,忙碌 ;result=0 ,不忙*/ unsigned char busytest(void)bit result;rs=0;態(tài)/根據(jù)規(guī)定,rs為低電平,rw的高電平時(shí),可以讀狀rw=1;e=1;_nop_();_nop_();/e=1/,才允許讀寫空操作while(busytest()=1); /rs=0;/可以寫入指令rw=0;e=0;/e為高脈沖,/以應(yīng)先置 0_nop_();_nop_();/p0=dictate; /_nop_();_nop_();_nop_();_nop_();/

22、間e=1;/e_nop_();_nop_();_nop_();_nop_();_nop_(); / 空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間result=bf; / 將忙碌標(biāo)志電平賦給resulte=0;/ 將e恢復(fù)低電平return result; /* 函數(shù)功能:將模式設(shè)置指令或顯示地址寫入液晶模塊入口參數(shù): dictate*/void writeinstruction (unsigned char dictate)如果忙就等待根據(jù)規(guī)定,rs和r/w同時(shí)為低電平時(shí),置低電平 (根據(jù)表 8-6 ,寫指令時(shí), e就是讓 e 從 0 到 1 發(fā)生正跳變,所空操作兩個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間將數(shù)據(jù)送入

23、p0 口, 即寫入指令或地址空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)置高電平_nop_();/空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)while(busytest()=1);rs=1; /rsrw=0;e=0;/e沖,/置0p0=y;/_nop_();_nop_();_nop_();間e=0;/當(dāng) e 由高電平跳變成低電平時(shí),液晶模塊開始執(zhí)行命令/* 函數(shù)功能:指定字符顯示的實(shí)際地址入口參數(shù): x* i void writeaddress(unsigned char x)顯示位置的確定方法規(guī)定為 80h+writeinstruction(x|0x80); /地址碼 x /* 函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)asc

24、ii 碼) 寫入液晶模塊入口參數(shù): y( 為字符常量 )*/ void writedata(unsigned char y)為高電平,rv的低電平時(shí),可以寫入數(shù)據(jù)置低電平( 根據(jù)表 8-6 , 寫指令時(shí), e 為高脈就是讓e 從 0 到 1 發(fā)生正跳變,所以應(yīng)先將數(shù)據(jù)送入 p0 口,即將數(shù)據(jù)寫入液晶模塊_nop_();/空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間延時(shí)15ms首次寫指令時(shí)應(yīng)給lcr段顯示模式設(shè)置:16x2顯示,5x7點(diǎn)延時(shí) 5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間連續(xù)三次,確保初始化成功顯示模式設(shè)置:顯示開,無光標(biāo),光顯示模式設(shè)置: 光標(biāo)右移, 字符清屏幕指令, 將以前的顯示內(nèi)容清除e=1;/e 置

25、高電平_nop_();_nop_();_nop_();_nop_();/ 空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間e=0;/ 當(dāng) e 由高電平跳變成低電平時(shí), 液晶模塊開始執(zhí)行命令 /*函數(shù)功能:對(duì)lcd的顯示模式進(jìn)行初始化設(shè)置*/ void lcdinitiate(void)delay(15); /較長(zhǎng)的反應(yīng)時(shí)間writeinstruction(0x38); / 陣, 8 位數(shù)據(jù)接口delay(5);/writeinstruction(0x38);delay(5);writeinstruction(0x38); / delay(5);writeinstruction(0x0c); / 標(biāo)不閃爍de

26、lay(5);writeinstruction(0x06); / 不移delay(5);writeinstruction(0x01); / delay(5);void main(void) / uint distance_data,a,b;uchar cont_1;uchar k; / 定義變量lcdinitiate();/delay(10);/writeaddress(0x01); / k = 0;/主程序i 指向字符串?dāng)?shù)組元素調(diào)用lcm始化函數(shù)延時(shí)10ms給硬件一點(diǎn)反應(yīng)時(shí)間從第 1 行第 3 列開始顯示指向字符數(shù)組的第1 個(gè)元素while(stringk != 0)writedata(st

27、ringk);k+;/ 指向下字符數(shù)組一個(gè)元素 i=0;flag=0;tx=0;/ 首先拉低脈沖輸入引腳tmod=0x10; / 定時(shí)器0,定時(shí)器1, 16位工作方式/ tr0=1;/ 啟動(dòng)定時(shí)器0it0=0;/ 由高電平變低電平,觸發(fā)外部中斷/et0=1;/ex0=0;/ea=1;/打開定時(shí)器0 中斷關(guān)閉外部中斷打開總中斷0從第 2 行第 6 列開始顯示將萬位數(shù)字的字符常量寫入lcd將萬位數(shù)字的字符常量寫入lcd將萬位數(shù)字的字符常量寫入 lcd將萬位數(shù)字的字符常量寫入lcd將萬位數(shù)字的字符常量寫入 lcd將萬位數(shù)字的字符常量寫入將千位數(shù)字的字符常量寫入將萬位數(shù)字的字符常量寫入lcd將百位數(shù)字

28、的字符常量寫入 lcd將百位數(shù)字的字符常量寫入lcd將萬位數(shù)字的字符常量寫入lcd將萬位數(shù)字的字符常量寫入lcd產(chǎn)生一個(gè) 20us 的脈沖,在tx 引腳等待 rx 回波引腳變高電平清測(cè)量成功標(biāo)志打開外部中斷定時(shí)器 1 清零定時(shí)器 1 清零啟動(dòng)定時(shí)器1while(1) / 程序循環(huán)writeaddress(0x41); /writedata(j); /writedata(u); /writedata(l); /writedata(i); /writedata(:); /writedata(digitbai); / lcdwritedata(digitshi); /lcdwritedata(.);

29、 /writedata(digitge); /writedata( ); /writedata(c); /writedata(m); /ea=0;tx=1;delay_20us();tx=0;/while(rx=0); / succeed_flag=0; /ex0=1;/th1=0;/tl1=0;/tf1=0;/tr1=1;/ea=1;while(th1 30);/ 等待測(cè)量的結(jié)果,周期 65.535 毫秒(可用中 斷實(shí)現(xiàn))tr1=0;/ 關(guān)閉定時(shí)器1ex0=0;/關(guān)閉外部中斷if(succeed_flag=1)distance_data=outcomeh;/高8位distance_data=

30、3) cont_1=0;b=a;conversion(b);i=0;/* / 外部中斷 0,用做判斷回波電平外部中斷是0 號(hào)取出定時(shí)器的值取出定時(shí)器的值至成功測(cè)量的標(biāo)志關(guān)閉外部中斷into_() interrupt 0 /outcomeh =th1; / outcomel =tl1; / succeed_flag=1; /ex0=0;/r*/ 定時(shí)器 0 中斷 , 用做顯示timer0() interrupt 1 / 定時(shí)器 0 中斷是 1 號(hào) th0=0xfd; / 寫入定時(shí)器0初始值tl0=0x77;/ 顯示數(shù)據(jù)轉(zhuǎn)換程序void conversion(uint temp_data)ucha

31、r ge_data,shi_data,bai_data ;bai_data=temp_data/100 ;temp_data=temp_data%100; / 取余運(yùn)算shi_data=temp_data/10 ;temp_data=temp_data%10; / 取余運(yùn)算 ge_data=temp_data;/bai_data=seg7bai_data; /shi_data=seg7shi_data&0x7f;/ge_data =seg7ge_data;ea=0;bai = bai_data;shi = shi_data;ge = ge_data ;ea=1;/*void delay_20u

32、s() uchar bt ;for(bt=0;btdistance1)t=distance0;distance0=distance1;distance1=t;if(distance0distance2)t=distance2;distance2=distance0;distance0=t;if(distance1distance2)t=distance1;distance1=distance2;distance2=t; 6、調(diào)試超聲波液位儀安裝時(shí),應(yīng)保持超聲波發(fā)射和接收的兩個(gè)探頭處于水平狀態(tài),并且要使探頭位置始終位于液面之上,防止液面淹沒探頭。以至使超聲波發(fā)射和接收模塊短路,因此其安裝位置十分

33、重要。硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。根據(jù)實(shí)際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測(cè)量的間隔時(shí)間,以適應(yīng)不同距離的測(cè)量需要。系統(tǒng)調(diào)試完后應(yīng)對(duì)測(cè)量誤差和重復(fù)一致性進(jìn)行多次實(shí)驗(yàn)分析,不斷優(yōu)化系統(tǒng)使其達(dá)到實(shí)際使用的測(cè)量要求。由于受環(huán)境溫度、濕度的影響, 超聲傳感器的測(cè)量值與實(shí)際值總有一些偏差 , 表 1 列出了本超聲測(cè)距系統(tǒng)測(cè)量值與對(duì)應(yīng)的實(shí)際值:表 1 超聲測(cè)距系統(tǒng)測(cè)量值與實(shí)際值單位實(shí)際值56789101112測(cè)量值5.06.17.18.39.410.811.713.2經(jīng)過多次測(cè)量得出,該液位儀在一定的測(cè)量范圍內(nèi)測(cè)量誤差較小,此范圍約為4cm-8cm當(dāng)

34、在該范圍之外測(cè)量時(shí),誤差較大,因此要根據(jù)實(shí)際容器來調(diào)整程序,以求達(dá)到最小誤差。誤差分析:1 .超聲波的傳播速度隨溫度的變化而變化2 .軟件執(zhí)行以及硬件反應(yīng)都需要占用一定時(shí)間而使得測(cè)量的數(shù)據(jù)偏 大3 .探頭安裝不平,致使測(cè)量距離偏大4 .測(cè)量時(shí)產(chǎn)生的讀數(shù)誤差7 .設(shè)計(jì)總結(jié)在本次設(shè)計(jì)中,我們廣泛借鑒了各種設(shè)計(jì)的優(yōu)點(diǎn),充分考慮了整個(gè) 設(shè)計(jì)中的各個(gè)環(huán)節(jié)。包括產(chǎn)生 40khz的方波,在接收電路中,對(duì)所接收 方波進(jìn)行濾波、放大、整形等步驟。但由于條件和技術(shù)所限,對(duì)于很多 以上所分析的在發(fā)射和接收過程中所產(chǎn)生的誤差沒有得到有效的校正。 比如溫度誤差、硬件電路誤差等。在我們?yōu)槠谝粋€(gè)學(xué)期的設(shè)計(jì)中,我們用到了以前

35、學(xué)到的很多知識(shí), 比如電工、單片機(jī)、和匯編語言等。這使我們意識(shí)到,任何一件產(chǎn)品的 產(chǎn)生,都不是單一知識(shí)所能實(shí)現(xiàn)的。而且在電路的設(shè)計(jì)和程序的編制過 程中,出現(xiàn)了很多意想不到的錯(cuò)誤,讓我們措手不及,有些甚至是一些 非常低級(jí)的錯(cuò)誤,但是這些錯(cuò)誤也同樣讓我們獲益非淺,它使我們意識(shí) 到,研究是一個(gè)非常嚴(yán)肅的過程,來不得半點(diǎn)馬虎。必須有一個(gè)嚴(yán)謹(jǐn)?shù)膽B(tài)度,加上100%的努力才有可能獲得成功的喜悅總之,在本課題的設(shè)計(jì)過程中盡管走了很多的彎路,但是還是學(xué)到 了不少知識(shí),從中受益匪淺。了解了超聲波傳感器的原理,學(xué)會(huì)了各種 放大電路的分析、設(shè)計(jì),也掌握了單片機(jī)的開發(fā)過程中所用到的開發(fā)方 法和工具。動(dòng)手能力與自學(xué)能力得到了鍛煉與提高,對(duì)待事物的態(tài)度也

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論