超聲波實(shí)現(xiàn)無接觸測距的倒車?yán)走_(dá)系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第1頁
超聲波實(shí)現(xiàn)無接觸測距的倒車?yán)走_(dá)系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第2頁
超聲波實(shí)現(xiàn)無接觸測距的倒車?yán)走_(dá)系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第3頁
超聲波實(shí)現(xiàn)無接觸測距的倒車?yán)走_(dá)系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第4頁
超聲波實(shí)現(xiàn)無接觸測距的倒車?yán)走_(dá)系統(tǒng)的設(shè)計與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)信息工程學(xué)院畢業(yè)論文超聲波實(shí)現(xiàn)無接觸測距的倒車?yán)走_(dá)系統(tǒng)設(shè)計摘要隨著整個國家生活水平的提高,購車族也日益增多,汽車早已成為人們生活的必需品,然而汽車給人們帶來方便快捷的同時,也出現(xiàn)了許許多多的交通事故,其中因倒車引起的剮蹭事件則數(shù)不勝數(shù),給人們帶來了許多不必要的經(jīng)濟(jì)損失,盡管每輛車都有后視鏡,但是我們要知道后視盲區(qū)卻不可避免,針對這一問題,設(shè)計出一個響應(yīng)快、靈敏度高的倒車?yán)走_(dá)勢在必行。本文利用超聲波實(shí)現(xiàn)無接觸測距,設(shè)計出一種倒車?yán)走_(dá)系統(tǒng),本文主要是利用超聲波穿透性強(qiáng),衰減小,反射能力強(qiáng)等特點(diǎn),將超聲波的測距原理與STC89C52RC單片機(jī)結(jié)合起來,利用超聲波的發(fā)射與接收電路實(shí)現(xiàn)無接觸測距。由于環(huán)境溫度對超聲波波速有影響,使用DS18B20構(gòu)成的溫度測量電路,通過溫度補(bǔ)償法對速度進(jìn)行校正,直接讀取溫度值,從而得出超聲波在某一溫度下的波速,測得并顯示距離,再根據(jù)顯示的距離控制蜂鳴器的發(fā)聲頻率。論文在介紹超聲波測距的原理及發(fā)展的基礎(chǔ)上,設(shè)計STC89C52RC單片機(jī)的接口控制電路,對溫度信號、超聲波發(fā)射與接收信號進(jìn)行采集與控制,實(shí)現(xiàn)溫度補(bǔ)償與距離報警,通過比較多種發(fā)射及接收電路方案,對系統(tǒng)的誤差進(jìn)行分析,得出了最合理的控制方案,對系統(tǒng)的各個單元的原理及組成各系統(tǒng)電路的芯片原理進(jìn)行介紹,論文也介紹了系統(tǒng)的軟件結(jié)構(gòu),使系統(tǒng)更便攜、可靠和經(jīng)濟(jì)。關(guān)鍵字:超聲波測距;倒車?yán)走_(dá);STC89C52RC;溫度補(bǔ)償Designtonon-contactultrasonicrangingreversingradarsystemAbstractWiththeimprovementoflivingstandardsacrossthecountry,carbuyersareincreasing,carhasbecomeanecessityoflife,carsbringthepeopleconvenient,butalsoappearedinmanytrafficaccidents,whichcausedbyreversingrubcuteventsarenumerous,gaverisetoalotofunnecessaryeconomiclosses,eventhoughvehiclehasrear-viewmirror,butweneedtoknowblindSpotwasinevitable,tosolvethisproblem,designafastresponse,highsensitivityreversingradarimperative.Inthispaper,theuseofultrasoundtoachievenon-contactdistancemeasurement,designareversingradarsystem,thispaperistheuseofultrasoundpenetratingstrong,lowattenuation,highreflectancecharacteristics,theprincipleofultrasonicdistancemeasurementwithSTC89C52RCmicrocontrollercombinestheuseofultrasoundthetransmitterandreceivercircuitstoachievenon-contactdistancemeasurement.UltrasonicvelocityoftheambienttemperatureinfluenceontheuseDS18B20temperaturemeasurementcircuitconstitutedbythetemperaturecompensationmethodofthespeedcorrectionvalueisdirectlyreadthetemperature,andthusthevelocityoftheultrasonicwaveatacertaintemperature,anddisplaythemeasureddistance,thencontrolthebuzzersoundfrequenciesdependingonthedistancedisplay.OnthebasisoftheprinciplesanddevelopmentofultrasonicrangingpresentationonthedesignSTC89C52RCmicrocontrollerinterfacecontrolcircuitofthetemperaturesignal,theultrasonictransmitterandreceiversignalacquisitionandcontrol,temperaturecompensationanddistancealarm,bycomparingmultipletransmitandreceivecircuitscheme,theerrorsystemwereanalyzedandthemostreasonablecontrolscheme,theprinciplesofthesystemandeachunitconsistingofthesystemcircuitchipprinciplesareintroduced,thepaperalsodescribesthesoftwarearchitectureofthesystem,makingthesystemmoreportable,reliableandeconomical.Keywords:UltrasonicRanging;reversingradar;STC89C52RC;temperaturecompensation[25]:(1)選擇合適的超聲波的發(fā)射頻率計脈沖周期,通常超聲波測距40KHz的選擇發(fā)射機(jī)脈沖更適當(dāng)?shù)墓ぷ黝l率一般應(yīng)比在空氣循環(huán)超聲波傳播更大的10倍以上,考慮到通帶和傳感器噪聲抑制,選擇一個傳輸脈沖為1ms,從這可以看出,正確的選擇超聲波的頻率是非常關(guān)鍵的。(2)在一系列的超聲波接收增益調(diào)整電路和負(fù)反饋的自動增益控制部分,由于所接收的超聲波的傳播距離增加,信號振幅指數(shù)衰減,從而使利用調(diào)整電路的增益的測定倍率的距離增加從電路成倍增加,進(jìn)而使波形幅度的接收機(jī)不使用的距離測量的變化,并在使用電流的負(fù)反饋回路可以使接收波形更穩(wěn)定的大幅度變化而變化。(3)提高計時精度,減少時間量化誤差。計時精度主要與定時器有關(guān),單片機(jī)上的定時器計數(shù)的準(zhǔn)確性,直接決定了測量的時間誤差。例如:微控制器內(nèi)置計時器只計算晶振頻率第十二次的頻率,當(dāng)晶振頻率為6MHz,計數(shù)頻率為0.5MHz帶內(nèi)經(jīng)過漫長的時間在空中量化誤差0.68毫米;當(dāng)振蕩器的頻率是12MHz的時候,計數(shù)為1MHz的頻率,在這個距離的時間量化誤差是0.34毫米。所以一個辦法就是用定時電路,而在單片機(jī)上可以用晶體頻率,從而把誤差降到最低。結(jié)論基于單片機(jī)設(shè)計的STC89C52RC汽車倒車?yán)走_(dá),設(shè)計中首先介紹了超聲波測距的知識,其次給出了系統(tǒng)的總體設(shè)計方案,并從系統(tǒng)的硬件和軟件設(shè)計思路,提高完善了系統(tǒng)的解決方案。在整個超聲波實(shí)現(xiàn)無接觸測距倒車?yán)走_(dá)系統(tǒng)設(shè)計中,超聲波測距模塊HC-SR04,超聲波發(fā)射電路主要由5個反相器74LS04和超聲波發(fā)射換能器T40構(gòu)成,超聲波接收電路由超聲波傳感器R40、兩級放大電路和鎖相環(huán)電路組成,這個模塊是設(shè)計中的關(guān)鍵模塊。本設(shè)計中測距顯示模塊采用的是單片機(jī)動態(tài)掃描方式將測得距離在LCD上以4位顯示出來的,并利用蜂鳴器報警電路對設(shè)置界限的距離進(jìn)行報警。系統(tǒng)的運(yùn)行環(huán)境利用Keil編程軟件來完成的,程序所用的語言是C語言,程序內(nèi)容包括40kHz方波信號的產(chǎn)生、讀取超聲波傳送回波的時間、計算距離、測量環(huán)境溫度、LCD顯示距離及溫度、蜂鳴器報警等模塊組成。本設(shè)計所設(shè)計的汽車倒車?yán)走_(dá)系統(tǒng)的測距精度能達(dá)到mm級的精度,能夠較精確的進(jìn)行距離的測量,并且在利用了超聲波集成模塊后整個系統(tǒng)的調(diào)試、控制都很方便,測距的范圍可以在4cm~4m之間,測距穩(wěn)定,可以達(dá)到設(shè)計要求。在整個系統(tǒng)設(shè)計的過程中,遇到的問題很多,在開始的時候,對于整個系統(tǒng)的設(shè)計還是很模糊,后來查閱、下載了很多關(guān)于超聲波測距的文獻(xiàn),通過閱讀大量文獻(xiàn)慢慢地對整個系統(tǒng)的整體設(shè)計有了自己的設(shè)計方案,于是一邊查資料一邊寫論文,逐漸進(jìn)入狀態(tài),超聲波測距知識的介紹、設(shè)計方案、系統(tǒng)元件介紹都挺順利,在軟件設(shè)計的過程中,一個問題是關(guān)于顯示部分,剛開始用數(shù)碼管顯示距離,但是考慮到溫度對超聲波波速的影響,要測量溫度并且顯示,于是就在液晶顯示屏上第一行顯示溫度第二行顯示距離,效果更直觀。另一個問題是關(guān)于超聲波探頭模塊的選擇,之前設(shè)計的是超聲波發(fā)射電路和接收電路是分開各自獨(dú)立的,但在裝配完調(diào)試總是不穩(wěn)定,后來改用了超聲波集成模塊HC-SR04,集成模塊把超聲波發(fā)射和接收電路集成在一起,而且能大大減少相互之間的干擾。在程序方面,中期檢查基本系統(tǒng)功能實(shí)現(xiàn)了,后來又加上了蜂鳴器報警程序,另一個程序方面的問題就是關(guān)于超聲波溫度補(bǔ)償?shù)?,通過查閱資料找到了溫度補(bǔ)償公式,使得測量更加精確。該系統(tǒng)作為汽車倒車?yán)走_(dá)極其具有廣闊的應(yīng)用前景,例如倒車?yán)走_(dá)系統(tǒng)是測量穩(wěn)定,近的距離,以滿足一般要求,而且成本低。由于該系統(tǒng)需要一個PLL鎖定時間,在汽車?yán)走_(dá)系統(tǒng)的測量距離的誤差是可以忽略的,但在較高的精度要求下,如工業(yè)機(jī)器人自動測距等,通過改變一些硬件的超聲波的應(yīng)用程序來實(shí)現(xiàn)快速鎖代碼或根據(jù)自己的需要加入軟件等的補(bǔ)償方案,誤差進(jìn)一步減小,以滿足更高的要求。參考文獻(xiàn)李靖睿.調(diào)節(jié)公交車與私家車的關(guān)系對經(jīng)濟(jì)發(fā)展的影響[J].現(xiàn)代經(jīng)濟(jì)信息,2012(2).姜宇.從世界軌道交通發(fā)展看我國城市交通現(xiàn)狀[J].中國科技博覽,2012(34):182-182.楊基慧.倒車?yán)走_(dá)系統(tǒng)的研究與設(shè)計[D].長春:吉林大學(xué),2012:12-15.黃麗萍,和軍平,倪龍,等.汽車可視倒車?yán)走_(dá)預(yù)警系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].計算機(jī)測量與控制,2010,18(1):1.吳妍.汽車倒車?yán)走_(dá)預(yù)警系統(tǒng)研究[D].武漢:武漢理工大學(xué),2007:20-24.劉海峰.汽車倒車?yán)走_(dá)系統(tǒng)全接觸[J].汽車電器,2008(12):5-8.韓博奇.車載倒車?yán)走_(dá)系統(tǒng)的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006:10-14.羅寧,李柏年,楊昊,等.基于紅外測距傳感器的倒車?yán)走_(dá)系統(tǒng)設(shè)計[J].價值工程,2013,32(20):244-245.高美霞,柏建普.單片機(jī)控制的超聲波測距儀汽車倒車系統(tǒng)的設(shè)計[J].自動化技術(shù)與應(yīng)用,2011(11):58-60.商俊國.倒車?yán)走_(dá)智能預(yù)警系統(tǒng)的研究[D].秦皇島:燕山大學(xué),2011:18-20.李同嶺,李清君.超聲波測距[J].煤炭技術(shù),2012,31(007):55-56.吳誠,于軍,王駿.基于PIC12C508單片機(jī)的超聲測距系統(tǒng)[J].自動化與儀表,2007,22(4):28-31.李艷杰.基于HT46F49E的超聲波測距系統(tǒng)[D].陜西:長安大學(xué),2011:25-30.吳瓊.汽車倒車?yán)走_(dá)系統(tǒng)的研究[D].南京:南京林業(yè)大學(xué),2009:22-25.周功明,周陳琛.基于AT89C52單片機(jī)的超聲波測距器設(shè)計[J].綿陽師范學(xué)院學(xué)報,2008,27(8):49-53.張攀峰,王玉萍,張健,等.帶有溫度補(bǔ)償?shù)某暡y距儀的設(shè)計[J].計算機(jī)測量與控制,2012,20(6):1717-1719.蘭羽.具有溫度補(bǔ)償功能的超聲波測距系統(tǒng)設(shè)計[J].電子測量技術(shù),2013(2):85-87.李航,王可人.基于STC89C52RC的超聲波測距系統(tǒng)設(shè)計[J].電子測試,2010(1):55-58.張波,王朋亮.基于STC89C51單片機(jī)超聲波測距系統(tǒng)的設(shè)計[J].機(jī)床與液壓,2010,38(018):56-58.李軍,申俊澤.超聲測距模塊HC—SR04的超聲波測距儀設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11(10):77-78.張軍.智能溫度傳感器DS18B20及其應(yīng)用[J].儀表技術(shù),2010(4):68-70.王安敏,張凱.基于AT89C52單片機(jī)的超聲波測距系統(tǒng)[J].儀表技術(shù)與傳感器,2006(6):45-46.趙廣濤,程蔭杭.基于超聲波傳感器的測距系統(tǒng)設(shè)計[J].微計算機(jī)信息,2006(01S):129-130.蘇煒,龔壁建,潘笑.超聲波測距誤差分析[J].傳感器技術(shù),2004,23(6):8-11張珂,劉鋼海.提高超聲波測距精度方法的研究[J].現(xiàn)代電子技術(shù),2007,30(15):139-141.致謝四年的大學(xué)學(xué)習(xí)生活在這個季節(jié)即將劃上一個句號,而于我的人生卻只是一個逗號,我將面對又一次征程的開始。四年的求學(xué)生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文即將付之際,思緒萬千,心情久久不能平靜。首先要感謝我的指導(dǎo)老師——韓老師,她是一位治學(xué)嚴(yán)謹(jǐn),學(xué)識淵博,思想深邃的老師,在大學(xué)期間,韓老師的工作認(rèn)真負(fù)責(zé)的態(tài)度對我的影響最深,非常感謝韓雁老師在我大學(xué)的最后學(xué)習(xí)階段——畢業(yè)設(shè)計階段給自己的指導(dǎo),從最初的定題,到資料收集,到寫作、修改,到論文定稿,她都給了我耐心的指導(dǎo)和無私的幫助。本次畢業(yè)設(shè)計已至尾聲。由于實(shí)際設(shè)計經(jīng)驗(yàn)的匱乏,在許多地方難免有考慮不周全的,如果沒有韓老師的指導(dǎo)和鼓勵,我可能會走很多彎路,為了指導(dǎo)我們的畢業(yè)論文,她放棄了自己的休息時間,她的這種無私奉獻(xiàn)的敬業(yè)精神令人欽佩,在此我向她們表示我誠摯的謝意。其次還要感謝大學(xué)期間所有任課老師和所有同學(xué)在這四年來給自己的指導(dǎo)和幫助,是他們教會了我專業(yè)知識,教會了我如何學(xué)習(xí),教會了我如何做人。對英語知識和專業(yè)英語的學(xué)習(xí),讓我掌握了外文閱讀和外文翻譯的能力,在外文翻譯和查閱外文資料時候可以得心應(yīng)手;通過C語言的學(xué)習(xí),在編程的時候也不感覺到非常棘手;計算機(jī)知識的學(xué)習(xí),使我能夠熟練使用多種最基本的計算機(jī)相關(guān)軟件和專業(yè)軟件的使用方法,包括基本的Windows辦公軟件,還有一些專業(yè)軟件,如Protel99、KeiluVision等。正是由于他們,我才能在各方面取得顯著的進(jìn)步,沒有他們的幫助,完成這個設(shè)計是有一定的難度的。所以要感謝所有給我授過課的老師,無論是基礎(chǔ)課老師還是專業(yè)課老師都表示深深謝意,在此向他們表示我由衷的謝意,并祝所有的老師培養(yǎng)出越來越多的優(yōu)秀人才。畢業(yè)設(shè)計是對所學(xué)的知識運(yùn)用能力進(jìn)行的一次全面性的考察,也是提高基本能力的一種訓(xùn)練,培養(yǎng)能將所學(xué)知識綜合運(yùn)用的能力和能夠獨(dú)立地對問題進(jìn)行分析和解決的能力,為以后工作打下夯實(shí)的基礎(chǔ)。時間的倉促及自身專業(yè)水平的不足,整篇論文肯定存在尚未發(fā)現(xiàn)的缺點(diǎn)和錯誤。懇請閱讀此篇論文的老師、同學(xué),多予指正,不勝感激!附錄附錄1超聲波測距原理圖附錄2實(shí)物圖附錄3程序#include"reg51.h"#include<intrins.h>#include"ds18b20.h"http://引入DS18B20頭文件#defineLCD_DataP0#defineBusy0x80//用于檢測LCD狀態(tài)字中的Busy標(biāo)識/************函數(shù)聲明*************/voidWriteDataLCD(unsignedcharWDLCD); //寫數(shù)據(jù)voidWriteCommandLCD(unsignedcharWCLCD,BuysC); //寫命令unsignedcharReadDataLCD(void); //讀數(shù)據(jù)unsignedcharReadStatusLCD(void); //讀狀態(tài)voidLCDInit(void); //初始化voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData); voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData); voidDelay5Ms(void); //延時voidDelay400Ms(void); //延時voiddelay(unsignedinttime);/********引腳定**************/sbitLCD_RS=P1^0;//定義引腳sbitLCD_RW=P1^1;sbitLCD_E=P1^2;sbitRX=P2^1; //超聲波測距模塊引腳sbitTX=P2^0;sbitSPK=P1^5; //定義蜂鳴器unsignedchartable1[]={'0','1','2','3','4','5','6','7','8','9'};unsignedcharcodetm[]={"temperature:00C"};//LCD上顯示的unsignedcharcodeCls[]={"dsitance:0.000m"};charltemp; unsignedinttime=0;unsignedlongS=0;unsignedlongc=0;//超聲波速度bitflag=0;unsignedcharl_disbuff[4]={0,0,0,0,};//顯示緩沖unsignedcharly_dis[4];//定義溫度顯示緩沖區(qū)/***********短延時******************/ voidDelay5Ms(void){ unsignedintTempCyc=5552; while(TempCyc--);}/***********長延時******************/ voidDelay400Ms(void){ unsignedcharTempCycA=5; unsignedintTempCycB; while(TempCycA--){ TempCycB=7269; while(TempCycB--); }}/***********讀狀態(tài)*******************/ unsignedcharReadStatusLCD(void){ LCD_Data=0xFF; LCD_RS=0; LCD_RW=1; LCD_E=0; LCD_E=0; LCD_E=1; while(LCD_Data&Busy);//檢測忙信號 return(LCD_Data);}/***********寫數(shù)據(jù)***************/ voidWriteDataLCD(unsignedcharWDLCD){ ReadStatusLCD();//檢測忙 LCD_Data=WDLCD; LCD_RS=1; LCD_RW=0; LCD_E=0; //若晶振速度太高可以在這后加小的延時 LCD_E=0; //延時 LCD_E=1;}/***********寫指****************/ voidWriteCommandLCD(unsignedcharWCLCD,BuysC)//BuysC為0時忽略忙檢測{ if(BuysC)ReadStatusLCD();//根據(jù)需要檢測忙 LCD_Data=WCLCD; LCD_RS=0; LCD_RW=0; LCD_E=0; LCD_E=0; LCD_E=1;}/***********初始化**************/ voidLCDInit(void){ LCD_Data=0; WriteCommandLCD(0x38,0); //三次模式設(shè)置,不檢測忙信號 Delay5Ms(); WriteCommandLCD(0x38,0); Delay5Ms(); WriteCommandLCD(0x38,0); Delay5Ms(); WriteCommandLCD(0x38,1); //顯示模式設(shè)置,開始要求每次檢測忙信號 WriteCommandLCD(0x08,1); //關(guān)閉顯示 WriteCommandLCD(0x01,1); //顯示清屏 WriteCommandLCD(0x06,1); //顯示光標(biāo)移動設(shè)置 WriteCommandLCD(0x0C,1); //顯示開及光標(biāo)設(shè)置}/***********按指定位置顯示一個字符***********************/ voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData){ Y&=0x1; X&=0xF; //限制X不能大于15,Y不能大于1 if(Y)X|=0x40; //當(dāng)要顯示第二行時地址碼+0x40; X|=0x80; //算出指令碼 WriteCommandLCD(X,0);//這里不檢測忙信號,發(fā)送地址碼 WriteDataLCD(DData);}/***********按指定位置顯示一串字符**********************/ voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData){ unsignedcharListLength; ListLength=0; Y&=0x1; X&=0xF; //限制X不能大于15,Y不能大于1 while(DData[ListLength]>=0x20){//若到達(dá)字串尾則退出 if(X<=0xF){ //X坐標(biāo)應(yīng)小于0xF DisplayOneChar(X,Y,DData[ListLength]);//顯示單個字符 ListLength++; X++; } }}voidConut(void){ time=TH0*256+TL0; TH0=0; TL0=0; S=(time*c)/2000;//算出來是mm if((S>=7000)||flag==1)//超出測量范圍顯示“-” { flag=0; DisplayOneChar(10,1,'-'); DisplayOneChar(11,1,'.'); //顯示點(diǎn) DisplayOneChar(12,1,'-'); DisplayOneChar(13,1,'-'); DisplayOneChar(14,1,'-'); DisplayOneChar(15,1,'M'); //顯示M } else { l_disbuff[0]=S%10000/1000+0x30;//這里加上0X30是將數(shù)字轉(zhuǎn)為ASCII碼 l_disbuff[1]=S%1000/100+0x30; l_disbuff[2]=S%100/10+0x30; l_disbuff[3]=S%10+0x30; DisplayOneChar(10,1,l_disbuff[0]); DisplayOneChar(11,1,'.'); //顯示點(diǎn) DisplayOneChar(12,1,l_disbuff[1]); DisplayOneChar(13,1,l_disbuff[2]); DisplayOneChar(14,1,l_disbuff[3]); DisplayOneChar(15,1,'M'); //顯示M }}voidzd0()interrupt1 //T0中斷用來計數(shù)器溢出,超過測距范圍{flag=1; //中斷溢出標(biāo)志}voidStartModule() //啟動模塊{ TX=1; //啟動一次模塊 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0;}voiddelay(unsignedinttime){ while(time--);}voidmain(void){ unsignedchari; Delay400Ms(); //啟動等待,等LCD講入工作狀態(tài) LCDInit(); //初始化 Delay5Ms(); //延時片刻(可不要) DisplayListChar(0,0,tm); DisplayListChar(0,1,Cls); for(i=0;i<5;i++) Delay400Ms(); //延時 DisplayListChar(0,1,Cls); TMOD=0x01; //設(shè)T0為方式1 TH0=0; TL0=0; ET0=1;//允許T0中斷 EA=1; //開啟總中斷 while(1) { tmpchange(); //溫度轉(zhuǎn)換 { ltemp=tmp()/16; //取整數(shù)顯示 if(ltemp<0){ //判斷第一位顯示整數(shù)還是負(fù)號 ly_dis[0]=0xbf; ltemp=0-ltemp; } else ly_dis[0]=ltemp/100;//顯示百位值 ltemp=ltemp%100; ly_dis[1]=ltemp/10; //顯示溫度十位值 ly_dis[2]=ltemp%10; //顯示溫度個位值 i=0; } i++; DisplayOneChar(13,0,table1[ly_dis[1]]); DisplayOneChar(14,0,table1[ly_dis[2]]); c=331.45+0.61*ltemp; StartModule(); while(!RX); //當(dāng)RX為零時等待 TR0=1; //開啟計數(shù) while(RX); //當(dāng)RX為1計數(shù)并等待 TR0=0; //關(guān)閉計數(shù) Conut(); //計算 for(i=0;i<10;i++) Delay5Ms(); //延時50MSif(S<=500) { SPK=0; delay(50000); //開啟蜂鳴延時 delay(50000); SPK=1; delay(50000); //關(guān)閉蜂鳴延時 delay(50000); } }/****DS18B20.H****/#defineucharunsignedchar#defineuintunsignedintsbitDS=P3^2;

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論