基于單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)的超聲波測(cè)距系統(tǒng)設(shè)計(jì)摘要隨著科學(xué)技術(shù)的快速發(fā)展超聲波將在測(cè)距儀中的應(yīng)用越來(lái)越廣。它將朝著更加高定位高精度的方向發(fā)展,以滿(mǎn)足日益發(fā)展的社會(huì)需求。無(wú)庸置疑未來(lái)的超聲波測(cè)距儀將與自動(dòng)化智能化接軌與其他的測(cè)距儀集成和融合,形成多測(cè)距儀。隨著測(cè)距儀的技術(shù)進(jìn)步,測(cè)距儀將從具有單純判斷功能發(fā)展到具有學(xué)習(xí)功能最終發(fā)展到具有創(chuàng)造力。本課題詳細(xì)介紹了超聲波傳感器的原理和特性,以及STC公司的STC89C52單片機(jī)的性能和特點(diǎn),并在分析了超聲波測(cè)距的原理的基礎(chǔ)上,指出了設(shè)計(jì)測(cè)距系統(tǒng)的思路和所需考慮的問(wèn)題,給出了以STC89C52單片機(jī)為核心的低成本、高精度、微型化數(shù)字顯示超聲波測(cè)距儀的硬件電路和軟件設(shè)計(jì)方法。該系統(tǒng)電路設(shè)計(jì)合理、工作穩(wěn)定、性能良好、檢測(cè)速度快、計(jì)算簡(jiǎn)單、易于做到實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用的要求。關(guān)鍵詞:超聲波單片機(jī)測(cè)距STC89C52UltrasonicrangingsystembasedonSCMAbstractWiththerapiddevelopmentofscienceandtechnology,ultrasoundwillbemorewidelyappliedintherangefinder.ItwillbetowardmorehighsetPrecisionofdirection,inordertomeetthegrowingneedsofthecommunity.Undoubtedly,thefutureofultrasonicdistancemeasurementinstrumentstandardsandautomationofintelligentwillbeintegratedwithotherrangefinderandfusiontoformamulti-rangefinder.Withthemeasuredawayfromtheinstrument'stechnicalprogress,therangefinderwilldevelopfromsimpletojudgethefunctionaldevelopmenttohavealearningfunction,andeventuallydeveloptohasthecreativity.Thissubjecthasintroducedtheprincipleandcharacteristicoftheultrasonicsensorindetail,andtheperformanceandcharacteristicofone-chipcomputerSTC89C52ofSTCCompany,andonthebasisofanalyzingprinciplethatultrasonicwavefindsrange,thesystematicthinkingandquestionsneededtoconsiderthathavepointedoutthatdesignsandfindsrange,providelowcost,thehardwarecircuitofhighaccuracy,ultrasonicrangefinderofminiaturedigitaldisplayandsoftwaredesignIVmethodtakingSTC89C52asthecore,thiscircuitofsystemisreasonableindesign,workingstability,performancegoodmeasuringspeedingsoon,calculatingsimple,apttoaccomplishreal-timecontrol,andcanreachindustry'spracticaldemandinmeasuringtheprecision.Keywords:Ultrasonicwave;One-chipcomputer;Rangefinding;STC89C52中北大學(xué)2012屆畢業(yè)設(shè)計(jì)說(shuō)明書(shū)第PAGEII頁(yè)共II頁(yè)目錄1緒論 11.1超聲波檢測(cè)簡(jiǎn)介 11.2超聲波檢測(cè)的發(fā)展 21.3超聲測(cè)距現(xiàn)狀 32超聲波測(cè)距儀的設(shè)計(jì) 62.1超聲波測(cè)距原理 62.2常見(jiàn)測(cè)距法 62.3超聲波傳感器 72.3.1超聲波傳感器的原理及結(jié)構(gòu) 72.4系統(tǒng)主要參數(shù)的確定 82.4.1測(cè)距儀的工作頻率 82.4.2聲速 82.4.3發(fā)射脈沖寬度 92.4.4測(cè)量盲區(qū) 92.5系統(tǒng)設(shè)計(jì)方案: 103超聲波測(cè)距儀的硬件設(shè)計(jì) 113.1硬件模塊選型 113.1.1處理器選型(STC89C52) 113.1.2超聲波模塊選型(HC-SR04) 123.1.3顯示模塊選型 133.1.4時(shí)鐘模塊選型 143.1.5E2PROM模塊選型 153.1.6語(yǔ)音模塊選型(蜂鳴器) 153.2系統(tǒng)電路設(shè)計(jì) 163.2.1超聲波模塊電路設(shè)計(jì) 163.2.2時(shí)鐘模塊電路設(shè)計(jì) 163.2.3顯示模塊電路設(shè)計(jì) 173.2.4語(yǔ)音模塊電路設(shè)計(jì) 183.2.5電源電路設(shè)計(jì) 183.2.6系統(tǒng)電路設(shè)計(jì)總圖 184超聲波測(cè)距儀的軟件設(shè)計(jì) 204.1超聲波測(cè)距器的算法設(shè)計(jì) 204.2程序結(jié)構(gòu)圖 204.3主程序 214.4外部中斷子程序 214.5模式0子程序 224.5.1測(cè)距子程序 224.5.2顯示子程序 224.5.3語(yǔ)音模塊子程序 234.5.4存儲(chǔ)子程序 234.6模式1子程序 24結(jié)束語(yǔ) 25附錄 26參考文獻(xiàn): 40致謝 41第43頁(yè)共42頁(yè)1緒論超聲波是指超過(guò)人的聽(tīng)覺(jué)范圍以上(16KHZ)的聲波[1]。由于電子技術(shù)及壓電陶瓷材料的發(fā)展,使超聲檢測(cè)技術(shù)得到了迅速的發(fā)展。超聲技術(shù)是一門(mén)以物理、電子、機(jī)械、及材料學(xué)為基礎(chǔ)的通用技術(shù)之一。超聲技術(shù)是通過(guò)超聲波產(chǎn)生、傳播及接收的物理過(guò)程而完成的。超聲波具有聚束、定向及反射、透射等特性。超聲檢測(cè)技術(shù)是利用超聲波在媒質(zhì)中的傳播特性(聲速、衰減、反射、聲阻抗等)來(lái)實(shí)現(xiàn)對(duì)非聲學(xué)量(如密度、濃度、強(qiáng)度、彈性、硬度、粘度、溫度、流速、流量、液位、厚度、缺陷等)的測(cè)定。它的基本原理是基于超聲波在介質(zhì)中傳播時(shí)遇到不同的界面,將產(chǎn)生反射,折射,繞射,衰減等現(xiàn)象,從而使傳播的聲時(shí)、振幅、波形、頻率等發(fā)生相應(yīng)變化,測(cè)定這些規(guī)律的變化,便可得到材料的某些性質(zhì)與內(nèi)部構(gòu)造情況[2]。與傳統(tǒng)超聲技術(shù)完全不同,新的超聲技術(shù)具有以下特點(diǎn):在不破壞媒質(zhì)特性的情況下實(shí)現(xiàn)非接觸性測(cè)量[3],環(huán)境適應(yīng)能力強(qiáng),可實(shí)現(xiàn)在線測(cè)量。1.1超聲波檢測(cè)簡(jiǎn)介超聲波測(cè)量在國(guó)防、航空航天、電力、石化、機(jī)械、材料等眾多領(lǐng)域具有廣泛的作用,它不但可以保證產(chǎn)品質(zhì)量、保障安全,還可起到節(jié)約能源、降低成本的作用[4]。超聲波與光波、電磁波、射線等檢測(cè)相比,其最大特點(diǎn)是穿透力強(qiáng)。超聲波是一種頻率超過(guò)20kHz的機(jī)械波。超聲波作為一種特殊的聲波,同樣具有聲波傳輸?shù)幕疚锢硖匦?-反射、折射、干涉、衍射、散射。超聲波具有方向性集中、振幅小、加速度大等特點(diǎn),可產(chǎn)生較大力量,并且在不同的媒質(zhì)介面?zhèn)鞑?,超聲波的大部分能量?huì)反射。利用超聲波檢測(cè)往往比較迅速,方便,易于做到實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用的要求,主要應(yīng)用于倒車(chē)?yán)走_(dá)、建筑施工工地以及一些工業(yè)現(xiàn)場(chǎng),例如:液位、井深、管道長(zhǎng)度等場(chǎng)合。超聲波在介質(zhì)(固體、液體、氣體)中傳播時(shí),利用不同介質(zhì)的不同聲學(xué)特性對(duì)超聲波傳播的影響來(lái)探查物體和進(jìn)行測(cè)量的技術(shù)稱(chēng)為超聲檢測(cè)。當(dāng)超聲波以脈沖形式在介質(zhì)中傳播時(shí),利用反射這一性質(zhì),在多種介質(zhì)中均有廣泛的用途。例如在金屬、非金屬中用來(lái)探測(cè)缺陷的位置和性質(zhì),從而對(duì)鋼板、鍛件、焊縫、混凝土、人造石磨等進(jìn)行探傷檢驗(yàn);在水中,根據(jù)反射波可以探測(cè)潛水艇和魚(yú)群,測(cè)量海底深度以及探查海底底層等;在人體中則可以協(xié)助臨床診斷疾病(如肝膿腫、腫瘤、膽結(jié)石等)和探測(cè)胎兒等[5]。利用超聲連續(xù)波的共振性質(zhì),可以測(cè)量高壓容器、鍋爐、輪船甲板等的厚度或腐蝕程度,也可制成機(jī)械濾波器。利用超聲波的哀減特性,可以研究或測(cè)量材料的物理性質(zhì)[6]。當(dāng)超聲波射到運(yùn)動(dòng)體時(shí),利用多普勒效應(yīng),可以測(cè)量流速流量,探測(cè)心臟血管搏動(dòng)等。若將超聲波作為載波傳送某些信號(hào),則可制成水中電話、水中遙測(cè)儀等,以進(jìn)行水中通信。利用超聲波在固體,液體中傳播的速度遠(yuǎn)小于電磁波這一特性,可制成超聲延遲線和存儲(chǔ)裝置以及進(jìn)行電視制式的轉(zhuǎn)換。還可利用超聲波檢漏、測(cè)量液位、粘度、硬度和溫度等。除此之外,聲發(fā)射、聲成像技術(shù)(包括聲全息成像技術(shù))的發(fā)展更大大豐富了超聲檢測(cè)的內(nèi)容。超聲波可在任何物體中傳播,了解被測(cè)物體內(nèi)部情況。超聲檢測(cè)設(shè)備還具有結(jié)構(gòu)簡(jiǎn)單,成本低廉的優(yōu)點(diǎn),有利于工程實(shí)際使用。近十幾年來(lái)由于微機(jī)技術(shù)、現(xiàn)代電子技術(shù)、信號(hào)處理技術(shù)以及超聲波產(chǎn)生和接收新技術(shù)的發(fā)展,突破了常規(guī)超聲檢測(cè)的限制,進(jìn)一步開(kāi)拓了其適用范圍。1.2超聲波檢測(cè)的發(fā)展我國(guó)無(wú)損檢測(cè)技術(shù)是從無(wú)到有,從低級(jí)階段逐漸發(fā)展到應(yīng)用普及的現(xiàn)階段水平。超聲波檢測(cè)儀器的研制生產(chǎn),也大致按此規(guī)律發(fā)展變化。五十年代,我國(guó)開(kāi)始從國(guó)外引進(jìn)超聲波儀器[7],多是笨重的電子管式儀器。如英國(guó)的UCT-2超聲波檢測(cè)儀,重達(dá)24Kg,各單位積極開(kāi)展試驗(yàn)研究工作,在一些工程檢測(cè)中取得了較好的效果。五十年代末六十年代初,國(guó)內(nèi)科研單位進(jìn)口了波蘭產(chǎn)超聲儀,并進(jìn)行仿制生產(chǎn)。隨后,上海同濟(jì)大學(xué)研制出CTS-10型非金屬超聲檢測(cè)儀,也是電子管式,儀器重約20Kg。該儀器性能穩(wěn)定,波形清晰。但當(dāng)時(shí)這種儀器只有個(gè)別科研單位使用,建工部門(mén)使用不多。至七十年代中期,因無(wú)損檢測(cè)技術(shù)仍處于試驗(yàn)階段,未推廣普及,所以?xún)x器沒(méi)有多大發(fā)展,仍使用電子管式的UCT-2,CTS-10型儀器。976年,國(guó)家建委科技公司主持召開(kāi)全國(guó)建筑工程檢測(cè)技術(shù)交流會(huì)后,國(guó)家建委將混凝土無(wú)損檢測(cè)技術(shù)列為重點(diǎn)攻關(guān)項(xiàng)目,組織全國(guó)6個(gè)單位協(xié)作攻關(guān)。從此,無(wú)損檢測(cè)技術(shù)開(kāi)始進(jìn)入有計(jì)劃,有目的的研究階段。隨著電子工業(yè)的飛速發(fā)展,半導(dǎo)體元件逐漸代替了電子管器件,更有利于無(wú)損檢測(cè)技術(shù)的推廣普及。如羅馬尼亞N2701型超聲波測(cè)試儀,是由晶體管分立元件組成,具有波形和數(shù)碼顯示,儀器重量1OKg。七十年代,英國(guó)C.N.S公司推出僅有3.5Kg重的PUNDIT便攜式超聲儀。1978年10月,中國(guó)建筑科學(xué)院研制出JC-2型便攜式超聲波檢測(cè)儀。該儀器采用TTL線路,數(shù)碼顯示,儀器重量為5Kg。同期研制出的超聲檢測(cè)儀器還有SC-2型,CTS-25型,SYC-2型超聲波檢測(cè)儀。從此,我國(guó)有了自己生產(chǎn)的超聲波儀器,為推廣應(yīng)用無(wú)損檢測(cè)技術(shù)奠定了良好的基礎(chǔ)。隨著檢測(cè)技術(shù)研究的不斷深入,對(duì)超聲檢測(cè)儀器的功能要求越來(lái)越高,單數(shù)碼顯示的超聲檢測(cè)儀測(cè)讀會(huì)帶來(lái)較大的測(cè)試誤差,進(jìn)一步要求以后生產(chǎn)的超聲儀能夠具有雙顯及內(nèi)帶有單片機(jī)的微處理功能。隨后具有檢測(cè),記錄,存儲(chǔ),數(shù)據(jù)處理與分析等多項(xiàng)功能的智能化檢測(cè)分析儀相繼研制成功。超聲儀研制呈現(xiàn)一派繁榮景象。其中,煤炭科學(xué)研究院研制的2000A型超聲分析檢測(cè)儀,是一種內(nèi)帶微處理器的智能化測(cè)量?jī)x器,全部操作都處于微處理器的控制管理之下,所有測(cè)量值,處理結(jié)果,狀態(tài)信息都在顯像管上顯示出來(lái),并可接微型打印機(jī)打印。其數(shù)字和波形都比較清晰穩(wěn)定,操作簡(jiǎn)單,可靠性高,具有斷電存儲(chǔ)功能,其串口可以方便用戶(hù)對(duì)儀器的測(cè)試數(shù)據(jù)進(jìn)行后處理及有關(guān)程序的開(kāi)發(fā)。與國(guó)內(nèi)同類(lèi)產(chǎn)品相比,設(shè)計(jì)新穎合理,功能齊全,在儀器設(shè)計(jì)上有重大突破和創(chuàng)新,達(dá)到了國(guó)際先進(jìn)水平。目前,計(jì)算機(jī)市場(chǎng)價(jià)格大幅度下降,采用非一體化超聲波檢測(cè)儀器,計(jì)算機(jī)可以發(fā)揮它一機(jī)多用的各種功能,實(shí)際上是最大的節(jié)約。過(guò)去那種全功能的儀器設(shè)置,還不如單獨(dú)的超聲儀,計(jì)算機(jī)可以充分發(fā)揮各自特點(diǎn)。高智能化檢測(cè)儀器只能滿(mǎn)足檢測(cè)條件,使用環(huán)境,重復(fù)性測(cè)試內(nèi)容等基本情況一樣,才可充分發(fā)揮其特有功能。儀器設(shè)計(jì)也應(yīng)從實(shí)際情況出發(fā),才能滿(mǎn)足用戶(hù)的要求。綜上所述,我國(guó)超聲波儀器的研制與生產(chǎn),有較大發(fā)展,有的型號(hào)己超過(guò)國(guó)外同類(lèi)儀器水平。1.3超聲測(cè)距現(xiàn)狀目前,國(guó)內(nèi)學(xué)者對(duì)超聲波回波信號(hào)處理算法的研究已經(jīng)日漸成熟,但其作為超聲波探測(cè)定位的關(guān)鍵技術(shù),仍將是一個(gè)重要的研究方向。隨著超聲波回波信號(hào)處理方法的不斷完善,如何研發(fā)新型、高性能超聲波換能器以進(jìn)一步拓寬超聲波測(cè)距的應(yīng)用空間,作為解決超聲波測(cè)距系統(tǒng)不足的根本手段,越來(lái)越受到國(guó)內(nèi)學(xué)者關(guān)注。通過(guò)對(duì)以Vmos場(chǎng)效應(yīng)管為開(kāi)關(guān)元件的超聲波發(fā)射電路進(jìn)行分析,馬慶云等[8]發(fā)現(xiàn)激勵(lì)脈沖寬度對(duì)超聲波換能器的發(fā)射功率影響極大,換能器取得最大發(fā)射功率所對(duì)應(yīng)的激勵(lì)脈沖寬度為其諧振周期的一半。該分析結(jié)果對(duì)新型超聲波換能器的發(fā)射電路的設(shè)計(jì)具有一定的指導(dǎo)作用。針對(duì)傳統(tǒng)連續(xù)調(diào)頻超聲波系統(tǒng)需要使用寬帶超聲傳感器的不足,李希勝等[9]提出了一種連續(xù)窄帶調(diào)頻超聲波測(cè)距方法。該方法可以利用較低的瞬時(shí)超聲波功率實(shí)現(xiàn)較高的平均發(fā)射功率,從而利用普通超聲傳感器來(lái)組成超聲發(fā)射接收傳感器對(duì),避免了使用價(jià)格昂貴的寬帶超聲傳感器。目前國(guó)產(chǎn)低功率超聲波探頭,一般不能用于探測(cè)15m以外的物體,美國(guó)AIRMAR公司生產(chǎn)的AirducerAR30超聲波傳感器的作用距離可達(dá)30m,但價(jià)格較高。潘仲明等[10]對(duì)大作用距離超聲波傳感技術(shù)進(jìn)行研究,研制了諧振頻率為24.5kHz的新型超聲波傳感器,其作用距離超過(guò)了32m,測(cè)量誤差小于2%。廖一等[11]提出利用彎曲振動(dòng)換能器改善聲匹配,將氣介超聲波換能器的最大探測(cè)距離提高到35m?,F(xiàn)階段,國(guó)內(nèi)一些科研人員在超聲波發(fā)射電路的簡(jiǎn)化、發(fā)射功率和頻率的控制、最大探測(cè)距離的提高等方面對(duì)新型超聲波換能器進(jìn)行研究并取得了一定成果,但對(duì)新型超聲換能器制作材料、超聲波發(fā)生機(jī)理創(chuàng)新等方面的研究尚有不足。目前市場(chǎng)上普通的超聲波測(cè)距系統(tǒng),一般采用發(fā)射單超聲脈沖的方法,這種方法在測(cè)距精度和可靠性等方面的研究已較成熟。但是當(dāng)它采用較高頻率超聲波時(shí),會(huì)因空氣吸收而較快衰減,導(dǎo)致有效測(cè)量距離降低;在通過(guò)降低頻率以增大測(cè)距范圍時(shí),測(cè)距的絕對(duì)誤差又會(huì)增大[12]。因而該方法存在測(cè)量分辨力和有效作用距離的矛盾,極大制約了超聲波傳感器應(yīng)用領(lǐng)域的拓寬。現(xiàn)階段常見(jiàn)問(wèn)題的分析及解決:(1)超聲波傳播波速不恒定超聲波在介質(zhì)中的傳播速度隨周?chē)h(huán)境(溫度、壓力等)的變化而變化,其中溫度的影響最為明顯。常溫下,超聲波的傳播速度為340m/s,溫度每升高1℃,聲速增加約為0.6m/s,因此超聲波測(cè)距中一般采用溫度補(bǔ)償?shù)姆椒?,即在?shù)據(jù)處理中對(duì)超聲波傳播速度進(jìn)行實(shí)時(shí)溫度補(bǔ)償。(2)存在盲區(qū)發(fā)射超聲波時(shí),超聲波換能器在驅(qū)動(dòng)脈沖結(jié)束后,會(huì)由于慣性繼續(xù)振動(dòng),產(chǎn)生余振。余振期間,由于無(wú)法區(qū)分回波信號(hào)與余振信號(hào),因此必須等余振停止或衰減到足夠小后,才能允許接收傳感器接受信號(hào)。這段時(shí)間由于無(wú)法檢測(cè)超聲波傳播距離,從而出現(xiàn)盲區(qū)。為了減小盲區(qū),即盡快讓余振衰減到零或足夠小,馬志敏[13]提出自動(dòng)根據(jù)測(cè)量距離遠(yuǎn)近調(diào)控發(fā)射功率的方法,即自動(dòng)根據(jù)距離的遠(yuǎn)近來(lái)調(diào)整發(fā)射拖尾波覆蓋信號(hào)的寬度,從而消除拖尾波的干擾。QiangLi,Zhang[14]提出增大余振衰減系數(shù)的方法,來(lái)加速余振的衰減。郗曉田提出通過(guò)減小電容上電壓最大值U的初值來(lái)加速余振衰減的方法,也可在一定程度上減小盲區(qū)。(3)超聲波探測(cè)器測(cè)量分辨力和探測(cè)角度范圍的矛盾超聲波測(cè)距選用大波束角探測(cè)器,可以滿(mǎn)足探測(cè)范圍要求,但分辨能力較差,難于準(zhǔn)確地提供目標(biāo)的邊界信息。然而如果采用小波束角探測(cè)器,可以滿(mǎn)足分辨能力的需要,但探測(cè)范圍很難滿(mǎn)足要求。針對(duì)這一矛盾,金元郁等[15]提出步進(jìn)電機(jī)驅(qū)動(dòng)單套小波束角傳感器做扇形掃描的方法,即步進(jìn)電機(jī)每轉(zhuǎn)過(guò)一個(gè)步距角,測(cè)距系統(tǒng)便在當(dāng)前的角度上測(cè)取一個(gè)距離信息,結(jié)合當(dāng)前的掃描角度,就得到了一個(gè)較為精確,而且兼有距離、方向的位置信息。該方法有效彌補(bǔ)了大波束角探測(cè)器分辨能力差,小波束角探測(cè)器探測(cè)范圍不足的缺點(diǎn)。2超聲波測(cè)距儀的設(shè)計(jì)2.1超聲波測(cè)距原理單片機(jī)發(fā)出超聲波測(cè)距是通過(guò)不斷檢測(cè)超聲波發(fā)射后遇到障礙物所反射的回波,從而測(cè)出發(fā)射和接收回波的時(shí)間差t,然后求出距離S=vt/2,式中的v為超聲波波速[16]。限制該系統(tǒng)的最大可測(cè)距離存在4個(gè)因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對(duì)聲波脈沖的直接接收能力將決定最小的可測(cè)距離。為了增加所測(cè)量的覆蓋范圍、減小測(cè)量誤差,可采用多個(gè)超聲波換能器分別作為多路超聲波發(fā)射/接收的設(shè)計(jì)方法。表2.1超聲波波速與溫度的關(guān)系表溫度(℃)-30-20-100102030100聲速(m/s)313319325323338344349386由于超聲波屬于聲波范圍,其波速v與溫度有關(guān)[17]。所以列出了幾種不同溫度下的波速,請(qǐng)看表2.1所示。在測(cè)距時(shí)由于溫度變化,可通過(guò)溫度傳感器自動(dòng)探測(cè)環(huán)境溫度確定計(jì)算距離時(shí)的波速v,較精確地得出該環(huán)境下超聲波經(jīng)過(guò)的路程,提高了測(cè)量精確度。波速確定后,只要測(cè)得超聲波往返的時(shí)間,即可求得距離。單片機(jī)發(fā)出短暫的40kHz信號(hào),經(jīng)放大后通過(guò)超聲波換能器輸出;反射后的超聲波經(jīng)超聲波換能器作為系統(tǒng)的輸入,鎖相環(huán)對(duì)此信號(hào)鎖定,產(chǎn)生鎖定信號(hào)啟動(dòng)單片機(jī)中斷程序,得出時(shí)間,再由系統(tǒng)軟件對(duì)其進(jìn)行計(jì)算、判別后,相應(yīng)的計(jì)算結(jié)果被送至LCD顯示電路進(jìn)行顯示。同時(shí)判斷如果測(cè)得的距離小于1m時(shí),通知報(bào)警器報(bào)警,并把測(cè)距記錄存入E2PROM存儲(chǔ),供隨時(shí)查看測(cè)距記錄2.2常見(jiàn)測(cè)距法目前最常用測(cè)距法有兩種:(1)超聲波測(cè)距法:超聲波是頻率20kHz以上的機(jī)械振動(dòng)波,利用發(fā)射脈沖和接收脈沖的時(shí)間間隔推算出距離。超聲波測(cè)距法的缺點(diǎn)是波束較寬,其分辨力受到嚴(yán)重的限制,因此,主要用于導(dǎo)航和回避障礙物。(2)激光測(cè)距法[18]:激光測(cè)距法也可以利用回波法,或者利用激光測(cè)距儀,其工作原理如下:氦氖激光器固定在基線上,在基線的一端由反射鏡將激光點(diǎn)射向被測(cè)物體,反射鏡固定在電動(dòng)機(jī)軸上,電動(dòng)機(jī)連續(xù)旋轉(zhuǎn),使激光點(diǎn)穩(wěn)定地對(duì)被測(cè)目標(biāo)掃描。由CCD(電荷耦合器件)攝像機(jī)接受反射光,采用圖像處理的方法檢測(cè)出激光點(diǎn)圖像,并根據(jù)位置坐標(biāo)及攝像機(jī)光學(xué)特點(diǎn)計(jì)算出激光反射角。利用三角測(cè)距原理即可算出反射點(diǎn)的位置。我們選用超聲波測(cè)距法,這樣會(huì)使成本降低。2.3超聲波傳感器2.3.1超聲波傳感器的原理及結(jié)構(gòu)超聲傳感器是一種將其他形式的能轉(zhuǎn)變?yōu)樗桀l率的超聲能或是把超聲能轉(zhuǎn)變?yōu)橥l率的其他形式的能的器件[19]。目前常用的超聲傳感器有兩大類(lèi),即電聲型與流體動(dòng)力型。電聲型主要有:1.壓電傳感器;2.磁致伸縮傳感器;3.靜電傳感器。流體動(dòng)力型中包括有氣體與液體兩種類(lèi)型的哨笛。由于工作頻率與應(yīng)用目的不同,超聲傳感器的結(jié)構(gòu)形式是多種多樣的,并且名稱(chēng)也有不同,例如在超聲檢測(cè)和診斷中習(xí)慣上都把超聲傳感器稱(chēng)作探頭,而工業(yè)中采用的流體動(dòng)力型傳感器稱(chēng)為“哨”或“笛”。壓電傳感器屬于超聲傳感器中電聲型的一種。探頭由壓電晶片、楔塊、接頭等組成,是超聲檢測(cè)中最常用的實(shí)現(xiàn)電能和聲能相互轉(zhuǎn)換的一種傳感器件,是超聲波檢測(cè)裝置的重要組成部分。壓電材料分為晶體和壓電陶瓷兩類(lèi)。屬于晶體的如石英、鈮酸鋰等,屬于壓電陶瓷的有鋯鈦酸鉛、鈦酸鋇等。其具有下列的特性:把這種材料置于電場(chǎng)之中,它就產(chǎn)生一定的應(yīng)變;相反,對(duì)這種材料施以外力,則由于產(chǎn)生了應(yīng)變就會(huì)在其內(nèi)部產(chǎn)生一定方向的電場(chǎng)。所以,只要對(duì)這種材料加以交變電場(chǎng),它就會(huì)產(chǎn)生交變的應(yīng)變,從而產(chǎn)生超聲振動(dòng)。因此,用這種材料可以制成超聲傳感器。傳感器的主要組成部分是壓電晶片。當(dāng)壓電晶片受發(fā)射電脈沖激勵(lì)后產(chǎn)生振動(dòng),即可發(fā)射聲脈沖,是逆壓電效應(yīng)。當(dāng)超聲波作用于晶片時(shí),晶片受迫振動(dòng)引起的形變可轉(zhuǎn)換成相應(yīng)的電信號(hào),是正壓電效應(yīng)。前者用于超聲波的發(fā)射,后者即為超聲波的接收。超聲波傳感器一般采用雙壓電陶瓷晶片制成。這種超聲傳感器需要的壓電材料較少,價(jià)格低廉,且非常適用于氣體和液體介質(zhì)中。在壓電陶瓷上加有大小和方向不斷變化的交流電壓時(shí),根據(jù)壓電效應(yīng),就會(huì)使壓電陶瓷晶片產(chǎn)生機(jī)械變形,這種機(jī)械變形的大小和方向在一定范圍內(nèi)是與外加電壓的大小和方向成正比的。也就是說(shuō),在壓電陶瓷晶片上加有頻率為f的交流電壓,它就會(huì)產(chǎn)生同頻率的機(jī)械振動(dòng),這種機(jī)械振動(dòng)推動(dòng)空氣等媒介,便會(huì)發(fā)出超聲波。如果在壓電陶瓷晶片上有超聲機(jī)械波作用,這將會(huì)使其產(chǎn)生機(jī)械變形,這種機(jī)械變形是與超聲機(jī)械波一致的,機(jī)械變形使壓電陶瓷晶片產(chǎn)生頻率與超聲機(jī)械波相同的電信號(hào)。雙壓電晶片由A、B兩部分構(gòu)成。當(dāng)在AB間施加交流電壓時(shí),若A片的電場(chǎng)方向與極化方向相同,則下面的方向相反,因此,上下一伸一縮,形成超聲波振動(dòng)。壓電陶瓷晶片有一個(gè)固定的諧振頻率,即中心頻率f。發(fā)射超聲波時(shí),加在其上面的交變電壓的頻率要與它的固有諧振頻率一致。這樣,超聲傳感器才有較高的靈敏度。當(dāng)所用壓電材料不變時(shí),改變壓電陶瓷晶片的幾何尺寸,就可非常方便的改變其固有諧振頻率。利用這一特性可制成各種頻率的超聲傳感器。超聲波傳感器的內(nèi)部結(jié)構(gòu)由壓電陶瓷晶片、錐形輻射喇叭、底座、引線、金屬殼及金屬網(wǎng)構(gòu)成,其中,壓電陶瓷晶片是傳感器的核心,錐形輻射喇叭使發(fā)射和接收超聲波能量集中,并使傳感器有一定的指向角,金屬殼可防止外界力量對(duì)壓電陶瓷晶片及錐形輻射喇叭的損壞。金屬網(wǎng)也是起保護(hù)作用的,但不影響發(fā)射與接收超聲波。2.4系統(tǒng)主要參數(shù)的確定2.4.1測(cè)距儀的工作頻率傳感器的工作頻率是測(cè)距系統(tǒng)的主要技術(shù)參數(shù),它直接影響超聲波的擴(kuò)散和吸收損失、障礙物反射損失、背景噪聲,并直接決定傳感器的尺寸。工作頻率的確定主要基于以下幾點(diǎn)考慮:(1)如果測(cè)距的能力要求很大,聲波傳播損失就相對(duì)增加,由于介質(zhì)對(duì)聲波的吸收與聲波頻率的平方成正比,為減小聲波的傳播損失,就必須降低工作頻率。(2)工作頻率越高,對(duì)相同尺寸的換能器來(lái)說(shuō),傳感器的方向性越尖銳,測(cè)量障礙物復(fù)雜表面越準(zhǔn),而且波長(zhǎng)短,尺寸分辨率高,“細(xì)節(jié)”容易辨識(shí)清楚,因此從測(cè)量復(fù)雜障礙物表面和測(cè)量精度來(lái)看,工作頻率要求提高。(3)從傳感器設(shè)計(jì)角度看,工作頻率越低,傳感器尺寸就越大,制造和安裝就越困難。綜上所述,由于本測(cè)距儀最大測(cè)量量程不大,因而選擇測(cè)距儀工作頻率在40KHz。這樣傳感器方向性尖銳,且避開(kāi)了噪聲,提高了信噪比;雖然傳播損失相對(duì)低頻有所增加,但不會(huì)給發(fā)射和接收帶來(lái)困難。2.4.2聲速聲速的精確程度線性的決定了測(cè)距系統(tǒng)的測(cè)量精度。傳播介質(zhì)中聲波的傳播速度隨溫度、雜質(zhì)含量和介質(zhì)壓力的變化而變化。聲速隨溫度變化公式為V=331.4+0.607T(mm/ms)式中[20],T是溫度。由于該測(cè)距系統(tǒng)用于室內(nèi)測(cè)量,且量程也不大,溫度可以看作定值。在常溫下,聲音在空氣中的傳播速度可依據(jù)上式計(jì)算出為340m/s。2.4.3發(fā)射脈沖寬度發(fā)射脈沖寬度決定了測(cè)距儀的測(cè)量盲區(qū),也影響測(cè)量精度,同時(shí)與信號(hào)的發(fā)射能量有關(guān)。根據(jù)資料,減小發(fā)射脈沖寬度,可以提高測(cè)量精度,減小測(cè)量盲區(qū),但同時(shí)也減小了發(fā)射能量,對(duì)接收回波不利。但是根據(jù)實(shí)際的經(jīng)驗(yàn),過(guò)寬的脈沖寬度會(huì)增加測(cè)量盲區(qū),對(duì)接收回波及比較電路都造成一定困難。在具體設(shè)計(jì)中,比較了24μs(1個(gè)40KHz脈沖方波),48μs(2個(gè)40KHz脈沖方波),240μs(10個(gè)40KHz脈沖方波),作為發(fā)射信號(hào)后的接收信號(hào),最終選用48μs(2個(gè)40KHz脈沖方波)的發(fā)射脈沖寬度。此時(shí),從接收回波信號(hào)幅度和測(cè)量盲區(qū)兩個(gè)方面來(lái)衡量比較適中。2.4.4測(cè)量盲區(qū)在以傳感器脈沖反射方式工作的情況下,電壓很高的發(fā)射電脈沖在激勵(lì)傳感器的同時(shí)也進(jìn)入接收部分。此時(shí),在短時(shí)間內(nèi)放大器的放大倍數(shù)會(huì)降低,甚至沒(méi)有放大作用,這種現(xiàn)象稱(chēng)為阻塞。不同的檢測(cè)儀阻塞程度不一樣。根據(jù)阻塞區(qū)內(nèi)的缺陷回波高度對(duì)缺陷進(jìn)行定量評(píng)價(jià)會(huì)使結(jié)果偏低,有時(shí)甚至不能發(fā)現(xiàn)障礙物,這是需要注意的。由于發(fā)射聲脈沖自身有一定的寬度,加上放大器有阻塞問(wèn)題,在靠近發(fā)射脈沖一段時(shí)間范圍內(nèi),所要求發(fā)現(xiàn)的缺陷往往不能被發(fā)現(xiàn),這段距離,稱(chēng)為盲區(qū)。具體分析如下:當(dāng)發(fā)射超聲波時(shí),發(fā)射信號(hào)雖然只維持一個(gè)極短時(shí)間,但停止施加發(fā)射信號(hào)后,探頭上還存在一定余振(由于機(jī)械慣性作用)。因此,在一段較長(zhǎng)時(shí)間內(nèi),加在接收放大器輸入端的發(fā)射信號(hào)幅值仍具一定幅值高度,可以達(dá)到限幅電路的限幅電平VM;另一方面,接收探頭上接收到的各種反射信號(hào)卻遠(yuǎn)比發(fā)射信號(hào)小,即使是離探頭較近的表面反射回來(lái)的信號(hào),也達(dá)不到限幅電路的限幅電平。當(dāng)反射面離探頭愈來(lái)愈遠(yuǎn),接收和發(fā)射信號(hào)相隔時(shí)間愈來(lái)愈長(zhǎng),其幅值也愈來(lái)愈小。在超聲波檢測(cè)中,接收信號(hào)的衰減總是比發(fā)射信號(hào)余振衰減慢的多。為保證一定的信噪比,接收信號(hào)幅值需達(dá)到規(guī)定的閾值VM,亦即接收信號(hào)的幅值必須大于這一閾值才能使接受放大器有輸入信號(hào)。2.5系統(tǒng)設(shè)計(jì)方案:系統(tǒng)設(shè)計(jì)要求:(1)能夠連續(xù)測(cè)量,保存測(cè)量數(shù)據(jù),并用液晶屏1602顯示距離值;(2)測(cè)量范圍在0.1—5m;(3)能根據(jù)距離長(zhǎng)短發(fā)出不同頻率的聲音,具有語(yǔ)音播報(bào)功能。根據(jù)系統(tǒng)設(shè)計(jì)要求,確定系統(tǒng)設(shè)計(jì)方案如下:圖2.1超聲波測(cè)距儀原理框圖系統(tǒng)設(shè)置有兩個(gè)工作模式,通過(guò)一個(gè)外部中斷開(kāi)關(guān)選擇工作模式模式0:正常的測(cè)距工作模式模式1:遍歷顯示E2PROM中存儲(chǔ)的測(cè)距記錄信息3超聲波測(cè)距儀的硬件設(shè)計(jì)3.1硬件模塊選型3.1.1處理器選型(STC89C52)在這里,我才用的深圳宏晶科技生產(chǎn)的STC89C52RC單片機(jī)[21]。STC89C52單片機(jī)簡(jiǎn)介:STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門(mén)狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。另外STC89X52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35Mhz,6T/12T可選。由于本系統(tǒng)是一個(gè)小的嵌入式系統(tǒng),對(duì)處理器性能方面要求不是很高;因此就得考慮系統(tǒng)的節(jié)能、設(shè)計(jì)簡(jiǎn)單、性能穩(wěn)定等方面因素來(lái)選擇適合的SCM;在做嵌入式控制方面的處理器主要是單片機(jī)和ARM系列處理器,但對(duì)比兩個(gè)系列,ARM處理器雖然指令更多,資源更豐富,功能更強(qiáng);但是更耗能,操作更復(fù)雜,設(shè)計(jì)難度更大,在此系統(tǒng)中單片機(jī)就能滿(mǎn)足性能要求,且節(jié)能,設(shè)計(jì)簡(jiǎn)單;故選擇單片機(jī)。在諸多的單片機(jī)中,我們由選擇哪款呢?這還的根據(jù)節(jié)能、設(shè)計(jì)簡(jiǎn)單、性能滿(mǎn)足要求、可擴(kuò)展性強(qiáng)等原則進(jìn)行選型。在諸多單片機(jī)中,51單片機(jī)資源比較少,因此我們選擇資源更豐富的52單片機(jī);STC89C52和atmel89c52對(duì)比:STC89C52RC單片機(jī):8K字節(jié)程序存儲(chǔ)空間;512字節(jié)數(shù)據(jù)存儲(chǔ)空間;內(nèi)帶4K字節(jié)EEPROM存儲(chǔ)空間;可直接使用串口下載。AT89S52單片機(jī):8K字節(jié)程序存儲(chǔ)空間;256字節(jié)數(shù)據(jù)存儲(chǔ)空間;沒(méi)有內(nèi)帶EEPROM存儲(chǔ)空間;不能直接使用串口下載??梢?jiàn)STC89C52資源更豐富,可寬展性更強(qiáng),成本更低;故選擇STC89C52。3.1.2超聲波模塊選型(HC-SR04)現(xiàn)在市場(chǎng)上各種各樣的超聲波模塊很多,有專(zhuān)門(mén)的發(fā)射、接收模塊,有既能發(fā)射又能接收的,本設(shè)計(jì)是測(cè)距系統(tǒng),應(yīng)采用反射波的模塊,由于市場(chǎng)上已經(jīng)很便宜了,故沒(méi)有自己搭超聲模塊的必要。根據(jù)設(shè)計(jì)要求,在市場(chǎng)上采購(gòu)能符合要求的模塊就行。這里采用的HC-SR04,本模塊價(jià)格便宜,性能穩(wěn)定,測(cè)度距離精確。能和國(guó)外的SRF05,SRF02等超聲波測(cè)距模塊相媲美。模塊高精度,盲區(qū)(2cm)近,能穩(wěn)定的測(cè)距[22]。1、產(chǎn)品特點(diǎn):HC-SR04超聲波測(cè)距模塊可提供2cm-400cm的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)高到3mm;模塊包括超聲波發(fā)射器、接收器與控制電路。(1)采用IO觸發(fā)測(cè)距,給至少10us的高電平信號(hào);(2)模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;(3)有信號(hào)返回,通過(guò)IO輸出一高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間;測(cè)試距離=(高電平時(shí)間*聲速(340M/S))/2;(1)2、實(shí)物圖:圖3.1HC-SR04實(shí)物圖上圖接線:VCC供5v電源,GND為地線,TRIG觸發(fā)控制信號(hào)輸入,ECHO回響信號(hào)輸出線。3、電氣參數(shù):表3.1HR-SR04電氣參數(shù)表電氣參數(shù)HCSR04超聲波模塊工作電壓DC5V工作電流15mA工作頻率40Hz最遠(yuǎn)射程4m最近射程2m測(cè)量角度15度輸入觸發(fā)信號(hào)10uS的TTL脈沖輸出回響信號(hào)輸出TTL電平信號(hào),與射程成比例4、超聲波時(shí)序圖:圖3.2超聲波時(shí)序以上時(shí)序圖表明你只需要提供一個(gè)10uS以脈沖觸發(fā)信號(hào),該模塊內(nèi)部將發(fā)出8個(gè)40kHz周期電平并檢測(cè)回波一旦檢測(cè)到有回波信號(hào)則輸出回響信號(hào)的脈沖寬度與所測(cè)的距離成正比由此通過(guò)發(fā)射信號(hào)到收到的回響信號(hào)時(shí)間間隔可以計(jì)算得到距離。公式:us/58厘米或者us/148英寸;或是:距離高電平時(shí)間*聲(340M/S/2建議測(cè)量期為60ms以上以防止發(fā)射信號(hào)對(duì)回響信號(hào)的影響。注此模塊不宜帶連接若要帶電連先讓模塊的ND端先接否則會(huì)響模塊的正常工作。測(cè)距時(shí)被測(cè)體的面積不少于05平方米且平面盡量要求整否則影響測(cè)量的結(jié)果。3.1.3顯示模塊選型顯示模塊可選擇性比較大,可以是最原始的led燈組合指示顯示,可以是點(diǎn)陣,可以用簡(jiǎn)單的LCD1602,12864等,在這里選擇微雪公司生產(chǎn)的LCD1602,因?yàn)樗啾萳ed顯示,顯示更加細(xì)膩,相比12864或更高級(jí)的LCD,更節(jié)能,操作更簡(jiǎn)單。1602特性:1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字),+5V電壓,對(duì)比度可調(diào),內(nèi)含復(fù)位電路提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能,有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM,內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM,8個(gè)可由用戶(hù)自定義的5X7的字符發(fā)生器CGRAM。3.1.4時(shí)鐘模塊選型此模塊的作用是在存儲(chǔ)距離記錄時(shí),要同時(shí)記錄發(fā)生的時(shí)間,當(dāng)查看測(cè)距記錄時(shí)才能知道其發(fā)生的時(shí)間,這個(gè)時(shí)間只能從時(shí)鐘模塊獲得實(shí)時(shí)系統(tǒng)時(shí)鐘;采用DALLAS公司推出DS1302時(shí)鐘芯片,它使用很簡(jiǎn)單,且能滿(mǎn)足要求,且有備用電池,主電源掉電后依然能正常工作。確保系統(tǒng)時(shí)間的正確性。DS1302的結(jié)構(gòu)及工作原理:DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時(shí)提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。(1)引腳功能及結(jié)構(gòu)DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說(shuō)明。SCLK為時(shí)鐘輸入端。下圖為DS1302的引腳功能圖:圖3.3DS1302管腳圖(2)數(shù)據(jù)輸入輸出(i/O)在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。3.1.5E2PROM模塊選型由于該系統(tǒng)一般只存儲(chǔ)最近一段時(shí)間的測(cè)距記錄,數(shù)據(jù)量不是很大,所有,利用STC89C52RC自帶的4KE2PROM[14]就行了,相比外接的E2PROM,STC89C52RC自帶的E2PROM操作跟簡(jiǎn)單,訪問(wèn)更快,對(duì)于性能本身不是很高的STC89C52RC來(lái)說(shuō),訪問(wèn)速度顯得很重要。而且簡(jiǎn)化了設(shè)計(jì)。3.1.6語(yǔ)音模塊選型(蜂鳴器)這里采用啟盛電子生產(chǎn)的QSI-3610蜂鳴器,用蜂鳴器作為語(yǔ)音模塊,能完成語(yǔ)音提示報(bào)警功能,而且對(duì)資源占用少,這樣的話SCM的工作效率就會(huì)更高。蜂鳴器驅(qū)動(dòng)方式:由于自激蜂鳴器是直流電壓驅(qū)動(dòng)的,不需要利用交流信號(hào)進(jìn)行驅(qū)動(dòng),只需對(duì)驅(qū)動(dòng)口輸出驅(qū)動(dòng)電平并通過(guò)三極管放大驅(qū)動(dòng)電流就能使蜂鳴器發(fā)出聲音,很簡(jiǎn)單;單片機(jī)驅(qū)動(dòng)他激蜂鳴器的方式有兩種:一種是PWM輸出口直接驅(qū)動(dòng),另一種是利用I/O定時(shí)翻轉(zhuǎn)電平產(chǎn)生驅(qū)動(dòng)波形對(duì)蜂鳴器進(jìn)行驅(qū)動(dòng)。PWM輸出口直接驅(qū)動(dòng)是利用PWM輸出口本身可以輸出一定的方波來(lái)直接驅(qū)動(dòng)蜂鳴器。在單片機(jī)的軟件設(shè)置中有幾個(gè)系統(tǒng)寄存器是用來(lái)設(shè)置PWM口的輸出的,可以設(shè)置占空比、周期等等,通過(guò)設(shè)置這些寄存器產(chǎn)生符合蜂鳴器要求的頻率的波形之后,只要打開(kāi)PWM輸出,PWM輸出口就能輸出該頻率的方波,這個(gè)時(shí)候利用這個(gè)波形就可以驅(qū)動(dòng)蜂鳴器了。比如頻率為2000Hz的蜂鳴器的驅(qū)動(dòng),可以知道周期為500μs,這樣只需要把PWM的周期設(shè)置為500μs,占空比電平設(shè)置為250μs,就能產(chǎn)生一個(gè)頻率為2000Hz的方波,通過(guò)這個(gè)方波再利用三極管就可以去驅(qū)動(dòng)這個(gè)蜂鳴器了。而利用I/O定時(shí)翻轉(zhuǎn)電平來(lái)產(chǎn)生驅(qū)動(dòng)波形的方式會(huì)比較麻煩一點(diǎn),必須利用定時(shí)器來(lái)做定時(shí),通過(guò)定時(shí)翻轉(zhuǎn)電平產(chǎn)生符合蜂鳴器要求的頻率的波形,這個(gè)波形就可以用來(lái)驅(qū)動(dòng)蜂鳴器了。比如為2500Hz的蜂鳴器的驅(qū)動(dòng),可以知道周期為400μs,這樣只需要驅(qū)動(dòng)蜂鳴器的I/O口每200μs翻轉(zhuǎn)一次電平就可以產(chǎn)生一個(gè)頻率為2500Hz,占空比為1/2duty的方波,再通過(guò)三極管放大就可以驅(qū)動(dòng)這個(gè)蜂鳴器了。3.2系統(tǒng)電路設(shè)計(jì)單片機(jī)采用STC89C52RC。采用12MHz高精度的晶振,以獲得較穩(wěn)定的時(shí)鐘頻率,減少測(cè)量誤差。單片機(jī)用P2.2端口輸出超聲波換能器所需的40KHz方波信號(hào),用P2.1端口監(jiān)聽(tīng)返回的回波信號(hào)。P0口用來(lái)作為顯示器的數(shù)據(jù)輸出端口;P2.0端口用來(lái)連接蜂鳴器;P1.0,P1.1,P1.2分別為實(shí)時(shí)時(shí)鐘芯片DS1302的SCLK、I/O、RST管腳接口。3.2.1超聲波模塊電路設(shè)計(jì)圖3.4超聲模塊電路圖Trig為模塊的信號(hào)發(fā)射端,Echo為回波信號(hào)端;當(dāng)Trig收到一個(gè)持續(xù)1us的高電平時(shí),模塊自動(dòng)發(fā)射超聲波信號(hào);當(dāng)模塊接收到回波信號(hào)時(shí),Echo被置高電平,且持續(xù)時(shí)間就是從超聲波發(fā)射到接收到回波的時(shí)間,處理器可根據(jù)高電平時(shí)間直接獲得測(cè)距用的時(shí)間。3.2.2時(shí)鐘模塊電路設(shè)計(jì)圖3.5DS1302模塊電路圖Y2是DS1302[24]的時(shí)鐘振蕩器,Battery是備用電源,當(dāng)VCC電壓低于Battery電壓時(shí),DS1302將自動(dòng)轉(zhuǎn)換成由備用電源供電,RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),SCLK為時(shí)鐘輸入端。3.2.3顯示模塊電路設(shè)計(jì)圖3.6顯示模塊電路圖V0為液晶顯示器LCD1602[25]對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。RW為讀寫(xiě)信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫(xiě)操作。E(或EN)端為使能(enable)端。D0~D7為8位雙向數(shù)據(jù)端。3.2.4語(yǔ)音模塊電路設(shè)計(jì)圖3.7語(yǔ)音模塊電路圖NPN三極管8050的基極連接在單片機(jī)的P2.0腳上,當(dāng)P2.0為高電平時(shí),三極管導(dǎo)通,Beep蜂鳴器通電,發(fā)出報(bào)警聲音,當(dāng)P2.0置低電平時(shí),三極管關(guān)斷,蜂鳴器不響。三極管在這里起到放大作用。3.2.5電源電路設(shè)計(jì)圖3.8電源電路圖單片機(jī)電源(220v轉(zhuǎn)5v)設(shè)計(jì)電源電路采用LM7805集成穩(wěn)壓器作為穩(wěn)壓器件,用典型接法,220V電源整流濾波后送入LM7805穩(wěn)壓,在輸出端接一個(gè)470U和0.1U電容進(jìn)一步濾除紋波,得到5V穩(wěn)壓電源。3.2.6系統(tǒng)電路設(shè)計(jì)總圖圖3.9系統(tǒng)電路總原理圖P3.0為外部中斷,外接開(kāi)關(guān)S3,當(dāng)S3切換時(shí),能完成工作模式的切換;當(dāng)系統(tǒng)上電正常工作時(shí),LED燈會(huì)指示工作狀態(tài),P0口外接排阻。4超聲波測(cè)距儀的軟件設(shè)計(jì)超聲波測(cè)距器的軟件設(shè)計(jì)主程序由模式0和模式1兩部分組成。模式0部分由超聲波發(fā)射子程序、定時(shí)器子程序、計(jì)算距離子程序、顯示子程序、報(bào)警子程序、實(shí)時(shí)時(shí)鐘子程序和存儲(chǔ)測(cè)距記錄等子程序組成;模式1部分循環(huán)顯示最近一段時(shí)間的測(cè)距記錄。下面對(duì)超聲波測(cè)距器的算法及本系統(tǒng)的各個(gè)部分程序逐一作介紹。4.1超聲波測(cè)距器的算法設(shè)計(jì)dd圖4.1超聲測(cè)距示意圖圖示意了超聲波測(cè)距的原理,即超聲波發(fā)生器在某一時(shí)刻發(fā)出一個(gè)超聲波信號(hào),當(dāng)這個(gè)超聲波遇到被測(cè)物體后反射回來(lái),就被超聲波接收器所接收到。這樣只要計(jì)算出從發(fā)出超聲波信號(hào)到接收到返回信號(hào)所用的時(shí)間,就可算出超聲波發(fā)生器與反射物體的距離。距離的計(jì)算公式為:d=(v*t)/2;(2)其中d為被測(cè)物與測(cè)距器的距離,v為聲速。在使用時(shí),如果溫度變化不大,則可以認(rèn)為聲速是基本不變的。如果測(cè)距精度要求很高,則應(yīng)通過(guò)溫度補(bǔ)償?shù)姆椒右孕U?。聲速確定后,只要測(cè)得超聲波往返的時(shí)間t,即可求得距離。4.2程序結(jié)構(gòu)圖系統(tǒng)的程序結(jié)構(gòu)圖如下:圖4.2程序結(jié)構(gòu)圖4.3主程序主程序首先是對(duì)系統(tǒng)環(huán)境初始化,包括設(shè)置定時(shí)器T0工作模式為16位定時(shí)器模式,開(kāi)啟外部中斷0,初始化好時(shí)鐘芯片DS1302和LCD1602,然后進(jìn)入循環(huán)體。主程序流程圖如下圖4.3主程序流程圖4.4外部中斷子程序當(dāng)模式切換開(kāi)關(guān)按下時(shí),外部中斷0發(fā)生時(shí),系統(tǒng)會(huì)發(fā)生工作的切換,外部中斷子程序流程圖如下:圖4.4外部中斷流程圖4.5模式0子程序模式0負(fù)責(zé)正常的測(cè)距和相應(yīng)的功能,當(dāng)系統(tǒng)工作在模式0時(shí),程序是一個(gè)小的死循環(huán)程序,先調(diào)用測(cè)距子程序->調(diào)用顯示子程序->調(diào)用報(bào)警子程序->調(diào)用存儲(chǔ)子程序–>返回循環(huán)首部。4.5.1測(cè)距子程序測(cè)距子程序是工作在模式0下面的,先開(kāi)啟超聲波模塊,把P2.2端口置高電平,讓其自動(dòng)發(fā)送40KHz的超聲波信號(hào),延時(shí),關(guān)閉發(fā)射,等待從P2.1返回的回波信號(hào),當(dāng)回波信號(hào)到達(dá)時(shí),開(kāi)啟定時(shí)器0,待返回信號(hào)結(jié)束,關(guān)閉定時(shí)器0,結(jié)束計(jì)時(shí),根據(jù)定時(shí)器0里記錄的時(shí)間和測(cè)距原理的公式,計(jì)算出距離S。其流程圖如下:圖4.5測(cè)距流程圖4.5.2顯示子程序1602的數(shù)據(jù)端口并行連接的是SCM的P0口,先設(shè)置好LCD的環(huán)境參數(shù)和準(zhǔn)備好要寫(xiě)入的數(shù)據(jù)數(shù)組,因?yàn)橐淮沃荒軐?xiě)入一個(gè)字符;循環(huán)把數(shù)組里準(zhǔn)備好的數(shù)據(jù)寫(xiě)入1602顯示子程序的流程圖如下:圖4.6顯示子程序流程圖4.5.3語(yǔ)音模塊子程序蜂鳴器的正端連接到SCM的P2.0端口,當(dāng)SCM給P2.0端口以不同的頻率置高低電平時(shí),蜂鳴器會(huì)以不同的頻率發(fā)出不同的聲音報(bào)警報(bào)警子程序流程圖如下:圖4.7語(yǔ)音子程序流程圖4.5.4存儲(chǔ)子程序E2PROM用的是STC89C52RC自帶的E2PROM,STC89C52RC已經(jīng)給E2PROM分配好寄存器,可通過(guò)訪問(wèn)寄存器直接對(duì)E2PROM進(jìn)行讀寫(xiě)操作存儲(chǔ)子程序流程圖如下:圖4.8存儲(chǔ)子程序流程圖4.6模式1子程序模式1的工作相對(duì)比較簡(jiǎn)單,只負(fù)責(zé)遍歷顯示存儲(chǔ)在E2PROM里面的測(cè)距記錄,完了以后回到模式0。模式1子程序流程圖如下:圖4.9模式1程序流程圖結(jié)束語(yǔ)目前超聲波測(cè)距已得到廣泛應(yīng)用,國(guó)內(nèi)一般使用專(zhuān)用集成電路根據(jù)超聲波測(cè)距原理設(shè)計(jì)各種測(cè)距儀器,但是專(zhuān)用集成電路的成本較高、功能單一。而以單片機(jī)為核心的測(cè)距儀器可以實(shí)現(xiàn)預(yù)置、多端口檢測(cè)、顯示、報(bào)警等多種功能,并且成本低、精度高、操作簡(jiǎn)單、工作穩(wěn)定可靠。本文簡(jiǎn)要介紹了利用51系列單片機(jī)實(shí)現(xiàn)超聲波測(cè)距的原理以及實(shí)現(xiàn)的方法。單片機(jī)其卓越的性能,本設(shè)計(jì)中得到了很好的體現(xiàn),尤其在檢測(cè),控制領(lǐng)域中,具有以下特點(diǎn):(1)小巧靈活,成本低,易于產(chǎn)品化,它能方便地組裝成各種智能測(cè)試,控制設(shè)備及各種智能儀器表。(2)可靠性好,適應(yīng)范圍廣,單片機(jī)芯片本身是按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的,能適應(yīng)各種惡劣的環(huán)境,這是其它原件無(wú)法比擬的。(3)易擴(kuò)展,很容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),控制功能強(qiáng)。單片機(jī)的邏輯控制功能很強(qiáng),指令系統(tǒng)有各種控制功能所用的指令。(4)可以很方便地實(shí)現(xiàn)多機(jī)制分布式控制。在一個(gè)學(xué)期的設(shè)計(jì)和學(xué)習(xí)當(dāng)中,我逐步了解了整個(gè)設(shè)計(jì)內(nèi)容和過(guò)程,并且學(xué)到了很多新的東西。通過(guò)對(duì)實(shí)際工程的了解、設(shè)計(jì)不但使我加深了對(duì)理論知識(shí)的理解,對(duì)專(zhuān)業(yè)知識(shí)的全面認(rèn)識(shí),更重要的是將理論知識(shí)應(yīng)用到了實(shí)踐中,應(yīng)用到了實(shí)際工程中,真正做到了學(xué)以致用、理論與實(shí)踐相結(jié)合。同時(shí),通過(guò)對(duì)設(shè)計(jì)中困難的克服,也鍛煉了我的思考問(wèn)題、解決問(wèn)題的能力以及自學(xué)能力,在這次設(shè)計(jì)中我也對(duì)本專(zhuān)業(yè)前沿的一些知識(shí)和發(fā)展方向有了了解,開(kāi)闊了我的眼界、擴(kuò)大了我的知識(shí)面,這些都將為我以后的工作奠定良好的基礎(chǔ)。在這次論文設(shè)計(jì)過(guò)程中,我學(xué)會(huì)了怎樣去根據(jù)課題的要求去設(shè)計(jì)電路和調(diào)試電路。動(dòng)手能力得到很大的提高。從中我發(fā)現(xiàn)自己并不能很好的熟練去使用我所學(xué)到的知識(shí)。在以后工作和學(xué)習(xí)中我要加強(qiáng)對(duì)使用電路的設(shè)計(jì)和選用能力。附錄程序清單:/*************************頭文件header.h************************/#ifndefHEADER_H#defineHEADER_H#include"REG52.h" #include<intrins.h>#defineucharunsignedchar#defineuintunsignedint//管腳定義#defineSPKP2^0;#defineTXP2^1#defineRXP2^2 #defineLCM_EP2^3 //定義LCD引腳#defineLCM_RWP2^4#defineLCM_RSP2.5#defineLCM_DataP0#defineBusy0x80//用于檢測(cè)LCM狀態(tài)字中的Busy標(biāo)識(shí)#defineT_CLK P1^0 /*實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳*/#defineT_IO P1^1 /*實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳*/#defineT_RST P1^2 /*實(shí)時(shí)時(shí)鐘復(fù)位線引腳*///全局變量定義uintBlockSize=512; //flash每個(gè)扇區(qū)的大小uintADDR=0x2000; //flash扇區(qū)起始地址uintBlockOffset=0;ucharBlockFlag=0; //扇區(qū)標(biāo)示,指定對(duì)那個(gè)扇區(qū)(1、2、3、4)進(jìn)行操作,默認(rèn)為第0扇區(qū)uintaddr=0;//ADDR+BlockFlag*BlockSize; uinttime=0;uintdistance=0;bit flag=0;bitmodel=1;unsignedcharRange[]="==RangeFinder==";//LCD1602顯示格式unsignedcharASCII[13]="0123475689.-M";unsignedchartable[]="Distance:000.0cm";unsignedchartable1[]="!!!Outofrange";unsignedcharErr[]="Error!!";unsignedchardisbuff[4]={0,0,0,0}; //用于裝距離的個(gè)十百千位(mm)unsignedcharinitTimeBuf[8]={00,00,13,28,05,02,12};//初始化時(shí)鐘芯片的初始時(shí)間//flashDS1302.cvoidflashClear(unsignedintaddr);voidflashWrite(unsignedintaddr,unsignedchardat);unsignedcharflashRead(unsignedintaddr);voidflashClose();voidwriteByte_DS1302(unsignedchard);unsignedcharreadByte_DS1302(void);unsignedcharReadData_DS1302(unsignedcharucAddr);voidWriteData_DS1302(unsignedcharucAddr,unsignedcharucDa);voidsetTime_DS1302(unsignedchar*pClock);voidWriteTime_DS1302(unsignedchar*pSecDa);voidReadTime_DS1302(unsignedchar*pSecDa);voidStart_DS1302(void);voidwitedata_flash(unsignedchardistance);voidLCDdisplay(void);//chaoshen1602.cvoidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData);voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedchar*DData);unsignedintCount_display(void);voidbeep(unsignedintdistance);voidtimerInit(void);voidTimer_Count(void);voidLCMInit(void);voidDelay_Ms(unsignedintms);voidStartModule(void);#endif/***********************chaosheng1602.c******************/#include"header.h"/********************//寫(xiě)數(shù)據(jù)***************************/voidWriteDataLCM(unsignedcharWDLCM){ LCM_Data=WDLCM; LCM_RS=1; LCM_RW=0; LCM_E=0;//若晶振速度太高可以在這后加小的延時(shí) LCM_E=0;//延時(shí) LCM_E=1;}/*******************//寫(xiě)指令****************************/voidWriteCommandLCM(unsignedcharWCLCM){ LCM_Data=WCLCM; LCM_RS=0; LCM_RW=0; LCM_E=0; LCM_E=0; LCM_E=1; }/*********************//LCM初始化**************************/voidLCMInit(void){ LCM_Data=0; WriteCommandLCM(0x38,0);//三次顯示模式設(shè)置,不檢測(cè)忙信號(hào) Delay_Ms(1); WriteCommandLCM(0x38,0); Delay_Ms(1); WriteCommandLCM(0x38,0); Delay_Ms(1); WriteCommandLCM(0x38,1);//顯示模式設(shè)置,開(kāi)始要求每次檢測(cè)忙信號(hào) WriteCommandLCM(0x08,1);//關(guān)閉顯示 WriteCommandLCM(0x01,1);//顯示清屏 WriteCommandLCM(0x06,1);//顯示光標(biāo)移動(dòng)設(shè)置 WriteCommandLCM(0x0c,1);//顯示開(kāi)及光標(biāo)設(shè)置}/******************//按指定位置顯示一個(gè)字符*******************/voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData){ Y&=0x1; X&=0xF; //限制X不能大于15,Y不能大于1 if(Y){ X|=0x40;//當(dāng)要顯示第二行時(shí)地址碼+0x40; } X|=0x80; //算出指令碼 WriteCommandLCM(X,1);//發(fā)命令字 WriteDataLCM(DData);//發(fā)數(shù)據(jù)}/*****************//指定位置顯示一串字符**********************/voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedchar*DData){ unsignedcharListLength; ListLength=0; Y&=0x1; X&=0xF;//限制X不能大于15,Y不能大于1 while(DData[ListLength]>0x19)//若到達(dá)字串尾則退出 { if(X<=0xF)//X坐標(biāo)應(yīng)小于0xF { DisplayOneChar(X,Y,DData[ListLength]);//顯示單個(gè)字符 ListLength++; X++; } }}/*********************/5ms延時(shí)***********************/voidDelay_Ms(unsignedintms){ unsignedintTempCyc=ms*1000; while(TempCyc--);}/*******************//計(jì)算距離并顯示*********************/unsignedintCount_display(void){ unsignedlongS=0; StartModle(); //啟動(dòng)超聲波模塊,延時(shí),關(guān)閉發(fā)射 while(RX==0); //等待返回信號(hào) Timer_Count(); //計(jì)時(shí) if(flag==1) //定時(shí)器T0溢出中斷時(shí),出錯(cuò)返回 { TH0=0; TL0=0; flag=0; DisplayListChar(0,0,Err); return-1; } time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.7)/10+10;//算出來(lái)是MM//聲音的傳播速度是340米每秒超聲波發(fā)送到返回這個(gè)過(guò)程相當(dāng)于走了兩趟,//所以要除于2即340/2=1701us所走的路程是0.00017米51單片機(jī)采用12M晶振的時(shí)//定時(shí)器每加1個(gè)數(shù)用的時(shí)間是1us距離=(time*0.00017)單位是M化成毫米之后就是//(time*1.7)/10 if((S>=5000)||flag==1)//超出測(cè)量范圍 { flag=0; DisplayListChar(0,1,table1); } else { disbuff[0]=S%10; disbuff[1]=S/10%10; disbuff[2]=S/100%10; disbuff[3]=S/1000; DisplayListChar(0,1,table); DisplayOneChar(9,1,ASCII[disbuff[3]]); DisplayOneChar(10,1,ASCII[disbuff[2]]); DisplayOneChar(11,1,ASCII[disbuff[1]]); DisplayOneChar(12,1,ASCII[10]); DisplayOneChar(13,1,ASCII[disbuff[0]]); } returnS/10; //轉(zhuǎn)化成cm}/********************//啟動(dòng)超聲模塊**********************/voidStartModle() { TX=1; //啟動(dòng)模塊 _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); TX=0;}/*******************//距離小于100cm時(shí)報(bào)警*******************/voidbeep(unsignedintdistance) //單位為cm{ unsignedinttimes;//報(bào)警響鈴次數(shù)根據(jù)times值不同確保每次響鈴的總時(shí)間相同 unsignedintrate; //蜂鳴器頻率單位ms if(distance>=100)//cm return; if(distance>50&&distance<100){ rate=50; //ms times=10; //響10次 } elseif(distance<50){ rate=10; //ms times=50; //響50次 } while(times--){ SPK=!SPK; Delay_Ms(rate); //距離不同延時(shí)不同 } SPK=0; //關(guān)閉蜂鳴器}/*********************//定時(shí)器初始化*************************/voidtimerInit(void){ TMOD=0x01; //設(shè)T0為方式1,GATE=1;工作在定時(shí)器模式EA=1; //開(kāi)啟總中斷 ET0=1; //允許T0中斷 EX0=1; //開(kāi)啟外部中斷0 TR0=0; //計(jì)數(shù)器關(guān)閉TH0

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論