基于AT89S51的超聲波測(cè)距系統(tǒng)的_第1頁(yè)
基于AT89S51的超聲波測(cè)距系統(tǒng)的_第2頁(yè)
基于AT89S51的超聲波測(cè)距系統(tǒng)的_第3頁(yè)
基于AT89S51的超聲波測(cè)距系統(tǒng)的_第4頁(yè)
基于AT89S51的超聲波測(cè)距系統(tǒng)的_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、畢業(yè)設(shè)計(jì)學(xué)號(hào)畢業(yè)業(yè)論論文文題 目:基于 AT89S51 的超聲波測(cè)距系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)作 者向杰屆 別2012學(xué) 院物理與電子學(xué)院專 業(yè)電子科學(xué)與技術(shù)指導(dǎo)老師梅孝安職 稱副教授完成時(shí)間2012.05 畢業(yè)設(shè)計(jì)I摘要 超聲波是指頻率在 20kHz 以上的聲波,它屬于機(jī)械波的范疇。隨著科技水平的不斷提高,超聲波測(cè)距技術(shù)被廣泛應(yīng)用于人們?nèi)粘9ぷ骱蜕钪?。本系統(tǒng)采用以AT89s51單片機(jī)為核心的低成本、高精度、微型化數(shù)字顯示超聲波測(cè)距儀的硬件電路。整個(gè)電路采用模塊化設(shè)計(jì),由信號(hào)發(fā)射和接收、供電、溫度測(cè)量、顯示等模塊組成。超聲波經(jīng)放大后發(fā)射出去,單片機(jī)的計(jì)時(shí)器開始計(jì)時(shí),當(dāng)超聲波

2、被反射原路返回后,再經(jīng)過放大、濾波、整形等環(huán)節(jié),被單片機(jī)接收,計(jì)時(shí)器停止計(jì)時(shí)。用時(shí)間乘以速度就得到了測(cè)量距離。本系統(tǒng)設(shè)有DSl8b20數(shù)字溫度傳感器,能測(cè)量環(huán)境的溫度,以此來校正超聲波的速度,使測(cè)量結(jié)果更準(zhǔn)確。本系統(tǒng)硬件和軟件設(shè)計(jì)科學(xué)合理,實(shí)際測(cè)量誤差小于3%。關(guān)鍵詞:關(guān)鍵詞:AT89S51;超聲波測(cè)距 ;DS18b20 溫度檢測(cè)畢業(yè)設(shè)計(jì)IIAbstractUltrasonic, a sound wave with more than 20 kHz frequency, belongs to the category of mechanical wave. For the unceasing

3、improvement of science and technology, ultrasonic ranging technology has been widely applied in peoples daily work and life. This system uses a low cost, high precision, miniaturization digital display ultrasonic rangefinder hardware circuit which centralized in single chip AT89S51.The whole circuit

4、 uses modular design and consists of the signal transmission and reception, power supply, temperature measurement, display module and so on. The ultrasonic transmits out after being amplified, and then the microcontroller starts its timers. When ultrasonic reflexly returns by the original road, it i

5、s received by microcomputer after getting through the link of amplification ,filtration and reshaping,so the counter stops working. Using the time times speed gets the measured distance. This system ,with DSl8b20 digital temperature sensor, can measure the temperature of the environment so to adjust

6、 the speed of the ultrasonic and make measuring results more accurate. The systems practical measuring error is less than 3% with rational and scientific hardware and software design.Keywords: AT89S51; Ultrasonic distance measure; DS18b20temperature measurement畢業(yè)設(shè)計(jì)III目錄摘要摘要 .I IABSTRACTABSTRACT .III

7、I第一章第一章 緒論緒論 .1 11.1 研究背景及意義 .11.2 超聲波測(cè)距的原理概述 .11.3 研究?jī)?nèi)容及論文結(jié)構(gòu) .2第二章第二章 系統(tǒng)總體設(shè)計(jì)系統(tǒng)總體設(shè)計(jì) .4 42.1 方案設(shè)計(jì)及論證 .42.1.1控制器的選擇.42.1.2超聲波傳感器選擇.42.1.3測(cè)溫傳感器選擇.52.1.4顯示子系統(tǒng)選擇.52.2 系統(tǒng)總體設(shè)計(jì) .5第三章第三章 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì) .7 73.1 單片機(jī)控制電路設(shè)計(jì) .73.2 超聲波發(fā)射及接收電路設(shè)計(jì) .83.2.1 超聲波發(fā)射電路的設(shè)計(jì).83.2.2 超聲波接收電路的設(shè)計(jì).103.3 溫度檢測(cè)電路設(shè)計(jì) .103.4 LED 數(shù)碼管顯示電路設(shè)計(jì)

8、 .113.5 電源電路設(shè)計(jì) .12第四章第四章 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì) .13134.1 系統(tǒng)的算法設(shè)計(jì) .134.2 主程序設(shè)計(jì) .134.3 定時(shí)器 T1 中斷服務(wù)子程序設(shè)計(jì) .144.4 外部中斷 INT0 中斷服務(wù)子程序的設(shè)計(jì) .164.5 DS18B20 測(cè)溫程序設(shè)計(jì) .164.6 顯示程序設(shè)計(jì) .20第五章第五章 硬件測(cè)試及誤差分析硬件測(cè)試及誤差分析 .2121第六章第六章 總結(jié)總結(jié) .2323參考文獻(xiàn)參考文獻(xiàn) .2424致致 謝謝 .2525附錄附錄 A A :硬件電路原理圖:硬件電路原理圖.2626附錄附錄 B B : PCBPCB 圖圖 .2626附錄附錄 C C : 源

9、程序源程序.2727畢業(yè)設(shè)計(jì)1第一章 緒論1.1 研究背景及意義隨著科技發(fā)展,電子測(cè)量技術(shù)應(yīng)用越來越廣泛,而超聲波測(cè)量精確高,成本低,性能穩(wěn)定則備受青睞。超聲波是指頻率在20kHz以上的聲波,它屬于機(jī)械波的范疇。超聲波也遵循一般機(jī)械波在彈性介質(zhì)中的傳播規(guī)律,如在介質(zhì)的分界面處發(fā)生反射和折射現(xiàn)象,在進(jìn)入介質(zhì)后被介質(zhì)吸收而發(fā)生衰減等。正是因?yàn)榫哂羞@些性質(zhì),使得超聲波可以用于距離的測(cè)量中。隨著科技水平的不斷提高,超聲波測(cè)距技術(shù)被廣泛應(yīng)用于人們?nèi)粘9ぷ骱蜕钪小R话愕某暡y(cè)距儀可用于固定物位或液位的測(cè)量,適用于建筑物內(nèi)部、液位高度的測(cè)量等。由于超聲測(cè)距是一種非接觸檢測(cè)技術(shù),不受光線、被測(cè)對(duì)象顏色等

10、的影響,較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境,具有少維護(hù)、不污染、高可靠、長(zhǎng)壽命等特點(diǎn)。因此可廣泛應(yīng)用于紙業(yè)、礦業(yè)、電廠、化工業(yè)、水處理廠、污水處理廠、農(nóng)業(yè)用水、環(huán)保檢測(cè)、食品(酒業(yè)、飲料業(yè)、添加劑、食用油、奶制品) 、防汛、水文、明渠、空間定位、公路限高等行業(yè)中??稍诓煌h(huán)境中進(jìn)行距離準(zhǔn)確度在線標(biāo)定,可直接用于水、酒、糖、飲料等液位控制,可進(jìn)行差值設(shè)定,直接顯示各種液位罐的液位、料位高度。因此,超聲在空氣中測(cè)距在特殊環(huán)境下有較廣泛的應(yīng)用。利用超聲波檢測(cè)往往比較迅速、方便、計(jì)算簡(jiǎn)單、易于實(shí)現(xiàn)實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用的指標(biāo)要求,因此為了使移動(dòng)機(jī)器人能夠自動(dòng)

11、躲避障礙物行走,就必須裝備測(cè)距系統(tǒng),以使其及時(shí)獲取距障礙物的位置信息(距離和方向) 。因此超聲波測(cè)距在移動(dòng)機(jī)器人的研究上得到了廣泛的應(yīng)用。同時(shí)由于超聲波測(cè)距系統(tǒng)具有以上的這些優(yōu)點(diǎn),因此在汽車倒車?yán)走_(dá)的研制方面也得到了廣泛的應(yīng)用。實(shí)際的工作環(huán)境對(duì)超聲波的影響很大,如空氣的溫度對(duì)超聲波的速度影響,及供電電源的穩(wěn)定也會(huì)使測(cè)量產(chǎn)生很大的誤差。本系統(tǒng)通過采用 DS18b20 對(duì)聲波的速度進(jìn)行溫度補(bǔ)償,將溫度影響降到最低。而系統(tǒng)的電源是 9V 電先通過三端穩(wěn)壓芯片 7805,然后提供的穩(wěn)定 5V 電壓。測(cè)試表明本系統(tǒng)的精度較高,在厘米級(jí)別。1.2 超聲波測(cè)距的原理概述發(fā)射器對(duì)某一方向發(fā)射超聲波,在發(fā)射 超

12、聲波的同時(shí)開始計(jì)時(shí),超聲波在空氣中進(jìn)行傳播,途中如果遇到障礙物就立即返回來,超聲波 探頭收到反射波就立即停止計(jì)時(shí)。 以室溫為例, 超聲波在大氣中的傳播速度為 340m/s,計(jì)時(shí)器記錄的時(shí)間為 t,就可以計(jì)算出發(fā)射 端到距障礙物的距離 (s),即:s=340t/2。畢業(yè)設(shè)計(jì)2由于超聲波是一種聲波,其聲速 V 與溫度 T 有關(guān)。在使用時(shí),如果傳播介質(zhì)的溫度變化不是很大,則可以認(rèn)為超聲波速度在介質(zhì)的傳播過程中是近似不變的。如果對(duì)檢測(cè)精度要求很高,則可以通過溫度補(bǔ)償?shù)姆椒▽?duì)測(cè)量結(jié)果加以校正。先確定聲速,然后只需要測(cè)得超聲波在介質(zhì)中傳播的時(shí)間,即可求得距離。這就是超聲波測(cè)距儀的基本原理。 t超聲波發(fā)射

13、障礙物 S S H H 超聲波接收?qǐng)D 1.1 超聲波的測(cè)距原理 cosSH (1-1))(HLarctg (1-2)式中:L-兩超聲波傳感器之間中心距離的一半。又知超聲波傳播的距離公式為: vtS 2 (1-3)式中:v超聲波在介質(zhì)中的傳播速度; t超聲波從發(fā)射出去到接收所經(jīng)過的時(shí)間。將后(1-2)和(1-3)代入(1-1)可得:cos21HLarctgvtH (1-4)其中,超聲波速度 v 在一定的溫度下為一個(gè)常數(shù)(例如在溫度 T=30 度時(shí),V=349m/s);當(dāng)要測(cè)量距離 H 遠(yuǎn)遠(yuǎn)大于 L 時(shí),則上式變?yōu)?vtH21 (1-5)所以,只需要測(cè)量出超聲波傳播的時(shí)間 t,就可以通過公式計(jì)算出

14、距離 H.1.3 研究?jī)?nèi)容及論文結(jié)構(gòu)本文設(shè)計(jì)的超聲波測(cè)距系統(tǒng)通過溫度補(bǔ)償計(jì)算出當(dāng)時(shí)聲波速度,能較準(zhǔn)確的測(cè)量出距離。經(jīng)過單片機(jī)綜合處理后,能顯示距離、溫度、聲速。它包括了控制單元89S51、畢業(yè)設(shè)計(jì)3超聲波測(cè)距模塊、溫度測(cè)量模塊、顯示模塊、電源模塊等。論文構(gòu)成主要由以下部分組成:第 1 章 包括研究背景和意義,并介紹本系統(tǒng)對(duì)誤差做出的措施。第 2 章 系統(tǒng)總體方案設(shè)計(jì)。首先介紹測(cè)距系統(tǒng)的設(shè)計(jì)要求,介紹測(cè)距系統(tǒng)傳感器的選擇、溫度測(cè)量系統(tǒng)、顯示系統(tǒng)的方案設(shè)計(jì),然后提出本系統(tǒng)總的方案設(shè)計(jì)。第 3 章 系統(tǒng)硬件設(shè)計(jì)。首先分析超聲波傳感器的工作原理,然后具體討論測(cè)距模塊中的超聲波發(fā)射電路和超聲波接收電路以

15、及測(cè)距模式電路的硬件設(shè)計(jì),然后介紹溫度測(cè)量模塊的設(shè)計(jì),最后介紹了系統(tǒng)顯示報(bào)警模塊電路的設(shè)計(jì)。第 4 章 系統(tǒng)軟件設(shè)計(jì)。在軟件設(shè)計(jì)中采用模塊化設(shè)計(jì)思想,分別對(duì)系統(tǒng)的主程序模塊、測(cè)距模塊、中斷檢測(cè)模塊、溫度檢測(cè)模塊和顯示模塊的程序進(jìn)行了軟件設(shè)計(jì)。第 5 章 硬件測(cè)試及性能分析。首先對(duì)系統(tǒng)進(jìn)行硬件測(cè)距測(cè)試,然后對(duì)系統(tǒng)性能誤差進(jìn)行討論。第 6 章 總結(jié)。對(duì)全文進(jìn)行總結(jié),指出不足之處,對(duì)超聲波測(cè)距系統(tǒng)的發(fā)展前景進(jìn)行展望。畢業(yè)設(shè)計(jì)4第二章 系統(tǒng)總體設(shè)計(jì)2.1方案設(shè)計(jì)及論證要實(shí)現(xiàn)超聲波測(cè)距,需要多方面的知識(shí)相互結(jié)合,主要解決的部分有控制芯片的選擇、距離的測(cè)量、溫度的測(cè)量、距離的顯示等等。從技術(shù)手段這方面來看

16、,本設(shè)計(jì)中最主要的是距離測(cè)量,其他方面都是圍繞著距離測(cè)量所展開來的。距離測(cè)量首先要選擇好適當(dāng)?shù)膫鞲衅鳎谶x擇好了傳感器后再經(jīng)由恰當(dāng)?shù)暮诵男酒幚砑茨苓_(dá)到所需精度,下面就對(duì)控制器、傳感器、顯示方案選擇做以下論述。2.1.1控制器的選擇本文選用的核心芯片是AT89S51單片機(jī)。AT89S51是一款功耗低并且性能高的CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫大約1000次的只讀程序存儲(chǔ)器Flash,設(shè)計(jì)上采用了ATMEL公司的高密度、非易失性儲(chǔ)存技術(shù),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位CPU和I

17、SP Flash存儲(chǔ)單元,AT89S51在眾多嵌入式實(shí)際應(yīng)用系統(tǒng)中得到非常廣泛的應(yīng)用。簡(jiǎn)而言之,AT89S51有操作簡(jiǎn)單,體積較小,編譯和調(diào)試安裝簡(jiǎn)易,成本較低廉等特點(diǎn),此外考慮到我自己對(duì)于單片機(jī)的掌握程度,我選擇AT89S51作為系統(tǒng)控制器。2.1.2超聲波傳感器選擇能夠完成超聲波發(fā)送和超聲波接收這種功能的裝置被稱為超聲波傳感器,或者稱為超聲波換能器,或超聲波探頭等。超聲波探頭主要組成部分是壓電晶片,不僅可以發(fā)射超聲波,還可以接收超聲波。小功率超聲探頭有許多不同的結(jié)構(gòu),可分直探頭、表面波探頭、斜探頭、雙探頭、蘭姆波探頭等。超聲傳感器的核心部件是塑料外殼或者金屬外殼中的一塊壓電晶片。晶片的材料

18、有許多種。由于晶片的直徑和厚度各不相同,從而使每個(gè)探頭有不同的性能,我們使用前需要了解清楚不同探頭的性能參數(shù)。超聲波傳感器的主要性能指標(biāo)有:(1)工作頻率。工作頻率就是壓電晶片的共振頻率。當(dāng)探頭兩端電壓的頻率和晶片的共振頻率相等時(shí),探頭發(fā)射能量最大,靈敏度最高。(2)工作溫度。由于壓電材料的居里點(diǎn)一般比較高,同時(shí)超聲波探頭使用時(shí)功率較小,所以工作溫度比較低,可以長(zhǎng)時(shí)間的工作而不失效。但是醫(yī)療用途的超聲探頭的工作環(huán)境的溫度比較高,需要單獨(dú)的制冷設(shè)備。(3)靈敏度。主要取決于制造晶片本身。機(jī)電耦合系數(shù)大,靈敏度高。本設(shè)計(jì)選用壓電式超聲波傳感器,工作頻率是 40KHz,工作溫度-20+70,靈敏度在

19、 5 米以內(nèi)。探頭常用材料是壓電晶體和壓電陶瓷,利用壓電效應(yīng)來進(jìn)行工作的。畢業(yè)設(shè)計(jì)5逆壓電效應(yīng)的過程是將高頻率的電振動(dòng)轉(zhuǎn)換成高頻率的機(jī)械振動(dòng),從而產(chǎn)生超聲波,可制作發(fā)射探頭;而通過正壓電效應(yīng),將振動(dòng)的機(jī)械波轉(zhuǎn)換成電信號(hào),可作為接收探頭。2.1.3測(cè)溫傳感器選擇超聲波測(cè)距的關(guān)鍵是已知聲速,通過距離公式求出聲波所跑路程,從而求出距離。但聲波的傳播速度受溫度影響較大,不同的溫度下聲速不同,從而造成誤差。所以通過測(cè)量溫度,求出當(dāng)時(shí)的準(zhǔn)確聲速能有效的減小誤差。本文采用的是DSl8b20數(shù)字溫度計(jì)來測(cè)量溫度。DS18b20 具有獨(dú)特的一線接口,只需要有一條口線即可通信。多點(diǎn)能力,簡(jiǎn)化了分布式溫度傳感的應(yīng)用

20、。不需要外部元件,可用數(shù)據(jù)總線直接供電,電壓范圍為 3.0 V至 5.5 V,無需備用電源。測(cè)量溫度范圍為-55 C 至+125 ,范圍內(nèi)精度為0.5 C。溫度傳感器通過編程可以設(shè)置兩種分辨率,9位和12位。溫度轉(zhuǎn)換為12位數(shù)字格式。溫度轉(zhuǎn)換所需時(shí)間為750毫秒。應(yīng)用范圍包括熱敏感系統(tǒng)、恒溫控制,消費(fèi)電子產(chǎn)品溫度計(jì),或工業(yè)系統(tǒng)中。2.1.4顯示子系統(tǒng)選擇 顯示器是一個(gè)典型的輸出設(shè)備,而且其應(yīng)用是極為廣泛的。最簡(jiǎn)單的顯示器可以用LED數(shù)碼管,設(shè)計(jì)簡(jiǎn)單,易于安裝,成本只要幾元。從能夠?qū)崿F(xiàn)顯示功能以及個(gè)人設(shè)計(jì)簡(jiǎn)單方便方面考慮,本設(shè)計(jì)中采用 LED數(shù)碼管實(shí)現(xiàn)顯示功能。LED數(shù)碼管實(shí)際上是由七個(gè)發(fā)光二級(jí)

21、管以8字形結(jié)構(gòu)組成的,加上小數(shù)點(diǎn)就是8個(gè)。這些段通過字母a,b,c,d,e,f,g,dp來表示。當(dāng)數(shù)碼管特定的段加上電壓后,這個(gè)特定的段就會(huì)發(fā)亮,來形成我們所需的字樣。2.2 系統(tǒng)總體設(shè)計(jì)按照系統(tǒng)所需功能,系統(tǒng)硬件結(jié)構(gòu)可以劃分為五大主要模塊:控制模塊、超聲波發(fā)射模塊、超聲波接收模塊、溫度檢測(cè)模塊和數(shù)據(jù)顯示模塊。系統(tǒng)總體結(jié)構(gòu)框圖如圖2.1所示。障 礙 物超聲波發(fā)射超聲波接收89S51單片機(jī)溫度測(cè)量LED 顯示畢業(yè)設(shè)計(jì)6圖 2.1 系統(tǒng)總體框架圖其中測(cè)距系統(tǒng)有超聲波發(fā)射、接收子系統(tǒng)構(gòu)成;控制部分以 89S51 單片機(jī)為核心,其 P1.0 口控制超聲波發(fā)射電路產(chǎn)生 40KHz 的超聲波,利用外部中斷

22、監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào);其中顯示系統(tǒng)采用簡(jiǎn)單實(shí)用的 4 位共陽(yáng) 8 段 LED 數(shù)碼管。畢業(yè)設(shè)計(jì)7 第三章 系統(tǒng)硬件設(shè)計(jì) 超聲波測(cè)距系統(tǒng)由超聲波傳感器(俗稱探頭)、MCU 和 4 位數(shù)碼管、DS18B20、電源等部分組成。在控制器的控制下由傳感器發(fā)射超聲波信號(hào),當(dāng)遇到障礙時(shí),產(chǎn)生回波信號(hào),傳感器接收到回波信號(hào)后經(jīng)控制器進(jìn)行數(shù)據(jù)處理,判斷出障礙物的位置,由顯示器顯示距離。3.1 單片機(jī)控制電路設(shè)計(jì)單片機(jī)這一詞最初源于“Single-Chip Microcomputer”,簡(jiǎn)稱“SCM”。單片機(jī)也可以稱為“微控制器”或“嵌入式微控制器”。它不僅僅是完成某一個(gè)邏輯功能的芯片,而是將一個(gè)微型

23、計(jì)算機(jī)的系統(tǒng)集成到一個(gè)芯片上。這就相當(dāng)于:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它體積小、質(zhì)量輕、價(jià)格便宜,為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。本設(shè)計(jì)采用 AT89S51 作為系統(tǒng)控制芯片。它是美國(guó) ATMEL 公司生產(chǎn)的一款功耗低、性能高的 8 位單片機(jī),完美的兼容了標(biāo)準(zhǔn) 8051 的指令系統(tǒng)和引腳。圖 3.1 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)是指能讓單片機(jī)工作的最簡(jiǎn)單的電路,包括電源電路、振蕩電路、畢業(yè)設(shè)計(jì)8復(fù)位電路,如圖 3.1。單片機(jī)正常工作電壓為 5V,通過 40 引腳接電源正極,20 引腳接電源負(fù)極來實(shí)現(xiàn)供電。時(shí)鐘被稱為單片機(jī)的心臟,單片機(jī)各個(gè)功能部件的執(zhí)行都是以始終的頻率為基準(zhǔn)的,始終的頻率能夠直

24、接影響單片機(jī)的速度,它的質(zhì)量也影響著單片機(jī)的穩(wěn)定性。常用的時(shí)鐘有兩種方式:內(nèi)部時(shí)鐘和外部時(shí)鐘。51 單片機(jī)的內(nèi)部有用作構(gòu)成一個(gè)振蕩器的高增益反相放大器,它的輸入端和輸出端分別為芯片的 XTAL1 引腳和 XTAL2 引腳,這兩個(gè)引腳接晶振和微調(diào)電容,這樣就能夠形成一個(gè)穩(wěn)定的自激振蕩器。51 單片機(jī)晶振的頻率一般為 6MHz、12MHz、24MHz,高速的單片機(jī)能達(dá)到 40MHz 的始終頻率。復(fù)位就是對(duì)單片機(jī)進(jìn)行初始化操作,只要給 RESET 引腳兩個(gè)機(jī)器周期以上的高電平,就可以完成單片機(jī)的初始化復(fù)位。復(fù)位其實(shí)就是將 PC 程序計(jì)數(shù)器初始化為 0000H,是單片機(jī)重新從 0000H 開始執(zhí)行程序

25、。復(fù)位電路分為兩種:上電復(fù)位和按鍵復(fù)位,本文采用的上電復(fù)位。上電自動(dòng)復(fù)位就是利用外部的復(fù)位電路中的電容充電來實(shí)現(xiàn)。在電路圖中,電容的的大小是 10uF,電阻的大小是 10K,電容充電到電源電壓的 0.7 倍,需要的時(shí)間是 10K*10uF=0.1S。也就是說在單片機(jī)啟動(dòng)的 0.1S 內(nèi),電容兩端的電壓是在 03.5V 增加,這個(gè)時(shí)候 10K 電阻兩端的電壓為從 51.5V 減少。所以在 0.1S 內(nèi),RST 引腳所接收到的電壓是 5V1.5V。在 5V 正常工作的 51 單片機(jī)中小于 1.5V 的電壓信號(hào)為低電平信號(hào),而大于 1.5V 的電壓信號(hào)為高電平信號(hào)。所以在開機(jī) 0.1S 內(nèi),單片機(jī)系

26、統(tǒng)自動(dòng)復(fù)位。3.2 超聲波發(fā)射及接收電路設(shè)計(jì)測(cè)距時(shí)通過超聲波傳感器的發(fā)送端和接收端實(shí)現(xiàn)超聲波的發(fā)射和接收,通過單片機(jī)的定時(shí)器進(jìn)行計(jì)時(shí)。首先,在發(fā)送端向障礙物發(fā)送超聲波的同時(shí)啟動(dòng)單片機(jī)的計(jì)時(shí)器進(jìn)行計(jì)時(shí),超聲波在傳播過程中遇到障礙物會(huì)被反射回來,當(dāng)探頭接收回波信號(hào)后馬上啟動(dòng)外部中斷,定時(shí)器的計(jì)時(shí)停止。這樣,單片機(jī)的計(jì)時(shí)器就記錄了超聲波傳播整個(gè)過程的時(shí)間。當(dāng)在室溫下進(jìn)行時(shí),超聲波在大氣中的傳播速度大約為 340m/s,所以發(fā)射端距障礙物間的距離為:S=340t/2=170t (3-1)當(dāng)單片機(jī)晶振為 12MHz 時(shí),單片機(jī)定時(shí)器最小定時(shí)間隔 T 為 1s,計(jì)數(shù)為 N,則有:T12/fosc=1s,t

27、=NT (3-2)S170NT (3-3)即 S=17N/1000=0.017N(cm) (3-4)3.2.1 超聲波發(fā)射電路的設(shè)計(jì)發(fā)射電路是為了驅(qū)動(dòng)傳感器探頭內(nèi)的壓電晶片,使之振動(dòng)并發(fā)出超聲波,而且要使發(fā)射出的超聲波有足夠的能量,盡量傳播較遠(yuǎn)的距離,能更好的達(dá)到測(cè)量的目的。當(dāng)畢業(yè)設(shè)計(jì)9施加在探頭上脈沖的頻率與探頭中心頻率一致并且足夠大的能量即可完成探頭的驅(qū)動(dòng)。發(fā)射端所需的一串脈沖可以由單片機(jī)提供。本系統(tǒng)采用的是由單片機(jī)的 P1.0 端口發(fā)出40kHz 的脈沖波,一路脈沖信號(hào)經(jīng)過一級(jí)反向器后被送到傳感器的一個(gè)電極。另一路脈沖信號(hào)經(jīng)兩級(jí)反向器后被送到傳感器的另一個(gè)電極。用這種推挽方式將脈沖信號(hào)加

28、到超聲波傳感器兩端,可以提高超聲波信號(hào)的發(fā)射強(qiáng)度。輸出端通過采用兩個(gè)反向器的并聯(lián),可以提高驅(qū)動(dòng)的能力。圖中的上拉電阻有兩個(gè)作用:一方面能夠增強(qiáng)超聲波換能器的阻尼效果,縮短換能器自由振蕩所需的時(shí)間,另一個(gè)方面能夠增強(qiáng)反向器74HC04 輸出高電平的驅(qū)動(dòng)能力,原理圖如圖 3.2。圖 3.2 發(fā)射電路原理圖 1實(shí)際中采用的 74HC04 是內(nèi)含 6 組相同的反相器,電路圖如圖 3.3。畢業(yè)設(shè)計(jì)10圖 3.3 發(fā)射電路原理圖 23.2.2 超聲波接收電路的設(shè)計(jì)由于在距離較遠(yuǎn)的情況下,超聲波的回波很弱,因而轉(zhuǎn)換為電信號(hào)的幅值也較小,為此要求將信號(hào)放大。集成電路 CX20106A 是一款常用于紅外線的檢波

29、接收專用芯片,其靈敏度高,抗干擾能力強(qiáng),由于紅外遙控常用的頻率為 38 kHz 和發(fā)射出的超聲波頻率 40 kHz 很接近,所以可以使用它來制作超聲波的檢波接收電路。圖 3.5 接收電路原理圖如圖 3.5,1 引腳為檢波信號(hào)的輸入端。2 引腳的 RC 串聯(lián)電路與地相連,能夠影響前置放大電路的頻率特性和增益。3 引腳連接檢波電容。5 引腳連接電阻與電源相連,用來設(shè)置中心頻率,阻值越小,中心頻率越大。6 引腳連接積分電容與地相連,電容的大小能夠影響探測(cè)距離。7 引腳為命令輸出端,需接上拉電阻。工作時(shí),換能器將所接收到的微弱聲波振動(dòng)信號(hào)轉(zhuǎn)化成為電信號(hào),送給 CX20106A 的輸入端 1,當(dāng) CX2

30、0106A 接收到信號(hào)進(jìn)行放大、濾波、檢波等一系列的處理后,7 腳就會(huì)輸出一個(gè)低電平,可用于單片機(jī)的中斷信號(hào)源。當(dāng)單片機(jī)接收到中斷信號(hào)時(shí),說明檢測(cè)到了反射回來的超聲波。單片機(jī)就進(jìn)入中斷處理程序,開始進(jìn)行距離計(jì)算。3.3 溫度檢測(cè)電路設(shè)計(jì)由于超聲波也是一種聲波, 其聲速V跟溫度有關(guān),表1列出了幾種不同溫度下的聲速。畢業(yè)設(shè)計(jì)11在使用時(shí),如果溫度的變化不是很大, 則可以近似認(rèn)為超聲波的傳播速度是不變的。在室溫下聲波在大氣中的傳播速度是334 米/秒,但溫度對(duì)聲波傳播速度的影響很大。如果溫度升高1 , 聲波傳播速度就會(huì)增加大約0.6米/ 秒。采用溫度補(bǔ)償?shù)姆椒苁箿y(cè)量的精度提高,聲速與溫度之間的關(guān)系

31、式如下:V = 331.45 + 0.607T (3-5)表一:聲速與溫度關(guān)系表溫度()-30-20-100102030100聲速(m/s)313319325332338344349386本文采用的是 DSl8b20 數(shù)字溫度計(jì)來測(cè)量溫度,提供可選擇的二進(jìn)制 12 位溫度讀數(shù)來表示溫度信息。經(jīng)過單線接口與單片機(jī)進(jìn)行數(shù)據(jù)交互。DSl8B20 的電源甚至可以由數(shù)據(jù)線本身來提供從而不需要再接外部電源。溫度傳感器 DSl8B20 的測(cè)溫范圍從-55 攝 氏度到+125 攝氏度,精度為 0.5??稍?l s(典型值)內(nèi)把溫度變換成數(shù)字量,因此采用DS18B20 實(shí)現(xiàn)溫度補(bǔ)償電路的設(shè)計(jì)。電路連接如圖 3.

32、6:圖 3.6 DS18b20 電路圖3.4 LED數(shù)碼管顯示電路設(shè)計(jì)LED 是發(fā)光二極管的縮寫。LED 數(shù)碼管里面有 8 只發(fā)光二極管,分別記作 a、b、c、d、e、f、g、dp,其中 dp 為小數(shù)點(diǎn),每一只發(fā)光二極管都有一根電極引到外部引腳上,而另外一只引腳就連接在一起同樣也引到外部引腳上,記作公共端。畢業(yè)設(shè)計(jì)1251 系列單片機(jī)的輸出方式為強(qiáng)下拉/弱上拉,高電平輸出電流很小,所以數(shù)碼管會(huì)很暗。一般陰數(shù)碼管的驅(qū)動(dòng)要加到段選的那一段,共陽(yáng)數(shù)碼管要加到位選的那一端。本文選用的 4 位共陽(yáng)數(shù)碼管,使用三極管驅(qū)動(dòng),顯示電路如圖 3.7。圖 3.7 顯示電路圖三極管起到電流放大,開關(guān)控制的作用(單片

33、機(jī)的 I/O 口驅(qū)動(dòng)能力有限)。當(dāng)三極管工作在飽和狀態(tài)時(shí),它的作用就是個(gè)開關(guān)了;I/O=0 時(shí)導(dǎo)通。深度飽和時(shí)三極管Uce=0V,此時(shí)集電極電流達(dá)到最大。電阻用來限流,并確定了三極管的靜態(tài)工作點(diǎn),即工作在深度飽和狀態(tài)。3.5電源電路設(shè)計(jì)本系統(tǒng)設(shè)計(jì)時(shí)考慮到便于攜帶問題,采用 9V 電池供電。由于單片機(jī)的工作壓是5V,采用 78L05 三端穩(wěn)壓電源調(diào)整器來穩(wěn)定的輸出 5V 電壓,電路如圖 3.8。畢業(yè)設(shè)計(jì)13圖 3.8 電源穩(wěn)壓電路圖 第四章 系統(tǒng)軟件設(shè)計(jì) 4.1 系統(tǒng)的算法設(shè)計(jì)根據(jù)超聲波測(cè)距的原理,即超聲波發(fā)生器 T 在某一時(shí)刻發(fā)出超聲波脈沖信號(hào),超聲波遇到被測(cè)物體后反射回來,被超聲波接收器 R

34、 接收到。這樣只要計(jì)算出從發(fā)出超聲波信號(hào)到接收到返回信號(hào)所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計(jì)算公式為:S=Vt/2 (4-1)其中的 S 為被測(cè)物體與測(cè)距器之間的距離,V 為聲速,t 為聲波來回所用的時(shí)間。例如 20時(shí)的聲速為 344m/s。所以,只要測(cè)出超聲波往返的時(shí)間,即可求得距離。由于超聲波也是一種聲波,其聲速C與溫度有關(guān),在使用時(shí),如果溫度變化不大,則可認(rèn)為聲速是基本不變的,在本系統(tǒng)的設(shè)計(jì)中利用DS18b20測(cè)得環(huán)境的溫度值T,再由公式V = 331.45 + 0.607T 計(jì)算得到準(zhǔn)確的聲波速度。4.2 主程序設(shè)計(jì) 系統(tǒng)初始化后首先啟動(dòng) DS18b20,檢測(cè)當(dāng)時(shí)

35、溫度值,計(jì)算出實(shí)時(shí)的聲速。然后啟動(dòng)定時(shí)器 T1,進(jìn)行 12.5us 的計(jì)時(shí),在 T1 中斷服務(wù)子程序中將會(huì)在 P10 產(chǎn)生 40KHz 的矩形波。在等待超聲波脈沖串發(fā)送后關(guān)閉計(jì)時(shí)器 T1,同時(shí)打開計(jì)時(shí)器 T0 對(duì)聲波傳播的時(shí)間進(jìn)行計(jì)時(shí)。為了避免聲波直接從發(fā)射端到接收端,需要延遲 0.1 ms 后再打開 INT0中斷允許。INT0 中斷允許打開后,若 P3.2(INT0)引腳有低電平信號(hào)則代表收到了回波信號(hào),程序?qū)⑦M(jìn)入 INT0 中斷服務(wù)子程序,在 INT0 中斷服務(wù)子程序中計(jì)數(shù)器 T0 將停止計(jì)數(shù),讀取計(jì)數(shù)器的值,單片機(jī)再調(diào)用距離計(jì)算子程序進(jìn)行計(jì)算,計(jì)算出傳感器到目標(biāo)物體之間的距離,此后主程序

36、調(diào)用顯示子程序進(jìn)行顯示。主程序的流程圖如圖 4.1所示:畢業(yè)設(shè)計(jì)14在系統(tǒng)初使化的過程中,主要是設(shè)置定時(shí)器,同時(shí)還要打開總中斷等。當(dāng) P1.0 發(fā)出脈沖串后,同時(shí)打開定時(shí)器進(jìn)行計(jì)時(shí)。當(dāng)超聲波接收到回波信號(hào)后,會(huì)產(chǎn)生一個(gè)低電平給 INT0,之后進(jìn)入中斷處理程序。在主程序中又會(huì)恢復(fù)定時(shí)器的初值等,依此進(jìn)行循環(huán)。畢業(yè)設(shè)計(jì)15開始系統(tǒng)初始化溫度檢測(cè)計(jì)算聲速啟動(dòng) T1,產(chǎn)生 40KHz 矩形脈沖串啟動(dòng) T0,開始計(jì)時(shí),開放外部中斷回波接收成功,進(jìn)入外部中斷子程序,得出傳播時(shí)間計(jì)算距離顯示距離圖 4.1 主程序設(shè)計(jì)流程圖4.3 定時(shí)器T1中斷服務(wù)子程序設(shè)計(jì)本設(shè)計(jì)中 40 kHz 方波的產(chǎn)生采用軟件方式實(shí)現(xiàn)

37、:控制 P1.0 口輸出 12.5s 的高電平,再輸出 12.5s 的低電平,這樣得到一個(gè)周期為 40 kHz 的脈沖,再循環(huán)發(fā)送 5次。超聲波發(fā)生子程序用定時(shí)器 T1 中斷程序產(chǎn)生超聲波。定時(shí)器 T1 中斷服務(wù)程序流程圖如圖 4.2 所示:畢業(yè)設(shè)計(jì)16連續(xù)發(fā)射 5 個(gè) 40kHz 的超聲波計(jì)數(shù)器 T0 清零并啟動(dòng)計(jì)數(shù)器 T0,開中斷允許 EA延時(shí) 0.1ms 以避免“虛假發(fā)射波”開外部中斷 INT0返 回定時(shí)器 T1 中斷服務(wù)子程序入口 圖 4.2 T1 中斷服務(wù)子程序流程圖主要程序如下:TR1=1; / 啟動(dòng)定時(shí)器 1,發(fā)送信號(hào) while(cshu10) ; / 等待脈沖串 發(fā)送完 TR

38、1=0;/ 定時(shí)器用于發(fā)送脈沖,發(fā)完一次后關(guān)閉TR0=1; / 啟動(dòng)定時(shí)器 0,脈沖串發(fā)完后,開始記時(shí) delay(12);/ 0.1s 延時(shí)EX0=1;void CTC1_INT ( ) interrupt 3/12.5us 中斷一次,用于發(fā)射脈沖VOLCK=VOLCK;cshu+;畢業(yè)設(shè)計(jì)174.4 外部中斷INT0中斷服務(wù)子程序的設(shè)計(jì)本設(shè)計(jì)利用外中斷 0 檢測(cè)返回超聲波信號(hào),一旦接收到返回超聲波信號(hào)(即 INT0引腳出現(xiàn)低電平) ,立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)數(shù)器 T0 停止計(jì)數(shù)。外部中斷 INT0 中斷服務(wù)子程序流程圖如圖 4.3 所示:關(guān)中斷允許停止計(jì)數(shù)器 T0 計(jì)數(shù),并

39、讀取 T0 計(jì)數(shù)值存儲(chǔ)調(diào)用距離計(jì)算子函數(shù)返 回外部中斷 INT0 中斷服務(wù)子程序入口 圖 4.3 INT0 中斷服務(wù)子程序主要程序如下: void serve_INT0( ) interrupt 0 EX0=0; / 關(guān)中斷TR0=0; / 關(guān)閉定時(shí)器 0 time=(long)TL0;time+=(long)TH0*256;time=time-120;Timetojuli();TH0=0;TL0=0; 4.5 DS18b20測(cè)溫程序設(shè)計(jì)DS18b20 測(cè)溫程序總體上包括兩部分:?jiǎn)?dòng)溫度轉(zhuǎn)換和讀取溫度。啟動(dòng)溫度轉(zhuǎn)換有三個(gè)步驟:復(fù)位 18B20、發(fā)出 Skip ROM 命令(CCH)、發(fā)出 Co

40、nvert T 命令(44H)。讀取溫度包括五個(gè)步驟:復(fù)位 DS18B20、發(fā)出 Skip ROM 命令(CCH)、發(fā)出 Read 命令畢業(yè)設(shè)計(jì)18(BEH)、讀兩字節(jié)的溫度溫、度格式轉(zhuǎn)換。DS18b20 采用的單總線數(shù)據(jù)傳輸模式,復(fù)位、寫數(shù)據(jù)、讀數(shù)據(jù)都有不同的時(shí)序。從應(yīng)用手冊(cè)上能找出相應(yīng)的時(shí)序。 圖 4.4 18b20 復(fù)位時(shí)序單片機(jī) t0 時(shí)刻發(fā)送一復(fù)位脈沖(最短為 480us 的低電平信號(hào)),接著在 tl 時(shí)刻釋放總線并進(jìn)入接收狀態(tài),DS18B20 在檢測(cè)到總線的上升沿之后,等待 15-60us,接著DS18B20 在 t2 時(shí)刻發(fā)出存在脈沖(低電平持續(xù) 60-240us),如圖中虛線所

41、示。 換句話說如果 t2t3 之間信號(hào)電平如果為低,則說明 DS18B20 復(fù)位成功;否則失敗。復(fù)位程序如下:void DS18b20_reset(void)bit flag=1;while (flag)while (flag) DQ = 1;delay(1); DQ = 0; delay(50); / 550us DQ = 1; delay(6); / 66us flag = DQ; delay(45); /延時(shí) 500usflag = DQ;DQ=1;畢業(yè)設(shè)計(jì)19 圖 4.5 18b20 寫入時(shí)序當(dāng)單片機(jī)將總線 t0 時(shí)刻從高拉至低電平時(shí),就產(chǎn)生寫時(shí)間隙。見上圖,從 t0 時(shí)刻開始 15u

42、s 之內(nèi)應(yīng)把所要寫入的位送到總線上。DS18B20 在 t0 后 15-60us 間對(duì)總線進(jìn)行采樣,若低電平寫入的位則是 0;若高電平,寫入的位則是 1。連續(xù)兩次位寫入的間隙需大于 1us。寫數(shù)據(jù)程序如下: void write_byte(uint16 val)uint8 i;for (i=0; i= 1; /右移一位DQ = 1;delay(1); 圖 4.6 18b20 讀字節(jié)時(shí)序當(dāng)單片機(jī)將總線 t0 時(shí)刻從高電位拉至低電位時(shí),只須將總線保持低電平 4us 之后,在 t1 時(shí)刻將總線拉到高電平,產(chǎn)生讀的時(shí)間間隙,讀時(shí)間在 t1 時(shí)刻后 t2 時(shí)刻前有效,t2 距 t0 為 15us,也就是

43、說,t2 時(shí)刻前主機(jī)必須完成讀位 并在 t0 后的 60us120us 內(nèi)釋放總線。畢業(yè)設(shè)計(jì)20讀數(shù)據(jù)程序如下:uint8 read_byte(void)uint16 i, value=0;for (i=0; i= 1;DQ = 0;nops(); /4usDQ = 1;nops(); /4us if (DQ)value|=0 x80;delay(6); /66usDQ=1;return(value);通過是復(fù)位、讀、寫程序的調(diào)用,啟動(dòng)溫度轉(zhuǎn)換和讀取溫度只需按步驟調(diào)用程序即可讀出溫度數(shù)值。啟動(dòng)轉(zhuǎn)換和讀取溫度程序如下:void start_temp_sensor(void)DS18b20_res

44、et();write_byte(0 xCC); / 發(fā) Skip ROM 命令write_byte(0 x44); / 發(fā)轉(zhuǎn)換命令int16 read_temp(void)uint8 temp_data2; / 讀出溫度暫放DS18b20_reset(); / 復(fù)位write_byte(0 xCC); / 發(fā) Skip ROM 命令write_byte(0 xBE); / 發(fā)讀命令temp_data0=read_byte(); /溫度低 8 位temp_data1=read_byte(); /溫度高 8 位temp = temp_data1;temp = 4;return temp;畢業(yè)設(shè)計(jì)2

45、14.6顯示程序設(shè)計(jì)本系統(tǒng)設(shè)計(jì)時(shí)開機(jī)就會(huì)自動(dòng)檢測(cè)溫度先顯示三次實(shí)時(shí)溫度值再顯示測(cè)量距離,中途可以通過按鍵來顯示溫度和聲速,下面以距離顯示為例說明顯示程序。本系統(tǒng)用動(dòng)態(tài)掃描法實(shí)現(xiàn) LED 數(shù)字顯示,位選 I/O 口等于 0 時(shí)選通相應(yīng)數(shù)碼管,而位碼則通過對(duì)數(shù)值的取整和取余運(yùn)算分別求出個(gè)、十、百位的數(shù)值。小數(shù)點(diǎn)則通過與上 0 x7f 使第二位一直顯示顯示小數(shù)點(diǎn)。距離顯示子程序如下:void display(void) / 顯示 5 位數(shù)據(jù) P0=tablenumber4;S1=0;delay(200);S1=1;P0=tablenumber3 & 0X7F;S2=0;delay(200);

46、S2=1;P0=tablenumber2;S3=0;delay(200);S3=1;P0=tablenumber1;S4=0;delay(200);S4=1;畢業(yè)設(shè)計(jì)22第五章 硬件測(cè)試及誤差分析超聲波測(cè)距時(shí)需要測(cè)的是從開始發(fā)射到接收回波信號(hào)的聲波往返時(shí)間差,由于我們需要檢測(cè)的有效信號(hào)為反射的回波信號(hào),故要盡量避免檢測(cè)到余波信號(hào),余波干擾也是超聲波檢測(cè)中存在最小測(cè)量盲區(qū)的主要原因。理論上本設(shè)計(jì)存在的盲區(qū)約為 20cm。超聲波測(cè)距所能測(cè)的距離大小與傳感器的驅(qū)動(dòng)功率、測(cè)量方法有很大關(guān)系。本設(shè)計(jì)理論上測(cè)量距離范圍為 0.22.5m,誤差比較穩(wěn)定,能夠精確到 1cm,基本滿足設(shè)計(jì)要求。圖 5.1 超聲

47、波測(cè)距系統(tǒng)實(shí)物圖表二:距離測(cè)試及誤差計(jì)算實(shí)際距離/cm20304050607090100測(cè)量結(jié)果/cm19294049606991100誤差53.330201.431.110實(shí)際距離/cm110120140160180200220240測(cè)量結(jié)果/cm111120140161182201222243誤差0.9000.61.10.50.91.2表二是利用本文的測(cè)距儀進(jìn)行實(shí)際測(cè)量的結(jié)果。由表中數(shù)據(jù)可見, 在20150cm 范圍內(nèi)誤差相對(duì)較小。小于20cm 范圍內(nèi)誤差較大,這是因?yàn)槌暡ň嚯x測(cè)量存在一定范圍的盲區(qū),盲區(qū)的出現(xiàn)是因?yàn)榘l(fā)出信號(hào)必須有一個(gè)上升時(shí)間, 當(dāng)距離太近時(shí)計(jì)算機(jī)系統(tǒng)已不能處理迅速返回的

48、反射波信號(hào), 所以距離小于0.2米測(cè)量誤差明顯增加。畢業(yè)設(shè)計(jì)23200cm以后的數(shù)據(jù)誤差增大, 這是由于發(fā)射功率不夠大, 接收到的信號(hào)很微弱, 引入了一些干擾因素。但電路引入溫度補(bǔ)償電路后總的實(shí)驗(yàn)結(jié)果誤差在厘米級(jí),基本上可以滿足測(cè)量要求。系統(tǒng)在設(shè)計(jì)、計(jì)算過程中必定會(huì)產(chǎn)生一定的誤差,這是允許的,但是我們要盡量減小誤差,以下就可能產(chǎn)生誤差的原因進(jìn)行分析。(1) 環(huán)境溫度引起的誤差 這是在不同的氣候條件下引起大誤差的主要原因。聲速 v 隨著環(huán)境溫度變化的近似計(jì)算公式: V=335.5+0.607T(m/s) (5-1)根據(jù)以上計(jì)算公式,再根據(jù)本設(shè)計(jì)中硬件處理的時(shí)間計(jì)算,在溫差30左右時(shí)前后的誤差大概

49、在18cm,前后相差較大。在本設(shè)計(jì)中采用了溫度補(bǔ)償?shù)姆椒?,能有效的減小溫度帶來的誤差。(2) 反射物體表面材料的介質(zhì)引起的誤差 反射物體表面光滑的介質(zhì)比之粗糙的介質(zhì)測(cè)量結(jié)果要好,如果反射物體的表面比較粗糙會(huì)引起回波信號(hào)的減弱,測(cè)量結(jié)果誤差增大。(3) 超聲波波束的入射角的影響 障礙物、探頭兩者之間存在一個(gè)幾何角度,即反射波入射到探頭的角度,當(dāng)這個(gè)角度不是與障礙物垂直時(shí),系統(tǒng)測(cè)量到的距離不是垂直距離,這就會(huì)造成測(cè)量誤差。尤其在障礙物的距離較小的時(shí)候這個(gè)誤差就會(huì)成為距離測(cè)量的主要誤差來源。只需擺正好測(cè)距儀,這種誤差是可以盡量減小的。(4) 直達(dá)波的影響 有一部分聲波從發(fā)射探頭直接轉(zhuǎn)到接收探頭,這部

50、分信號(hào)直接加到回波信號(hào)中干擾回波信號(hào)的檢測(cè)。這干擾能夠通過軟件算法進(jìn)行處理,消除直達(dá)波的干擾。芯片一旦判定收到的超聲波信號(hào)是聲波衍射返回的信號(hào)時(shí)則自動(dòng)忽略結(jié)果,繼續(xù)等待在該工作周期內(nèi)是否為有效反射波,有則盡心處理,沒有則進(jìn)行新的一次測(cè)量。畢業(yè)設(shè)計(jì)24第六章 總結(jié)本文借助于模數(shù)電技術(shù)和單片機(jī)技術(shù)的結(jié)合,解決了超聲波測(cè)距的一些文題。本畢業(yè)設(shè)計(jì)以AT89S51為核心,靈活的運(yùn)用超聲波換能集成電路作為超聲波的接收電路,在討論了超聲波測(cè)距原理、硬件電路實(shí)現(xiàn)和軟件設(shè)計(jì)方法基礎(chǔ)上,基本完成了超聲波測(cè)距的設(shè)計(jì)要求。而且本系統(tǒng)具有溫度補(bǔ)償系統(tǒng),具有測(cè)量精度高、抗干擾能力強(qiáng)、反應(yīng)速度快等特點(diǎn),可適用于各種水文液位

51、測(cè)量、障礙物的識(shí)別以及車輛自動(dòng)導(dǎo)航等領(lǐng)域,因此具有廣闊的應(yīng)用前景。不過,本設(shè)計(jì)尚可以在以下幾個(gè)方面進(jìn)行改善,從而使得本設(shè)計(jì)的測(cè)距儀功能更加完美:(1) 由于探頭的限制,在高溫高壓等惡性環(huán)境下測(cè)量誤差大,根據(jù)實(shí)際情況更換合適的探頭。(2) 系統(tǒng)動(dòng)態(tài)性能不高,在被測(cè)表面移動(dòng)速度很小時(shí),可以實(shí)現(xiàn)跟蹤測(cè)量,但是若其移動(dòng)速度過大則誤差隨之增大。畢業(yè)設(shè)計(jì)25參考文獻(xiàn)1 胡漢才.單片機(jī)原理及接口技術(shù)M.北京:清華大學(xué)出版社,2004.2 房小翠.單片微型計(jì)算機(jī)與接口技術(shù)M.北京:國(guó)防工業(yè)出版社,2003.3 童詩(shī)白.模擬電子技術(shù)基礎(chǔ)(第 3 版)M.北京:高等教育出版社,2003.4 閻石.數(shù)字電子技術(shù)基礎(chǔ)

52、(第 5 版)M.北京:高等教育出版社,2004.5 康華光.電子技術(shù)基本(模擬部分)M.北京:高等教育出版社,2004.6 康華光.電子技術(shù)基本(數(shù)字部分)M.北京:高等教育出版社,2004.7 李麗娟.C語(yǔ)言程序設(shè)計(jì) M北京:中國(guó)鐵道鐵道出版社,2006.8 張毅剛等. MCS-51 單片機(jī)應(yīng)用設(shè)計(jì)M.哈爾濱:哈工大出版社,2004.9 趙負(fù)圖.傳感器集成電路手冊(cè)M.北京:化學(xué)工業(yè)出版社,2003.10 何立民.單片機(jī)高級(jí)教程M.北京:北京航空航天大學(xué)出版社,2000.11 Harvey L ,Coles G S V ,Watson J . The development of an en

53、vironment chamber for the characterization of gas sensorsJ . Sensors and Actuators ,1989 ,16 :393 - 405.12 Nordic VLSI ASA Inc. 2. 4GHz wireless audio st reamern RF24Z1. 2006 - 11.畢業(yè)設(shè)計(jì)26致 謝經(jīng)過幾個(gè)月的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲。由于我經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個(gè)設(shè)計(jì)是難以想象的。本次設(shè)計(jì)能夠順利完成,首先要感謝所有給我授過

54、課的老師,無論是基礎(chǔ)課老師還是專業(yè)課老師。尤其要感謝在本次設(shè)計(jì)中給與我大力支持和幫助的指導(dǎo)老師梅孝安老師,盡管他平日里工作繁忙,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從查閱資料到設(shè)計(jì)草案的確定和修改、中期檢查、后期詳細(xì)設(shè)計(jì)、裝配草圖等整個(gè)過程中都給了我悉心的指導(dǎo)。對(duì)于我的每個(gè)問題,老師總是耐心地解答,使我能夠充滿熱情地投入到畢業(yè)設(shè)計(jì)中去。除了敬佩梅孝安老師的專業(yè)水平外,他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度也永遠(yuǎn)是我學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。最后,再次感謝所有幫助過我的同學(xué)和老師。 畢業(yè)設(shè)計(jì)27附錄A :硬件電路原理圖 附錄 B : PCB 圖畢業(yè)設(shè)計(jì)28附錄 C : 源程序#include#include

55、#include /*定義數(shù)據(jù)類型*/typedef unsigned char uint8;typedef unsigned int uint16;typedef char int8;typedef int int16;/* 端口定義 */sbit DQ = P14; /溫度輸入口sbit VOLCK=P10; /聲波發(fā)射sbit key=P20;sbit S1 =P24;/位選sbit S2 =P25;sbit S3 =P26;sbit S4 =P27;sbit K1 =P15; /中斷顯示燈sbit K2=P16;/*定義系統(tǒng)常數(shù)*/int16 temp;/溫度返回值float V;/聲

56、波速度long int time; / 時(shí)間 bit CLflag; / 測(cè)量標(biāo)志 char cshu; / 串?dāng)?shù) /* 顯示段碼位碼 */char code table =0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; /數(shù)字0-9的編碼char weima2=0;char idata number9; / 顯示數(shù)據(jù)char weima_V9; #define nops(); _nop_(); _nop_(); _nop_(); _nop_(); /定義空指令/* 延時(shí)子程序*/void delay( int j) i

57、nt i; for(i=0;ij;) i+; 畢業(yè)設(shè)計(jì)29void delay_ms(int x)int i ,j ;for (i=0;ix;i+)for(j=0;j120;j+);void display(void) / 顯示5位數(shù)據(jù) P0=tablenumber4;S1=0;delay(200);S1=1;P0=tablenumber3 & 0X7F;S2=0;delay(200);S2=1;P0=tablenumber2;S3=0;delay(200);S3=1;P0=tablenumber1;S4=0;delay(200);S4=1;void Timetojuli(void)

58、/ 將測(cè)量的時(shí)間轉(zhuǎn)換為距離 long int s;s=time*V/2; /單位為微米number4=s/10000000; / 十米 number3=s/1000000%10; / 米 number2=s/100000%10; / 分米 number1=s/10000%10; / 厘米 number0=s%1000; / 毫米 / 初始化定時(shí)器,CTC0、CTC1用于定時(shí) void init_CTC(void )TMOD |= 0 x21; / 設(shè)CTC1工作于模式2, 定時(shí)器 CTC0 工作在方式1 ET0 = 0; / 不允許CTC0中斷 畢業(yè)設(shè)計(jì)30void init_INT( ) / 外部中斷初始化為高優(yōu)先級(jí),并開中斷 IP=0 x01; / 置外部中斷INT0優(yōu)先級(jí)為高 TCON=0; / 設(shè)置外部中斷0的中斷方式為電平觸發(fā) /*18B20*/* * 18B20復(fù)位函數(shù)*/void DS18b20_reset(void)bit flag=1;while (flag)while (flag) DQ = 1;delay(1); DQ = 0; delay(50); / 550us DQ = 1; delay(6); / 66us flag = DQ; delay(45); /延時(shí)500usflag = DQ;DQ=1;/* *

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論