【正文】
系統(tǒng)框圖這種以單片機為核心的超聲波測距系統(tǒng)通過單片機記錄超聲波發(fā)射的時間和收到反射波的時間。對本課題的研究與設計,還能進一步提高自己的電路設計水平,深入對單片機的理解和應用。比如溫度傳感器、光電傳感器、濕度傳感器、超聲波傳感器、紅外傳感器、壓力傳感器等等,其中,超聲波傳感器在測量方面有著廣泛、普遍的應用。 Onechip puter。關鍵詞:超聲波 單片機 測距 AT89S51AbstractUltrasonic wave has strong pointing to nature ,slowly energy consumption ,propagating distance farther ,so, in utilizing the scheme of distance finding that sensor technology and automatic control technology bine together ,ultrasonic wave finds range to use the most general one at present ,it applies to guard against theft , move backward the radar , water level measuring , building construction site and some industrial scenes extensively。基于 AT89S51 單片機的超聲波測距系統(tǒng) 完成日期:2022 年 4 月 1 日1摘 要超聲波具有指向性強,能量消耗緩慢,傳播距離較遠等優(yōu)點,所以,在利用傳感器技術和自動控制技術相結合的測距方案中,超聲波測距是目前應用最普遍的一種,它廣泛應用于防盜、倒車雷達、水位測量、建筑施工工地以及一些工業(yè)現(xiàn)場。This subject has introduced principle and characteristic of the ultrasonic sensor in detail ,and the performance and characteristic of onechip puter AT89S51 of Atmel Company ,and on the basis of analyzing principle that ultrasonic wave finds range ,the systematic thinking and questions needed to consider that have pointed out that designs and finds range ,provide low cost , the hardware circuit of high accuracy , ultrasonic range finder of miniature digital display and software design method taking AT89S51 as the core ,this circuit of system is reasonable in design, working stability, performance good measuring speeding soon , calculating simple , apt to acplish realtime control ,and can reach industry39。 Range finding。利用單片機控制超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且測量精度較高。 基于單片機的超聲波測距系統(tǒng)基于單片機的超聲波測距系統(tǒng),是利用單片機編程產生頻率為 40kHz 的方波,經過發(fā)射驅動電路放大,使超聲波傳感器發(fā)射端震蕩,發(fā)射超聲波。當收到超聲波的反射波時,接收電路輸出端產生一個負跳變,在單片機的外部中斷源輸入口產生一個中斷請求信號,單片機響應外部中斷請求,執(zhí)行外部4中斷服務子程序,讀取時間差,計算距離,結果輸出給 LED 顯示。本課題研究的測距系統(tǒng)就是用單片機控制的。系統(tǒng)定時發(fā)射超聲波,在啟動發(fā)射電路的同時啟動單片機內部的定時器,利用定時器的計數功能記錄超聲波發(fā)射的時間和收到反射波的時間。由于超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而超聲波經常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現(xiàn)。因此在液位測量、機械手控制、車輛自動導航、物體識別等方面有廣泛應用。超聲波測距的方法有多種,如相位檢測法、聲波幅值檢測法和渡越時間檢測法等。其原理為: 檢測從超聲波發(fā)射器發(fā)出的超聲波,經氣體介質的傳播到接收器的時間,即渡越時間。超聲波在空氣中的傳播速度隨溫度變化,其對應值如表 21 ,根據計時器記錄的時間 t (見圖 21),就可以計算出發(fā)射點距障礙物的距離( s ) ,即: s = v t / 2 。 機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。所謂壓電逆效應如圖 22 所示,是在壓電元件上施加電壓,元件就變形,即稱應變。7圖 22 壓電逆效應圖 單片機超聲波測距系統(tǒng)構成單片機 AT89S51 發(fā)出短暫的 40kHz 信號,經放大后通過超聲波換能器輸出;反射后的超聲波經超聲波換能器作為系統(tǒng)的輸入,鎖相環(huán)對此信號鎖定,產生鎖定信號啟動單片機中斷程序,讀出時間 t,再由系統(tǒng)軟件對其進行計算、判別后,相應的計算結果被送至 LED 數碼管進行顯示。單片機主控芯片使用 51 系列 AT89S51 單片機,該單片機工作性能穩(wěn)定,同時也是在單片機課程設計中經常使用到的控制芯片。單片機采用 AT89S51,系統(tǒng)晶振采用 12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。它集Flash程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89S51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。1000次擦寫周期1288字節(jié)內部RAM全雙工串行UART通道掉電標識和快速編程特性掉電方式保存RAM 中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。P0口:P0口是一組8位漏極開路型雙向I/0口,也即地址/數據總線復用口。Flash編程和程序校驗期間,Pl接收低8位地址。在訪問外部程序存儲器或16位地址的外部數據存儲器(例如執(zhí)行MOVXDPTR指令)時,P2口送出高8位地址數據。P3 口:P3 口是一組帶有內部上拉電阻的8 位雙向I/0 口。P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下表所示:11P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。對外接電容Cl、C2 雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。用戶也可以采用外部時鐘。圖32為晶體接線圖和外接時鐘線路圖。硬件電路的設計主要包括單片機系統(tǒng)及顯示電路、12超聲波發(fā)射電路和超聲波接收電路三部分。顯示電路采用簡單實用的 3 位共陽 LED 數碼管,段碼輸出端口為單片機的 P2 口,位碼輸出端口分別為單片機的 、 口,數碼管位驅運用 PNP 三極管 S9012 三極管驅動。 超聲波測距單片機系統(tǒng)超聲波測距單片機系統(tǒng)主要由:AT89S51 單片機、晶振、復位電路、電源濾波部份構成。圖 33:超聲波測距單片機系統(tǒng)13 超聲波發(fā)射、接收電路超聲波發(fā)射如圖 34,接收電路如圖 35。發(fā)送出的超聲波,遇到障礙物后,產生回波,反射回來的回波由超聲波接收頭接收到。s,半周期為 。s 或 13181。接收電路如圖 35 所示。這里使用的是 I N 4148 檢波二極管,輸出的直流信號即兩二極管之間電容電壓。15圖36:顯示單元圖 供電電路本測距系統(tǒng)由于采用的是 LED 數碼管用為顯示方式,正常工作時,系統(tǒng)工作電流約為 3045mA,為保證系統(tǒng)統(tǒng)計的可靠正常工作,系統(tǒng)的供電方式主要交流 AC69 伏,同時為調試系統(tǒng)方便,供電方式考慮了第二種方式,即由 USB 口供電,調試時直接由電腦 USB 口供電。方式二:報警信號由單片機 口輸出,提供聲響報警信號,電路由電阻 R三極管 BG蜂鳴器 BY 組成,當測量值低于事先設定的報警值時,蜂鳴器發(fā)出“滴、滴、滴…..”報警聲響信號,測量值高于設定的報警值時,停止發(fā)出報警聲響。 主程序首先是對系統(tǒng)環(huán)境初始化,設定時器 0 為計數,設定時器 1 定時。當調用超聲波測距子程序后,首先由單片機產生 4 個頻率為 超聲波脈沖,加載的超聲波發(fā)送頭上。設計時取 15℃時的聲速為 340 m/s 則有: d=(ct)/2=172T0/10000cm 其中,T0 為計數器 T0 的計算值。TL1=0x00。csbfs()。while(i){}i=0。s=TH1。jsz=s*csbc。超聲波發(fā)射的完整波形個數:共計四個 here:cpl 。試驗板中的聲速沒有進行溫度補償,聲速值為 340m/s,該值為 15℃時的超聲波值。還要感謝老師,在我的畢業(yè)設計中給單片機燒錄程序,為我提供單片機編程器以及對我的細心指導,衷心感謝他們。cs。static uchar bdata ke,kw。 //數碼管位驅動sbit LED3 = P3^3。sbit k21=ke^3。sbit e=ke^7。void delay(i)。void jpcl()。void jpzcx()。void clcs()。 //設定時器0為計數,設定時器1定時ET0=1。csbout=1。zzz=699。30xl=temp1。k1=1。d=1。wdzh()。 //調用顯示轉換程序 scanLED()。}jpcl()。delay(1)。LED2=0。P2=buffer[0]。delay(50)。}else if (jszmq){buffer[0]=0xFE。xm1=(jszxm0*100)/10。buffer[2]=convert[xm0]。TL0=0xF0。 if (sec20=cs) // 50 * 10 ms = s { sec20=0。 }}sec1++。34 }}}void jpcl() //按鍵處理程序{k11=k1。}k12=