超聲波測距儀實(shí)時(shí)顯示聲光警報(bào)畢業(yè)設(shè)計(jì)論文報(bào)告_第1頁
超聲波測距儀實(shí)時(shí)顯示聲光警報(bào)畢業(yè)設(shè)計(jì)論文報(bào)告_第2頁
超聲波測距儀實(shí)時(shí)顯示聲光警報(bào)畢業(yè)設(shè)計(jì)論文報(bào)告_第3頁
超聲波測距儀實(shí)時(shí)顯示聲光警報(bào)畢業(yè)設(shè)計(jì)論文報(bào)告_第4頁
超聲波測距儀實(shí)時(shí)顯示聲光警報(bào)畢業(yè)設(shè)計(jì)論文報(bào)告_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

摘要機(jī)器人通過其感知系統(tǒng)覺察前方障礙物距離和周圍環(huán)境來實(shí)現(xiàn)繞障、自動(dòng)尋線、測距等功能。超聲波測距相對(duì)其他測距技術(shù)而言成本低廉,測量精度較高,不受環(huán)境的限制,應(yīng)用方便,將它與紅外傳感器等結(jié)合共同實(shí)現(xiàn)機(jī)器人尋線和繞障功能。本文介紹了基于STC89C51的超聲波測距系統(tǒng),闡述了超聲波測距系統(tǒng)的硬件設(shè)計(jì)、軟件設(shè)計(jì)與其工作原理。該設(shè)計(jì)主要由單片機(jī)控制模塊、數(shù)碼管顯示模塊、DS18B20溫度補(bǔ)償模塊以與聲光報(bào)警模塊等構(gòu)成。利用超聲波的反射原理,計(jì)算超聲波在空氣中的傳播時(shí)間的一半再乘以經(jīng)過溫度補(bǔ)償修正后的速度就可以得出障礙物到傳感器之間的距離,并在數(shù)碼管顯示出來。同時(shí),該系統(tǒng)在測量距離小于10cm時(shí)能進(jìn)行聲光報(bào)警。該系統(tǒng)具有硬件電路簡單、成本低、工作可靠、功耗低、體積小、誤差小、有良好的測量精度等優(yōu)點(diǎn)。目前,超聲波清洗技術(shù)、雷達(dá)技術(shù)等在醫(yī)學(xué)、軍事上占據(jù)著重要地位,因此研究超聲波技術(shù)具有一定的研究意義。本設(shè)計(jì)作品基本滿足設(shè)計(jì)的要求,有一定的推廣性,同時(shí)針對(duì)不足,如測量距離過小等,文章在最后提出了一些改進(jìn)性能的可行性方案。關(guān)鍵字:單片機(jī);傳感器;超聲波測距;溫度補(bǔ)償Abstractrobotthroughitsperceptionsystemtodetectobstaclesthatinfrontoftheroadandthesurroundingenvironmenttoachievethedistancearoundthebarrier,autohunt,rangeandotherfunctions.UltrasonicRangingintermstootherrangingtechnologyislow-cost,highaccuracy,withoutenvironmentalconstraints,andconvenient,itwillbecombinedtogetherwithinfraredsensorsachieverobothuntaroundthebarrierfunction.ThisarticledescribestheultrasonicrangingsystembasedonSTC89C51,whichelaborateultrasonicRangingSystemhardwaredesign,softwaredesignanditsworkingprinciple.Thedesignismainlycontrolledbythemicrocontrollermodule,LEDdisplaymodule,DS18B20temperaturecompensationmodule,aswellassoundandlightalarmmoduleconstitute.Usingtheprincipleofreflectionoftheultrasonicwave,Calculatetheultrasonicpropagationtimeintheairinhalfandthenmultipliedbythespeedafterthecorrectionofthetemperaturecompensationthatcanbedrawnbetweentheobstacletothesensordistance,Anddigitaldisplay.Secondly,thesoundandlightalarmwhenthesystemmeasuringdistancelessthan10cm.ThesystemhasanAdvantageofSimplehardwarecircuit,lowcost,reliable,lowpowerconsumption,smallsize,theerrorissmall,haveagoodmeasurementaccuracy,etc..Atpresent,theultrasoniccleaningtechnology,radartechnologyinmedicine,themilitaryoccupiesanimportantposition,sotheresearchultrasoundtechnologyhasacertainsignificance.Thisdesignworksbasicallymeetthedesignrequirements,therearecertainpromotional,whilefordeficiencies,suchasmeasuringthedistanceistoosmall,etc.,thearticleconcludeswithanumberofimprovementsintheperformanceofthefeasibilityoftheprogram.KeyWords:MCU;Sensor;UltrasonicRanging;Temperaturecompensation目錄TOC\o"1-3"\h\u5157摘要130807Abstract214836第一章緒論5264101.1課題的研究背景 5149051.2超聲波在國外的發(fā)展現(xiàn)狀 6235931.3研究目的和意義 7254591.4研究容 728081.5論文結(jié)構(gòu) 83629第二章系統(tǒng)方案設(shè)計(jì)9129162.1設(shè)計(jì)要求 9238032.2設(shè)計(jì)方案 95740第三章硬件設(shè)計(jì)1157173.1AT89C51單片機(jī)簡介 1197983.1.1AT89C51各引腳的含義和功能 11198053.2系統(tǒng)硬件設(shè)計(jì)組成部分 14325443.2.1AT89C51單片機(jī)最小系統(tǒng) 14153443.2.2數(shù)碼管顯示模塊 14311443.2.3超聲波發(fā)射接收模塊 15257833.2.4聲光報(bào)警模塊 21299093.2.5復(fù)位電路 21222173.2.6DS18B20溫度補(bǔ)償電路 22101033.2.6.1DS18B20部結(jié)構(gòu)與測溫原理 2324293.2.6.2DS18B20的封裝形式與引腳功能 25393.2.6.3DS18B20的供電方式 25151443.2.7+5V電源模塊 2710885第四章軟件設(shè)計(jì)28104124.1軟件整體設(shè)計(jì) 28278964.2系統(tǒng)主要模塊程序設(shè)計(jì) 29139404.2.1超聲波發(fā)射程序與接收中斷子程序 2914294.2.2DS18B20訪問程序 2926911第五章調(diào)試與檢測31299255.1硬件測試 31276775.2軟件測試 32112965.3結(jié)果分析 3264215.4誤差來源 32138675.5解決方案 33128565.6本設(shè)計(jì)所做工作 331686總結(jié)與展望3515142詞3610395參考文獻(xiàn)3722503附錄1電路原理圖與PCB圖382539附錄2程序清單40第一章緒論超聲波以其指向性好、穿透能力強(qiáng)、能量消耗緩慢、環(huán)境污染小等優(yōu)點(diǎn),因而超聲波常用于距離測量。利用超聲波檢測往往比較方便、迅速、計(jì)算簡單、易于做到實(shí)時(shí)控制,且在測量精度方面能達(dá)到工業(yè)實(shí)用的要求,因此在移動(dòng)機(jī)器人研制上也得到了廣泛的應(yīng)用。其中,超聲波技術(shù)首先在歐美興起并日趨成熟,我國在超聲波技術(shù)的研究上相對(duì)遲緩,但近十年在超聲波上的成就也有很大的突破。本章主要介紹超聲波測距的研究背景、超聲波技術(shù)在國外的發(fā)展現(xiàn)狀、研究目的和意義以與本章的研究容,最后在本章末尾還介紹了本論文的章節(jié)安排。1.1課題的研究背景超聲波是頻率高于20KHZ的聲波,它的方向性好,穿透能力強(qiáng),容易獲得較集中的聲能,在水中傳播的距離遠(yuǎn),因而超聲波常用于距離測量,在醫(yī)學(xué)、軍事、工業(yè)、農(nóng)業(yè)等諸多領(lǐng)域中有廣泛的應(yīng)用。例如:立體超聲顯象、雷達(dá)、工業(yè)自動(dòng)化控制、超聲的空化作用等。超聲波測距主要應(yīng)用于倒車?yán)走_(dá)、建筑施工工地以與一些工業(yè)現(xiàn)場,例如:液位、井深、管道長度等場合。目前國一般使用專用集成電路設(shè)計(jì)超聲波測距儀,但是專用集成電路的成本高,并且沒有顯示,操作使用不方便。超聲波可用于非接觸測量,具有不受光、電磁波以與粉塵等外界因素的干擾等優(yōu)點(diǎn),是通過計(jì)算超聲波在被測物體和超聲波探頭之間的傳輸時(shí)間來測量距離的,對(duì)被測目標(biāo)無損害,而且超聲波的傳播速度在相當(dāng)大圍與頻率無關(guān)。超聲波的這些獨(dú)特優(yōu)點(diǎn)逐漸受到人們的重視。超聲波傳感器根據(jù)結(jié)構(gòu)的不同可以分為壓電式、電磁式、磁致伸縮式等,超聲波探頭主要由壓電晶片組成,既可以發(fā)射超聲波,也可以接收超聲波。超聲波是指頻率高于20kHz的機(jī)械波,由換能晶片在電壓的激勵(lì)下發(fā)生振動(dòng)產(chǎn)生的,它具有頻率高、波長短、繞射現(xiàn)象小,特別是方向性好、能夠成為射線而定向傳播等特點(diǎn)。在戶外使用傳感器的設(shè)備中,如果要求精度較高,則需要超聲波技術(shù)有良好的抑制噪音的能力,能區(qū)別噪音和反射信號(hào)。如果多個(gè)超聲波傳感器同時(shí)工作,則要同時(shí)兼顧計(jì)算機(jī)處理速度和防止傳感器之間的干擾。采用模式編碼聲吶[12]就能很好地解決這個(gè)問題。由于超聲波在空氣中的傳播速度受溫度的影響,速度隨溫度的變化而變化,溫度每變化一度,超聲波速度變化0.6m/s,近似公式為:C=C0+0.607×T,式中:C0為零度時(shí)的超聲波速度331.5m/s,T為實(shí)際溫度(℃):[2]表1.1列出了超聲波在不同溫度下的傳播速度。在使用過程中,如果精度要求不高,則可以認(rèn)為傳播速度不變。但如果要求精度高,則需要增加溫度補(bǔ)償電路,以達(dá)到所需精度要求。表1.1不同溫度下超聲波聲速表[2]溫度(℃)-30-20-100102030100速度(m/s)313319325323338344349386一般情況下,為了適應(yīng)不同溫度下的工作要求,用軟件進(jìn)行溫度補(bǔ)償?shù)墓綖镃=331.5+0.607T(1)其中C為校正后的速度,T為當(dāng)時(shí)檢測的溫度。校正后的速度如表1.2所示,校正后的速度最大誤差不超過5%。表1.2補(bǔ)償后聲速與溫度的關(guān)系[2]溫度/℃-30-20-100102030100聲速/(m/s)313319325331337343349381超聲波的特點(diǎn):①超聲波在不同介質(zhì)中的傳播速度不同;②超聲波通過兩種或兩種以上的介質(zhì)時(shí)會(huì)產(chǎn)生反射和折射的現(xiàn)象;③超聲波在空氣中的傳播有較大的衰減,尤其是頻率較大時(shí)衰減更大,因此在空氣中傳播時(shí)采用頻率較低的超聲波,一般采用頻率為幾十千赫茲的超聲波,典型應(yīng)用頻率為40KHZ;④超聲波的頻率比音頻高,所以超聲波不易被環(huán)境中的噪音所干擾。本課題要求利用單片機(jī)設(shè)計(jì)一個(gè)低成本、高精度、微型化的數(shù)字顯示聲光報(bào)警的超聲波測距儀,本文所述的超聲波測距系統(tǒng)主要由聲波發(fā)射模塊,回波接收模塊、基于AT89C51的控制模塊、溫度檢測模塊、報(bào)警模塊以與顯示模塊。具有靈活性強(qiáng),可靠性高,計(jì)算簡單,易于做到實(shí)時(shí)控制等優(yōu)點(diǎn)。1.2超聲波在國外的發(fā)展現(xiàn)狀從19世紀(jì)末到20世紀(jì)初,人類在物理學(xué)上發(fā)現(xiàn)了壓電效應(yīng)與反壓電效應(yīng)之后,人們終于解決了利用電子學(xué)技術(shù)產(chǎn)生超聲波的方法,從此迅速推動(dòng)了超聲波技術(shù)的發(fā)展。1922年,首例超聲波治療的發(fā)明專利出現(xiàn)在德國。1939年發(fā)表了關(guān)于超聲波治療在臨床取得效果的文獻(xiàn)報(bào)道。40年代末期超聲治療在歐美興起,直到1949年召開的第一次國際醫(yī)學(xué)超聲波學(xué)術(shù)會(huì)議上,才有了有關(guān)超聲治療方面的論文交流,為超聲治療學(xué)的發(fā)展與應(yīng)用奠定了基礎(chǔ)。在1956年第二屆國際超聲醫(yī)學(xué)學(xué)術(shù)會(huì)議上已有許多關(guān)于超聲波的論文發(fā)表,超聲治療進(jìn)入實(shí)用成熟階段。國在超聲治療領(lǐng)域起步比歐美晚,到20世紀(jì)50年代初才只有少數(shù)醫(yī)院開展超聲治療的工作,從1950年首先開始用800KHZ頻率的超聲治療機(jī)治療多種疾病,到50年代開始逐漸推廣,并有了國產(chǎn)儀器。公開的文獻(xiàn)報(bào)道始見于1957年,到70年代有了各型國產(chǎn)超聲治療儀,超聲治療法普與到全國各大型醫(yī)院。40多年來,全國各大醫(yī)院已積累了相當(dāng)豐厚的資料和比較豐富的臨床經(jīng)驗(yàn)。特別是在20世紀(jì)80年代初出現(xiàn)的超聲體外機(jī)械波碎石術(shù)和超聲外科,這是結(jié)石癥治療史上的重大突破,如今已在國際圍推廣應(yīng)用。高強(qiáng)度聚焦超聲無創(chuàng)外科,已使超聲治療在當(dāng)代醫(yī)療技術(shù)中占據(jù)重要位置,而在21世紀(jì)(HIFU)超聲聚焦外科已被譽(yù)為是21世紀(jì)治療腫瘤的最新技術(shù)。1.3研究目的和意義超聲波既是一種波動(dòng)形式,同時(shí)又是一種能量形式,當(dāng)其強(qiáng)度超過一定值時(shí),它就可以通過與傳播超聲波的媒質(zhì)的相互作用,去影響、改變以致破壞后者的狀態(tài)、性質(zhì)與結(jié)構(gòu)用作治療。超聲波技術(shù)在醫(yī)學(xué)、軍事、化工等行業(yè)占據(jù)著重要的地位,研究超聲波測距技術(shù)有著非常重要的意義。目前對(duì)于超聲波精確測距的需求也越來越大,例如油庫和水箱液面的精確測量和控制,物體氣孔大小的檢測和機(jī)械部損傷的檢測等。在機(jī)械制造,電子冶金,航海,航空,石油化工,交通運(yùn)輸?shù)裙I(yè)領(lǐng)域也有廣泛地應(yīng)用。此外,在材料科學(xué),醫(yī)學(xué),生物科學(xué)等領(lǐng)域中也占具重要地位。1.4研究容本課題的研究對(duì)象是超聲波測距儀,利用單片機(jī)來控制超聲波的發(fā)射與接收,并在數(shù)碼管上顯示出障礙物與傳感器之間的距離?;舅枷刖褪抢肁T89C51單片機(jī)做為主控制模塊,控制HC-SR04超聲波發(fā)射超聲波以與接收回波信號(hào),在單片機(jī)處理數(shù)據(jù)并通過數(shù)碼管顯示出來。本設(shè)計(jì)中還利用DS18B20進(jìn)行溫度補(bǔ)償,以減小測距誤差。系統(tǒng)硬件主要由電源電路、單片機(jī)主控制模塊、數(shù)碼管顯示模塊、DS18B20溫度補(bǔ)償模塊以與聲光報(bào)警模塊等。由于超聲波清洗速度快、質(zhì)量好、污染小,因此,超聲波清洗技術(shù)正在越來越多的工業(yè)中得到應(yīng)用。除此之外,超聲波金屬焊接的應(yīng)用、超聲波美容換能器的應(yīng)用、雷達(dá)等,都體現(xiàn)了超聲波對(duì)各行業(yè)起著重要的作用。超聲波測距主要應(yīng)用于倒車?yán)走_(dá)、建筑施工工地以與一些工業(yè)現(xiàn)場,例如:井深、液位、管道長度等場合。目前國一般使用專用集成電路設(shè)計(jì)超聲波測距儀,但是專用集成電路的成本很高,且沒有顯示,操作不方便。本課題要求利用單片機(jī)設(shè)計(jì)一個(gè)高精度、低成本、微型化的數(shù)字顯示超聲波測距儀。1.5論文結(jié)構(gòu)本文介紹了一種基于單片機(jī)系統(tǒng)模塊為核心的超聲波測距的設(shè)計(jì)與實(shí)現(xiàn)方案,并簡要介紹了相關(guān)背景、研究容以與應(yīng)用,具體組織結(jié)構(gòu)如下:第一章:緒論。主要闡述課題的研究背景、研究現(xiàn)狀以與研究目的和意義等;第二章:系統(tǒng)方案設(shè)計(jì)。主要介紹系統(tǒng)的功能和總體設(shè)計(jì)方案;第三章:硬件設(shè)計(jì)。主要闡述系統(tǒng)硬件電路的分析與實(shí)現(xiàn);第四章:軟件設(shè)計(jì)。主要闡述系統(tǒng)軟件編程與實(shí)施方案;第五章:系統(tǒng)測試。主要闡述系統(tǒng)功能、性能測試和結(jié)果分析以與解決方案等。第二章系統(tǒng)方案設(shè)計(jì)距離測量的方法很多,但超聲波測距以其非接觸式、攜帶方便、簡單易用等優(yōu)點(diǎn)被人們廣為應(yīng)用。本章主要講述本設(shè)計(jì)的設(shè)計(jì)要求與設(shè)計(jì)方案,對(duì)以AT89C51為主控制模塊的超聲波測距儀進(jìn)行結(jié)構(gòu)分析與設(shè)計(jì)。2.1設(shè)計(jì)要求系統(tǒng)主要研究的是基于單片機(jī)的超聲波測距,其主要功能要求如下:能實(shí)時(shí)顯示測量距離;當(dāng)距離小于預(yù)置值時(shí)(本設(shè)計(jì)預(yù)置值為10cm),系統(tǒng)指示燈閃爍且蜂鳴器報(bào)警提示;測量距離誤差小于1cm;本設(shè)計(jì)擴(kuò)展功能如下:能進(jìn)行溫度補(bǔ)償并顯示溫度值;當(dāng)距離大于200cm時(shí)數(shù)碼管顯示CCC;當(dāng)環(huán)境溫度大于90℃時(shí),蜂鳴器報(bào)警提示。2.2設(shè)計(jì)方案1設(shè)計(jì)思路我們可以通過尺、激光測距等原理來實(shí)現(xiàn)距離測量,但通過尺測量速度慢,效率低;激光測距精度高速度快,但成本高。本文章所提出的超聲波測距儀實(shí)現(xiàn)了低成本、電路簡單、使用方便、相對(duì)高的精度等優(yōu)點(diǎn)。超聲波測距儀是通過單片機(jī)控制發(fā)射出40KHZ頻率的超聲波,以此同時(shí)單片機(jī)的定時(shí)器開始計(jì)時(shí),超聲波遇到障礙物反射回來由超聲波接收探頭接收信號(hào)并產(chǎn)生中斷,定時(shí)器停止計(jì)時(shí)。單片機(jī)通過溫度傳感器進(jìn)行溫度補(bǔ)償校正超聲波此時(shí)環(huán)境溫度下的速度,由路程與速度和時(shí)間的關(guān)系計(jì)算出傳感器與障礙物之間的距離。根據(jù)設(shè)計(jì)要求,并綜合考慮各種因素,本文章選擇STC89C51單片機(jī)做為主控制模塊,它控制40KHZ脈沖的觸發(fā)和超聲波從發(fā)射到接收的時(shí)間差,并顯示障礙物到傳感器的距離;用DS18B20進(jìn)行溫度補(bǔ)償,校正超聲波在不同溫度下的傳播速度;用發(fā)光二極管和蜂鳴器實(shí)現(xiàn)報(bào)警提示電路;用HC-SR04超聲波模塊實(shí)現(xiàn)超聲波的發(fā)射與接收。系統(tǒng)設(shè)計(jì)的整體框圖如圖2.1所示:2系統(tǒng)最終方案通過各個(gè)模塊的分析和論證(詳細(xì)請(qǐng)看第三章),決定系統(tǒng)各模塊的最終方案如下:1、控制模塊:采用STC89S51單片機(jī)做主控制器;2、超聲波發(fā)射接收模塊:HC-SR04超聲波模塊;4、顯示模塊:四位一體共陽極數(shù)碼管;5、報(bào)警模塊:蜂鳴器和發(fā)光LED;6、溫度補(bǔ)償模塊:DS18B20溫度傳感器芯片。數(shù)碼管顯示模塊數(shù)碼管顯示模塊DS18B20溫度補(bǔ)償模塊DS18B20溫度補(bǔ)償模塊AT89C51單片機(jī)控制系統(tǒng)聲光報(bào)警模塊聲光報(bào)警模塊超聲波發(fā)射模塊超聲波接收模塊超聲波發(fā)射模塊超聲波接收模塊圖2.1系統(tǒng)設(shè)計(jì)整體框圖第三章硬件設(shè)計(jì)超聲波測距儀主要由單片機(jī)控制模塊、數(shù)碼管顯示模塊、聲光報(bào)警模塊、DS18B20模塊以與HC-SR04模塊組成。本章節(jié)主要講述單片機(jī)各引腳功能、各模塊的設(shè)計(jì)原理圖或選擇方案等。3.1AT89C51單片機(jī)簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51主要特性●與MCS-51兼容

●4K字節(jié)可編程閃爍存儲(chǔ)器

●壽命:1000寫/擦循環(huán)●數(shù)據(jù)保留時(shí)間:10年

●全靜態(tài)工作:0Hz-24Hz

●三級(jí)程序存儲(chǔ)器鎖定

●128*8位部RAM

●32可編程I/O線

●兩個(gè)16位定時(shí)器/計(jì)數(shù)器

●5個(gè)中斷源

●可編程串行通道

●低功耗的閑置和掉電模式

●片振蕩器和時(shí)鐘電路●外形封裝:40腳PDIP3.1.1AT89C51各引腳的含義和功能電源引腳VCC和VSSVCC(Pin40):電源端,正常工作電壓接電源+5V,正電源接4.0~5.0V電壓。GND:電源接地端。圖3.1AT89C51和AT89C2051的管腳圖XTAL1和XTAL2為外接晶振或外部振蕩器引腳XTAL1(Pin19)和XTAL2(Pin18)分別為STC89C52的片震蕩器反相放大器的輸入端和輸出端,同時(shí),XTAL2也是部時(shí)鐘發(fā)生器的輸入端。當(dāng)使用自激震蕩方式時(shí),XTAL1和XTAL2外接石英晶振,使部振蕩器按照石英晶振的頻率震蕩,即產(chǎn)生時(shí)鐘信號(hào)??刂菩盘?hào)引腳RST(Pin9)RST為單片機(jī)部CPU的復(fù)位信號(hào)輸入端。復(fù)位功能:當(dāng)單片機(jī)上電后,在該引腳上出現(xiàn)兩個(gè)機(jī)器周期寬度以上的高電平,就會(huì)使單片機(jī)復(fù)位??稍赗ST和VCC之間接一個(gè)10μf的電容,RST再經(jīng)一個(gè)10KΩ的下拉電阻接地,就可以實(shí)現(xiàn)單片機(jī)上電自動(dòng)復(fù)位。ALE/(Pin30)ALE為低八位地址鎖存使能輸出和編程脈沖輸入端。地址鎖存使能輸出ALE:當(dāng)單片機(jī)訪問外部存儲(chǔ)器時(shí),外部存儲(chǔ)器的16為地址信號(hào)由P0口輸出低8位,P2口輸出高8位;而不用外部存儲(chǔ)器地址鎖存控制信號(hào)時(shí),該引腳仍以時(shí)鐘震蕩頻率的1/6固定地輸出正脈沖,該信號(hào)可以用于外部計(jì)數(shù)或時(shí)鐘信號(hào)。可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。在Flash編程時(shí),用于輸入編程脈沖。(Pin29)為訪問外部程序存儲(chǔ)器讀選通信號(hào),可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載,為外部程序存儲(chǔ)器控制信號(hào)。當(dāng)單片機(jī)訪問外部程序存儲(chǔ)器時(shí),讀指令代碼,(Pin29)腳輸出兩個(gè)負(fù)脈沖選通信號(hào);在執(zhí)行片程序存儲(chǔ)器讀取指令碼和讀寫外部數(shù)據(jù)時(shí),不產(chǎn)生此信號(hào)。CPU在訪問外部程序存儲(chǔ)器時(shí),在每個(gè)機(jī)器周期中,信號(hào)兩次有效。(4)/VPP(Pin31)為訪問外部或部程序存儲(chǔ)器選擇信號(hào),在進(jìn)行Flash編程時(shí),提供Flash編程電壓VPP。:當(dāng)=1時(shí),CPU從片程序存儲(chǔ)器開始讀取指令;如果外部還有擴(kuò)展程序存儲(chǔ)器,則CPU在執(zhí)行完部程序存儲(chǔ)器程序后,自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器程序。當(dāng)=0時(shí),CPU僅訪問片外程序存儲(chǔ)器。VPP:在對(duì)8952部EPROM編程時(shí),此引腳應(yīng)接21V編程電源。并行I/0口P0~P3口引腳P0口即P0.0~P0.7(Pin39~Pin32)P0口是一個(gè)8位漏極開路型雙向I/0端口,P0口可做為通用I/O口使用。在CPU訪問片外存儲(chǔ)器時(shí),P0口自動(dòng)做為地址/數(shù)據(jù)復(fù)用總線使用;定義為I/O端口時(shí),需要外接上拉電阻,是準(zhǔn)雙向I/O口;在對(duì)EPROM編程時(shí),由P0口輸入指令字節(jié),在驗(yàn)證程序時(shí),P0輸出指令字節(jié)(驗(yàn)證時(shí)應(yīng)接上拉電阻)。P0口能以吸收電流的方式驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。P1口即P1.0~P1.7(Pin1~Pin8)P1口是8位準(zhǔn)雙向的并行I/O端口,當(dāng)需要某位先輸入的時(shí)候,應(yīng)該在輸入操作前,加一條輸出1的指令,然后再輸入才正確。P1口是部具有上拉電阻的8位準(zhǔn)雙向I/O口,能驅(qū)動(dòng)4個(gè)TTL負(fù)載。對(duì)于AT89S52,P1端口的某些引腳還可以有第二功能。P1.0引腳定時(shí)計(jì)數(shù)器2的外部事件計(jì)數(shù)輸入端口,P1.1引腳用于定時(shí)計(jì)數(shù)器2的外部控制端口。P1.5~P1.7還用于片F(xiàn)lash的編程。P2口即P2.0~P2.7(Pin21~Pin28)當(dāng)P2口用做高8位地址時(shí),控制信號(hào)用電子模擬開關(guān)MUX接通地址端,高8位地址信號(hào)便加到輸出端口,從而實(shí)現(xiàn)9位地址的輸出。P2口做輸入輸出腳,為8位準(zhǔn)雙向并行的I/O口;當(dāng)P2用做普通I/O口時(shí),P2口可以驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。P3口即P3.0~P3.7(Pin10~Pin17)P3口是8位準(zhǔn)雙向并行的I/O口,一個(gè)具有第二變異功能且可位操作的端口。當(dāng)作為普通I/0端口時(shí),P3口可以進(jìn)行位操作,是準(zhǔn)雙向端口,可以驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。當(dāng)系統(tǒng)需要擴(kuò)展外部器件時(shí),P3口可以作為第二功能使用,其各位的功能如表3.1所示。表3.1P3端口的第二功能I/O端口第二功能名稱功能介紹P3.0RXD串行通信數(shù)據(jù)接收端口P3.1TXD串行通信數(shù)據(jù)發(fā)送端口P3.2外部中斷0請(qǐng)求端口P3.3外部中斷1請(qǐng)求端口P3.4T0定時(shí)/計(jì)數(shù)器0外部事件計(jì)數(shù)輸入端P3.5T1定時(shí)/計(jì)數(shù)器1外部事件計(jì)數(shù)輸入端P3.6外部數(shù)據(jù)存儲(chǔ)單元寫選通信號(hào)P3.7外部數(shù)據(jù)存儲(chǔ)單元讀選通信號(hào)3.2系統(tǒng)硬件設(shè)計(jì)組成部分系統(tǒng)硬件設(shè)計(jì)主要有STC89C51控制模塊,顯示模塊,超聲波發(fā)射接收模塊以與聲光報(bào)警模塊組成。3.2.1AT89C51單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)是單片機(jī)能夠工作的最小硬件組合。最小系統(tǒng)電路主要包括復(fù)位電路、電源、晶體振蕩器等。89X51單片機(jī)的最小系統(tǒng)如圖3.2所示。最小系統(tǒng)中,時(shí)鐘腳XTAL1和XTAL2外接12MHZ石英晶振并通過兩個(gè)22pf的電容接地,同時(shí)采用了手動(dòng)加上電復(fù)位電路。復(fù)位電路中的電容和電阻的取值根據(jù)其充放電時(shí)間常數(shù)來定。例如圖3的最小系統(tǒng)中的充電時(shí)間常數(shù)=10×10-6×10×103s=10ms,此時(shí)間常數(shù)足以使RST在保持為高電平的時(shí)間完成復(fù)位操作。P0口定義為I/O口時(shí),需外接上拉電阻,為準(zhǔn)雙向I/O口。3.2.2數(shù)碼管顯示模塊數(shù)碼管顯示電路由一個(gè)四位一體的共陽數(shù)碼管、上拉電阻、PNP做開關(guān)組成,數(shù)碼管顯示電路如圖3.3所示。顯示電路是通過單片機(jī)控制,將距離的百位、十位、個(gè)位的十六進(jìn)制數(shù)送至P0口,經(jīng)過上拉電阻送到數(shù)碼管的數(shù)據(jù)輸入端,并通過P2.0~P2.3控制PNP的開通與關(guān)閉。當(dāng)PNP導(dǎo)通時(shí),相應(yīng)的三極管控制的數(shù)碼管就會(huì)工作,從而數(shù)碼管就會(huì)顯示障礙物到傳感器的距離。其中P2.2控制個(gè)位,P2.1控制十位,P2.0控制百位。圖3.2單片機(jī)最小系統(tǒng)3.2.3超聲波發(fā)射接收模塊方案一:采用HC-SR04型超聲波測距模塊HC-SR04超聲波測距模塊能夠測量2cm-400cm距離的障礙物,具有非接觸式距離感測功能,測量精度最大可達(dá)到3mm;此模塊包括超聲波發(fā)射器、接收器以與控制電路。HC-SR04超聲波測距模塊的實(shí)物圖如圖3.4所示。HC-SR04的基本工作原理如下:(1)通過給TRIG一個(gè)至少10μs的高電平,即可觸發(fā)IO口測距。(2)當(dāng)TRIG被觸發(fā)時(shí),模塊自動(dòng)發(fā)送8個(gè)40KHZ的方波,并自動(dòng)檢測是否有信號(hào)返回。當(dāng)檢測到有信號(hào)返回時(shí),IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波發(fā)射有接收信號(hào)的時(shí)間。測試距離=(聲速(340m/s)*高電平時(shí)間)/2。3.4HC-SR04實(shí)物圖圖3.3數(shù)碼管顯示模塊如圖3.4所示,HC-SR04模塊有四個(gè)管腳,其中VCC接5V電源,GND接地線,TRIG觸發(fā)控制信號(hào)輸入,ECHO回響信號(hào)輸出,HC-SR04電氣參數(shù)如表3.2所示:表3.2HC-SR04電氣參數(shù)電氣參數(shù)HC-SR04超聲波模塊工作電壓DC5V工作電流15mA工作頻率40KHZ最遠(yuǎn)射程4m最近射程2cm測量角度15度輸入觸發(fā)信號(hào)10μS的TTL脈沖輸出回響信號(hào)輸出TTL電平信號(hào),與射程成比例規(guī)格尺寸45*20*15mm超聲波時(shí)序圖如圖3.6所示。從時(shí)序圖可以看出,只要給觸發(fā)信號(hào)一個(gè)10μs以上的高電平,HC-SR04模塊部就會(huì)自動(dòng)循環(huán)發(fā)出8個(gè)40KHZ的脈沖,一旦檢測到回波信號(hào)就會(huì)輸出回響信號(hào),回響信號(hào)的脈沖寬度魚檢測距離成正比。由此就可以通過發(fā)射超聲波到接收信號(hào)的時(shí)間間隔計(jì)算出障礙物到傳感器的距離。檢測距離=聲速*高電平持續(xù)時(shí)間/2。圖3.6超聲波時(shí)序圖由于HC-SR04有一定的反射角和盲區(qū),因此檢測距離不因小于它的最小射程,以與所測物體的表面盡可能光滑平整,以減少誤差。同時(shí),此模塊不宜帶電連接,否則會(huì)影響模塊的正常工作。若要帶電連接,則先讓模塊的GND端先接地。方案二:采用超聲波接收模塊CX20106A以與超聲波探頭T40、R40超聲波傳感器的主要材料有壓電晶體(電致伸縮)與鎳鐵鋁合金(磁致伸縮)兩類。電致伸縮的材料有鋯鈦酸鉛(PZT)等。壓電晶體組成的超聲波傳感器是一種可逆?zhèn)鞲衅?,它能將電能轉(zhuǎn)變成機(jī)械振蕩而產(chǎn)生超聲波,同時(shí)它接收到超聲波時(shí),也能將其轉(zhuǎn)變成電能,所以它可以分為發(fā)送器或接收器。有的超聲波傳感器既作發(fā)送,也能作接收。超聲波探頭如圖7所示。超聲波傳感器的檢測圍取決于其使用的波長和頻率。波長越長,頻率越小,檢測距離越大,如具有毫米級(jí)波長的緊湊型傳感器的檢測圍為300~500mm,波長大于5mm的傳感器檢測圍可達(dá)到8m。一些傳感器具有較窄的6o聲波發(fā)射角,因而更適合精確檢測相對(duì)較小的物體。另一些聲波發(fā)射角在12o至15o的傳感器能夠檢測具有較大傾角的物體。此外,我們還有外置探頭型的超聲波傳感器,相應(yīng)的電子線路位于常規(guī)傳感器外殼。這種結(jié)構(gòu)更適合檢測安裝空間有限的場合。74LS04推挽式超聲波發(fā)射電路74LS04是6非門(反相器)他的工作電壓+5V,他的部含有6個(gè)coms反相器,74LS04的作用就是反相把1變成0,其管腳圖如圖3.7所示。超聲波發(fā)射電路原理圖如圖3.8所示。本設(shè)計(jì)采用定時(shí)中斷的方式產(chǎn)生40KHZ的方波,發(fā)射電路主要由74LS04反相器和T40超聲波發(fā)射換能器構(gòu)成,單片機(jī)P1.0端口輸出40KHZ的方波信號(hào),一路經(jīng)一級(jí)反相器輸送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級(jí)反相器輸送到換能器的另一個(gè)電極。用這種推挽輸出方式通過超聲波換能器發(fā)射信號(hào),可以提高超聲波換能器的發(fā)射強(qiáng)度。輸出端采用兩個(gè)反相器并聯(lián),可以提高驅(qū)動(dòng)能力;上拉電阻R10和R11既可以提高74LS04反相器輸出高電平的驅(qū)動(dòng)能力,又可以增強(qiáng)超聲波換能器的阻尼效果,減少其自由振蕩時(shí)間。為調(diào)試方便和修改,超聲波發(fā)射模塊和單片機(jī)之間的接口采用排針相連。超聲波發(fā)射電路如圖3.9所示。圖3.774LS04管腳圖圖3.8T40超聲波探頭實(shí)物圖圖3.9超聲波發(fā)射電路原理圖超聲波接收電路超聲波接收電路主要由專用紅外遙感接收芯片CX20106A和R40超聲波換能器組成。CX20106A有8個(gè)管腳,當(dāng)換能器接收到回波信號(hào)時(shí),管腳7就會(huì)輸出一個(gè)低電平。本設(shè)計(jì)將管腳7接到單片機(jī)的P3.2口(),當(dāng)接收到信號(hào)時(shí)外部中斷0開始中斷,停止定時(shí)器計(jì)時(shí),算出超聲波發(fā)射到接收信號(hào)的時(shí)間,算出換能器到障礙物之間的距離。CX20106A是一塊8腳單列直插式超小型塑封結(jié)構(gòu)的IC,其各引腳功能如表3.3所示:表3.3CX20106A各引腳號(hào)功能管腳號(hào)符號(hào)管腳功能1IN遙控信號(hào)輸入端2C1RC網(wǎng)絡(luò)連接端3C2檢波電容連接端4GND接地端5f0帶通濾波中心頻率設(shè)置端6C3積分電容連接端7OUT遙控指令信號(hào)輸出端8VCC供電電源端CX20106A的第5管腳的電阻決定接受的中心頻率,200K的電阻決定了接收的中心頻率為40KHZ,使用CX20106A存在一些優(yōu)缺點(diǎn):優(yōu)點(diǎn):簡單易用,電路簡單,減少了生產(chǎn)調(diào)制的麻煩。缺點(diǎn):必須保證接收到的信號(hào)為40KHZ,否則無法解調(diào)。CX20106A管腳圖如圖3.10所示。圖3.10CX20106A管腳圖超聲波接收電路原理圖如圖3.11所示:圖3.11超聲波接收電路原理圖HC-SR04超聲波發(fā)射接收模塊與用T40、R40和CX10206A制成的超聲波發(fā)射接收模塊的比較如表3.4所示:表3.4HC-SR04模塊與T40、R40和CX10206A模塊對(duì)比HC-SR04模塊T40、R40和CX10206A模塊精度≥3mm≥1cm最遠(yuǎn)射程4m2~3m最近射程2cm10cm測量角度15°成本17元24元如表3.4可以看出,使用HC-SR04超聲波發(fā)射接收模塊成本低、精度高、射程遠(yuǎn);同時(shí)由于使用CX20106A芯片和T40、R40制成的超聲波發(fā)射接收模塊,必須保證接收到的信號(hào)為40KHZ,否則無法解調(diào)出來,即無法計(jì)算出距離。HC-SR04超聲波發(fā)射接收模塊就解決了這個(gè)問題,其發(fā)射信號(hào)的頻率比較穩(wěn)定,發(fā)射超聲波的個(gè)數(shù)比較合理。其次,使用HC-SR04超聲波發(fā)射接收模塊編程很簡單,只需給TRIG一個(gè)10μS以上的高電平即可發(fā)射出頻率為40KHZ的超聲波,調(diào)試簡單;而用方案二制成的超聲波發(fā)射接收模塊編程則相對(duì)復(fù)雜,而且發(fā)射出的超聲波頻率不夠穩(wěn)定,與程序和硬件皆有關(guān)系,調(diào)試時(shí)相對(duì)麻煩。綜上各優(yōu)點(diǎn),本設(shè)計(jì)采用方案一來實(shí)現(xiàn)超聲波的發(fā)射與接收,即使用HC-SR04超聲波發(fā)射接收模塊。3.2.4聲光報(bào)警模塊聲光報(bào)警電路主要由一個(gè)有源蜂鳴器、兩個(gè)發(fā)光二極管、一個(gè)PNP三極管等組成。D1表示綠色發(fā)光二極管,D2表示紅色發(fā)光二極管。當(dāng)障礙物到傳感器的距離小于預(yù)置距離時(shí),將P1.3置0,使紅色發(fā)光二極管閃爍,同時(shí)將P1.4置0,使三極管的發(fā)射極與基極導(dǎo)通,有足夠使蜂鳴器發(fā)出聲音的頻率電流流過蜂鳴器,蜂鳴器響,從而實(shí)現(xiàn)聲光報(bào)警提示。聲光報(bào)警原理圖如圖3.12所示。3.2.5復(fù)位電路單片機(jī)復(fù)位的原理是在時(shí)鐘電路開始工作后,在單片機(jī)的RST施加兩個(gè)時(shí)鐘周期以上高電平的震蕩脈沖,單片機(jī)即可實(shí)現(xiàn)復(fù)位。在復(fù)位期間,單片機(jī)的ALE和引腳均輸出為高電平。單片機(jī)的復(fù)位電路有上電復(fù)位、手動(dòng)加上電復(fù)位、看門狗復(fù)位等電路,各復(fù)位電路如下:上電復(fù)位電路利用RC電路的充放電效應(yīng)即為上電復(fù)位的基本原理,電路如圖3.13所示。當(dāng)系統(tǒng)上電后,復(fù)位電路給RST引腳一個(gè)短暫的高電平信號(hào),這個(gè)信號(hào)隨電容的充電而逐漸降低,高電平持續(xù)時(shí)間和RC電路的充放電時(shí)間有關(guān)。手動(dòng)加上電復(fù)位電路本設(shè)計(jì)就是使用手動(dòng)加上電復(fù)位電路,因?yàn)樵趯?shí)踐應(yīng)用中,使用此復(fù)位電路既可以手動(dòng)復(fù)位又可以上電復(fù)位電路,這樣就可以人工復(fù)位系統(tǒng),上電復(fù)位電路的部分原理也是利用RC電路的充電效應(yīng),此復(fù)位電路原理圖如圖3.14所示。當(dāng)按鍵開關(guān)被按下時(shí),VCC通過一個(gè)電阻連接到RST引腳,給它一個(gè)高電平信號(hào),按鍵松開時(shí),RST恢復(fù)為高電平,復(fù)位完成。定時(shí)監(jiān)視器復(fù)位定時(shí)監(jiān)視器復(fù)位的原理是采用單片機(jī)部的看門狗來實(shí)現(xiàn)復(fù)位的操作。圖3.12聲光報(bào)警電路圖3.13上電復(fù)位原理圖3.2.6DS18B20溫度補(bǔ)償電路DS18B20溫度傳感器是DALLAS公司生產(chǎn)的采用1-Wire總線技術(shù)的典型產(chǎn)品。它可以將被測溫度直接轉(zhuǎn)換成數(shù)字量,因此單片機(jī)可以方便地通過串行總線實(shí)現(xiàn)讀取。由于1-Wire具有成本低、節(jié)省I/O口、抗干擾能力強(qiáng)、便于總線擴(kuò)展和維護(hù)等特點(diǎn)。DS18B20通過編程后,可以實(shí)現(xiàn)9~12位的溫度度數(shù)。圖3.14上電復(fù)位加手動(dòng)復(fù)位原理圖1.DS18B20的工作性能如下:●1-Wire數(shù)據(jù)通信?!窨捎脭?shù)據(jù)線供電,電壓圍3~5.5V?!褡罡?2位分辨率?!?2位分辨率時(shí)的最大工作周期為750ms?!窨蛇x擇寄生工作方式?!駲z測溫度圍為-55℃~+125℃?!癖粶y溫度在-10℃~+85℃時(shí),精度為±0.5℃。●置E2PROM,限溫報(bào)警功能?!?4位光刻ROM,置產(chǎn)品序列號(hào),方便多機(jī)掛接?!穹庋b形式多樣?!褙?fù)壓特性。電源極性接反時(shí),芯片不回?zé)龤А?.2.6.1DS18B20部結(jié)構(gòu)與測溫原理DS18B20的部框圖如圖3.15所示,它主要包括寄生電源電路、溫度傳感器、64位激光ROM單線接口、存放中間數(shù)據(jù)的高速暫存器、用于存儲(chǔ)用戶設(shè)定的溫度上下限值的TH和TL觸發(fā)器存儲(chǔ)與控制邏輯、8位循環(huán)冗余效驗(yàn)碼(CRC)發(fā)生器等七部份。DS18B20是通過一種片上溫度測量的技術(shù)來測量溫度的。DS18B20部溫度測量電路方框圖如圖3.16所示。測溫電路初始工作時(shí),溫度寄存器被預(yù)置位-55℃,同時(shí)計(jì)數(shù)器1也被預(yù)置與-55℃相對(duì)應(yīng)的預(yù)置數(shù)。然后,計(jì)數(shù)器1從預(yù)置數(shù)開始減計(jì)數(shù)直至減至0時(shí),溫度寄存器的溫度圖3.15DS18B20部結(jié)構(gòu)圖圖3.16DS18B20測溫電路方框圖(a)(b)(c)圖3.17(a)三引腳T0-92DS18B20(b)8引腳μSOPDS18B20(c)8引腳150milSODS18B20值就會(huì)加1℃,這時(shí)計(jì)數(shù)器1的預(yù)置數(shù)也改為由斜率累加器來提供。此后,溫度寄存器的數(shù)值是隨計(jì)數(shù)器1的工作不斷修改的,只有當(dāng)計(jì)數(shù)器2的預(yù)置數(shù)減到0時(shí),溫度寄存器的溫度值才會(huì)停止變化。3.2.6.2DS18B20的封裝形式與引腳功能DS18B20有8引腳SO封裝、8引腳μSOP封裝以與3引腳T0-92封裝三種形式。其各封裝與引腳如圖3.17所示:三引腳TO-92DS18B20引腳和引腳功能如表3.5所示。表3.5DS18B20對(duì)ROM的操作命令引腳號(hào)(T0-92)引腳名稱引腳功能1GND接地2DQ數(shù)據(jù)輸入輸出引腳3VDD可選VDD引腳,當(dāng)工作在寄生電源時(shí),該引腳接地3.2.6.3DS18B20的供電方式DS18B20可以采用兩種供電方式,即外部供電方式和寄生電源供電方式。當(dāng)采用外部供電方式時(shí),如圖3.18所示。此時(shí)DS18B20可以接5V或3.3V的電源,但GND必須接地。如圖3.19所示為DS18B20的寄生電源時(shí)供電方式。此時(shí),DS18B20的VDD引腳必須接地。同時(shí),為了使DS18B20得到足夠的工作電流,應(yīng)給1-Wire提供一個(gè)強(qiáng)上拉,一般可以用一個(gè)場效應(yīng)管將I/O線直接拉到電源上。DS18B20從1-Wire單總線上汲取能量,當(dāng)信號(hào)線DQ處于高電平時(shí)把能量存儲(chǔ)在部電容里,當(dāng)信號(hào)線DQ處于低電平時(shí)消耗電容存儲(chǔ)的能量,直到高電平到來,再給DS18B20部的寄生電源充電。值得注意的是,當(dāng)溫度超過100℃時(shí),則不推薦使用寄生電源供電方式,應(yīng)采用外部電源供電方式。圖3.18DS18B20外部供電方式圖3.19DS18B20寄生電源供電方式圖3.20溫度補(bǔ)償電路原理圖本設(shè)計(jì)采用外部供電方式,其測溫原理圖如圖3.20所示。其編寫程序步驟如下:DS18B20初始化;操作指令讀;操作指令寫;溫度轉(zhuǎn)換;讀取溫度值。3.2.7+5V電源模塊本設(shè)計(jì)的電源時(shí)通過一個(gè)變壓器將220V交流電轉(zhuǎn)變?yōu)?2V交流電,然后通過制成的+5V電源電源電路,經(jīng)過整流、濾波、穩(wěn)壓,最后輸出所需的+5V電壓。此電源電路原理圖如圖3.21所示。圖3.21+5V電源電路軟件設(shè)計(jì)在單片機(jī)的開發(fā)與應(yīng)用中,除了匯編語言外,還可以用C語言。單片機(jī)C語言既有匯編語言操作底層硬件的能力,又有高級(jí)語言的許多優(yōu)點(diǎn)。因此,本設(shè)計(jì)主要采用C語言編寫。本章節(jié)主要講述本設(shè)計(jì)的軟件設(shè)計(jì)以與系統(tǒng)各模塊程序的編寫。4.1軟件整體設(shè)計(jì)眾所周知,匯編語言是一種面向機(jī)器的程序語言,指令執(zhí)行速度快,執(zhí)行時(shí)間固定,故其效率很高,但其語言格式比較晦澀、可讀性差、難以編寫和調(diào)試,也不便于移植。而單片機(jī)C語言在結(jié)構(gòu)上更易于理解,可讀性強(qiáng),開發(fā)速度快、可靠性好、便于移植。雖然本設(shè)計(jì)的溫度傳感器對(duì)時(shí)間精度要求高,但經(jīng)過仔細(xì)計(jì)算得出的C語言已被廣泛應(yīng)用,故直接用已有的程序也能做到對(duì)溫度的精確讀取,所以本設(shè)計(jì)全部使用C語言編程。系統(tǒng)開發(fā)環(huán)境主要包括Windows7的PC機(jī)、KeiluVision4和STC_ISP_V480下載器。流程為先在PC機(jī)平臺(tái)上用KeilUV4編寫好程序,然后通過STC_ISP_V480下載器將程序燒到單片機(jī)上反復(fù)調(diào)試和修改,達(dá)到要求,完成設(shè)計(jì)。圖4.1為主程序路程圖:圖4.1系統(tǒng)主程序流程圖本系統(tǒng)上電后,首先將系統(tǒng)初始化,DS18B20初始化,然后不斷掃描按鍵K1是否按下,如果K1按下,則開始測量當(dāng)前環(huán)境溫度,給 P1.0一個(gè)10μS以上的高電平,使HC-SR04模塊發(fā)射出8個(gè)40KHZ的超聲波,同時(shí)定時(shí)器T0開始計(jì)時(shí)。CPU循環(huán)檢測P3.2引腳,當(dāng)P3.2為低電平時(shí),外部中斷0開始中斷,同時(shí)綠燈亮,表明接收到回波,立即停止定時(shí)器0計(jì)時(shí),保存定時(shí)器的計(jì)數(shù)值。之后根據(jù)溫度傳感器測量溫度,進(jìn)行溫度補(bǔ)償,由速度與時(shí)間的關(guān)系計(jì)算出障礙物與傳感器之間的距離并通過數(shù)碼管顯示出來。4.2系統(tǒng)主要模塊程序設(shè)計(jì)4.2.1超聲波發(fā)射程序與接收中斷子程序超聲波發(fā)射程序是通過P1.0端口發(fā)送8個(gè)40KHZ的超聲波脈沖信號(hào),在發(fā)射超聲波的同時(shí)把定時(shí)器0打開進(jìn)行計(jì)時(shí),定時(shí)器0工作在方式1。超聲波測距主程序是利用外部中斷0檢測超聲波回波信號(hào),P3.2口一旦接收到回波信號(hào),則外部中斷0立即執(zhí)行中斷,將定時(shí)器0關(guān)閉使其停止計(jì)時(shí),并將測距成功標(biāo)志位置1,以此同時(shí)綠燈亮,表示成功接收回波信號(hào)。超聲波發(fā)射程序如下:Trig=1;delay_20us();Trig=0;超聲波成功接收(外部中斷0)程序如下:INT0_()interrupt0//外部中斷是0號(hào){outcomeH=TH0;//取出定時(shí)器的值outcomeL=TL0;//取出定時(shí)器的值flag=1;//至成功測量的標(biāo)志}超聲波發(fā)射接收流程圖如圖4.2所示:4.2.2DS18B20訪問程序通過1-wire總線端口訪問DS18B20的流程圖如圖4.3所示,DS18B20需要嚴(yán)格的時(shí)序協(xié)議才能實(shí)現(xiàn)1-Wire總線通信。圖4.2超聲波發(fā)射接收程序流程圖圖4.3通過單總線訪問DS18B20流程圖調(diào)試與檢測第3、4章介紹了本設(shè)計(jì)的硬件設(shè)計(jì)與軟件設(shè)計(jì),因此本章節(jié)主要講述本系統(tǒng)設(shè)計(jì)后的成品檢測與調(diào)試,包括軟硬件測試、誤差分析、誤差來源、解決方案等。5.1硬件測試調(diào)試時(shí)使用到的儀器設(shè)備和軟件如表5.1所示:表5.1儀器設(shè)備與軟件名稱數(shù)量備注數(shù)字萬用表1臺(tái)用于檢測電阻阻值、三極管的好壞以與線路的通斷等示波器1臺(tái)檢測輸出脈沖是否為方波、頻率是否為40KHZ計(jì)算機(jī)1臺(tái)做畢業(yè)設(shè)計(jì)的平臺(tái)STC_ISP_V480下載器1把編好的程序?qū)戇M(jìn)單片機(jī),以對(duì)系統(tǒng)進(jìn)行調(diào)試KeiluVision41編譯程序AltiumDesigner1畫電路原理圖與PCB圖硬件測試主要是測試STC89C51的P1.0引腳能否發(fā)出40KHz方波、超聲波的發(fā)射接收、數(shù)碼管顯示以與蜂鳴器、LED發(fā)光等模塊電路的測試,硬件電路測試結(jié)果如表5.2所示:表5.2硬件電路測試結(jié)果測試單元測試結(jié)果超聲波的發(fā)射接收電路能發(fā)射接收信號(hào)數(shù)碼管顯示電路4位數(shù)碼管能正常顯示距離蜂鳴器功能正常P1.0引腳功能正常DS18B20功能正常發(fā)光LED能正常亮滅通過以上結(jié)果可知,本設(shè)計(jì)系統(tǒng)可以正常工作。系統(tǒng)檢測距離與實(shí)際距離對(duì)照表5.3所示:(當(dāng)前測試時(shí)的環(huán)境溫度為27℃)表5.3系統(tǒng)檢測距離與實(shí)際距離對(duì)比數(shù)碼管顯示距離(cm)193039495769778897108118127138實(shí)際距離(cm)2031405060708090100110120130140誤差(cm)1111313232232從表5.3可以看出,當(dāng)檢測距離小于70cm時(shí),系統(tǒng)誤差相對(duì)距離大于70cm的小。系統(tǒng)測試時(shí),發(fā)現(xiàn)當(dāng)測試距離超過90cm時(shí),數(shù)碼管顯示的數(shù)字比較暗,可能是因?yàn)槌暡òl(fā)射越遠(yuǎn),需要的能量就越大,所以在測量距離大時(shí),數(shù)碼管顯示的數(shù)據(jù)有所變暗。其次,數(shù)碼管顯示的數(shù)據(jù)有點(diǎn)閃爍,經(jīng)過延時(shí)調(diào)試仍未能得到解決。5.2軟件測試軟件測試主要是檢測程序是否正確以能觸發(fā)HC-SR04發(fā)出脈沖、DS18B20能否正常初始化、數(shù)據(jù)能否正常發(fā)送給P0口顯示等。LED1綠燈正常亮,說明HC-SR04能接收到回波信號(hào),觸發(fā)程序正確;當(dāng)所測距離小于10cm(預(yù)置值)時(shí),LED2紅燈亮、蜂鳴器發(fā)出聲音實(shí)現(xiàn)聲光報(bào)警提示,數(shù)碼管顯示程序正確;DS18B20能正常工作,正確顯示當(dāng)前環(huán)境溫度。5.3結(jié)果分析通過對(duì)系統(tǒng)硬件與軟件的不斷測試,系統(tǒng)現(xiàn)已可以實(shí)時(shí)顯示測試的距離,并可以根據(jù)溫度對(duì)超聲波的速度進(jìn)行溫度補(bǔ)償,從而進(jìn)一步提高測量距離的精確度。當(dāng)量程小于10cm有聲光報(bào)警,距離大于200cm時(shí)數(shù)碼管顯示CCC,溫度大于90℃時(shí)蜂鳴器報(bào)警。本設(shè)計(jì)系統(tǒng)功能雖然不是非常完善,部分問題尚未能解決,但是基本達(dá)到選題要求。產(chǎn)品可以方便使用,而且成本低廉,在礦井探測和倒車測距等方面本系統(tǒng)具有很高的應(yīng)用價(jià)值。5.4誤差來源晶振和兩個(gè)電容離單片機(jī)過遠(yuǎn),影響系統(tǒng)誤差。實(shí)際中應(yīng)該要使晶振離單片機(jī)越近越好,兩個(gè)電容離晶振越近越好,這樣可以使系統(tǒng)誤差盡可能減小。但由于做好板子后,上網(wǎng)查到相關(guān)信息才發(fā)現(xiàn)自己在布板方面存在的問題,由于經(jīng)費(fèi)和避免資源浪費(fèi),發(fā)現(xiàn)后就不重新再做板子了;溫度是影響測量誤差的關(guān)鍵。超聲波在不同溫度下的傳播速度不同,因此測量時(shí)候進(jìn)行溫度補(bǔ)償是解決此問題的好方法,但溫度補(bǔ)償仍然存在一定的微小誤差;濕度也是影響系統(tǒng)誤差的一個(gè)重要因素,干燥空氣的聲速為:C=C0(2)其中,正常情況下,標(biāo)準(zhǔn)狀況下干燥空氣中的聲速為C0=331.45m/s,而在室溫t℃時(shí),T0=273.15K。而實(shí)際空氣并不完全是干燥的,總會(huì)含有一些水蒸氣,經(jīng)過對(duì)空氣平均摩爾質(zhì)量和比熱比此γ的修正。修正后的聲速公式為:C=331.45(3)式中:為水蒸氣的分壓強(qiáng),取=1.01325×105Pa;T0為273.15K;t為測量的空氣溫度;C為經(jīng)補(bǔ)償后的聲速。由此可見,由于本設(shè)計(jì)未采取濕度補(bǔ)償,由此由于濕度等因素,系統(tǒng)存在一些誤差。5.5解決方案本設(shè)計(jì)中系統(tǒng)的誤差有計(jì)數(shù)誤差和系統(tǒng)誤差。計(jì)數(shù)誤差一般存在量化誤差、時(shí)基誤差和觸發(fā)誤差;而系統(tǒng)誤差主要由溫度和濕度引起的,這是因?yàn)榫嚯xS=V×T,超聲波的在空氣中的傳播速度因溫度和濕度的不同而不同。為了提高測量精度,解決的方案有中值濾波發(fā),如文獻(xiàn)[4]所示;采用溫度、濕度雙補(bǔ)償方法可以進(jìn)一步提高系統(tǒng)測量精度,如文獻(xiàn)[5]所示,由于技術(shù)限制,本設(shè)計(jì)只采用溫度補(bǔ)償,但測量誤差在允許圍;采用延時(shí)技術(shù)可以解決超聲波發(fā)射極和接收極距離太近所造成的串?dāng)_問題,如文獻(xiàn)[6]所示;采用變閥值鑒幅固定補(bǔ)償法,如文獻(xiàn)[7]所示,可以減少誤差,提高測距精度;同時(shí),文獻(xiàn)[8]-[11]中還提出了其它一些提高測量精度的方法。5.6本設(shè)計(jì)所做工作為完成本系統(tǒng)的設(shè)計(jì),查閱了大量的網(wǎng)絡(luò)資料和重要文獻(xiàn),較為全面地了解超聲波發(fā)射與接收原理,進(jìn)一步了解單片機(jī)的開發(fā)與應(yīng)用。此外,還掌握了數(shù)碼管、DS18B20和蜂鳴器的應(yīng)用。硬件設(shè)計(jì)方面,詳細(xì)了解各模塊具體的設(shè)計(jì)方案。在熟悉各功能模塊的基礎(chǔ)上,自己繪電路原理圖和PCB布線,做好了超聲波發(fā)射和接收的硬件模塊,雖然發(fā)射和接收模塊是前期所做的失敗品,后期改用HC-SR04模塊,但在這一階段我了解了CX20106A的工作原理與應(yīng)用。在整個(gè)系統(tǒng)調(diào)試過程中多次用到示波器等儀器,現(xiàn)已較熟練地掌握了示波器等儀器的使用。軟件設(shè)計(jì)方面,超聲波發(fā)射程序最初是采用單片機(jī)部的定時(shí)器/計(jì)數(shù)器0定時(shí)中斷產(chǎn)生40KHz的脈沖,但由于經(jīng)示波器調(diào)試很久后,都未見有合適的脈沖輸出,故后期改為用HC-SR04模塊來發(fā)射接收超聲波。同時(shí),由于DS18B20對(duì)時(shí)間延時(shí)要求比較高,如果延時(shí)不夠精確,則將會(huì)使DS18B20初始化失敗。為此,我通過網(wǎng)上查找資料,學(xué)會(huì)了用軟件精確延時(shí)的方法來確定延時(shí)的時(shí)間。軟硬件調(diào)試方面,通過對(duì)每個(gè)模塊和功能的不斷測試和修改完善,最終得出成品??偨Y(jié)與展望本設(shè)計(jì)的超聲波測距系統(tǒng)具有結(jié)構(gòu)簡單、操作靈活、功耗低、小成本的特點(diǎn),它具有良好的人機(jī)界面,能方便實(shí)時(shí)顯示測量的距離。在實(shí)際制作中添加了DS18B20溫度補(bǔ)償電路來減小測量誤差。本系統(tǒng)能進(jìn)行聲光報(bào)警提示和實(shí)時(shí)顯示測量距離,能很好應(yīng)用于汽車行進(jìn)或倒車中,對(duì)汽車前后方的障礙物進(jìn)行檢測,與時(shí)顯示障礙物的距離與聲光報(bào)警處理。該系統(tǒng)比較適合應(yīng)用于倒車與夜間行駛等情況下。雖然系統(tǒng)最終得以完成,但仍存在部分缺陷,仍有一些功能需要提高:此系統(tǒng)測試距離比較近,如果能設(shè)計(jì)一個(gè)具有較強(qiáng)驅(qū)動(dòng)能力的超聲波發(fā)射電路與接收電路,系統(tǒng)測得距離會(huì)更遠(yuǎn);單片機(jī)系統(tǒng)板的DS18B20跟蜂鳴器距離有點(diǎn)近,這也是本設(shè)計(jì)的一個(gè)缺陷,當(dāng)蜂鳴器響導(dǎo)通時(shí)會(huì)發(fā)熱,影響溫度補(bǔ)償?shù)木?,布PCB圖時(shí)應(yīng)把DS18b20與發(fā)熱器件隔開;本系統(tǒng)還欠缺語音實(shí)時(shí)播報(bào)功能以與濕度補(bǔ)償功能。詞通過本次畢業(yè)設(shè)計(jì),我意識(shí)到要做好一個(gè)完整的作品不容易!要想做好一個(gè)產(chǎn)品,不僅僅只是考慮它的效果,能實(shí)現(xiàn)多少功能,我們還要認(rèn)真考慮一個(gè)產(chǎn)品的成本、性能的好壞、適用圍、精度等。在做畢設(shè)的過程中我學(xué)會(huì)了很多知識(shí),如在硬件布置方面,晶振離單片機(jī)越近越好,其兩個(gè)電容離晶振越近越好,這樣就盡可能減小系統(tǒng)誤差;畫PCB上,避免在PCB邊緣安排重要的信號(hào)線,如時(shí)鐘和復(fù)位信號(hào)等,經(jīng)過本次設(shè)計(jì)的PCB,我能熟練地使用AltiumDesigner這個(gè)軟件來畫原理圖和PCB;在編程方面,我原來只是有匯編的基礎(chǔ),但由于本次設(shè)計(jì),我經(jīng)過到圖書館借閱相關(guān)書籍自學(xué)單片機(jī)C51語言編程,現(xiàn)在我的C語言水平有了很大的提高。其實(shí),在本次畢設(shè)過程中我學(xué)會(huì)最重要的是一種心態(tài),一種做任何事都要耐心、執(zhí)著專研的精神。當(dāng)我在程序編寫過程中遇到問題時(shí),如超聲波發(fā)射接收模塊的發(fā)射程序有所困難時(shí),我認(rèn)真上網(wǎng)查找資料,了解其工作原理,最后一步一步調(diào)試程序知道成功;最初使用AltiumDesigner軟件畫PCB圖和原理圖時(shí),我對(duì)這個(gè)軟件不是很熟悉,最后通過同學(xué)的指導(dǎo),我掌握了使用這個(gè)軟件的技巧,并學(xué)會(huì)畫了元件封裝庫,自從學(xué)會(huì)了這個(gè)技能之后,我就再也不用擔(dān)心畫PCB時(shí)沒有合適的封裝庫了,之后我還幫助了很多同學(xué)解決這方面的困難。在本次畢設(shè)中,最讓我頭痛的其實(shí)是DS18B20的程序編寫,由于時(shí)序要求,其延時(shí)時(shí)間要求很高,盡管我專研了一個(gè)星期多還是沒能把它的溫度成功顯示在數(shù)碼管上。我非常榮幸能有這樣的機(jī)會(huì)進(jìn)行這樣的設(shè)計(jì),每一次的學(xué)習(xí)都是進(jìn)步,通過困難,然后學(xué)會(huì)去解決困難,讓我進(jìn)步很快。無論是通過網(wǎng)上查閱資料還是在同學(xué)的幫助指導(dǎo)下,我的進(jìn)步都是飛躍的。最重要的是,在此次畢設(shè)中震老師對(duì)我的悉心教導(dǎo),在他的指導(dǎo)下,我的理論知識(shí)和實(shí)踐動(dòng)手能力都有很大的提高,非常感老師對(duì)我的幫助,耐心指導(dǎo)我的論文的修改,在此我要向老師表示真誠的感。最后讓我再次向在這次畢業(yè)設(shè)計(jì)中幫助過我的人,真誠的說聲:!參考文獻(xiàn)[1]建領(lǐng),催昭霞.精通51單片機(jī)開發(fā)技術(shù)與應(yīng)用實(shí)例..電子工業(yè),2012:591~596.[2]王紅云,志敏,王竹林等編著.超聲波測距系統(tǒng)設(shè)計(jì).儀表技術(shù),2010,11:47~49.[3]項(xiàng)琦明.具有強(qiáng)代換功能的紅外遙控接收電路CX20106A.電子世間,1994.(01):7~8.[4]德虎.基于超聲波的高精度測距系統(tǒng)的研究[J].科技大學(xué)學(xué)報(bào),2007,25(04):111~113.[5]林偉,梁家寧,才安.便攜式多功能超聲波測距儀的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測量技術(shù),2008,31(01):91~93.[6]王安敏,凱.基于AT89C52單片機(jī)的超聲波測距系統(tǒng)[J].儀表技術(shù)與傳感器,2006,06:45~48.[7]戴曰章,吳志勇.基于AT89C51單片機(jī)的超聲波測距系統(tǒng)設(shè)計(jì)[J].計(jì)量與測試技術(shù),2005,32(02):17~19.[8]翠云,廣耀,戎海龍.汽車倒車系統(tǒng)中超聲波測距模塊的設(shè)計(jì)[J].壓電與聲光,2008,32(02):251~254.[9]鄒曉娥,良仁.基于單片機(jī)的超聲波測距系統(tǒng)設(shè)計(jì)[J].職業(yè)技術(shù)學(xué)院學(xué)報(bào),2006,03:25~26.[10]柴政,凌云.基于單片機(jī)的超聲波測距設(shè)計(jì)與研究.科技信息(科學(xué)·教研),2007,26:193~194.[11]鄧方華,鄒毅,高飛燕.基于超聲波測距的交互電子白板系統(tǒng)設(shè)計(jì)[J].儀表技術(shù),2010,2:46~48.[12]TsutomuTanzawa,NoriakiKiyohiro,ShinjiKotanietal:"TheUltrasonicRangeFinderforOutdoorMobileRobots."IntelligentRobotsandSystems95.'HumanRobotInteractionandCooperativeRobots',Proceedings.1995IEEE/RSJInternationalConferenceon(Volume:3).[13]鋒,王巧芝,程麗平等.51單片機(jī)典型應(yīng)用開發(fā)例大全..中國鐵道.2011:336~340.附錄1電路原理圖與PCB圖Stc89c51超聲波測距電路原理圖Stc89c51超聲波測距系統(tǒng)PCB圖+5V電源PCB附錄2程序清單1.距離顯示程序#include<reg52.h> #include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlong#define jump_ROM 0xCC#define start 0x44#define read_EEROM 0xBEsbitDQ=P1^1; //DS18B20數(shù)據(jù)端sbitTrig=P1^0;//產(chǎn)生脈沖引腳sbitEcho=P3^2;//回波引腳sbitled1=P1^2;sbitled2=P1^3;sbitfmq=P1^4;sbitk1=P3^5;sbitk2=P3^6;sbitk3=P3^7;uinttime=0;bitflag; //超聲波接收成功標(biāo)志位unsignedcharconstledcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0xff/*-*/}; //數(shù)碼管顯示0~9,“-”以與全滅ucharoutcomeH,outcomeL,i;uintge,shi,bai;ulongdistance;floatv;voiddelay_20us(){ucharbt;for(bt=0;bt<30;bt++);}voiddelay_1(intn){inti;for(i=0;i<n;i++);}INT0_()interrupt0//外部中斷是0號(hào){outcomeH=TH0;//取出定時(shí)器的值outcomeL=TL0;//取出定時(shí)器的值flag=1;//至成功測量的標(biāo)志}//**************主程序*************************//voidmain(void){ unsignedinttemp_T;//實(shí)際溫度 DS18B20_Init(); temp_T=Get_Temp(); //時(shí)間到,讀取溫度 v=331.5+0.607*temp_T; TMOD=0x11;//定時(shí)器0,定時(shí)器1,16位工作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論