freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

超聲波測距儀(實時顯示聲光報警)_畢業(yè)設(shè)計論文報告-閱讀頁

2025-04-22 23:26本頁面
  

【正文】 uteH =TH0。 //取出定時器的值 flag=1。 超聲波發(fā)射接收程序流程圖 通過單總線訪問DS18B20流程圖第5章 調(diào)試與檢測第4章介紹了本設(shè)計的硬件設(shè)計與軟件設(shè)計,因此本章節(jié)主要講述本系統(tǒng)設(shè)計后的成品檢測與調(diào)試,包括軟硬件測試、誤差分析、誤差來源、解決方案等。:(當(dāng)前測試時的環(huán)境溫度為27℃) 系統(tǒng)檢測距離與實際距離對比數(shù)碼管顯示距離(cm)193039495769778897108118127138實際距離(cm)2031405060708090100110120130140誤差(cm)1111313232232,當(dāng)檢測距離小于70cm時,系統(tǒng)誤差相對距離大于70cm的小。其次,數(shù)碼管顯示的數(shù)據(jù)有點閃爍,經(jīng)過延時調(diào)試仍未能得到解決。(1) LED1綠燈正常亮,說明HCSR04能接收到回波信號,觸發(fā)程序正確;(2) 當(dāng)所測距離小于10cm(預(yù)置值)時,LED2紅燈亮、蜂鳴器發(fā)出聲音實現(xiàn)聲光報警提示,數(shù)碼管顯示程序正確;(3) DS18B20能正常工作,正確顯示當(dāng)前環(huán)境溫度。當(dāng)量程小于10cm有聲光報警,距離大于200cm時數(shù)碼管顯示CCC,溫度大于90℃時蜂鳴器報警。產(chǎn)品可以方便使用,而且成本低廉,在礦井探測和倒車測距等方面本系統(tǒng)具有很高的應(yīng)用價值。實際中應(yīng)該要使晶振離單片機越近越好,兩個電容離晶振越近越好,這樣可以使系統(tǒng)誤差盡可能減小。超聲波在不同溫度下的傳播速度不同,因此測量時候進行溫度補償是解決此問題的好方法,但溫度補償仍然存在一定的微小誤差;3) 濕度也是影響系統(tǒng)誤差的一個重要因素,干燥空氣的聲速為:C=C0 (2)其中,正常情況下,標(biāo)準(zhǔn)狀況下干燥空氣中的聲速為C0=,而在室溫t℃時,T0=。修正后的聲速公式為:C= (3)式中:為水蒸氣的分壓強,取=105Pa; ;t為測量的空氣溫度; C為經(jīng)補償后的聲速。 解決方案本設(shè)計中系統(tǒng)的誤差有計數(shù)誤差和系統(tǒng)誤差。為了提高測量精度,解決的方案有中值濾波發(fā),如文獻[4]所示;采用溫度、濕度雙補償方法可以進一步提高系統(tǒng)測量精度,如文獻[5]所示,由于技術(shù)限制,本設(shè)計只采用溫度補償,但測量誤差在允許范圍內(nèi);采用延時技術(shù)可以解決超聲波發(fā)射極和接收極距離太近所造成的串?dāng)_問題,如文獻[6]所示;采用變閥值鑒幅固定補償法,如文獻[7]所示,可以減少誤差,提高測距精度;同時,文獻[8][11]中還提出了其它一些提高測量精度的方法。此外,還掌握了數(shù)碼管、DS18B20和蜂鳴器的應(yīng)用。在熟悉各功能模塊的基礎(chǔ)上,自己繪電路原理圖和PCB布線,做好了超聲波發(fā)射和接收的硬件模塊,雖然發(fā)射和接收模塊是前期所做的失敗品,后期改用HCSR04模塊,但在這一階段我了解了CX20106A的工作原理與應(yīng)用。3) 軟件設(shè)計方面,超聲波發(fā)射程序最初是采用單片機內(nèi)部的定時器/計數(shù)器0定時中斷產(chǎn)生40KHz的脈沖,但由于經(jīng)示波器調(diào)試很久后,都未見有合適的脈沖輸出,故后期改為用HCSR04模塊來發(fā)射接收超聲波。為此,我通過網(wǎng)上查找資料,學(xué)會了用軟件精確延時的方法來確定延時的時間。總結(jié)與展望本設(shè)計的超聲波測距系統(tǒng)具有結(jié)構(gòu)簡單、操作靈活、功耗低、小成本的特點,它具有良好的人機界面,能方便實時顯示測量的距離。本系統(tǒng)能進行聲光報警提示和實時顯示測量距離,能很好應(yīng)用于汽車行進或倒車中,對汽車前后方的障礙物進行檢測,及時顯示障礙物的距離及聲光報警處理。雖然系統(tǒng)最終得以完成,但仍存在部分缺陷,仍有一些功能需要提高: 此系統(tǒng)測試距離比較近,如果能設(shè)計一個具有較強驅(qū)動能力的超聲波發(fā)射電路與接收電路,系統(tǒng)測得距離會更遠(yuǎn); 單片機系統(tǒng)板的DS18B20跟蜂鳴器距離有點近,這也是本設(shè)計的一個缺陷,當(dāng)蜂鳴器響導(dǎo)通時會發(fā)熱,影響溫度補償?shù)木?,布PCB圖時應(yīng)把DS18b20與發(fā)熱器件隔開; 本系統(tǒng)還欠缺語音實時播報功能以及濕度補償功能。在做畢設(shè)的過程中我學(xué)會了很多知識,如在硬件布置方面,晶振離單片機越近越好,其兩個電容離晶振越近越好,這樣就盡可能減小系統(tǒng)誤差;畫PCB上,避免在PCB邊緣安排重要的信號線,如時鐘和復(fù)位信號等,經(jīng)過本次設(shè)計的PCB,我能熟練地使用Altium Designer這個軟件來畫原理圖和PCB;在編程方面,我原來只是有匯編的基礎(chǔ),但由于本次設(shè)計,我經(jīng)過到圖書館借閱相關(guān)書籍自學(xué)單片機C51語言編程,現(xiàn)在我的C語言水平有了很大的提高。當(dāng)我在程序編寫過程中遇到問題時,如超聲波發(fā)射接收模塊的發(fā)射程序有所困難時,我認(rèn)真上網(wǎng)查找資料,了解其工作原理,最后一步一步調(diào)試程序知道成功;最初使用Altium Designer軟件畫PCB圖和原理圖時,我對這個軟件不是很熟悉,最后通過同學(xué)的指導(dǎo),我掌握了使用這個軟件的技巧,并學(xué)會畫了元件封裝庫,自從學(xué)會了這個技能之后,我就再也不用擔(dān)心畫PCB時沒有合適的封裝庫了,之后我還幫助了很多同學(xué)解決這方面的困難。我非常榮幸能有這樣的機會進行這樣的設(shè)計,每一次的學(xué)習(xí)都是進步,通過困難,然后學(xué)會去解決困難,讓我進步很快。最重要的是,在此次畢設(shè)中李震老師對我的悉心教導(dǎo),在他的指導(dǎo)下,我的理論知識和實踐動手能力都有很大的提高,非常感謝老師對我的幫助,耐心指導(dǎo)我的論文的修改,在此我要向老師表示真誠的感謝。教研),2007,26:193~194.[11] 鄧方華,鄒毅,高飛燕. 基于超聲波測距的交互電子白板系統(tǒng)設(shè)計[J].儀表技術(shù), 2010,2:46~48.[12] Tsutomu Tanzawa,Noriaki Kiyohiro,Shinji Kotani et al:The Ultrasonic Range Finder for Outdoor Mobile Robots.Intelligent Robots and Systems 95.39。Proceedings.1995 IEEE/RSJ International Conference on (Volume:3 ).[13] 鄭鋒,王巧芝,:336~340.附 錄1 電路原理圖及PCB圖Stc89c51超聲波測距電路原理圖Stc89c51超聲波測距系統(tǒng)PCB圖+5V電源PCB附 錄2 程序清單include include define uchar unsigned char define uint unsigned intdefine ulong unsigned longdefine jump_ROM 0xCCdefine start 0x44define read_EEROM 0xBEsbit DQ = P1^1。 //產(chǎn)生脈沖引腳sbit Echo = P3^2。sbit led2=P1^3。sbit k1=P3^5。sbit k3=P3^7。bit flag 。 //數(shù)碼管顯示0~9,“”以及全滅uchar outeH,outeL,i。ulong distance。void delay_20us() { uchar bt 。bt30。 }void delay_1(int n){ int i。in。}INT0_() interrupt 0 // 外部中斷是0號 { outeH =TH0。 //取出定時器的值 flag=1。 //實際溫度 DS18B20_Init()。 //時間到,讀取溫度 v=+*temp_T。 //定時器0,定時器1,16位工作方式 IT0=0。 //允許定時器0中斷 EX0=1。 //打開總中斷0 TH0=0x00。 led1=1。 flag=0。 //首先拉低脈沖輸入引腳 Echo=0。 if(k2==0) //防止按鍵抖動 { display(temp_T)。 //溫度大于90度時,蜂鳴器報警 } } if(k1==0) { delay_20us()。 delay_20us()。 while(!Echo)。 //開啟計數(shù) while(Echo)。 //關(guān)閉計數(shù) if(flag==1amp。TH0!=0amp。TL0!=0) //判斷是否成功接收到回波 { time=TH0*256+TL0。 TL0=0x00。 //算出來是CM led1=0。 P0=0xbf。 fmq=0。i0。 delay_1(1000)。 delay_1(1000)。 P0=0xc6。 } else //顯示正常距離 { bai=distance/100。 ge=(distancebai*100shi*10)。 //百位選通 P0=0xff。 Delay_ms(3)。 //十位選通 P0=0xff。 Delay_ms(2)。 //個位選通 P0=0xff。 Delay_ms(1)。 for(i=0。 i++) 。 for(。i) for(j=110。j)。 delay_us(29)。 delay_us(30)。 DQ = 0。 for(i=0。 i++)。}void write_bit(uchar bitval){ DQ=0。 delay_us(2)。}uchar read_byte(void){ uchar i,m,receive_data。 receive_data = 0。 i8。 } delay_us(2)。}void write_byte(uchar val){ uchar i,temp。 i8。 temp = temp amp。 write_bit(temp)。 }}void StartChange(){ Reset()。 write_byte(jump_ROM)。}void DS18B20_Init(){ StartChange()。} uint Get_Temp(void){ float result。 uchar TMPH,TMPL。 //開始轉(zhuǎn)換 delay_us(1)。 delay_us(1)。 write_byte(read_EEROM)。 TMPH = read_byte()。 value = 8。 result = value * + 。 return (value)。 for(j=0。j++) for(x=0。x++)。 P0 = 0xff。 Delay_ms(1)。 P0 = 0xff。 Delay_ms(1)。 P0 = 0xff。 Delay_ms(1)。 P0= 0xff。 Delay_ms(
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1