




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、長 春 大 學 基于單片機超聲波測距系統(tǒng)設(shè)計 單片機超聲波測距系統(tǒng)(xtng)設(shè)計摘要(zhiyo)本課題(kt)是基于STC89C52單片機超聲波測距檢測設(shè)計與實驗,設(shè)計主要有七個模塊,超聲波發(fā)射器,超聲波接收器,串口通信,液晶顯示屏,供電部分,單片機控制核心。超聲波測距的主要實現(xiàn)功能是:通過傳感器來測量外界物體距離傳感器的實際距離。整體系統(tǒng)的電路結(jié)構(gòu)簡單,可靠性高。關(guān)鍵字STC89C52;單片機;液晶顯示屏;超聲波測距模塊。 Design of MCU ultrasonic ranging systemAbstract This topic is the design and experi
2、ment of STC89C52 MCU ultrasonic ranging detection based on, there are seven main module design. The ultrasonic of ranging module, an ultrasonic receiver, serial communication, LCD display, part the power supply, SCM control core. Main functions of ultrasonic distance the namemeasurement is: to measu
3、re the actual distance outside object distance sensor by the Sensor.The circuit structure of the whole system is simple, high reliability.Keywords STC89C52 ;Single chip microcomputer;LCD;The ultrasonic ranging module. 頁 共 19 頁第1章 引言(ynyn)近年來,隨著電子測量技術(shù)的發(fā)展,運用超聲波作出精確測量已成可能。隨著經(jīng)濟發(fā)展,電子測量技術(shù)應(yīng)用越來越廣泛,而超聲波測量精確高
4、,成本低,性能穩(wěn)定則備受青睞。超聲波是指頻率(pnl)在20kHz以上的聲波,它屬于機械波的范疇。超聲波也遵循一般機械波在彈性介質(zhì)中的傳播規(guī)律,如在介質(zhì)的分界面處發(fā)生反射和折射現(xiàn)象,在進入介質(zhì)后被介質(zhì)吸收而發(fā)生衰減等。正是因為具有這些性質(zhì),使得超聲波可以用于距離的測量中。隨著科技水平(shupng)的不斷提高,超聲波測距技術(shù)被廣泛應(yīng)用于人們?nèi)粘9ぷ骱蜕钪?。一般的超聲波測距儀可用于固定物位或液位的測量,適用于建筑物內(nèi)部、液位高度的測量等。由于超聲測距是一種非接觸檢測技術(shù),不受光線、被測對象顏色等的影響,較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境,具有少維護、不污染、高可靠、長
5、壽命等特點。可在不同環(huán)境中進行距離準確度在線標定,可直接用于水、酒、糖、飲料等液位控制,可進行差值設(shè)定,直接顯示各種液位罐的液位、料位高度。利用超聲波檢測往往比較迅速、方便、計算簡單、易于實現(xiàn)實時控制,并且在測量精度方面能達到工業(yè)實用的指標要求,因此為了使移動機器人能夠自動躲避障礙物行走,就必須裝備測距系統(tǒng),以使其及時獲取距障礙物的位置信息(距離和方向)。因此超聲波測距在移動機器人的研究上得到了廣泛的應(yīng)用。同時由于超聲波測距系統(tǒng)具有以上的這些優(yōu)點,因此在汽車倒車雷達的研制方面也得到了廣泛的應(yīng)用。1.1 設(shè)計目的掌握單片機的基本原理;掌握個電子元件的基本形狀及其功能;掌握電子器件的焊接步驟;掌握
6、單片機內(nèi)部結(jié)構(gòu)與程序編制方法;掌握鍵盤結(jié)構(gòu)原理,掌握中斷查詢技術(shù);掌握超聲波測距器的基本組成與應(yīng)用原理;掌握R232通信協(xié)議,掌握串口通信技術(shù);掌握供電部分的主要組成。1.2設(shè)計要求系統(tǒng)硬件主要由單片機系統(tǒng)及顯示電路、超聲波發(fā)射電路、超聲波檢測接收電路和電源供電四部分組成。隨著超聲波測量技術(shù)的不斷提高,用超聲波測量任何目標物體,都存在著超聲波的發(fā)射和接收問題。不論超聲波傳感器的大小、形狀、靈敏度有何不同,其工作原理都有是一樣的(都是利用壓電晶體將電能轉(zhuǎn)換為機械振動彈性能,即在媒質(zhì)中產(chǎn)生超聲波),要提高超聲測量的精度或分辨力,必須從超聲波的發(fā)射和接收兩方面入手,這也是設(shè)計超聲測量儀器的關(guān)鍵和難點
7、所在。發(fā)射電路采用單片機P1.0端口編程輸出40KHz左右的方波脈沖信號,同時開啟內(nèi)部計數(shù)器T0。由于單片機端口輸出功率很弱,在此電路(dinl)上加功率放大電路使測量距離滿足要求,驅(qū)動超聲傳感器UCM-40T1發(fā)射超聲波距離足夠遠。第2章 系統(tǒng)(xtng)硬件2.1 系統(tǒng)(xtng)框圖單片機控制的超聲波測距檢測(jin c)系統(tǒng)系統(tǒng)硬件圖如圖2.1所示; STC89C52 單片機 控制單元 超聲波發(fā)射電路(dinl) 液晶顯示屏 超聲波接收電路 供電部分 下拉電阻串口通信圖2.1 超聲波測距檢測系統(tǒng)系統(tǒng)硬件圖2.2 單片機單元STC89C52單片機系列的存儲器用的是哈佛結(jié)構(gòu),即將程序和數(shù)據(jù)
8、存儲截然分開,程序存儲器和數(shù)據(jù)存儲器各有自己的尋址方式、尋址空間和控制系統(tǒng)。STC89C52的存儲器可分為五類:程序存儲器,內(nèi)部數(shù)據(jù)存儲器,特殊功能寄存器,位地址空間,外部數(shù)據(jù)存儲器。2.2.1 STC89C52 引腳介紹(jisho) STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲器(FPEROM-Flash Program able and Erasable Read Only Memory )的低電壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容(jin rn)。它的存儲器用的是哈佛
9、結(jié)構(gòu),即將程序和數(shù)據(jù)存儲截然分開,程序存儲器和數(shù)據(jù)存儲器各有自己的尋址方式、尋址空間和控制系統(tǒng)。STC89C52的存儲器可分為五類:程序存儲器,內(nèi)部數(shù)據(jù)存儲器,特殊功能寄存器,位地址空間,外部數(shù)據(jù)存儲器。此部分是整檢測機構(gòu)的核心部件,起著控制所有運行狀態(tài)的作用??刂品椒ㄓ泻芏?,大部分都采用單片機控制。由于51單片機具有價格低廉是使用簡單的特點,這里(zhl)選擇了ATMEL公司的STC89C52作為控制核心部件。圖2.2 STC89C52的引腳圖;圖2.2 STC89C52的引腳圖2.3 超聲波發(fā)射與接收裝置本實驗采用的是一款來自DFRobot獨立研發(fā)的超聲波測距傳感器。這個傳感器的設(shè)計支持多
10、個連接的同時使用,可用于測量對動態(tài)或靜態(tài)目標之間距離。根據(jù)其數(shù)據(jù)穩(wěn)定,支持多種接口并且響應(yīng)性好的特性,一般我們將其應(yīng)用在機器人移動平臺上。當然,它也完全能勝任其他監(jiān)控系統(tǒng),或者取代紅外測距傳感器。這款傳感器的設(shè)計基于聲納原理。通過監(jiān)測發(fā)射一連串調(diào)制后的超聲波及其回波的時間差來得知傳感器與目標物體間的距離值。URM37 v3.2超聲波傳感器使用工業(yè)級的AVR控制器作為主控單元。內(nèi)置溫度傳感器輔助校正距離值,幫助您獲得更穩(wěn)定、更準確的數(shù)據(jù),同時這種技術(shù)方式也是同類產(chǎn)品中罕見的。這款傳感器支持三種輸出接口(PWM,RS232或者TTL),使其能兼容大部分的其他控制設(shè)備或者系統(tǒng)應(yīng)用。此外,這款超聲波還
11、提供了一個舵機輸出接口,使您可以在將其與舵機搭配應(yīng)用時完成周向障礙掃描的功能。如圖2.3 超聲波發(fā)射和接收結(jié)構(gòu)示意圖;圖2.3 超聲波發(fā)射(fsh)和接收結(jié)構(gòu)示意圖2.4 上拉電阻(dinz)當傳感器檢測到反射回來的聲波信號時,將聲波信號傳入到單片機,單片機將控制顯示(xinsh)模塊,并且前方的指示燈也開始閃閃亮。如圖2.4所示上拉電阻;圖2.4 上拉電阻2.5 通信串口通過數(shù)碼管,LED 指示燈的閃亮來表示當前串口通信的結(jié)果,串口通信使單片機與電腦之間通信的橋梁。程序運行效果:打開本機電源開關(guān)后,可以看到P1 端LED 指示燈在不停的閃耀,這是使用“串口調(diào)試助手”或其它軟件向單片機發(fā)送數(shù)據(jù)
12、。如圖2.5串口通信結(jié)構(gòu)圖;圖2.5 串口通信結(jié)構(gòu)圖2.6 液晶(yjng)顯示屏 1602LCD顯示器分為字段顯示和字符顯示兩種。其中(qzhng)字段顯示與LED顯示相似,只要送對應(yīng)的信號到相應(yīng)的管腳就能顯示。字符顯示是根據(jù)需要顯示基本字符。本設(shè)計采用的是字符型顯系統(tǒng)中采用LCD1602作為顯示器件輸出信息。與傳統(tǒng)的LED數(shù)碼管顯示器件相比,液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等優(yōu)點,而且不需要外加驅(qū)動電路,現(xiàn)在液晶顯示模塊已經(jīng)是單片機應(yīng)用設(shè)計中最常用的顯示器件了,LCD1602可以顯示2行16個漢字。 2.7 供電(n din)部分需要供電時,只需將引腳接至單片機引腳中的15腳G
13、ND、16腳VCC(+5v)。 其供電的主要特點是: 符合所有的RS-232C技術(shù)標準 ;2、只需要單一 +5V電源供電 ;3、功耗低,典型供電電流5mA 。第3章 系統(tǒng)軟件程序3.1 主程序設(shè)計/程序功能:通過DS18B20測試當前環(huán)境溫度, 并通過數(shù)碼管顯示當前溫度值#include reg52.h#include#include /要用到取絕對值函數(shù)abs()#define uchar unsigned char #define uint unsigned intsbit ds=P26;sbit lcden=P22;sbit CE1=P21;sbit lcdrs=P20;sbit hon
14、g=P33;sbit lv=P34;sbit beep=P25;int tempValue1;unsigned int temp;uchar code number=0123456789.;uchar code lable1=temperature=;/延時函數(shù), 對于11.0592MHz時鐘(shzhng), 例i=10,則大概延時10ms. void delay(unsigned int i) unsigned int j; while(i-) for(j = 0; j 0) i-; ds = 1; /產(chǎn)生一個上升沿, 進入等待應(yīng)答狀態(tài) i = 4; while(i0) i-; void
15、dsWait() unsigned int i; while(ds); while(ds); /檢測到應(yīng)答脈沖 i = 4; while(i 0) i-;/向DS18B20讀取一位數(shù)據(jù)/讀一位, 讓DS18B20一小周期低電平, 然后兩小周期高電平,/之后DS18B20則會輸出持續(xù)一段時間的一位數(shù)據(jù)bit readBit() unsigned int i; bit b; ds = 0; i+; /延時約8us, 符合協(xié)議要求至少保持1us ds = 1; i+; i+; /延時約16us, 符合協(xié)議要求的至少延時15us以上 b = ds; i = 8; while(i0) i-; /延時約6
16、4us, 符合(fh)讀時隙不低于60us要求 return b;/讀取一字節(jié)數(shù)據(jù)(shj), 通過調(diào)用readBit()來實現(xiàn)unsigned char readByte() unsigned int i; unsigned char j, dat; dat = 0; for(i=0; i8; i+) j = readBit(); /最先讀出的是最低位數(shù)據(jù)(shj) dat = (j 1); return dat;/向DS18B20寫入一字節(jié)數(shù)據(jù)void writeByte(unsigned char dat) unsigned int i; unsigned char j; bit b;
17、for(j = 0; j = 1; /寫1, 將DQ拉低15us后, 在15us60us內(nèi)將DQ拉高, 即完成寫1 if(b) ds = 0; i+; i+; /拉低約16us, 符號要求1560us內(nèi) ds = 1; i = 8; while(i0) i-; /延時約64us, 符合寫時隙不低于60us要求 else /寫0, 將DQ拉低60us120us ds = 0; i = 8; while(i0) i-; /拉低約64us, 符號要求 ds = 1; i+; i+; /整個寫0時隙過程已經(jīng)超過60us, 這里就不用像寫1那樣, 再延時64us了 /向DS18B20發(fā)送溫度轉(zhuǎn)換(zhu
18、nhun)命令void sendChangeCmd() dsInit(); /初始化DS18B20, 無論什么命令, 首先(shuxin)都要發(fā)起初始化 dsWait(); /等待(dngdi)DS18B20應(yīng)答 delay(1); /延時1ms, 因為DS18B20會拉低DQ 60240us作為應(yīng)答信號 writeByte(0 xcc); /寫入跳過序列號命令字 Skip Rom writeByte(0 x44); /寫入溫度轉(zhuǎn)換命令字 Convert T/向DS18B20發(fā)送讀取數(shù)據(jù)命令void sendReadCmd()/EA=0;/關(guān)閉中斷是因為進入顯示中斷會影響到DS18B20的讀寫
19、時序 dsInit(); dsWait(); delay(1); writeByte(0 xcc); /寫入跳過序列號命令字 Skip Rom writeByte(0 xbe); /寫入讀取數(shù)據(jù)令字 Read Scratchpad/EA=1;/獲取當前溫度值int getTmpValue() unsigned int tmpvalue; int value; /存放溫度數(shù)值 float t; unsigned char low, high; sendReadCmd(); /連續(xù)讀取兩個字節(jié)數(shù)據(jù) low = readByte(); high = readByte(); /將高低兩個字節(jié)合成一個整
20、形變量 /計算機中對于負數(shù)是利用補碼來表示的 /若是負值, 讀取出來的數(shù)值是用補碼表示的, 可直接賦值給int型的value tmpvalue = high; tmpvalue 0 ? 0.5 : -0.5); /大于0加0.5, 小于0減0.5 return value;/1602/void write_com(uchar com) /寫命令(mng lng)lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)/寫數(shù)據(jù)lcdrs=1;P0=date;delay(5);lcden=1;delay
21、(5);lcden=0;void L1602_init()/初始化函數(shù)CE1=0;delay(20);lcden=0;write_com(0 x38);write_com(0 x0c);write_com(0 x06);write_com(0 x01);/void main()uchar bai,shi,ge,shifen,gefen;uchar a=0;L1602_init();while(1)/啟動溫度(wnd)轉(zhuǎn)換 sendChangeCmd(); tempValue1 = getTmpValue(); temp = abs(tempValue1); write_com(0 x80);
22、while(lable1a!=0)/字符串的最后(zuhu)一位是 0 write_data(lable1a); a+; bai = temp/ 10000; shi = temp % 10000 / 1000; ge = temp % 1000 / 100; shifen = temp%100/10; gefen = temp%10; write_com(0 x80+0X40); write_data(numberbai); write_data(numbershi); write_data(numberge); write_data(number10); write_data(number
23、shifen); write_data(numbergefen); write_com(0 x80+0X40+0 x07); write_data(C); temp=getTmpValue(); if(temp=2200) hong=1; else hong=1; if(temp=2500) beep=0; else beep=1; 第4章 安裝(nzhung)與調(diào)試4.1 焊接(hnji) 焊接(hnji)時應(yīng)注意的問題:電容(dinrng)有正負極之分;二極管有正負極之分;蜂鳴器有正負極之分;三極管要按照電路板封裝焊接;集成電路即芯片,安裝時要注意缺口對應(yīng);安裝液晶顯示屏時,要注意按照管教
24、所對應(yīng)的序列安裝。4.2 軟件與調(diào)試4.2.1 程序下載按照正確的焊接操作和帶電路的檢查后,將程序的HEX文件下載進入單片機。具體步驟:打開“STC-IPS”軟件(2) 分別打開圖上紅色箭頭所示“MCU-TYP”選擇單片機口號;(3) 打開圖上紅色箭頭所示“-COM”選擇下載串口;(4) 打開圖上紅色箭頭所示“打開程序文件”選擇用于下載的.HEX文件。(5) 檢查線路板與下載機器產(chǎn)口正確連接后點擊下載圖標,保持線路板沒有上電的狀態(tài)。(6) 帶圖上“下載窗口”出現(xiàn)如下提示時,打開線路板電源。 (7) 出現(xiàn)(chxin)下圖所示即為下載成功,可以看到板子上運行程序。4.2.2 模塊程序(chngx
25、)效果下載(xi zi)“超聲波測距模塊.Hex”,板子上出現(xiàn)下圖效果:顯示屏上實時顯示為當前超聲波測距模塊的實時測量距離??偨Y(jié)通過這次對單片機超聲波測距模塊的設(shè)計(shj),讓我了解到理論知識與工作實際的差距,無論多會理論知識,到實際時還會有很多錯誤,還要有耐心,不可急躁。在遇到困難時,應(yīng)即時問老師或同學,才能更好的解決問題。這次課程設(shè)計不僅使我對相關(guān)專業(yè)知識有更深的了解,我還認識到了理論知識對工作實踐的重要性,只有理論知識是不夠的,只有把理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能有所作為,提高自己的動手能力和獨立思考能力。本次設(shè)計使我們對一個項目的整體設(shè)計有了初步認識,還使我們意識到了實驗的重要性,在硬件和軟件的調(diào)試過程中,出現(xiàn)了很多問題,最終都是通
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度綜合性醫(yī)院消毒滅菌專業(yè)服務(wù)合同
- 2025年度農(nóng)業(yè)土地整治土地承包合同
- 2025年度抵押車個人車輛抵押權(quán)解除后續(xù)貸合同模板
- 寵物運輸司機勞務(wù)協(xié)議
- 2025年廣東生態(tài)工程職業(yè)學院單招職業(yè)適應(yīng)性測試題庫必考題
- 2025年二手房市場分析:二手房市場降幅收窄
- 2024年三季度報重慶地區(qū)A股主營業(yè)務(wù)利潤排名前十大上市公司
- 2024-2025學年福建省福州市馬尾第一中學等六校高二上學期期中聯(lián)考生物試卷
- 2023-2024學年湖南省衡陽市祁東縣高考考前仿真聯(lián)考三生物試卷
- 意見征詢稿回復函
- 網(wǎng)絡(luò)地址轉(zhuǎn)換NAT
- 【MOOC】營養(yǎng)學-武漢大學 中國大學慕課MOOC答案
- 工資薪金管理制度模版(3篇)
- 廣東省茂名市高州市五校聯(lián)考2024-2025學年高一上學期12月月考化學試題(含答案)
- 高等數(shù)學(二)(山東聯(lián)盟)知到智慧樹章節(jié)測試課后答案2024年秋青島科技大學
- 《高級算法設(shè)計》課件 第2章 高級圖算法
- 小兒泌尿系統(tǒng)感染的護理
- DB14∕T 92-2010 M5、M15車用甲醇汽油
- 農(nóng)村飲水協(xié)議書(2篇)
- 疼痛的護理講課課件
- 2024年高考真題-政治(江蘇卷) 含解析
評論
0/150
提交評論