![超聲波測距系統(tǒng)設(shè)計_第1頁](http://file4.renrendoc.com/view14/M04/11/11/wKhkGWda5WmAEjp1AAHOvZsirC0835.jpg)
![超聲波測距系統(tǒng)設(shè)計_第2頁](http://file4.renrendoc.com/view14/M04/11/11/wKhkGWda5WmAEjp1AAHOvZsirC08352.jpg)
![超聲波測距系統(tǒng)設(shè)計_第3頁](http://file4.renrendoc.com/view14/M04/11/11/wKhkGWda5WmAEjp1AAHOvZsirC08353.jpg)
![超聲波測距系統(tǒng)設(shè)計_第4頁](http://file4.renrendoc.com/view14/M04/11/11/wKhkGWda5WmAEjp1AAHOvZsirC08354.jpg)
![超聲波測距系統(tǒng)設(shè)計_第5頁](http://file4.renrendoc.com/view14/M04/11/11/wKhkGWda5WmAEjp1AAHOvZsirC08355.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
專業(yè)課綜合課程設(shè)計說明書PAGEPAGE3專業(yè)課綜合課程設(shè)計說明書PAGE1目錄1緒論 31.1課題研究背景 31.2課題設(shè)計目的及意義 31.3課題設(shè)計任務(wù)與要求 32方案選擇的論證和選擇 52.1設(shè)計方案一 52.2設(shè)計方案二 52.3方案設(shè)計三 63 設(shè)計原理 74 硬件設(shè)計 84.1整體電路設(shè)計 84.2超聲波測距系統(tǒng)設(shè)計 94.2.1超聲波發(fā)射器的注意事項 94.2.2超聲波發(fā)射與接收裝置 104.3顯示電路設(shè)計 114.4穩(wěn)壓電源設(shè)計 124.5硬件電路設(shè)計優(yōu)化 134.5.1提高測距的范圍 134.5.2發(fā)射探頭和接收探頭間的影響 134.5.3超聲波的衰減 144.5.4系統(tǒng)干擾因素 145軟件設(shè)計流程圖 175.1主流程圖 175.2溫度讀取程序 175.3LCD顯示程序 185.4外中斷服務(wù)程序 195.5超聲波發(fā)射接收程序 195.6鍵掃子程序 206設(shè)計心得 21參考文獻 22附錄 23程序清單 231緒論1.1課題研究背景超聲波是指頻率在20kHz以上的聲波,它屬于機械波的范疇。近年來,隨著電子測量技術(shù)的發(fā)展,運用超聲波作出精確測量已成可能。隨著經(jīng)濟發(fā)展,電子測量技術(shù)應(yīng)用越來越廣泛,而超聲波測量精確高,成本低,性能穩(wěn)定則備受青睞。超聲波是指頻率在20kHz以上的聲波,它屬于機械波的范疇。超聲波也遵循一般機械波在彈性介質(zhì)中的傳播規(guī)律,如在介質(zhì)的分界面處發(fā)生反射和折射現(xiàn)象,在進入介質(zhì)后被介質(zhì)吸收而發(fā)生衰減等。正是因為具有這些性質(zhì),使得超聲波可以用于距離的測量中。隨著科技水平的不斷提高,超聲波測距技術(shù)被廣泛應(yīng)用于人們?nèi)粘9ぷ骱蜕钪小R话愕某暡y距儀可用于固定物位或液位的測量,適用于建筑物內(nèi)部、液位高度的測量等。1.2課題設(shè)計目的及意義日常生活應(yīng)用發(fā)面:人們生活水平的提高,城市發(fā)展建設(shè)加快,城市車輛逐漸增多,因為停車不當(dāng)而造成的交通事故也越來越多。為了避免此類事故的發(fā)生,一個能夠直觀地測出汽車與障礙物之間的距離的裝置就變得十分必要。它可以及時將車輛與障礙物之間的距離反映出來,給司機以更準(zhǔn)確的信息和更多的反應(yīng)時間,減少事故的發(fā)生;軍事應(yīng)用方面:超聲波聲納已廣泛應(yīng)用于偵查探測等方面,如何提高其測量精度已是正在著重研究的課題之一,相信在不久的將來,超聲波測距一定會在偵查反偵察方面起到更大的作用;工業(yè)應(yīng)用方面:超聲波測距儀的設(shè)計方便了管道的距離探測,消除了一些空間方面的限制,在其測量精度得到提升后,對一些精密設(shè)備的測量也將起到良好的效果。1.3課題設(shè)計任務(wù)與要求設(shè)計一超聲波測距儀,任務(wù):1)了解超聲波測距原理。2)根據(jù)超聲波測距原理,設(shè)計超聲波測距器的硬件結(jié)構(gòu)電路。設(shè)計一超聲波測距儀,要求:1)設(shè)計出超聲波測距儀的硬件結(jié)構(gòu)電路。2)對設(shè)計的電路進行分析能夠產(chǎn)生超聲波,實現(xiàn)超聲波的發(fā)送與接收,從而實現(xiàn)利用超聲波方法測量物體間的距離。3)對設(shè)計的電路進行分析。4)以數(shù)字的形式顯示測量距離。2方案選擇的論證和選擇2.1設(shè)計方案一采用單片機來控制的超聲波測距儀是先由單片機產(chǎn)生一個信號,經(jīng)過信號線,把信號引入到與超聲波發(fā)射器相連的信號引腳上,再由超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:………2.1圖2-1采用單片機來控制的超聲波測距儀2.2設(shè)計方案二采用CPLD來控制的超聲波測距儀,主要是在軟件上運用VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)編寫程序使用MAX+plusII軟件進行軟硬件設(shè)計的仿真和調(diào)試,最終實現(xiàn)測距功能。使用本方案的優(yōu)點在于在超聲波測距儀設(shè)計中采用的是MAX7000s系列中的EPM7128SLC84-15的CPLD器件,其最高頻率可達175.4MHz,可用于組合邏輯電路、時序邏輯電路、算法、雙端口RAM等的設(shè)計。充分利用了其多達128個宏單元、68pin可編程I/O口,使該器件可以將分頻功能、計數(shù)功能、顯示編碼功能、振蕩功能全部集于一體。又因其延時平均的特點,保證了測距結(jié)果精度高、響應(yīng)速度快。缺點是方案中需要一塊FPGA,一塊雙口RAM,還需要一塊用來存儲波形數(shù)據(jù)的EEPROM,那么設(shè)計的成本較高。同時在FPGA中還要用硬件描述語言(VHDL語言)編寫程序來實現(xiàn)硬件電路功能。由于EPM7128SLC84-15的算法復(fù)雜,所以在軟件實現(xiàn)起來編程也復(fù)雜。2.3方案設(shè)計三采用鎖相環(huán)頻率合成技術(shù),也可以實現(xiàn)我們所需要的超聲波測距儀。具體方案如下:首先通過頻率合成技術(shù)產(chǎn)生超聲波所需要的頻率,在通過信號線將采用鎖頻率相合成技術(shù)得到的頻率引到超聲波的發(fā)射頭上,這樣就可以實現(xiàn)超聲波測距。它的優(yōu)點就是工作頻率可調(diào),也可以達到很高的頻率分辨率;缺點是要求使用的濾波器通帶可變,實現(xiàn)很困難。它的原理如圖2-2所示:圖2-2超聲波原理圖綜上所述,因此選擇第一種設(shè)計方案。設(shè)計原理我們做的是基于單片機的超聲波測距儀。用單片機控制超聲波的發(fā)射、接受電路以及進行數(shù)據(jù)處理,再用液晶顯示屏進行數(shù)據(jù)的顯示。因為聲音的速度會隨著溫度的變化而改變,所以,我們增加了溫控裝置,即通過溫度傳感器(18B20),把當(dāng)前的溫度信息傳給單片機,再通過一定的算法,得到當(dāng)前的聲音速度。操作者可以通過幾個簡單的按鍵完成測量方式的選擇(實時監(jiān)測、手動測量)。由單片機產(chǎn)生一個信號,經(jīng)過信號線,把信號引入到與超聲波發(fā)射器相連的信號引腳上,在由超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:其中,D為換能器與障礙物之間的距離,C為波聲傳播速度,T為超聲波發(fā)射到返回的時間間距。本次設(shè)計包含硬件設(shè)計與軟件設(shè)計兩部分,根據(jù)設(shè)計任務(wù)要求,采用AT89C52單片機,配置時鐘電路,復(fù)位電路構(gòu)成單片機最小系統(tǒng),由模擬電路和數(shù)字電路構(gòu)成超聲波發(fā)射、接收模塊。由鍵盤,LED顯示構(gòu)成人機對話通道,以及溫度傳感器來構(gòu)成由單片機最小系統(tǒng)來控制的超聲波測距儀,其結(jié)構(gòu)框圖如3-1:圖3-1總結(jié)構(gòu)框圖硬件設(shè)計介紹了本設(shè)計方案選擇的情況,下面將著重按照前面所分析和采用的設(shè)計方案來完成具體的電路設(shè)計。4.1整體電路設(shè)計整體電路的控制核心為單片機AT89S52。超聲波發(fā)射和接收電路中都對相應(yīng)信號進行整形及放大,以保證測量結(jié)果盡可能精確。超聲波探頭接OUT口實現(xiàn)超聲波的發(fā)射和接收。另外還有溫度測量電路測量當(dāng)時的空氣溫度,等到把數(shù)據(jù)送到單片機后使用軟件對超聲波的傳播速度進行調(diào)整,使測量精度能夠達到要求。整體結(jié)構(gòu)圖包括超聲波發(fā)射電路,超聲波接收電路,單片機電路,顯示電路與溫度測量電路等幾部分模塊組成。而超聲波發(fā)射與接收電路還要加入放大電路。在發(fā)射后把信號放大,接收前也要把還再次放大。整體電路結(jié)構(gòu)圖如圖4-1。圖4-1超聲波測距原理圖單片機發(fā)出40kHZ的信號,經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號經(jīng)放大器放大,用鎖相環(huán)電路進行檢波處理后,啟動單片機中斷程序,測得時間為t,再由軟件進行判別、計算,得出距離數(shù)并送LED顯示。圖4-2超聲波發(fā)送原理圖4.2超聲波測距系統(tǒng)設(shè)計4.2.1超聲波發(fā)射器的注意事項超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射超聲波的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物反射后立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度約為340m/s,根據(jù)計時器記錄的時間t,就可以計算出超聲波發(fā)射點距障礙物的距離(s),即為:s=340t/2,這就是所謂的時間差測距法。存在4個因素限制了該系統(tǒng)的最大可測距離:超聲波的幅度、反射的質(zhì)地、反射回波和入射聲波之間的夾角以及接收換能器的靈敏度。測距誤差主要來源于以下幾個方面:(1)超聲波波束對探測目標(biāo)的入射角的影響;(2)超聲波回波聲強與待測距離的遠近有直接關(guān)系,所以實際測量時,不一定是第一個回波的過零點觸發(fā);(3)超聲波傳播速度對測距的影響。穩(wěn)定準(zhǔn)確的超聲波傳播速度是保證測量精度的必要條件,波的傳播速度取決于傳播媒質(zhì)的特性。傳播媒質(zhì)的溫度、壓力、密度對聲速都將產(chǎn)生直接的影響,因此需對聲速加以修正。(4)由于超聲波利用接收發(fā)射波來進行距離的計算,因而不可避免地存在發(fā)射和反射之間的夾角,其大小為2,當(dāng)很小的時候,可直接按式進行距離的計算;當(dāng)夾角很大的時候,必須進行距離的修正,修正的公式為:(4-1)實際的調(diào)試過程中,要十分注意發(fā)射和接收探頭在電路板上的安裝位置,這是因為每一種超聲波發(fā)射、接收頭都有一個有效測量夾角,這里用到的發(fā)射、接收頭有效測量夾角為45°。接收換能器對超聲波脈沖的直接接收能力將決定該系統(tǒng)最小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤差,可采用多個超聲波換能器分別作為多路超聲波發(fā)射/接收的設(shè)計方法。4.2.2超聲波發(fā)射與接收裝置采用HC-SR04超聲波收發(fā)模塊,它可提供2cm--400cm的非接觸式距離感測功能。測量精度可達到3mm(本作品因測量工具限制,測量精度在10mm)。模塊包括超聲波發(fā)射器、接收器及其控制電路?;竟ぷ髟恚翰捎肐O口TRIG觸發(fā)測距,給至少10us的高電平信號。模塊自動發(fā)射8個40khz的方波,并檢測信號是否有返回。有信號返回,通過IO端口ECHO輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到接收所用的時間。測量距離=高電平持續(xù)時間*聲速/2。實物圖如圖4-3所示:圖4-3超聲波收發(fā)裝置實物圖VCC提供5V電壓,GND接地,GRIG觸發(fā)控制信號輸入,ECHO回響信號輸出等四只線。電氣參數(shù)如圖4-4所示:電氣參數(shù)HC-SR04超聲波模塊工作電流15mA工作頻率40Hz工作電壓DC5V最遠射程4m最近射程2cm測量角度15度輸入觸發(fā)信號10us的TTL脈沖輸出回響信號輸出TTL電平信號,與射程成正比規(guī)格尺寸45*20*15mm圖4-4HC-SR04電氣參數(shù)4.3顯示電路設(shè)計在單片機應(yīng)用系統(tǒng)中,LED數(shù)碼管的顯示常用兩種方法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種方法較為簡單與便利??梢蕴峁﹩为氭i存的I/O接口電路很多,常用的就是通過串口外接串并轉(zhuǎn)換器74LS164,擴展并行的I/O口。需要幾個數(shù)碼管就擴展幾個并行接口,數(shù)碼管直接接在74LS164的輸出腳上,單片機通過串口將要顯示數(shù)據(jù)的字形碼逐一的串行移出至74LS164的輸出腳上數(shù)碼管就可以顯示相應(yīng)的數(shù)字。在顯示電路的設(shè)計上,利用單片機的P0~P2口來控制數(shù)碼管顯示,這種接法雖然比較浪費管腳資源,但是對單片機的理論知識要求相對比較低,而且超聲波發(fā)射和接收電路并不需要很多的管腳來支持,所以我選擇這種方案。數(shù)碼管的選擇上,為了使數(shù)碼管亮度大,本人選擇了共陽極的數(shù)碼管,數(shù)碼管管腳接到低電平發(fā)亮。顯示及其驅(qū)動電路的原理圖見圖4-5。圖4-5數(shù)碼管顯示電路4.4穩(wěn)壓電源設(shè)計因為本次設(shè)計的元器件都可以使用+12V或是+5V的電源來驅(qū)動,所以我制作了一個穩(wěn)壓電源,它使用三端集成穩(wěn)壓器CW7812和CW7805來設(shè)計。通過變壓器的直流電通過由二極管組成的橋式整流電路進入三端穩(wěn)壓元件,CW7812和CW7805分別為電路提供穩(wěn)定的12V和5V直流電源。極性電容起濾波電容的作用,非極性電容則可以改善負(fù)載的瞬態(tài)影響,使電路穩(wěn)定工作。如圖4-6所示:圖4-6穩(wěn)壓電源4.5硬件電路設(shè)計優(yōu)化4.5.1提高測距的范圍由于空氣對超聲波的吸收與超聲波頻率成正比,因此用來測距的超聲波的頻率不能很高。另一方面,頻率越低,波長越長,測量的絕對誤差就越大。所以,40Kz的超聲波單頻測距的范圍只有5~6米,無法滿足我們的要求。為了解決測量范圍和測量精度之間的矛盾,我們采用雙頻測距的方法。其測距原理是:控制器現(xiàn)發(fā)出一串頻率為fH的超聲波,串長度可以有10~16個完整的波形,接著送出4~8fL低頻率的超聲波。這種在時域上連續(xù)的兩種頻率的超聲波被前方的目標(biāo)反射后,形成回波,回波經(jīng)由接收器形成回波脈沖EchoH和EchoL。由于高頻聲波先發(fā)出,對于同一個目標(biāo),其回波EchoH先到達CPU,因此,對于較近的目標(biāo),首先用高頻超聲波探測。當(dāng)目標(biāo)較遠時,高頻超聲波被空氣吸收而大幅衰減,接收器接收到的回波中只有低頻超聲波EchoL。由于該裝置在距離較遠時對精度要求不是很高,所以可以用EchoL探測。如圖4-7所示:圖4-7雙頻超聲波測距工作時序圖t0、t1分別為高、低超聲波發(fā)射的開始時間,t2、t3為高、低超聲波回波到達的時間,所測得的距離分別為:D1=c(t2-t0)/2(4-1)D2=c(t3-t1)/2(4-2)經(jīng)試驗可知,用雙頻超聲波發(fā)射,量程可達到25m。4.5.2發(fā)射探頭和接收探頭間的影響超聲波從發(fā)射到接收的時間間隔是由控制器內(nèi)部的定時器來完成的。由于發(fā)射器探頭與接收器探頭的距離不大,有部分波未經(jīng)被測物就直接繞射到接收器上,造成發(fā)送部分與接受部分的直接串?dāng)_問題。這一干擾問題可通過軟件編程,使控制器不讀取接收器在從發(fā)射開始到"虛假反射波"結(jié)束的時間段里的信號。這樣,就有效的避免了干擾,但另一方面也形成了20cm左右的“盲區(qū)”。4.5.3超聲波的衰減超聲波在介質(zhì)中傳播時,隨著傳播距離的增加,其能量逐漸減弱,這種現(xiàn)象叫超聲波的衰減。引起超聲波衰減的主要原因有:(1)擴散衰減:超聲波在傳播過程中,由于聲束的擴散能量逐漸分散,從而使單位面積內(nèi)超聲波的能量隨傳播距離的增加而減弱。超聲波的聲壓和聲強均隨至聲源的距離的增加而減弱。(2)散射衰減:當(dāng)聲波要傳播過程中遇到由不同聲阻抗介質(zhì)所組成的界面時,就將產(chǎn)生散亂反射,從而損耗了聲波的能量,被散射的超聲波在介質(zhì)中沿著復(fù)雜的路徑傳播下去,最終變?yōu)闊崮堋#?)粘滯衰減:聲波在介質(zhì)中傳播時,由于介質(zhì)的粘滯性造成近質(zhì)點之間的內(nèi)摩擦從而使一部分聲能轉(zhuǎn)化熱能。同時,由于介質(zhì)的熱傳導(dǎo),介質(zhì)的稠密和稀疏部分之間進行熱交換,從而導(dǎo)致聲能的損耗,這就是介質(zhì)的吸收現(xiàn)象。超聲波的衰減有兩種表示方法。一種是用底波多次反射的次數(shù)來表示。這種方法僅能粗略地比較聲波在不同材料中的衰減程度,也就是對同樣厚度的不同材料在同樣的儀器靈敏度下,觀察它們的底面反射波的次數(shù),底波次數(shù)多的材料,說明聲波在該材料中衰減少,底波次數(shù)少,則聲波衰減比較嚴(yán)重。另一種是理論上定量計算的表示方法,即用衰減系數(shù)來表示聲波的衰減。4.5.4系統(tǒng)干擾因素測量裝置的干擾來自多方面。機械振動或沖擊會對傳感器產(chǎn)生嚴(yán)重的干擾;光線對測量裝置中的半導(dǎo)體器件會產(chǎn)生干擾;溫度的變化會導(dǎo)致電路參數(shù)的變動,產(chǎn)生干擾:以及電磁干擾等等。干擾竄入測量裝置有三條主要途徑,如圖4-8:圖4-8產(chǎn)生誤差的途徑(1)電磁干擾干擾以電磁波輻射的方式經(jīng)空間竄入測量裝置。信道干擾。信號在傳播過程中,通道中各元器件產(chǎn)生的噪聲或非線性畸變所造成的干擾。(2)電源干擾這是由于電源波動、市電電網(wǎng)干擾信號的竄入以及裝置供電電源電內(nèi)阻引起各單元電路相互禍合造成的干擾。一般情況下,電磁感應(yīng)和靜電感應(yīng)干擾主要由發(fā)電機、電動機、大功率繼電器、電臺等的感應(yīng)引起,其強度遠小于電源接地系統(tǒng)和U0系統(tǒng)的干擾,這種干擾可采用良好的屏蔽與正確的接地、高頻濾波加以抑制。因此,在微機系統(tǒng)中,供電系統(tǒng)與v0通道的干擾是問題的主要方面。(3)供電系統(tǒng)干擾及其抗干擾由于供電電網(wǎng)面對各種用戶,電網(wǎng)上并聯(lián)著各種各樣的用電器。用電器在開關(guān)機時都會給電網(wǎng)帶來強度不一的電壓跳變。這種跳變的持續(xù)時間很短,人們稱之為尖峰電壓。它會影響測量裝置的正常工作。(4)電網(wǎng)電源噪聲把供電電壓跳變的持續(xù)時間At>ls者稱為過壓和欠壓噪聲。供電電網(wǎng)內(nèi)阻過大或網(wǎng)內(nèi)用電器過多會造欠壓器聲。供電電壓跳變的持續(xù)時間lms<At<ls,稱為浪涌和下陷噪聲。它主要產(chǎn)生于感性用電器(如電機)在開關(guān)機時所產(chǎn)生的感應(yīng)電動勢。供電電壓跳變時間的持續(xù)時間At<lms的被稱為尖峰噪聲。(5)供電系統(tǒng)的抗干擾供電系統(tǒng)常采用下列幾種抗干擾措施:①交流穩(wěn)壓器。它可消除過壓、欠壓所造的影響,保證供電的穩(wěn)定。②隔離穩(wěn)壓器。由于浪涌和尖峰噪聲主要成份是高頻分量,它們不通過變壓器級線圈之間的互感禍合,而是通過線圈寄生電容禍合。隔離穩(wěn)壓器初次級間用屏蔽層隔離,減少級間禍合電容,從而減少高頻噪聲的竄入。③低通濾波器。它可濾去大于50Hz市電基波的高頻干擾。對于50HZ市電基波,則通過整流濾波后也能夠完全濾除。④獨立功能塊單獨供電。在電路設(shè)計時,有意識地把各種不同功能塊的電路單獨設(shè)置供電系統(tǒng)電源。這樣做基本可消除各單元電路因共用電源而引起相互耦合所造成的干擾.在本系統(tǒng)中就采用了這種電源的配置。接地系統(tǒng)的設(shè)計測量裝置中的地線是所有電路公共的零電平參考點。理論上,地線上所有的位置的電平應(yīng)該相同。然而,由于各個地點之間必須用具有一定電阻的導(dǎo)線連接,一量有地電流流過時,就有可能使各個地點的電位產(chǎn)生差異。同時,地線是所有信號的公共點所有信號電流都要經(jīng)過地線。這就可能產(chǎn)生公共地電阻的禍合干擾。地線的多點相也會產(chǎn)生環(huán)電流.環(huán)路電流會與其它電路產(chǎn)生禍合。所以,認(rèn)真設(shè)計地線和接地點對于系統(tǒng)的穩(wěn)定是十分重要的。5軟件設(shè)計流程圖超聲波測距儀的軟件設(shè)計主要由主程序、溫度讀取程序、LCD顯示程序、外中斷服務(wù)程序、超聲波發(fā)射接收程序、鍵掃子程序組成。我們在這里采用C語言進行編程。5.1主流程圖圖5.1主流程圖5.2溫度讀取程序圖5.2溫度檢測程序5.3LCD顯示程序圖5.3LCD顯示流程圖5.4外中斷服務(wù)程序關(guān)定時器關(guān)定時器關(guān)中斷讀取時間值返回圖5.4外中斷服務(wù)程序5.5超聲波發(fā)射接收程序定時器初始化定時器初始化發(fā)射超聲波開計時器返回停止發(fā)射圖5.5超聲波發(fā)射程序5.6鍵掃子程序圖5.6鍵掃子程序6設(shè)計心得此次設(shè)計為超聲波測距提供了理論和實踐基礎(chǔ)。設(shè)計的最終結(jié)果是使超聲波測距儀能夠產(chǎn)生超聲波,實現(xiàn)超聲波的發(fā)送與接收,從而實現(xiàn)利用超聲波方法測量物體間的距離。以數(shù)字的形式顯示測量距離。超聲波測距的原理是利用超聲波的發(fā)射和接收,根據(jù)超聲波傳播的時間來計算出傳播距離。此次設(shè)計采用反射波方式,即發(fā)射波被物體反射回來后接收的反射。超聲波測距儀硬件電路的設(shè)計主要包括單片機系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機控制HC-SR04超聲波發(fā)射與接收模塊進行信號的發(fā)射與接收。顯示電路采用LC1602液晶管進行數(shù)字顯示。在元件及調(diào)制方面,由于采用的電路使用了很多集成電路。外圍元件不是很多,所以調(diào)試應(yīng)該不會太難。一般只要電路焊接無誤,稍加調(diào)試應(yīng)該會正常工作。電路中除集成電路外,對各電子元件也無特別要求。參考文獻[1]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2004.6.[2]康華光.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2004.1.[3]張培仁.基于C語言編程的MCS-52單片機原理與應(yīng)用.北京:清華大學(xué)出版社,2003.4.[4]紀(jì)良文,蔣靜坪.機器人超聲測距數(shù)據(jù)的采集與處理.電子技術(shù)應(yīng)用,2001.7.[5]瞿金輝,周蓉生.超聲波測距系統(tǒng)的設(shè)計[J].中國儀器儀表,2007.8.[6]袁佑新,吳妍,劉蘇敏,等.可視汽車倒車?yán)走_預(yù)警系統(tǒng)設(shè)計[J].微計算機信息,2006.10.[7]華兵.MCS-51單片機原理應(yīng)用.武漢:武漢華中科技大學(xué)出版社,2002.5[8]李華.MCU-51系列單片機實用接口技術(shù).北京:北京航空航天大學(xué)出版社,1993.6[9]陳光東.單片機微型計算機原理與接口技術(shù)(第二版).武漢:華中理工大學(xué)出版社,1999.4附錄程序清單#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlonguintc=340;//定義10度時聲音的速度//ulongl,time;charii=1,k=80,aa;chart,ts,tg,lb,ls,lg,lsf,fh,cb,cs,cg;sbitRW=P2^1;//定義LCD讀/寫選擇端//sbitRS=P2^0;//定義LCD數(shù)據(jù)/命令選擇端//sbitE=P2^2;//定義LCD使能端//sbitk3=P1^2;sbitk4=P1^3;sbitsg=P3^7;//定義超聲波射引腳//sbitctl=P3^5;//定義超聲波控制引腳//uchartplsb,tpmsb;//溫度值低位、高位字節(jié)//sbitDQ=P3^6;//DS18B20數(shù)據(jù)通信線//ulongtp,sw,gw,sfw,bfw,tppp;uchar*p;voiddelay(uinti)//延時程序//{while(i--);}//*******產(chǎn)生復(fù)位脈沖初始化DS18B20*******//voidTxreset(){DQ=0;delay(100);//拉低約900US//DQ=1;//產(chǎn)生上升沿//delay(4);}//*******等待應(yīng)答脈沖*******//voidRxwait(){while(DQ);while(DQ==0);//檢測到應(yīng)答脈沖//delay(4);}//*******讀取數(shù)據(jù)的一位,滿足讀時隙要求*******//bitRdbit(){uinti;bitb;DQ=0;i++;//保持至少1US//DQ=1;i++;i++;//延時節(jié)15US以上,讀時隙下降后15US,DS18B20輸出數(shù)據(jù)才有效//b=DQ;i=8;while(i>0)i--;return(b);//讀時隙不低于60US//}//*******讀取數(shù)據(jù)的第一個字節(jié)*******//ucharRdbyte(){uchari,j,b;b=0;for(i=1;i<=8;i++){j=Rdbit();b=(j<<7)|(b>>1);}return(b);}//*******寫數(shù)據(jù)的第一個字節(jié),滿足寫1和寫0的時隙要求*****//voidWrbyte(ucharb){uinti;ucharj;bitbtmp;for(j=1;j<=8;j++){btmp=b&0x01;b=b>>1;//取下一位(由低位向高位)//if(btmp){DQ=0;i++;i++;//延時,使得15US以內(nèi)拉高//DQ=1;i=8;while(i>0)i--;//整個寫1時隙不低于60US//DQ=1;i++;i++;}else{DQ=0;i=9;while(i>0)i--;//保持低在60至120US之間//DQ=1;i++;i++;}}}//啟動溫度變換//voidconvert(){Txreset();//產(chǎn)生復(fù)位脈沖,初始化DS18B20//Rxwait();//等待DS18B20給出的應(yīng)答脈沖//Wrbyte(0xcc);//skiprom命令//Wrbyte(0x44);//convertT命令//}//溫度讀取值//voidRdtemp(){Txreset();//產(chǎn)生復(fù)位脈沖,初始化DS18B20//Rxwait();//等待DS18B20給出的應(yīng)答脈沖//Wrbyte(0xcc);//skiprom命令//Wrbyte(0xbe);//convertT命令//tplsb=Rdbyte();//溫度值低位字節(jié)//tpmsb=Rdbyte();//溫度高位字節(jié)//}date(){tp=tpmsb*256+tplsb;sw=tp*625/100000;//讀取溫度十位//gw=tp*625%100000/10000;//讀取溫度個位//sfw=tp*625%100000%10000/1000;//讀取溫度十分位//bfw=tp*625%100000%10000%1000/100;//讀取溫度百分位//tppp=sw*10+gw;}vmain(){delay(100);//延時程序//convert();//啟動溫度轉(zhuǎn)換//delay(100);Rdtemp();//讀取溫度//delay(100);date();}//************液晶顯示***************//voidwritercom(ucharq)//寫命令//{E=1;RS=0;RW=0;P0=q;E=0;delay(20);}voidwriterdata(ucharo)//寫數(shù)據(jù)//{E=1;RS=1;RW=0;P0=o;E=0;delay(20);}voidwriter_d(uchar*u)//寫數(shù)據(jù)串//{while(*u)writerdata(*u++);}voidxsinit(void){writercom(0x01);writercom(0x38);//使用8位數(shù)據(jù),顯示兩行,使用5*7的字型//writercom(0x0c);//顯示設(shè)置,不顯示光標(biāo),字符不顯閃瑣//writercom(0x06);//光標(biāo)從左往右移,內(nèi)容不移//}voidinptt(){while(1){vmain();writercom(0x80);writer_d("TadayTp:");writerdata(sw+0x30);//LCD顯示溫度十位//writerdata(gw+0x30);//LCD顯示溫度個位//writerdata('.');別//LCD顯示溫度十小數(shù)點//writerdata(sfw+0x30);//LCD顯示溫度十分位//writerdata(bfw+0x30);//LCD顯示溫度百分位//writerdata(0xdf);writer_d("C");writercom(0xc0);writer_d("PleasepressK4");if(k4==0)break;}}//**********超聲波發(fā)射程序************//voidsen() {uchartimes=0;TMOD=0x12;//定時器1工作在定時方式1,定時器0工作在定時方式2//IE=0x84;//中斷設(shè)置//TH0=244;TL0=244;TR0=1;TR1=1;//開定時器//while(1){while(TF0==0);sg=~sg;times++;TF0=0;if(times==20)break;}//翻轉(zhuǎn)20次,發(fā)送10個脈沖信號的超聲波//TR0=0;times=0;}//**********外中斷服務(wù)程序************//rec()interrupt2using2//接收中斷程序//{TR1=0;//關(guān)計數(shù)器//ctl=0;time=TH1*256+TL1;//算出t的值,t的單位為us//l=time*c/2;TH1=0;TL1=0;}//************數(shù)據(jù)處理,顯示結(jié)果***************//voiddataxs(){if(tppp>=10)c=338+(tppp-10)*0.6;elsec=338+(10-tppp)*0.6;cb=c/100;//聲音速度的百位//cs=c%100/10;//聲音速度的十位//cg=c%100%10;//聲音速度的個位//lb=l/1000000;//距離的個位//ls=l%1000000/100000;//距離的十分位//lg=l%1000000%100000/10000;//距離的百分位///******LCD顯示********/writercom(0x80);if(l<=100000)writer_d("toon
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦學(xué)擔(dān)保合同范本
- 農(nóng)村房屋購銷合同范本
- 人工測試合同范例
- 保溫涂料施工合同范本
- 出租空地合租大棚合同范本
- 兵役登記合同范例
- 產(chǎn)品攝影合同范例
- pc總包合同范本
- 2025年工業(yè)廠房合同轉(zhuǎn)讓與土地儲備及開發(fā)協(xié)議
- 臨夏求購路燈合同范本
- 房車露營地的研究課件
- 園藝療法共課件
- DB33T 628.1-2021 交通建設(shè)工程工程量清單計價規(guī)范 第1部分:公路工程
- 醫(yī)院-9S管理共88張課件
- 設(shè)立登記通知書
- 2022醫(yī)學(xué)課件前列腺炎指南模板
- MySQL數(shù)據(jù)庫項目式教程完整版課件全書電子教案教材課件(完整)
- 藥品生產(chǎn)質(zhì)量管理工程完整版課件
- 《網(wǎng)絡(luò)服務(wù)器搭建、配置與管理-Linux(RHEL8、CentOS8)(微課版)(第4版)》全冊電子教案
- 職業(yè)衛(wèi)生教學(xué)課件生物性有害因素所致職業(yè)性損害
- 降“四高”健康教育課件
評論
0/150
提交評論