




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 / 60東 莞 理 工 學(xué) 院本 科 畢 業(yè) 設(shè) 計(jì)畢業(yè)設(shè)計(jì)題目:畢業(yè)設(shè)計(jì)題目:基于單片機(jī)的超聲波測距與應(yīng)用基于單片機(jī)的超聲波測距與應(yīng)用超聲波測距系統(tǒng)設(shè)計(jì)超聲波測距系統(tǒng)設(shè)計(jì)學(xué)生:學(xué)生: 學(xué)學(xué) 號:號: 系系 別:別: 計(jì)算機(jī)學(xué)院計(jì)算機(jī)學(xué)院專業(yè)班級:專業(yè)班級: 指導(dǎo)教師與職稱:指導(dǎo)教師與職稱: 講師講師起止時(shí)間:起止時(shí)間:20092009 年年 3 3 月月 20092009 年年 6 6 月月2 / 60摘摘 要要由于超聲波具有方向性好,穿透性強(qiáng),易于獲得較集中的聲能等特點(diǎn),因此將它應(yīng)用于倒車?yán)走_(dá),能有效地減少交通事故的發(fā)生。本系統(tǒng)以 STC12LE5410AD 單片機(jī)為核心,根據(jù)超聲波工
2、作原理,采用觸發(fā)自檢技術(shù),設(shè)計(jì)了一款低成本、高精度,能顯示數(shù)據(jù),并附帶蜂鳴功能的超聲波倒車?yán)走_(dá)防撞系統(tǒng)。該系統(tǒng)極便利了駕駛?cè)藛T,有效地避免了交通事故的發(fā)生。本文主要涉與超聲波測距系統(tǒng)設(shè)計(jì),包括系統(tǒng)總體框架設(shè)計(jì),元器件選型,超聲波工作原理分析,硬件電路設(shè)計(jì),軟件代碼功能實(shí)現(xiàn),以與系統(tǒng)功能測試等。關(guān)鍵詞關(guān)鍵詞 超聲波,測距,倒車?yán)走_(dá),單片機(jī)1 / 60AbstractAbstractUltrasonic is good at locating,and it has a strong penetration,also, it can obtain a higher concentration of
3、sound energy easily, so the traffic accidents will decrease if we use it in the reverse radar.This system is base on the single-chip microcomputer which is called STC12LE5410AD,it is according to the working principle of ultrasonic, and using self-triggering technology to designed an ultrasonic reve
4、rsing radar,which is low-cost,high accuracy,and can display data and buzz.The system can greatly facilitate the driver, and itwill effectively reduce the rate of the traffic accidents happened.This article mainly relates to the design of ultrasonic ranging system, including the overall framework of
5、system design, component selection, the analysis of the working principle of ultrasonic, hardware circuit design,the implement of the software code to functions, as well as system testing.KeyKey word:word: Ultrasonic, Measure, Reversing radar,Single-chip microcomputer2 / 60目錄目錄1.1.緒論緒論 1 11.11.1 選題的
6、背景和意義選題的背景和意義 1 11.21.2 本課題主要研究容本課題主要研究容 1 11.31.3 本人工作容本人工作容 2 22.2.系統(tǒng)系統(tǒng)分分析與設(shè)計(jì)析與設(shè)計(jì) 3 32.12.1 系統(tǒng)分析系統(tǒng)分析 3 32.22.2 方案方案論論證證 4 42.32.3 系統(tǒng)系統(tǒng)設(shè)設(shè)計(jì)計(jì) 6 63.3.超聲波測距系統(tǒng)的硬件設(shè)計(jì)超聲波測距系統(tǒng)的硬件設(shè)計(jì) 12123.13.1 設(shè)計(jì)概述設(shè)計(jì)概述 12123.23.2 單片機(jī)選型單片機(jī)選型 12123.33.3 開發(fā)工具開發(fā)工具 21213.43.4 設(shè)計(jì)要求和構(gòu)想設(shè)計(jì)要求和構(gòu)想 22223.53.5 系統(tǒng)部分電路工作原理系統(tǒng)部分電路工作原理 23233.6
7、3.6 電路圖分析電路圖分析 26264.4.超聲波測距系統(tǒng)的軟件設(shè)計(jì)超聲波測距系統(tǒng)的軟件設(shè)計(jì) 28284.14.1 超聲波測距的算法設(shè)計(jì)超聲波測距的算法設(shè)計(jì) 28284.24.2 測距系統(tǒng)主程序設(shè)計(jì)測距系統(tǒng)主程序設(shè)計(jì) 28284.34.3 超聲波發(fā)生子程序和超聲波接收中斷程序超聲波發(fā)生子程序和超聲波接收中斷程序 29294.44.4 系統(tǒng)測試系統(tǒng)測試 31315.5.總結(jié)總結(jié) 35355.15.1 畢業(yè)設(shè)計(jì)工作總結(jié)畢業(yè)設(shè)計(jì)工作總結(jié) 35355.25.2 工作展望工作展望 35353 / 60附錄附錄 3636參考文獻(xiàn):參考文獻(xiàn):5 54 4致致 55551 / 601.緒論1.1 選題的背景
8、和意義1.1.1 選題的背景隨著我國經(jīng)濟(jì)飛速發(fā)展,越來越多的人擁有了自己的汽車,同時(shí)由泊車和倒車所引發(fā)的事故也越來越多。這些事故常常給駕駛員帶來許多的麻煩,因此,如果有倒車?yán)走_(dá),事情將會(huì)有很大的改觀。超聲波倒車?yán)走_(dá),能以聲音或者更為直觀的顯示告知駕駛員周圍障礙物的情況,幫駕駛員解除泊車和啟動(dòng)車輛時(shí)需四處探視的一些困擾,同時(shí)這也在一定程度上彌補(bǔ)了駕駛員視野存在死角和視線模糊等缺陷。另外,超聲波是一種在彈性介質(zhì)中的機(jī)械震蕩,它擁有指向性強(qiáng)、能量消耗緩慢、傳播距離較遠(yuǎn)等優(yōu)點(diǎn),所以經(jīng)常被用于進(jìn)行距離測量. 超聲波主要應(yīng)用于 交通安全和工業(yè)監(jiān)測探測現(xiàn)場,如儲(chǔ)油罐液位檢測、深井探測等.而最貼近我們生活的就
9、是超聲波倒車?yán)走_(dá)應(yīng)用。利用其良好的指向性和與時(shí)性易于我們做到實(shí)時(shí)、高精度的監(jiān)控。1.1.2 選題的意義(1)制作一種簡便而又實(shí)用的測量工具測距方式有很多種,如紅外線測距,激光測距,超聲波測距,但本系統(tǒng)設(shè)計(jì)采用超聲波測距,因?yàn)槌暡▊鞲衅鲀r(jià)格低廉,而且超聲波指向性良好,40kHz聲波衰減緩慢,適合中長距離測量,故選其作為測量手段簡單實(shí)用。(2)雙側(cè)超聲波測距能實(shí)現(xiàn)基本“瞄準(zhǔn)”功能,使測距效果更精確。(3)減少交通事故的發(fā)生 公路上發(fā)生倒車碰撞或者汽車追尾車毀人亡的交通事故已屢見不鮮,這通常是由于駕駛員沒辦法看到一些死角而引起的,超聲波倒車?yán)走_(dá)能以聲音或更直觀的顯示讓駕駛員了解周圍障礙物的情況,因
10、而減少了事故的發(fā)生率。1.2 本課題主要研究容本設(shè)計(jì)以時(shí)間,處理聲波信號和串口通信作為實(shí)現(xiàn)超聲波測距與倒車?yán)走_(dá)防撞功能應(yīng)用的主要切入點(diǎn),系統(tǒng)通過利用超聲波的定向傳播和固體反射特性,由單片機(jī)控制超聲波傳感器接收系統(tǒng)發(fā)射的 40kHz 聲波的回波信號,接著根據(jù)回波時(shí)間差和傳播速度,直接計(jì)算出被測物體與測距系統(tǒng)之間的距離,然后將其傳給倒車?yán)走_(dá)防撞系統(tǒng)進(jìn)行顯示,使人能做出適宜的倒車反應(yīng)。基本框圖如下: 2 / 60被測物體超聲波接收超聲波發(fā)送單片機(jī)串口車載系統(tǒng)危險(xiǎn)系數(shù)測量數(shù)據(jù)發(fā)送/接收接收/發(fā)送顯示40KHz圖 1 系統(tǒng)基本框圖1.3 本人工作容本人主要負(fù)責(zé):超聲波測距系統(tǒng)設(shè)計(jì),包括對整個(gè)系統(tǒng)的工作原
11、理進(jìn)行分析,選擇元器件,確定設(shè)計(jì)方案,熟悉 STC12LE5410AD 芯片的使用,利用 Protel 進(jìn)行電路圖設(shè)計(jì),用 Proteus 仿真電路,用 C 語言編寫程序,焊接硬件電路,對硬件電路與代碼進(jìn)行調(diào)試以與測試、完善系統(tǒng)系統(tǒng)功能等。2.系統(tǒng)分析與設(shè)計(jì)2.1 系統(tǒng)分析2.1.1 系統(tǒng)簡介本設(shè)計(jì)是基于單片機(jī)的超聲波測距與應(yīng)用,系統(tǒng)主要分為兩大部分,一部分是超聲波測距系統(tǒng),另一部分是倒車?yán)走_(dá)防撞系統(tǒng)。測距系統(tǒng)利用了超聲波定向傳播和固體反射特性,由單片機(jī)控制傳感器發(fā)射聲波,之后根據(jù)傳播速度與收到的回波時(shí)間,算出被測物體的距離,并在數(shù)碼管顯示,同時(shí)也將其發(fā)送給倒車?yán)走_(dá)防撞系統(tǒng),使數(shù)據(jù)得到進(jìn)一步顯
12、示并且呈現(xiàn)倒車危險(xiǎn)系數(shù),以與鳴叫等,給駕駛?cè)藛T良好的倒車提醒。2.1.2 系統(tǒng)詳細(xì)介紹系統(tǒng)主要分為三大模塊:超聲波測距系統(tǒng),串口通信,倒車?yán)走_(dá)防撞系統(tǒng)。3 / 60(1)超聲波測距系統(tǒng):通過STC12LE5410AD芯片控制整個(gè)單片機(jī)電路,該電路通電時(shí),工作指示燈會(huì)交替亮滅,系統(tǒng)本身通過按鍵可以控制單片機(jī)觸發(fā)超聲波傳感器工作,也可以由倒車?yán)走_(dá)防撞系統(tǒng)通過串口發(fā)送指令來對單片機(jī)的測量工作進(jìn)行控制。當(dāng)測距系統(tǒng)收到倒車?yán)走_(dá)防撞系統(tǒng)發(fā)來的幀時(shí),系統(tǒng)中的STC12LE5410AD單片機(jī)首先對幀進(jìn)行校驗(yàn),核對幀有效后,根據(jù)其中的命令字進(jìn)行相應(yīng)的測量,觸發(fā)超聲波發(fā)射器發(fā)送聲波,此時(shí)會(huì)有啪啪的響聲。定時(shí)器在余
13、波處理時(shí)間過后開始計(jì)時(shí),當(dāng)單片機(jī)檢測到回波信號后,定時(shí)器停止計(jì)時(shí)。單片機(jī)根據(jù)定時(shí)器的時(shí)間與聲音的傳播速度自動(dòng)算出被測物體的距離,通過串口通信把數(shù)據(jù)發(fā)送給AT89C51,AT89C51在驗(yàn)證所接收的幀正確后,會(huì)將距離在數(shù)碼管上以米為單位顯示出來,精度可達(dá)毫米級。同時(shí),STC12LE5410AD也會(huì)通過串口通信將數(shù)據(jù)以幀的格式發(fā)給倒車?yán)走_(dá)系統(tǒng),此時(shí)工作指示燈會(huì)頻繁閃爍。(2)串口通信:主要負(fù)責(zé)超聲波測距系統(tǒng)與倒車?yán)走_(dá)防撞系統(tǒng)之間數(shù)據(jù)的傳輸。串口是計(jì)算機(jī)上一種非常通用設(shè)備通信的協(xié)議。大多數(shù)計(jì)算機(jī)包含兩個(gè)基于RS232 的串口。串口也是儀器儀表設(shè)備通用的通信協(xié)議。1(3)倒車?yán)走_(dá)防撞系統(tǒng):倒車?yán)走_(dá)防撞
14、系統(tǒng)是一個(gè)用VC編寫的軟件系統(tǒng),在與測距系統(tǒng)通信的過程中,將命令字用幀格式封裝,通過串口通信發(fā)送不同模式下的幀,使測距系統(tǒng)按規(guī)定的測量模式進(jìn)行相應(yīng)的測量,也可以控制測量系統(tǒng)停止工作。當(dāng)?shù)管嚴(yán)走_(dá)防撞系統(tǒng)檢測到返回幀時(shí),會(huì)檢測其有效性,然后從中提取有效的測量數(shù)據(jù),在界面上直觀地顯示出來,同時(shí)系統(tǒng)會(huì)控制倒車碰撞危險(xiǎn)系數(shù)跟著數(shù)據(jù)做相應(yīng)的改變,而且當(dāng)?shù)管囂幱谂鲎参kU(xiǎn)區(qū)時(shí)也會(huì)控制蜂鳴器鳴叫,而該蜂鳴功能主要由AT89C51來實(shí)現(xiàn),此倒車?yán)走_(dá)防撞系統(tǒng)功能給了駕駛?cè)藛T良好的倒車提醒,極方便了駕駛?cè)藛T的生活。2.2 方案論證本設(shè)計(jì)采用超聲波測距,利用改進(jìn)型單片機(jī) STC12LE5410AD 對系統(tǒng)電路進(jìn)行主要控
15、制,使用串口實(shí)現(xiàn)單片機(jī)與單片機(jī),單片機(jī)與 PC 機(jī)之間的通信,在單純的測距系統(tǒng)中其數(shù)據(jù)結(jié)果采用數(shù)碼管顯示。2.2.1 原因闡述(1)超聲波傳感器 測距方式有很多種,如紅外線測距,激光測距,超聲波測距,但本系統(tǒng)設(shè)計(jì)采用超聲波測距,因?yàn)橐话愠暡▊鞲衅鞯膬r(jià)格低廉,而且超聲波指向性較強(qiáng),40kHz 聲波衰減緩慢,適合中長距離測量。超聲波傳感器是利用超聲波的特性研制而成的傳感器。超聲波是一種振動(dòng)頻率高于聲波的機(jī)械波,由換能晶片在電壓的激勵(lì)下發(fā)生振動(dòng)產(chǎn)生的,它具有頻率高、波長短、繞射現(xiàn)象小,特別是方向性好、能夠成為射線而定向傳播等特點(diǎn)。超聲波對液體、固體的穿透本領(lǐng)很大,尤其是在不透明的固體中,它可穿透幾
16、十米的深度。超聲波碰到雜質(zhì)或分界面會(huì)產(chǎn)生顯著反射形成反射成回波,碰到活動(dòng)物體能產(chǎn)生多普勒效應(yīng)。因此超聲波檢測廣泛應(yīng)用在工業(yè)、國防、生物醫(yī)學(xué)等方面。4 / 60超聲波測距系統(tǒng)的制作和調(diào)試,其中超聲波發(fā)射和接收采用 16 的超聲波換能器 TCT40-16F1(T 發(fā)射)和 TCT40-16S1(R 接收) ,中心頻率為 40kHz,安裝時(shí)應(yīng)保持發(fā)射探頭和接收探頭的中心軸線平行并相距 48cm。 圖 2-1 超聲波傳感器超聲波探頭主要由壓電晶片組成,既可以發(fā)射超聲波,也可以接收超聲波。小功率超聲探頭多作探測作用。檢測圍和聲波發(fā)射角檢測圍和聲波發(fā)射角超聲波傳感器的檢測圍取決于其使用的波長和頻率。波長越
17、長,頻率越小,檢測距離越大,如具有毫米級波長的緊湊型傳感器的檢測圍為 300500mm,波長大于 5mm 的傳感器檢測圍可達(dá) 8m。一些傳感器具有較窄的 6 聲波發(fā)射角,因而更適合精確檢測相對較小的物體。另一些聲波發(fā)射角在 12 至 15 的傳感器能夠檢測具有較大傾角的物體。此外,我們還有外置探頭型的超聲波傳感器,相應(yīng)的電子線路位于常規(guī)傳感器外殼。這種結(jié)構(gòu)更適合檢測安裝空間有限的場合。被測物被測物能運(yùn)用超聲波傳感器進(jìn)行檢測的最理想的物體應(yīng)該是大型、平坦、高密度的物體,垂直放置面對著傳感器感應(yīng)面。最難檢測的是那些面積非常小,或者是可以吸收聲波的材料制作的,比如泡沫塑料,或者是傾斜面對著傳感器的。
18、一些比較困難被檢測的物體可以先對物體的背景表面進(jìn)行示教,再對放在傳感器和背景之間的物體作出反應(yīng)。用于液體測量時(shí)需要要液體的表面垂直面對超聲波傳感器,如果液體的表面非常不平整,那么傳感器的響應(yīng)時(shí)間要調(diào)的更長一些,它會(huì)將這些變化做個(gè)平均,可以比較固定的讀取。11標(biāo)準(zhǔn)檢測物標(biāo)準(zhǔn)檢測物1mm 的厚度垂直性:與聲束軸線垂直。盲區(qū)盲區(qū)直接反射式超聲波傳感器不能可靠檢測位于超聲波換能器前段的部分物體。由此,超聲波換能器與檢測圍起點(diǎn)之間的區(qū)域被稱為盲區(qū)。傳感器在這個(gè)區(qū)域必須保持不被阻擋。所以本超聲波必須從 3cm 起的圍開始測量,而最大測量距離又不超過 5m。5 / 60振動(dòng)振動(dòng) 無論是傳感器本身還是周圍機(jī)械
19、的振動(dòng),都會(huì)影響距離測量的精確度,這時(shí)可以考慮采取一些減震措施,例如:用橡膠的抗震設(shè)備給傳感器做一個(gè)底座,可以減少振動(dòng),用固定桿也可以消除或者最大程度的減少振動(dòng)。11衰減衰減 當(dāng)周圍環(huán)境溫度緩慢變化的時(shí)候,有溫度補(bǔ)償?shù)某暡▊鞲衅骺梢宰龀稣{(diào)整,但是如果溫度變化過快,傳感器將無法做出調(diào)整。11(2)單片機(jī) STC12LE5410ADSTC12LE5410AD為一種改進(jìn)型的51 兼容單片機(jī),指令集與主要架構(gòu)與經(jīng)典51 一樣,硬件資源略有增加:1.增設(shè)了2 通道PCA(可編程計(jì)數(shù)器陣列),彌補(bǔ)了經(jīng)典51定時(shí)器功能“偏弱”的缺陷。2.I/O 口改進(jìn)為可設(shè)置方式,支持:51準(zhǔn)雙向、高阻輸入、OC 輸出、
20、推挽輸出四種模式,簡化了外部硬件設(shè)計(jì)。3.硬件SPI 接口。4.指令速度大大提高了,將原來的12 時(shí)鐘為一個(gè)機(jī)器周期改進(jìn)為 2-3 個(gè)時(shí)鐘周期,指令速度平均提高為原來的8倍左右。5.計(jì)時(shí)時(shí)鐘保留12分頻模式,新增了2 分頻模式,提高了計(jì)時(shí)精度。后兩點(diǎn)對于超聲波測距應(yīng)用有益,指令速度快可減少響應(yīng)延時(shí)的不確定,計(jì)時(shí)精度高可提高分辨率。(3)串口通信串口是計(jì)算機(jī)上一種非常通用設(shè)備通信的協(xié)議,是儀器儀表設(shè)備通用的通信協(xié)議;很多 GPIB 兼容的設(shè)備也帶有 RS-232 口。串口通信協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)( byte)的并行通信慢,但是串口可
21、以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù)。它很簡單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信 。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。對于兩個(gè)進(jìn)行通行的端口,這些參數(shù)必須匹配 。而 RS-232(ANSI/EIA-232 標(biāo)準(zhǔn))是 IBM-PC 與其兼容機(jī)上的串行連接標(biāo)準(zhǔn)??捎糜谠S多用途,比如連接鼠標(biāo)、打印機(jī)或者M(jìn)odem,同時(shí)也可以接工業(yè)儀器儀表。 鑒于使用串口比較方便,簡單,無需驅(qū)動(dòng),因而采用它進(jìn)行通信。(4)LED 七段數(shù)碼管在測距系統(tǒng)中采用 LED 七段數(shù)碼管進(jìn)行數(shù)據(jù)顯示,而不采用 LCD 液晶顯示屏,主要是因?yàn)閿?shù)碼管顯示數(shù)據(jù)亮度高,能引起一定的視覺沖擊,使人能快速辨別出數(shù)據(jù)。2.
22、3 系統(tǒng)設(shè)計(jì)2.3.1 測距系統(tǒng)超聲波工作原理6 / 60(1)工作原理超聲波指向性強(qiáng),很適合測距。在汽車倒車?yán)走_(dá)中一般使用40kHz低頻超聲波作為檢測手段,該頻率的超聲波在空氣中衰減緩慢,可以傳播出較遠(yuǎn)距離,比較適合中長距離測量。以超聲波作為檢測手段,必須產(chǎn)生聲波和接收聲波,這就需要使用超聲波傳感器,它有發(fā)送器和接收器,但單獨(dú)一個(gè)超聲波傳感器也具有發(fā)送和接收的雙重功能。超聲波傳感器利用壓電效應(yīng)的原理將電能和超聲波相互轉(zhuǎn)化,即在發(fā)射超聲波的時(shí)候,將電能轉(zhuǎn)換,發(fā)射超聲波;而在收到回波的時(shí)候,則將超聲振動(dòng)轉(zhuǎn)換成電信號。 圖2-2 傳感器工作模式若對發(fā)送傳感器諧振頻率為 40KHz 的壓電瓷片 (
23、雙晶振子 ) 施加 40KHz 高頻電壓,則壓電瓷片就根據(jù)所加高頻電壓極性伸長與縮短,于是發(fā)送 40KHz 頻率的超聲波,其超聲波以疏密形式傳播 ( 疏密程度可由控制電路調(diào)制 ),并傳給波接收器。接收器是利用壓力傳感器所采用的壓電效應(yīng)的原理,即在壓電元件上施加壓力,使壓電元件發(fā)生應(yīng)變,則產(chǎn)生一面為“ + ”極,另一面為“ - ”極的 40KHz 正弦電壓。另外,因該高頻電壓幅值較小,故在電路設(shè)計(jì)時(shí)必須對其進(jìn)行放大。 測距的原理一般采用渡越時(shí)間法TOF(time of flight)。首先測出超聲波從發(fā)射到遇到障礙物返回所經(jīng)歷的時(shí)間,再乘以超聲波的速度就得到二倍的聲源與障礙物之間的距離 ,即L=
24、C * T/2(L為距離,C為超聲波在空氣中傳播的速度,T為往返總共用的時(shí)間)。 超聲波測距適用于高精度的中長距離測量,因?yàn)槌暡ㄔ跇?biāo)準(zhǔn)空氣中的傳播速度一般為331.45米/秒。由單片機(jī)負(fù)責(zé)計(jì)時(shí),并且單片機(jī)使用11.0592M的晶振,所以系統(tǒng)的測量精度理論上可以達(dá)到毫米級。(2)傳感器間距誤差分析 圖 2-3 傳感器相對位置 在本設(shè)計(jì)中,發(fā)射器和接收器之間中心軸線的相對距離近似 8cm,這樣可以盡量減少來自發(fā)射器的余波對接收器產(chǎn)生的干擾,但兩者間距又不能太大,不然就無法對比較體積小的物體進(jìn)行距離測量。具體的間距根據(jù)實(shí)際應(yīng)用而設(shè)置。在定時(shí)器的時(shí)間計(jì)算上,8cm 間距產(chǎn)生的時(shí)間誤差可以忽略不計(jì),因
25、為回波到達(dá)接收器會(huì)觸發(fā)產(chǎn)生電信號,然后在 8cm 的間距上傳送電信號至單片機(jī)。據(jù)我們所知,電流實(shí)際就是電子的流動(dòng),而電子的速度接近光速,比聲波速度大 5 個(gè)數(shù)量級,故 8cm 的時(shí)間誤差遠(yuǎn)小于 1 毫秒,可以對其忽略不計(jì)。(3)干擾問題剖析換能器在將電型號轉(zhuǎn)化成聲波的過程中,所產(chǎn)生的聲波并不是理想中的矩形,而是一個(gè)類似花瓣一樣形狀。值得一提的是,在實(shí)際應(yīng)用中,產(chǎn)生的波形應(yīng)該是三維的,類似柱狀體。超聲波傳感器主要用來探測物體的距離以與相對于傳感器的方位,以便可以進(jìn)行避障動(dòng)作。最理想的波形就是矩形,不但可以準(zhǔn)確的獲得物體的距離值,也可以準(zhǔn)確的7 / 60獲得方位值,就是正前方。但是實(shí)際上,超聲波的
26、波束根據(jù)應(yīng)用不同,有寬波束,和窄波束。寬波束的傳感器會(huì)檢測到任何在波束圍的物體,它可以檢測到物體的距離,但是確無法檢測到物體的方位,誤差最高會(huì)有 100 度左右。當(dāng)然,作為只要探測物體有或者無其它用途來說,寬波束的傳感器是比較理想的。同理,窄波束可以相對寬波束獲得更加精確的方位角。在選擇超聲波傳感器的時(shí)候,這個(gè)波形特性是必須要考慮的。最理想的形狀寬波束窄波束主瓣旁瓣圖 2-4 超聲波形狀聲波傳感器應(yīng)用起來原理簡單,也很方便,成本也很低。但是目前的超聲波傳感器都有一些缺點(diǎn),比如反射問題,噪音,交叉問題。反射問題:如果被探測物體始終在合適的角度,那超聲波傳感器將會(huì)獲得正確的角度。但是不幸的是,在實(shí)
27、際使用中,很少被探測物體是能被正確的檢測的。圖 2-4 顯示了三角誤差,鏡面反射,多次反射等超聲波在各種角度差生的誤差。當(dāng)被測物體與傳感器成一定角度的時(shí)候,所探測的距離和實(shí)際距離有個(gè)三角誤差。圖 2-4 的第二種情況叫做鏡面反射,在特定的角度下,發(fā)出的聲波被光滑的物體鏡面反射出去,因此無法產(chǎn)生回波,也就無法產(chǎn)生距離讀數(shù)。這時(shí)超聲波傳感器會(huì)忽視這個(gè)物體的存在。第三種情況可以叫多次反射。這種現(xiàn)象在探測墻角或者類似結(jié)構(gòu)的物體時(shí)比較常見。聲波經(jīng)過多次反彈才被傳感器接收到,因此實(shí)際的探測值并不是真實(shí)的距離值。這些問題可以通過使用多個(gè)按照一定角度排列的超聲波圈來解決。通過探測多個(gè)超聲波的返回值,用來篩選出
28、正確的讀數(shù)。128 / 60測量墻的距離實(shí)際距離角度范圍角度范圍測量墻的距離三角誤差鏡面反射多次反射 圖 2-5 超聲波角度誤差噪音:雖然多數(shù)超聲波傳感器的工作頻率為 40-45Khz,遠(yuǎn)遠(yuǎn)高于人類能夠聽到的頻率。但是周圍環(huán)境也會(huì)產(chǎn)生類似頻率的噪音。比如,電機(jī)在轉(zhuǎn)動(dòng)過程會(huì)產(chǎn)生一定的高頻,輪子在比較硬的地面上的摩擦所產(chǎn)生的高頻噪音,這些都會(huì)引起傳感器接收到錯(cuò)誤的信號。這個(gè)問題可以通過對發(fā)射的超聲波進(jìn)行編碼來解決,比如發(fā)射一組長短不同的音波,只有當(dāng)探測頭檢測到一樣組合的音波的時(shí)候,才進(jìn)行距離計(jì)算。這樣可以有效的避免由于環(huán)境噪音所引起的誤讀??偟膩碚f,如果我們能夠在測距過程中注意到這些問題的話,那么
29、利用超聲波檢測距離還是比較可行的,設(shè)計(jì)比較方便,計(jì)算處理也較簡單,并且在測量精度方面也能達(dá)到要求。9 / 602.3.2 系統(tǒng)原理圖被測物體超聲波接收超聲波發(fā)送STC12LE5410AD單單片片機(jī)機(jī)串口車載系統(tǒng)危險(xiǎn)系數(shù)測量數(shù)據(jù)蜂鳴數(shù)碼管顯示定時(shí)器控制調(diào)制器計(jì)時(shí)器振蕩器接收檢測AT89C51(單片機(jī)之間通信)顯示控制發(fā)送/接收接收/發(fā)送接收/發(fā)送40KHz 圖 2-6 系統(tǒng)原理圖在測距系統(tǒng)中單片機(jī)為核心控制部分,根據(jù)設(shè)定的工作方式,產(chǎn)生40kHz 方波,經(jīng)過驅(qū)動(dòng)電路驅(qū)動(dòng)超聲波發(fā)生器發(fā)出一簇信號。在余波時(shí)間過后開始計(jì)時(shí)。接收回路為諧振回路,將收到的微弱回波信號檢出,送信號放大電路放大,收到產(chǎn)生脈沖
30、輸出送單片機(jī)中斷端,單片機(jī)收到中斷信號后停止計(jì)時(shí),計(jì)算出距離值,保存等待讀出或直接經(jīng)UART 送出。接收過程中,單片機(jī)定時(shí)控制放大電路的增益,逐漸提高,以適應(yīng)距離越遠(yuǎn)越弱的回波信號。2.3.3 倒車?yán)走_(dá)防撞系統(tǒng)分析與設(shè)計(jì)(1)分析這是一個(gè)通過串口通信進(jìn)行數(shù)據(jù)顯示和倒車危險(xiǎn)系數(shù)提示的服務(wù)端,它根據(jù)串口通信協(xié)議,進(jìn)行了幀格式的定義,如:幀頭,地址,幀長,命令字,測量模式,校驗(yàn)位等。在通信過程中,我們首先要打開串口,接著系統(tǒng)判斷串口打開是否有效,這可以排除你串口線沒接,或者選錯(cuò)串口。當(dāng)這一步完成后,我們就要在界面上選擇工作模式,設(shè)置周期等,這就相當(dāng)于幀的構(gòu)建,當(dāng)發(fā)送后,幀通過串口被單片機(jī)接收,單片機(jī)
31、從緩沖區(qū)取出幀,并進(jìn)行相應(yīng)工作。倒車?yán)走_(dá)防撞系統(tǒng)檢測到有幀返回時(shí),先看緩沖區(qū)的數(shù)據(jù)是否已滿,若為空則等待,如果滿了,則接收數(shù)據(jù),并根據(jù)幀定義驗(yàn)證它是否有效,無效的話就丟棄,繼續(xù)接收。而有效的話則從中提取測量數(shù)據(jù),并將其進(jìn)行顯示,此時(shí)系統(tǒng)界面上的倒車危險(xiǎn)系數(shù)也會(huì)自動(dòng)跟著做相應(yīng)變化。當(dāng)一幀處理完,系統(tǒng)又開始進(jìn)行10 / 60下一輪幀檢測,如果有幀則接收,無幀則停止。(2)該系統(tǒng)相關(guān)流程圖如下:開始發(fā)送隊(duì)列是否為空?延時(shí)發(fā)送數(shù)據(jù)YN圖 2-7 串口驅(qū)動(dòng)函數(shù)流程圖-發(fā)送部分圖 2-8 串口驅(qū)動(dòng)函數(shù)流程圖-接收部分11 / 60開始串口初始化構(gòu)建發(fā)送幀串口通信接收返回的幀提取測量數(shù)據(jù)是否有效?Y顯示距離
32、顯示倒車危險(xiǎn)系數(shù)N結(jié)束N還有幀? Y圖 2-9 倒車?yán)走_(dá)防撞系統(tǒng)流程圖3.超聲波測距系統(tǒng)的硬件設(shè)計(jì)3.1 設(shè)計(jì)概述超聲波測距系統(tǒng)以STC12LE5410AD和AT89C51單片機(jī)為核心,以TL852CDR, SPX1117M3-3.3單片機(jī)為輔助,當(dāng)STC12LE5410AD收到AT89C51或者倒車?yán)走_(dá)防撞系統(tǒng)通過串口發(fā)來的幀時(shí),首先檢測其有效性,如果無效則丟棄,有效則從中提12 / 60取命令字,然后根據(jù)命令字對應(yīng)的工作方式模式進(jìn)行相應(yīng)的測量。測量中主要由STC12LE5410AD控制電路產(chǎn)生40kHz方波,經(jīng)過驅(qū)動(dòng)電路驅(qū)動(dòng)超聲波發(fā)生器將這一簇信號發(fā)出。在余波時(shí)間過后,計(jì)時(shí)器開始計(jì)時(shí)。接收
33、回路為諧振回路,將收到的微弱回波信號檢出,送信號放大電路放大,收到產(chǎn)生脈沖輸出送單片機(jī)中斷端,單片機(jī)收到中斷信號后停止計(jì)時(shí),計(jì)算出距離值,保存等待讀出或直接經(jīng)UART 送出。接收過程中,單片機(jī)定時(shí)控制放大電路的增益,逐漸提高,以適應(yīng)距離越遠(yuǎn)越弱的回波信號。STC12LE5410AD單片機(jī)計(jì)算出的距離以幀的格式通過串口通信發(fā)送給單片機(jī)AT89C51和倒車?yán)走_(dá)防撞系統(tǒng)。測距系統(tǒng)中的89C51主要通過中斷檢測串口接收緩沖區(qū)是否有接收到數(shù)據(jù),然后根據(jù)事先約定的串口通信幀格式檢測數(shù)據(jù)有效性,當(dāng)獲取到有效數(shù)據(jù)后,將測量結(jié)果提取出來送到數(shù)碼管顯示。數(shù)碼管的數(shù)據(jù)總會(huì)跟著超聲波的測量結(jié)果做出相應(yīng)的改變。能讓人與
34、時(shí)直觀地看到測距結(jié)果。結(jié)構(gòu)示意圖如下:驅(qū)動(dòng)電路接收回路設(shè)置參數(shù),輸出結(jié)果STC12LE5410AD單片機(jī)軟件產(chǎn)生方波接收信號放大和檢出電路增益控制發(fā)射接收AT89C51數(shù)碼管顯示控制圖 3-1 結(jié)構(gòu)示意圖本設(shè)計(jì)方案分為單片機(jī)選型、開發(fā)工具和電路設(shè)計(jì),共三部分進(jìn)行的詳細(xì)說明。3.23.2 單片機(jī)選型3.2.1 選型目的由于各種單片機(jī)有其特定的性能,也適用于不同的場合,所以我們需要根據(jù)自己的實(shí)際需要,如程序儲(chǔ)存空間、工作電壓、工作溫度圍、抗干擾性、工作頻率和性能價(jià)格比等方面從挑選出合適自己的單片機(jī)。因此,單片機(jī)選型是制定設(shè)計(jì)方案中非常重要的一步。3.2.2 STC12LE5410ADSTC12LE
35、5410AD 芯片(1)概述STC12LE5410AD屬于8STC12C2052系列單片機(jī),是單時(shí)鐘/機(jī)器周期(1T)的兼容8051核單片機(jī),是高速/低功耗的新一代 8051單片機(jī),全新的流水線/精簡指令集結(jié)構(gòu),部集成MAS810專用復(fù)位電路。13 / 60(2)STC12LE5410AD在本設(shè)計(jì)中的應(yīng)用MCU 端口資源分配如下:P1.0 、P1.1接SOUT 端,作為超聲波發(fā)射時(shí)左右兩塊TL852單片機(jī)的輸出抑制,置為OC輸出。P1.4 - P1.7 保留P2.0 - P2.3 控制左側(cè)單片機(jī)TL852 增益,設(shè)置為OC 輸出,852部有上拉電阻。P2.4 - P2.7 控制右側(cè)TL852
36、增益,設(shè)置為OC 輸出,部有上拉電阻。P3.0(RXD)、P3.1(TXD) UART 通訊P3.2(INT0)超聲波左側(cè)接收輸入,設(shè)置為輸入P3.3(INT1)超聲波右側(cè)接收輸入,設(shè)置為輸入P3.4 產(chǎn)生超聲波發(fā)射方波,設(shè)置為推挽輸出模式P3.5 控制P1,用于衰減余波,設(shè)置為OC 輸出模式P3.7 工作指示燈,設(shè)置為OC 輸出模式以下為STC12LE5410AD引腳圖: 圖 3-2 STC12LE4052AD引腳圖在本設(shè)計(jì)最主要的是看重STC12LE5410AD比普通的51單片機(jī)做了如下改進(jìn):1.指令速度大大提高了,將原來的12 時(shí)鐘為一個(gè)機(jī)器周期改進(jìn)為 2-3 個(gè)時(shí)鐘周期,指令速度平均提
37、高為原來的8倍左右。2.計(jì)時(shí)時(shí)鐘保留12 分頻模式,新增了2 分頻模式,提高了計(jì)時(shí)精度。這兩點(diǎn)對于超聲波測距應(yīng)用有益,指令速度快可減少響應(yīng)延時(shí)的不確定,計(jì)時(shí)精度高可提高分辨率。(3)STC12LE5410AD與普通8051完全兼容,優(yōu)先級可設(shè)為4級:14 / 60 圖3-3 中斷向量地址表(4)STC12LE5410AD的I/O結(jié)構(gòu):STC12LE5410AD單片機(jī)其所有I/O口均可由軟件配置成4種類型之一,如下表所示。4種類型分別為:準(zhǔn)雙向口(標(biāo)準(zhǔn)8051輸出模式) 、推挽輸出、僅為輸入(高阻)或開漏輸出功能。每個(gè)口配置2個(gè)控制寄存器控制每個(gè)引腳輸出類型。上電復(fù)位后為準(zhǔn)雙向口模式。 圖3-4
38、 I/O 口結(jié)構(gòu)圖(5)STC12LE5410AD定時(shí)器的使用: 定時(shí)器0和1:定時(shí)器和計(jì)數(shù)功能由特殊功能寄存器TMOD的控制位C/T進(jìn)行選擇,TMOD寄存器的各位信息如下表所示。可以看出,2個(gè)定時(shí)/計(jì)數(shù)器有4種操作模式,通過TMOD的M1和M0選擇。2個(gè)定時(shí)/計(jì)數(shù)器的模式0、1和2都一樣,模式3不同,各模式的功能如下所述。TMOD 地址:89H 復(fù)位值:00H 圖3-5 定時(shí)器位信息表 15 / 60位符號M1、M0功能定時(shí)器/計(jì)數(shù)器 0 模式選擇0 013 位定時(shí)器/計(jì)數(shù)器,兼容 8048 定時(shí)器模式,TL0 只用低 5 位參與分頻,TH0 整個(gè) 8 位全用0 116 位定時(shí)器/計(jì)數(shù)器,T
39、L0、TH0 全用1 08位自動(dòng)重裝載定時(shí)器,當(dāng)溢出時(shí)將TH0存放的值自動(dòng)重裝入TL0.TMOD.1/TMOD.01 1定時(shí)器0此時(shí)作為雙8位定時(shí)器/計(jì)數(shù)器。TL0作為一個(gè)8位定時(shí)器/計(jì)數(shù)器,通過標(biāo)準(zhǔn)定時(shí)器0的控制位控制。TH0僅作為一個(gè)8位定時(shí)器,由定時(shí)器1的控制位控制。圖3-6 定時(shí)器/計(jì)數(shù)器0模式選擇 圖3-7 定時(shí)器/計(jì)數(shù)器1模式選擇3.2.3 增益放大 TL852 芯片TL852 是一片專門設(shè)計(jì)用于超聲波接收、放大、檢測的芯片,集成了可變增益、選頻放大器,可通過四根控制線變換11 級增益,對于檢測超聲波信號十分有效。符號M1、M0功能定時(shí)器/計(jì)數(shù)器 1 模式選擇0 013 位定時(shí)器/
40、計(jì)數(shù)器,兼容 8048 定時(shí)器模式,TL1 只用低 5 位參與分頻,TH1 整個(gè) 8 位全用0116 位定時(shí)器/計(jì)數(shù)器,TL1、TH1 全用108位自動(dòng)重裝載定時(shí)器,當(dāng)溢出時(shí)將TH1存放的值自動(dòng)重裝入TL1.TMOD.5/TMOD.41 1定時(shí)器/計(jì)數(shù)器1此時(shí)無效(停止計(jì)數(shù))16 / 60圖3-8 TL852引腳圖 圖3-9 TL852部功能框圖3.2.4 低電壓運(yùn)算放大器 LMV358LMV358 為低電壓滿幅輸出運(yùn)放,額定工作電壓為2.7 5V,因?yàn)閱纹瑱C(jī)的工作電壓為3.3V,所以選用LMV358,雖然成本略高,但性能得到保證。它可實(shí)現(xiàn)1MHz的帶寬在1-V/ms轉(zhuǎn)換率低電源電流。 圖 3
41、-10 LMV358 引腳圖3.2.5 AT89C51AT89C51 單片機(jī)(1)概述AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件17 / 60采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提
42、供了一種靈活性高且價(jià)廉的方案。外形與引腳排列如圖所示:1 圖 3-11 AT89C51 引腳圖(2)主要參數(shù)1.與 MCS-51 兼容 2.4K 字節(jié)可編程閃爍存儲(chǔ)器 3.壽命:1000 寫/擦循環(huán) 4.數(shù)據(jù)保留時(shí)間:10 年 5.全靜態(tài)工作:0Hz-24MHz 6.三級程序存儲(chǔ)器鎖定 7.1288 位部 RAM 8.32 可編程 I/O 線 9.兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器 10.5 個(gè)中斷源 11.可編程串行通道 12.低功耗的閑置和掉電模式13.片振蕩器和時(shí)鐘電路(3)在本設(shè)計(jì)中的應(yīng)用: P1.0 - P1.7 接七段數(shù)碼管引腳,用于控制顯示相應(yīng)的數(shù)字 P2.0 - P2.4 分別接 4
43、 個(gè) 74LS164N 鎖存器,用于進(jìn)行位選,以便選擇性地點(diǎn)亮數(shù)碼管。 P2.5 控制蜂鳴器鳴叫 P2.6 接一個(gè)按鍵,該按鍵主要用于觸發(fā) AT89C51 進(jìn)行串口通信發(fā)送數(shù)據(jù)幀,以控制 STC12LE5410AD 工作。P3.0(RXD)、P3.1(TXD) UART 通訊18 / 603.2.6 鎖存器 74LS164 (1)簡介74LS164是一個(gè)串行輸入并行輸出的移位寄存器,并帶有清除端。 圖3-12 74LS164引腳圖當(dāng)清除端(CLEAR)為低電平時(shí),輸出端(QA-QH)均為低電平。串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng)A,B任意一個(gè)為低電平,則禁止新數(shù)據(jù)輸入,在時(shí)鐘端(CLOCK
44、)脈沖上升沿作用下Q0的狀態(tài)。引出端符號: CLOCK 時(shí)鐘輸入端 CLEAR 同步清除輸入端(低電平有效) A,B 串行數(shù)據(jù)輸入端 QA-QH 輸出端(2)外部管腳真值表圖3-13 74LS164外部管腳真值表 H-高電平 L-低電平 X-任意電平 -低到高電平跳變 QA0,QB0,QH0-規(guī)定的穩(wěn)態(tài)條件建立前的電平 QAn,QGn-時(shí)鐘最近的前的電平 在本設(shè)計(jì)中由于只需點(diǎn)亮 5 個(gè)數(shù)碼管,因需用到 5 個(gè) 74LS164。首先為AT89C51 的 P20-P2.4 設(shè)置為輸出模式,當(dāng) P2.0-P2.4 中某一個(gè) I/O 口被賦值 1時(shí),也就代表該口的鎖存器被選中,從而點(diǎn)亮該鎖存器連接的數(shù)
45、碼管。3.2.7 發(fā)光二極管 LED(1) 數(shù)碼管結(jié)構(gòu) 數(shù)碼管由8個(gè)發(fā)光二極管(以下簡稱字段)構(gòu)成,通過不同的組合可用來顯示數(shù)字0-9、字符A-F、H、L、P、R、U、Y、符號“-”與小數(shù)點(diǎn)“.” 。數(shù)碼管的外型結(jié)構(gòu)如圖所示。數(shù)碼管又分為共陰極和共陽極跨兩種結(jié)構(gòu)。19 / 60圖3-14 數(shù)碼管結(jié)構(gòu)(2) 數(shù)碼管工作原理由于本設(shè)計(jì)采用的是共陽極數(shù)碼管,因而只對共陽極數(shù)碼管的工作原理做具體介紹。原理如下:共陽極數(shù)碼管的 8 個(gè)發(fā)光二極管的陽極(二極管的正端)連接在一起。通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并發(fā)亮
46、。根據(jù)發(fā)光二極管的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源與額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。(3) 數(shù)碼管字形編碼要使數(shù)碼管顯示出相應(yīng)的數(shù)字或字符,必須使段數(shù)據(jù)口輸出相應(yīng)的字形編碼。對照圖,字型碼各位定義為:數(shù)據(jù)線D0與a字段對應(yīng),D1與b字段對應(yīng),依此類推。如使用共陽極數(shù)碼管,數(shù)據(jù)為0表示對應(yīng)字段亮,數(shù)據(jù)為1表示對應(yīng)字段暗;如要顯示0,共陽極數(shù)碼管的字型編碼為:11000000B(即C0H)。依此類推,可求得數(shù)碼管字形編碼如表所示:20 / 60 圖3-15 數(shù)碼管字型編碼1(4) LED 七段數(shù)碼管動(dòng)態(tài)顯示方式所有LED的段選線共同連
47、接在一起共用一個(gè)8位I/O口,而每個(gè)LED的位選分別由一根相應(yīng)的I/O口線控制。因此必須采用動(dòng)態(tài)掃描顯示方式,每一個(gè)時(shí)刻只選通其中一個(gè)LED,同時(shí)在段選口送出該位LED的字型碼。圖3-16 LED七段數(shù)碼管動(dòng)態(tài)顯示連接電路的接法決定了必須采用逐位掃描顯示方式。即從段選口送出某位LED的字型碼,然后選通該位LED,并保持一段延時(shí)時(shí)間。然后選通下一位,直到所有位掃描完。 在本設(shè)計(jì)中使用了 5 個(gè)數(shù)碼管,主要是為了配合倒車?yán)走_(dá)防撞系統(tǒng)的數(shù)據(jù)顯示要求,即以米為單位,并精確到毫米級,如 0.466 米。3.3 開發(fā)工具3.3.1 編程環(huán)境我們采用C語言和Keil C51 IDE v7.5進(jìn)行程序的編寫。
48、21 / 60Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。該軟件的界面如下: 圖3-17 Keil C界面3.3.2.EDA 軟件 PROTELPROT
49、EL 是 PROTEL 公司在 80 年代末推出的 EDA 軟件,是電子設(shè)計(jì)者的首選軟件,它較早就在國開始使用,在國的普與率也最高,幾乎所有的電子公司都要用到它。現(xiàn)今的 PROTEL 已發(fā)展到 PROTEL99(網(wǎng)絡(luò)上可下載到它的測試板) ,是個(gè)龐大的 EDA 軟件,完全安裝有 200 多 M,它工作在 WINDOWS95 環(huán)境下,是個(gè)完整的板級全方位電子設(shè)計(jì)系統(tǒng)。PROTEL99 包含了電原理圖繪制、模擬電路與數(shù)字電路混合信號仿真、多層印制電路板設(shè)計(jì)(包含印制電路板自動(dòng)布線) 、可編程邏輯器件設(shè)計(jì)、圖表生成、電子表格生成、支持宏操作等功能,并具有 Client/Server (客戶/服務(wù)器)
50、體系結(jié)構(gòu),同時(shí)還兼容一些其它設(shè)計(jì)軟件的文件格式,如 ORCAD,PSPICE,EXCEL等,其多層印制線路板的自動(dòng)布線可實(shí)現(xiàn)高密度 PCB 的 100布通率。該工具界面如下:22 / 60 圖 3-18 PROTEL99 界面3.4.設(shè)計(jì)要求和構(gòu)想單片機(jī)為核心控制部分,根據(jù)設(shè)定的工作方式,產(chǎn)生 40kHz 方波,經(jīng)過驅(qū)動(dòng)電路驅(qū)動(dòng)超聲波發(fā)生器發(fā)出一簇信號。單片機(jī)此時(shí)開始計(jì)時(shí)。接收回路為諧振回路,將收到的微弱回波信號檢出,送信號放大電路放大,收到產(chǎn)生脈沖輸出送單片機(jī)中斷端,單片機(jī)收到中斷信號后停止計(jì)時(shí),計(jì)算出距離值,保存等待讀出或直接經(jīng)UART 送出。接收過程中,單片機(jī)定時(shí)控制放大電路的增益,逐漸
51、提高,以適應(yīng)距離越遠(yuǎn)越弱的回波信號。核心器件為STC12LE5410AD、TL852、16mm 超聲波收、發(fā)器。采用5V 供電,因?yàn)?V 是最常見的工作電壓為了減小干擾,選用3.3V 供電的單片機(jī),使用目前常用的1117-3.3 三端穩(wěn)壓器將5V 降到3.3V,減小電源擾動(dòng)的影響,增加可靠性。采用左右側(cè)超聲波接收器,可實(shí)現(xiàn)類似“瞄準(zhǔn)”定位的功能,可使測量結(jié)果更精確。對于測距系統(tǒng)功能的實(shí)現(xiàn),主要包括進(jìn)行距離測量,發(fā)送數(shù)據(jù),顯示數(shù)據(jù)等。由于STC12LE5410AD的引腳有限,而系統(tǒng)又要用動(dòng)態(tài)顯示方式控制5個(gè)數(shù)碼管顯示數(shù)據(jù),這就還需要12個(gè)I/O口,其中4個(gè)控制位選,8個(gè)直接接七段數(shù)碼管引腳,所以
52、我們可考慮用AT89C51作為輔助,由其來控制數(shù)碼管,該芯片價(jià)格低廉,而且容易學(xué)習(xí)。這樣的話我們就可以讓單片機(jī)STC12LE5410AD作為主要芯片,用于實(shí)現(xiàn)測距系統(tǒng)絕大部分功能,然后STC12LE5410AD可通過串口通信方式將我們比較關(guān)注的測量結(jié)果傳送給AT89C51由其單獨(dú)控制數(shù)碼管顯示。為了充分以用AT89C51的引腳,我們還將它的某一只引腳接一個(gè)按鍵,當(dāng)該按鍵按下時(shí),可控制AT89C51通過串口通信觸發(fā)STC12LE5410AD開始自動(dòng)工作,這樣使得測距系統(tǒng)可以單獨(dú)脫離倒車?yán)走_(dá)防撞系統(tǒng)而存在,即使沒有倒車?yán)走_(dá)防撞系統(tǒng)控制也可以自動(dòng)工作。同時(shí),我們也可讓AT89C51的一只引腳接經(jīng)過三
53、極管放大的蜂鳴器,用以控制其鳴叫,而這就主要屬于倒車?yán)走_(dá)防撞系統(tǒng)部分的功能。23 / 60總的來說我們可以把AT89C51和PC機(jī)端的倒車?yán)走_(dá)防撞系統(tǒng)都當(dāng)成上位機(jī),它們彼此不干擾,而STC12LE5410AD控制系統(tǒng)當(dāng)成下位機(jī)。這樣的話,我們的思路就很明顯了,而且系統(tǒng)各部分主要的功能設(shè)計(jì)也就比較清楚了。簡單地說,STC12LE5410AD主要負(fù)責(zé)測量,AT89C51負(fù)責(zé)數(shù)碼管顯示和蜂鳴,PC機(jī)端的界面主要負(fù)責(zé)顯示和危險(xiǎn)系數(shù)提醒。3.5.系統(tǒng)部分電路工作原理3.5.1 超聲波發(fā)送部分 圖3-19 超聲波發(fā)射驅(qū)動(dòng)電路Send_Ctrl、Cut_Off 端由STC12LE5410AD控制。此單片機(jī)的
54、I/O 口可設(shè)置為推挽輸出模式(這是經(jīng)典51不具備的),拉電流、灌電流均可達(dá)20mA,保證了D882 有足夠的驅(qū)動(dòng)能力和快速的通斷性能。變壓器的次級電感與發(fā)射器(發(fā)射器為容性,一般為2400p 左右)構(gòu)成諧振回路,好處是提高了發(fā)射效率,但副作用是發(fā)射后的余波時(shí)間較長,導(dǎo)致近距離的回波被淹沒。在該電路中,必須注意在調(diào)試時(shí),跳線帽要斷開,避免程序出錯(cuò)導(dǎo)致電路出現(xiàn)短路。24 / 603.5.2.STC12LE5410AD 單片機(jī)控制部分 圖3-20 MCU控制電路MCU STC12LE5410AD端口資源分配如下:P1.0 - P1.3 控制TL852 增益,設(shè)置為OC 輸出,852 部有上拉電阻P
55、1.4 - P1.7 保留P3.0(RXD)、P3.1(TXD) UART 通訊P3.2(INT0) 接SOUT 端,作為超聲波發(fā)射時(shí)的852 輸出抑制,置為OC 輸出。P3.3(INT1) 超聲波接收輸入,設(shè)置為輸入P3.4 產(chǎn)生超聲波發(fā)射方波,設(shè)置為推挽輸出模式P3.5 控制P1,用于衰減余波,設(shè)置為OC 輸出模式P3.7 工作指示燈,設(shè)置為OC 輸出模式25 / 603.5.3.超聲波回波接收部分 圖3-21 接收返回聲波信號與信號放大電路(右側(cè))這兩個(gè)電路是超聲波測距的核心。因?yàn)楫a(chǎn)生波形和計(jì)時(shí)都容易解決,而準(zhǔn)確的檢測出回波信號才是決定傳感器是否成功的關(guān)鍵。R7、R8 為運(yùn)放的輸入、反饋
56、電阻,通過改變兩者比值可方便的改變靈敏度。 圖3-22 TL852信號處理電路(右側(cè))該電路是為了將TL852 的輸出轉(zhuǎn)換為單片機(jī)需要的中斷信號,U4A 構(gòu)成了一級同相跟隨器,由于左右側(cè)電路一樣,我們只選取其中一側(cè)為例。26 / 603.5.4 AT89C51 單片機(jī)控制部分 圖3-23 AT89C51單片機(jī)控制仿真電路89C51單片機(jī)通過串口和12LE5410AD通信,然后通過中斷將接收到的測量數(shù)據(jù)顯示在5個(gè)數(shù)碼管上,而通過按鍵也可以使它向串口發(fā)送數(shù)據(jù)。該仿真電路中的虛擬終端主要是用來測試串口收發(fā)的幀是否正確。3.6 電路圖分析根據(jù)之前的設(shè)計(jì)要求和構(gòu)想而設(shè)計(jì)出的超聲波測距系統(tǒng)主要電路圖如下,
57、以上介紹的各部分電路基本都包含在其中,當(dāng)然其中還包括沒有具體介紹的工作指示燈電路,串口電路,SPI 電路等。27 / 60 圖3-24 整個(gè)系統(tǒng)主要硬件電路圖4.超聲波測距系統(tǒng)的軟件設(shè)計(jì)超聲波測距軟件設(shè)計(jì)主要由主程序,超聲波發(fā)射子程序,超聲波接受中斷程序與顯示子程序組成。下面對超聲波測距器的算法,主程序,超聲波發(fā)射子程序和超聲波接受中斷程序逐一介紹。4.1超聲波測距的算法設(shè)計(jì) 下圖示意了超聲波測距的原理,即超聲波發(fā)生器 T 在某一時(shí)刻發(fā)出的一個(gè)超聲波信號,當(dāng)超聲波遇到被測物體后反射回來,就被超聲波接收器 R 所接受。這樣只要計(jì)算出發(fā)生信號到接受返回信號所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體
58、的距離。 距離計(jì)算公式:L=s/2=(c*t)/2L 為被測物與測距器的距離 ,s 為聲波的來回路程,c 為聲速,t 為聲波來回所用的時(shí)間。28 / 60圖 4-1 超聲波測距示意圖 因?yàn)槁曀倩臼谴_定的,所以只要測得超聲波往返時(shí)間,根據(jù)公式就可求出距離。4.2測距系統(tǒng)主程序設(shè)計(jì) 主程序首先對硬件進(jìn)行初始化,初始化系統(tǒng)時(shí)鐘,I/O 口,超聲波輸出驅(qū)動(dòng)無效,回波抑制無效,禁止 852 輸出。初始化定時(shí)器設(shè)置定時(shí)器 T0 工作在模式1,16 位定時(shí),而且工作在 12 分頻。T1 工作在模式 2,8 位重加載,作為波特率發(fā)生器。允許 T0,INT1,PCA 中斷。PCA 的模塊 1 用于控制脈沖發(fā)送
59、和增益變化,計(jì)時(shí)器模式,比較、匹配中斷。當(dāng)上電時(shí) PCA 停止待命。初始化超聲波檢測,計(jì)算部分變量,收到串口數(shù)據(jù)后,執(zhí)行數(shù)據(jù)幀命令,測量模式下調(diào)用超聲波發(fā)生子程序送出超聲波脈沖,進(jìn)行輸出增益控制,超聲波發(fā)射處理在中斷中完成,打開外中斷 0 接收返回的超聲波信號,計(jì)算測量結(jié)果,返回測量數(shù)據(jù)。當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器 T0 中的數(shù)(即超聲波來回所用的時(shí)間)按下式計(jì)算即可測得被測物體與測距儀之間的距離,設(shè)計(jì)時(shí)取 20時(shí)的聲速為 344 m/s 則有: L=(C*T0)/2 =172T0/10000cm(其中 T0 為計(jì)數(shù)器 T0的計(jì)數(shù)值) 測出距離后結(jié)果將以十六進(jìn)制方式發(fā)送到倒車?yán)?/p>
60、達(dá)防撞系統(tǒng),如此重復(fù)下去,直到收到停止的命令。主程序框圖如下:29 / 60開始串口初始化檢測幀有效?Y啟動(dòng)測量計(jì)時(shí)Y計(jì)算距離檢測到回波?封裝成幀發(fā)送至串口返回NN 圖 4-2 主程序框圖4.3 超聲波發(fā)生子程序和超聲波接收中斷程序超聲波發(fā)生子程序的作用是通過 P3.4 端口發(fā)送超聲波信號頻率約 40KHz 的方波,同時(shí)把計(jì)數(shù)器 T0 打開進(jìn)行計(jì)時(shí)。超聲波測距器主程序利用外中斷 0 檢測返回超聲波信號,一旦接收到返回超聲波信號,立即進(jìn)入 INT1 中斷服務(wù)程序。進(jìn)入該中斷后就立即關(guān)閉計(jì)時(shí)器 T0 停止計(jì)時(shí),禁止 852 輸出。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測到超聲波返回信號,則定時(shí)器 T0 溢出中斷
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社交圈的改變老年人的健康飲食與互動(dòng)
- 電子商務(wù)物流配送體系的教育培訓(xùn)策略
- 煤礦機(jī)電班組長職業(yè)技能理論考試題庫150題(含答案)
- 生物多樣性保護(hù)與綠色辦公環(huán)境
- 鞋用膠粘劑產(chǎn)品質(zhì)量監(jiān)督抽查實(shí)施細(xì)則
- 2025至2030年中國自動(dòng)內(nèi)圓切片機(jī)數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國花箱數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年中國蘆薈晚霜數(shù)據(jù)監(jiān)測研究報(bào)告
- 科技產(chǎn)品電商平臺的運(yùn)營挑戰(zhàn)與機(jī)遇
- 2025年武漢市某省屬國企勞務(wù)外包制人才招聘14人筆試參考題庫附帶答案詳解
- 規(guī)劃院所長述職報(bào)告
- 腦卒中后吞咽障礙患者進(jìn)食護(hù)理-護(hù)理團(tuán)標(biāo)
- 銷售人員商務(wù)禮儀培訓(xùn)通用課件
- 全國各省(直轄市、自治區(qū))市(自治州、地區(qū))縣(縣級市)區(qū)名稱一覽表
- 大學(xué)美育導(dǎo)引 課件 第五章 體驗(yàn)人生在世-戲劇
- 大學(xué)美育導(dǎo)引 課件 第六章 沉浸光影世界-電影
- 化學(xué)品危險(xiǎn)物質(zhì)替代技術(shù)
- 醫(yī)院收費(fèi)價(jià)格注意培訓(xùn)課件
- 臨港產(chǎn)業(yè)基地污水處理廠提標(biāo)改造工程設(shè)備及安裝工程招投標(biāo)書范本
- 中小學(xué)校課外讀物負(fù)面清單管理措施
- 高精度衛(wèi)星定位授時(shí)系統(tǒng)
評論
0/150
提交評論