基于單片機(jī)超聲波測(cè)距_第1頁(yè)
基于單片機(jī)超聲波測(cè)距_第2頁(yè)
基于單片機(jī)超聲波測(cè)距_第3頁(yè)
基于單片機(jī)超聲波測(cè)距_第4頁(yè)
基于單片機(jī)超聲波測(cè)距_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一 設(shè)計(jì)要求(1)設(shè)計(jì)一個(gè)以單片機(jī)為核心的超聲波測(cè)距儀,可以應(yīng)用于汽車倒車、工業(yè)現(xiàn)場(chǎng)的位置監(jiān)控;(2)測(cè)量范圍在0.504.00m,測(cè)量精度1cm;(3)測(cè)量時(shí)與被測(cè)物無(wú)直接接觸,能夠清晰穩(wěn)定地顯示測(cè)量結(jié)果。二 超聲波測(cè)距系統(tǒng)電路總體設(shè)計(jì)方案本系統(tǒng)硬件部分由AT89S52控制器、超聲波發(fā)射電路及接收電路、溫度測(cè)量電路、聲音報(bào)警電路和LCD顯示電路組成。汽車行進(jìn)時(shí)LCD顯示環(huán)境溫度,當(dāng)?shù)管嚂r(shí),發(fā)射和接收電路工作,經(jīng)過(guò)AT89S52數(shù)據(jù)處理將距離也顯示到LCD上,如果距離小于設(shè)定值時(shí),報(bào)警電路會(huì)鳴叫,提醒司機(jī)注意車距。超聲波測(cè)距器的系統(tǒng)框圖如下圖所示:圖5 系統(tǒng)設(shè)計(jì)總框圖由單片機(jī)AT89S52編程

2、產(chǎn)生10us以上的高電平,由指定引腳輸出,就可以在指定接收口等待高電平輸出。一旦有高電平輸出,即在模塊中經(jīng)過(guò)放大電路,驅(qū)動(dòng)超聲波發(fā)射探頭發(fā)射超聲波。發(fā)射出去的超聲波經(jīng)障礙物反射回來(lái)后,由超聲波接收頭接收到信號(hào),通過(guò)接收電路的處理,指定接收口即變?yōu)榈碗娖?,讀取單片機(jī)中定時(shí)器的值。單片機(jī)利用聲波的傳播速度和發(fā)射脈沖到接收反射脈沖的時(shí)間間隔計(jì)算出障礙物的距離,并由單片機(jī)控制顯示出來(lái)。由時(shí)序圖可以看出,超聲波測(cè)距模塊的發(fā)射端在T0時(shí)刻發(fā)射方波,同時(shí)啟動(dòng)定時(shí)器開(kāi)始計(jì)時(shí),當(dāng)收到回波后,產(chǎn)生一負(fù)跳變到單片機(jī)中斷口,單片機(jī)響應(yīng)中斷程序,定時(shí)器停止計(jì)數(shù)。計(jì)算時(shí)間差,即可得到超聲波在媒介中傳播的時(shí)間t,由此便可計(jì)

3、算出距離。圖6 時(shí)序圖三 超聲波發(fā)射和接收電路的設(shè)計(jì)分立元件構(gòu)成的發(fā)射和接收電路容易受到外界的干擾,體積和功耗也比較大。而集成電路構(gòu)成的發(fā)射和接收電路具有調(diào)試簡(jiǎn)單,可靠性好,抗干擾能力強(qiáng),體積小,功耗低的優(yōu)點(diǎn),所以優(yōu)先采用集成電路來(lái)設(shè)計(jì)收發(fā)電路。31 超聲波發(fā)射電路超聲波發(fā)射電路包括超聲波產(chǎn)生電路和超聲波發(fā)射控制電路兩部分,可采用軟件發(fā)生法和硬件方法產(chǎn)生超聲波。在超聲波的發(fā)射電路的設(shè)計(jì)中,我們采用電路結(jié)構(gòu)簡(jiǎn)單的集成電路構(gòu)成發(fā)射電路: 圖7 由反相器構(gòu)成的超聲波發(fā)射電路圖7是由反相器74HC04構(gòu)成的發(fā)射電路,用反相器74HC04構(gòu)成的電路簡(jiǎn)單,調(diào)試容易,易通過(guò)軟件控制。單片機(jī)輸出的方波經(jīng)過(guò)反相

4、器接到發(fā)射器T1的兩極,用圖中的推挽形式將方波信號(hào)加到發(fā)射器T1兩端,可以提高發(fā)射器T1的發(fā)射強(qiáng)度。圖中把兩個(gè)非門(mén)的輸出接到一起的目的是為了提高其吸入電流,電路驅(qū)動(dòng)能力提高。74HC04是一個(gè)高速CMOS六反相器,具有對(duì)稱的傳輸延遲和轉(zhuǎn)換時(shí)間,而相對(duì)于LSTTL邏輯IC,它的功耗減少很多。另外,上拉電阻R1、R2一方面可以提高反相器74HC04輸出高電平的驅(qū)動(dòng)能力,另一方面可以增加發(fā)射器T1的阻尼效果,縮短其自由振蕩的時(shí)間。3. 2 超聲波接收電路圖8是由CX20106構(gòu)成的接收電路,在實(shí)物的制作過(guò)程中,我們將用CX20106A這一型號(hào)代替。CX20106A是索尼公司生產(chǎn)的彩電專用紅外遙控接收

5、器,是CX20106的改進(jìn)型,也可用于超聲波測(cè)試,有較強(qiáng)的抗干擾性和靈敏度。CX20106A采用單列8腳直插式,超小型封裝,+5V供電。管腳1是超聲波信號(hào)輸入端,其輸入阻抗約為40K;管腳2的R1、C4決定接收器R的總增益,增大電阻R1或減小電容C4,將使放大倍數(shù)下降,負(fù)反饋量增大,電容C4的改變會(huì)影響到頻率特性,實(shí)際使用中一般不改動(dòng);管腳3與GND之間連接檢波電容C2,考慮到檢波輸出的脈沖寬度變動(dòng)大,推薦參數(shù)為3.3uF;管腳5上的電阻R2用以設(shè)置帶通濾波器的中心頻率,阻值越大,中心頻率越低,取R2=200K時(shí),中心頻率約為42KHZ;管腳6與GND之間接入一個(gè)積分電容C3,電容值越大,探測(cè)

6、距離越短;管腳7是遙控命令輸出端,它是集電極開(kāi)路的輸出方式,因此該引腳必須接上一個(gè)上拉電阻到電源端,沒(méi)接收信號(hào)時(shí),該端輸出為高電平,有信號(hào)時(shí)則會(huì)下降;管腳8接+5V電源。 圖8 CX20106構(gòu)成的接收電路綜合以上的分析,在由集成電路構(gòu)成的接收和發(fā)射電路中,發(fā)射電路我們選用由反相器構(gòu)成的電路,接收電路采用由紅外接收檢波芯片CX20106A構(gòu)成,主要是考慮到系統(tǒng)的調(diào)試簡(jiǎn)單,成本低以及可靠性好。四 單片機(jī)主機(jī)系統(tǒng)電路4.1 復(fù)位電路單片機(jī)在RESET端加一個(gè)大于20ms正脈沖即可實(shí)現(xiàn)復(fù)位,上電復(fù)位和按鈕組合的復(fù)位電路如圖9。在系統(tǒng)上電的瞬間,RST與電源電壓同電位,隨著電容的電壓逐漸上升,RST電

7、位下降,于是在RST形成一個(gè)正脈沖。只要該脈沖足夠?qū)捑涂梢詫?shí)現(xiàn)復(fù)位。當(dāng)人按下按鈕SW1時(shí),使電容C1通過(guò)R1迅速放電,待SW1彈起后,C1再次充電,實(shí)現(xiàn)手動(dòng)復(fù)位。圖9 復(fù)位電路4.2 時(shí)鐘電路 當(dāng)使用單片機(jī)的內(nèi)部時(shí)鐘電路時(shí),單片機(jī)的XTAL1和XTAL2用來(lái)接石英晶體和微調(diào)電容,如圖10所示。圖10 時(shí)鐘電路4.3 按鍵電路我們通過(guò)P1.0來(lái)啟動(dòng)測(cè)量,程序中通過(guò)查詢P1.0的電平來(lái)檢測(cè)是否按鍵被按下,在軟件中通過(guò)軟件延時(shí)來(lái)消除按鍵的機(jī)械抖動(dòng)。 圖11 按鍵電路4.4 蜂鳴器電路本次設(shè)計(jì)通過(guò)一只蜂鳴器來(lái)提示用戶按鍵按下了,現(xiàn)在單片機(jī)開(kāi)始了測(cè)距。蜂鳴器是一塊壓電晶片,在其兩端加上3-5V的直流電壓

8、,就能產(chǎn)生3KHz的蜂鳴聲,電路如圖12。通過(guò)單片機(jī)軟件產(chǎn)生3KHz的信號(hào)從P3.7口送到三極管9013的基極,控制著電壓加到蜂鳴器上,驅(qū)動(dòng)蜂鳴器發(fā)出聲音。圖12 蜂鳴器電路4.5 溫度測(cè)量電路由于超聲波的傳播速度c會(huì)受溫度、濕度、壓強(qiáng)等的影響,其中溫度的影響尤為嚴(yán)重。因此在測(cè)量精度要求高的場(chǎng)合,應(yīng)通過(guò)溫度補(bǔ)償對(duì)超聲波的傳播速度進(jìn)行校正,以減小誤差。圖13 溫度檢測(cè)電路本系統(tǒng)采用DALLAS公司的DS18B20數(shù)字式溫度傳感器進(jìn)行溫度測(cè)量,它所測(cè)量的溫度值用9位二進(jìn)制數(shù)直接表示,這些值通過(guò)DS18B20的數(shù)據(jù)總線直接輸入CPU,無(wú)需A/D轉(zhuǎn)換,而且讀寫(xiě)指令、溫度轉(zhuǎn)換指令都是通過(guò)數(shù)據(jù)總線傳入DS

9、18B20,無(wú)需外部電源。DS18B20數(shù)字溫度傳感器與AD590、LM35等溫度傳感器相比,具有相當(dāng)?shù)臏y(cè)溫范圍和精度,溫度測(cè)量精確、不受外界干擾等優(yōu)點(diǎn)。4.6 LCD顯示電路 本設(shè)計(jì)采用LCD液晶顯示屏來(lái)顯示距離和溫度,具有體積小、功耗低、界面美觀大方等優(yōu)點(diǎn),這里使用YB1602液晶屏,它具有16個(gè)引腳,其正面左起為第一腳,如圖14所示: 圖14 LCD1602實(shí)物第一腳VSS:接地。第二腳VDD:+5V電源。第三腳VEE:對(duì)比度調(diào)整端。使用時(shí)通過(guò)接一個(gè)10K的電阻來(lái)調(diào)節(jié)。第四腳RS:寄存器選擇信號(hào)線,H為數(shù)據(jù)選擇,L為指令選擇。第五腳RW:讀寫(xiě)信號(hào)線。第六腳E :使能端,當(dāng)E由高電平跳變?yōu)?/p>

10、低電平時(shí)執(zhí)行命令。第7-14腳:8位數(shù)據(jù)線D0-D7。第十五腳BLA:背光電源正極輸入端。第十六腳BLK:背光電源負(fù)極輸入端。 圖15 LCD顯示電路4.7 電源電路 電源電路采用普通可調(diào)電源供電,該電源不含穩(wěn)壓器,所以在設(shè)計(jì)中需要用穩(wěn)壓器進(jìn)行穩(wěn)壓。我們選用LM7805來(lái)獲得穩(wěn)定的+5V直流電壓。輸入電壓(<21V)經(jīng)過(guò)7805的穩(wěn)壓輸出+5V的電壓,圖中的D2為保護(hù)7805,防止電源極性接反損壞7805,濾波電容采用100uF電解和104瓷片電容并聯(lián)使用,電磁兼容的實(shí)踐證明,兩個(gè)差100倍的電容并聯(lián)使用效果很好。本設(shè)計(jì)電源電路如下: 圖16 電源電路五.系統(tǒng)軟件設(shè)計(jì)5.1 系統(tǒng)程序的結(jié)

11、構(gòu)(1)DS18B20溫度傳感器接口模塊,分為初始化程序、寫(xiě)入命令以及讀取子程序等部分;(2)基于YB1602的顯示模塊,分為初始化子程序、寫(xiě)入子程序以及顯示子程序;(3)溫度補(bǔ)償與距離計(jì)算模塊,分為超聲波發(fā)送控制程序、接收處理程序、溫度補(bǔ)償子程序等。本次設(shè)計(jì)使用C語(yǔ)言編寫(xiě)程序,C語(yǔ)言相比匯編有許多的優(yōu)勢(shì),編譯器使用KeilVersion2進(jìn)行程序編譯,Keil功能強(qiáng)大使用方便。在編譯完成后,通過(guò)Proteus軟件進(jìn)行仿真,對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證和優(yōu)化。如圖17所示描述了各個(gè)模塊的關(guān)系: 圖17 系統(tǒng)軟件方框圖5.2 系統(tǒng)主程序本設(shè)計(jì)主程序的思想如下:(1)溫度為兩位顯示,距離為四位顯示單位為mm;(

12、2)溫度每隔900ms采樣一次,DS18B20在12位精度下轉(zhuǎn)換周期為750ms ,故900ms滿足該速度要求;超聲波每隔60ms發(fā)送一次。(3)按鍵SW2為測(cè)量啟動(dòng)鍵;(4)系統(tǒng)采用AT89S52的內(nèi)時(shí)鐘:12MHz,每記一次數(shù)為1us; 圖18 主程序流程圖5.3 40KHz超聲波發(fā)送子程序超聲波每過(guò)60ms發(fā)送一次,通過(guò)定時(shí)器T0中斷發(fā)送超聲波,超聲波發(fā)送后延時(shí)一段時(shí)間后返回,防止余波被接收頭接收誤判,流程圖如下: 圖19 超聲波發(fā)送子程序流程圖5.4 DS18B20溫度采集程序DS18B20的工作流程是,初始化ROM操作指令存儲(chǔ)器操作指令數(shù)據(jù)傳輸。其工作時(shí)序包括:初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序。 圖20 溫度采集程序流程圖5.5 距離計(jì)算子程序距離計(jì)算中,實(shí)行了溫度補(bǔ)償和角度補(bǔ)償。流程圖如下: 圖21 距離計(jì)算子程序流程圖5.6 數(shù)據(jù)轉(zhuǎn)換子程序經(jīng)過(guò)程序求出的數(shù)據(jù)原碼無(wú)法直接用于顯示,必須轉(zhuǎn)換為L(zhǎng)CD所接受的BCD碼的形式。 圖22 數(shù)據(jù)轉(zhuǎn)換子程序流程圖 5.7 LCD顯示子程序 LCD液晶顯示程序分為液晶初始化、讀忙、寫(xiě)指令和寫(xiě)數(shù)據(jù)操作,液晶顯示器是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論