基于單片機(jī)的超聲波測距報(bào)警系統(tǒng)_第1頁
基于單片機(jī)的超聲波測距報(bào)警系統(tǒng)_第2頁
基于單片機(jī)的超聲波測距報(bào)警系統(tǒng)_第3頁
基于單片機(jī)的超聲波測距報(bào)警系統(tǒng)_第4頁
基于單片機(jī)的超聲波測距報(bào)警系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于單片機(jī)的超聲波測距報(bào)警系統(tǒng)2025.01.01基于單片機(jī)的超聲波測距系統(tǒng)摘要:1.1項(xiàng)目研究背景由于超聲測距是一種非接觸檢測技術(shù),不受光線、被測對象顏色等的影響,較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境,具有少維護(hù)、不污染、高可靠、長壽命等特點(diǎn)。因此可廣泛應(yīng)用于紙業(yè)、礦業(yè)、電廠、化工業(yè)、水處理廠、污水處理廠、農(nóng)業(yè)用水、環(huán)保檢測、食品(酒業(yè)、飲料業(yè)、添加劑、食用油、奶制品)、防汛、水文、明渠、空間定位、公路限高等行業(yè)中。可在不同環(huán)境中進(jìn)行距離準(zhǔn)確度在線標(biāo)定,可直接用于水、酒、糖、飲料等液位控制,可進(jìn)行差值設(shè)定,直接顯示各種液位罐的液位、料位高度。因此,超聲在空氣中測距在特殊環(huán)境下有較廣泛的應(yīng)用。1.2項(xiàng)目研究意義利用超聲波檢測往往比較迅速、方便、計(jì)算簡單、易于實(shí)現(xiàn)實(shí)時(shí)控制,并且在測量精度方面能達(dá)到工業(yè)實(shí)用的指標(biāo)要求,因此為了使移動機(jī)器人能夠自動躲避障礙物行走,就必須裝備測距系統(tǒng),以使其及時(shí)獲取距障礙物的位置信息(距離和方向)。因此超聲波測距在移動機(jī)器人的研究上得到了廣泛的應(yīng)用。同時(shí)由于超聲波測距系統(tǒng)具有以上的這些優(yōu)點(diǎn),因此在汽車倒車?yán)走_(dá)的研制方面也得到了廣泛的應(yīng)用。1.3課題解決的主要內(nèi)容1、確定硬件系統(tǒng)的設(shè)計(jì)方案:(1)、根據(jù)系統(tǒng)的功能要求確定選用的元器件;(2)、分配單片機(jī)各個(gè)P口地址,以連接對應(yīng)的元器件,方便控制;(3)、利用DXP軟件構(gòu)建系統(tǒng)的硬件圖;2、確定軟件部分的設(shè)計(jì)方案:(1)、確定各部分模塊對應(yīng)要實(shí)現(xiàn)的功能,并根據(jù)連接圖寫出對應(yīng)程序中對應(yīng)的控制信息,便于軟件編寫;(2)、用keil軟件編寫程序,對應(yīng)各模塊功能模塊化編寫,便于程序的檢查和調(diào)試;3、利用keil軟件生成hex文件,用PROTEL軟件繪制電路圖4、依照電路圖,在電路板上焊接各元件,完成系統(tǒng)實(shí)物設(shè)計(jì);5、將焊好的電路板反復(fù)進(jìn)行硬件調(diào)試和系統(tǒng)整體調(diào)試,直到實(shí)現(xiàn)系統(tǒng)要求的預(yù)定功能。二.項(xiàng)目包括下面六給階段階段一2024-11-07—2024-11-18查閱文獻(xiàn)資料,完成開題報(bào)告階段二2024-11-18—2024-11-28了解系統(tǒng)設(shè)計(jì)中的基本概念階段三2024-11-28—2024-12-13確定系統(tǒng)方案階段四2024-12-13—2024-12-18確定設(shè)備選型及元件器清單階段五2024-12-18—2024-12-30組裝以及調(diào)試階段六2025-01-01展示成果三.項(xiàng)目硬件系統(tǒng)的構(gòu)成與調(diào)試1.系統(tǒng)組成模塊STC89C51RC/RD+系列單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾/高速/低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可任意選擇,最新的D版本內(nèi)部集成MAX810專用復(fù)位電路。特點(diǎn):(1).增強(qiáng)型6時(shí)鐘/機(jī)器周期,12時(shí)鐘/機(jī)器周期8051CPU(2).工作電壓:5.5V-3.4V(5V單片機(jī))/3.8V-2.0V(3V單片機(jī))(3).工作頻率范圍:0-40MHz,相當(dāng)于普通8051的0~80MHz.實(shí)際工作頻率可達(dá)48MHz.(4).用戶應(yīng)用程序空間4K/8K/13K/16K/20K/32K/64K字節(jié)(5).片上集成1280字節(jié)/512字節(jié)RAM(6).通用I/O口(32/36個(gè)),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口)P0口是開漏輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。(7).ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器/仿真器可通過串口(P3.0/P3.1)直接下載用戶程序,8K程序3秒即可完成一片(8).EEPROM功能(9).看門狗(10).內(nèi)部集成MAX810專用復(fù)位電路(D版本才有),外部晶體20M以下時(shí),可省外部復(fù)位電路(11).共3個(gè)16位定時(shí)器/計(jì)數(shù)器,其中定時(shí)器0還可以當(dāng)成2個(gè)8位定時(shí)器使用(12).外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒(13).通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART(14).工作溫度范圍:0-75℃/-40-+85℃(15).封裝:LQFP-44,PDIP-40,PLCC-44,PQFP-44,如選擇STC89系列,請優(yōu)先選擇LQFP-44封裝2.系統(tǒng)框圖電源電源STC89C52主控制器模塊STC89C52主控制器模塊超聲波傳感器模塊按鍵控制超聲波傳感器模塊按鍵控制4位數(shù)碼管顯示模塊4位數(shù)碼管顯示模塊 蜂鳴器報(bào)警模塊蜂鳴器報(bào)警模塊 3,主控制模塊主控制最小系統(tǒng)電路如圖2所示。硬件電路總設(shè)計(jì)見圖3,從以上的分析可知在本設(shè)計(jì)中要用到如下器件:STC89C52、超聲波傳感器、按鍵、四位數(shù)碼管、蜂鳴器等一些單片機(jī)外圍應(yīng)用電路。其中D1為電源工作指示燈。電路中用到3個(gè)按鍵,一個(gè)是設(shè)定鍵,一個(gè)加鍵,一個(gè)減鍵。4.超聲波測試模塊超聲波模塊采用現(xiàn)成的HC-SR04超聲波模塊,該模塊可提供2cm-500cm的非接觸式距離感測功能,測距精度可達(dá)高到3mm。模塊包括超聲波發(fā)射器、接收器與控制電路。基本工作原理:采用IO口TRIG觸發(fā)測距,給至少10us的高電平信號;模塊自動發(fā)送8個(gè)40khz的方波,自動檢測是否有信號返回;有信號返回,通過IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測試距離=(高電平時(shí)間*聲速(340M/S))/2。實(shí)物如下圖4。其中VCC供5V電源,GND為地線,TRIG觸發(fā)控制信號輸入,ECHO回響信號輸出等四支線。四.軟件設(shè)計(jì)1.主程序工作流程圖系統(tǒng)初始化系統(tǒng)初始化報(bào)警結(jié)束測得距離與設(shè)定值比較,小于距離比較,報(bào)警是否持續(xù)開始啟動報(bào)警電路開始報(bào)警再次檢測等待下次報(bào)警結(jié)束YNNYYN圖17主程序工作流程圖2.超聲波探測程序流程圖:五元件清單數(shù)碼管自鎖開關(guān)蜂鳴器發(fā)光二極管三極管超聲波接口最終實(shí)物PCB圖仿真截圖原理圖總結(jié)本設(shè)計(jì)研究了一種基于單片機(jī)技術(shù)的超聲波智能測距報(bào)警系統(tǒng)。該系統(tǒng)通過以STC89C52單片機(jī)為工作處理器核心,超聲波傳感器,它是一種新穎的被動式超聲波探測器件,能夠以非接觸測出前方物體距離,并將其轉(zhuǎn)化為相應(yīng)的電信號輸出.該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡單、易懂、靈活;且安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人們安全意識的增強(qiáng)以及科學(xué)技術(shù)的快速發(fā)展,相信報(bào)警器必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。致謝在過去三個(gè)月,完成設(shè)計(jì)與報(bào)告的過程充滿挑戰(zhàn),幸得您一路引領(lǐng),我才得以突破重重難關(guān)。感謝我的導(dǎo)師,蘇婧楊老師給了我莫大的幫助。設(shè)計(jì)初始,方向迷茫,思路閉塞,是您用豐富的經(jīng)驗(yàn)和專業(yè)知識,為我指明方向,幫我確定了設(shè)計(jì)方案。調(diào)研時(shí),面對雜亂無章的資料,我不知所措,您耐心指導(dǎo)我梳理整合,讓我學(xué)會篩選關(guān)鍵信息。在設(shè)計(jì)推進(jìn)中,每一次模型構(gòu)建、細(xì)節(jié)優(yōu)化,您都給予細(xì)致建議,讓我的設(shè)計(jì)逐漸完善。報(bào)告寫作時(shí),從框架搭建到內(nèi)容填充,從文獻(xiàn)引用到格式規(guī)范,您都嚴(yán)格把關(guān)。逐字逐句批改,大到邏輯結(jié)構(gòu),小到標(biāo)點(diǎn)符號,都不放過,幫我解決了一個(gè)又一個(gè)難題。最后感謝所有幫助過我的同學(xué)和朋友,沒有你們的幫助也不會這么順利的完成。附錄#include<reg52.h> //調(diào)用單片機(jī)頭文件#defineucharunsignedchar//無符號字符型宏定義 變量范圍0~255#defineuintunsignedint //無符號整型宏定義 變量范圍0~65535#include<intrins.h>//數(shù)碼管段選定義012345 6 7 8 9 ucharcodesmg_du[]={0x28,0xee,0x32,0xa2,0xe4,0xa1,0x21,0xea,0x20,0xa0}; //斷碼uchardis_smg[4]={0xff,0xff,0xff,0xff};//數(shù)碼管位選定義sbitsmg_we1=P3^4; //數(shù)碼管位選定義sbitsmg_we2=P3^5;sbitsmg_we3=P3^6;sbitsmg_we4=P3^7;sbitc_send=P3^2; //超聲波發(fā)射sbitc_recive=P3^3; //超聲波接收sbitbeep=P2^3;//蜂鳴器IO口定義uintflag_300ms=1;longdistance; //距離uintset_d=50; //距離ucharflag_csb_juli;//超聲波超出量程uintflag_time0;//用來保存定時(shí)器0的時(shí)候的ucharmenu_1;//菜單設(shè)計(jì)的變量/***********************1ms延時(shí)函數(shù)*****************************/voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}/********************獨(dú)立按鍵程序*****************/ucharkey_can; //按鍵值voidkey() //獨(dú)立按鍵程序{ staticucharkey_new;//key_new這個(gè)變量的功能是做按鍵松手檢測的 key_can=0;//按鍵值還原 P2|=0x07; if((P2&0x07)!=0x07) //按鍵按下 { delay_1ms(1); //按鍵消抖動 if(((P2&0x07)!=0x07)&&(key_new==1)) { //確認(rèn)是按鍵按下 key_new=0; //key_new=0說明按鍵已按下 switch(P2&0x07) { case0x06:key_can=3;break; //得到k3鍵值 case0x05:key_can=2;break; //得到k2鍵值 case0x03:key_can=1;break; //得到k1鍵值 } } } else key_new=1; //key_new=1說明按鍵已經(jīng)松開了}/****************按鍵處理顯示函數(shù)***************/voidkey_with(){ if(key_can==1) //設(shè)置鍵 { menu_1++; if(menu_1>=2) { menu_1=0; } } if(menu_1==1) //設(shè)置報(bào)警 { if(key_can==2) { set_d++; //加1 if(set_d>500) set_d=500; } if(key_can==3) { set_d--; //減1 if(set_d<=1) set_d=1; } dis_smg[0]=smg_du[set_d%10]; //取小數(shù)顯示 dis_smg[1]=smg_du[set_d/10%10];//取個(gè)位顯示 dis_smg[2]=smg_du[set_d/100%10]&0xdf;//取十位顯示 dis_smg[3]=0x60; //a } }/****************報(bào)警函數(shù)***************/voidclock_h_l(){ if(distance<=set_d)//低于設(shè)置的距離就會報(bào)警 { beep=~beep; //蜂鳴器報(bào)警 } else { beep=1; //取消報(bào)警 } }/***********************數(shù)碼位選函數(shù)*****************************/voidsmg_we_switch(uchari){ switch(i) { case0:smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break; case1:smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break; case2:smg_we1=1;smg_we2=1;smg_we3=0;smg_we4=1;break; case3:smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break; } }/***********************數(shù)碼顯示函數(shù)*****************************/voiddisplay(){ staticuchari; i++; if(i>=4) i=0; smg_we_switch(i); //位選 P1=dis_smg[i]; //段選 }/******************小延時(shí)函數(shù)*****************/voiddelay(){ _nop_(); //執(zhí)行一條_nop_()指令就是1us _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();}/*********************超聲波測距程序*****************************/voidsend_wave(){ c_send=1; //10us的高電平觸發(fā) delay(); c_send=0; TH0=0; //給定時(shí)器0清零 TL0=0; TR0=0; //關(guān)定時(shí)器0定時(shí) while(!c_recive); //當(dāng)c_recive為零時(shí)等待 TR0=1; while(c_recive) //當(dāng)c_recive為1計(jì)數(shù)并等待 { flag_time0=TH0*256+TL0; if((flag_time0>40000))//當(dāng)超聲波超過測量范圍時(shí),顯示3個(gè)888 { TR0=0; flag_csb_juli=2; distance=888; break; } else { flag_csb_juli=1; } } if(flag_csb_juli==1) { TR0=0; //關(guān)定時(shí)器0定時(shí) distance=flag_time0; //讀出定時(shí)器0的時(shí)間 distance*=0.017;//0.017=340M/2=170M=0.017M算出來是米 if((distance>600)) //距離=速度*時(shí)間 { distance=888; //如果大于6m就超出超聲波的量程 } }}/*********************定時(shí)器0、定時(shí)器1初始化******************/voidtime_init() { EA=1; //開總中斷 TMOD=0X11; //定時(shí)器0、定時(shí)器1工作方式1 ET0=0; //關(guān)定時(shí)器0中斷 TR0=1; //允許定時(shí)器0定時(shí) ET1

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論