下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
超益大學(xué)基于單片機的測距報警系統(tǒng)作者姓名:專業(yè)名稱:指導(dǎo)教師:講師摘要STC89C52是STC系列單片機中使用最為廣泛的一款8位CPU單片機,它也是STC公司自主推出的一種低功耗、高性能的CMOS8位的MCU。此款單片機在目前的工業(yè)控制等領(lǐng)域占據(jù)半壁江山的位置,另外它也以其開發(fā)簡便和容易上手等特點受到了廣大在校學(xué)生和電子設(shè)計愛好者的好評。本次基于單片機的測距系統(tǒng)設(shè)計主要是采用STC89C52單片機、蜂鳴器、4個7段數(shù)碼管、控制按鍵和超聲波傳感器來完成本次測距報警系統(tǒng)的設(shè)計,其中STC89C52為系統(tǒng)設(shè)計的主控芯片,傳感器發(fā)出超聲波經(jīng)被測物體表面反射回來,通過聲音在空氣的傳播速度將前方物體的距離探測出來,然后單片機根據(jù)發(fā)出到接受超聲波的來回時間來進行處理運算,通過公式的計算值與自身設(shè)定的報警閾值進行比較后,如果計算值小于設(shè)定閥值,那么單片機將驅(qū)動蜂鳴器發(fā)聲報警,以此來達到測距報警的目的。關(guān)鍵詞:超聲波傳感器單片機STC89C52AbstractSTC89C52isoneofthemostwidelyuseditemsonSTCseriessingle-chip8-bitCPUsinglechipmicrocomputer,itisindependentonSTCcompanylaunchedalow-power,high-performanceCMOS8bitMCU.Atpresentinthefieldofautomaticcontrolandsoonlowcostrequirementsoftheindustryenjoysahighvalue,withitsdevelopmentcharacteristicssuchassimpleandeasytousebythewellreceivedbythemajorityofstudentsandelectronicdesignenthusiasts.TherangingsystemdesignbasedonsinglechipmicrocomputerismainlyadoptstheSTC89C52microcontroller,buzzer,foursevensegmentdigitaltube,controlkeysandthedesignoftheultrasonicsensortocompletetherangealarmsystem,includingSTC89C52forthesystemdesignofthemaincontrolchip,ultrasonicsensorbythemeasuredsurfaceobjects,throughthespeedofsoundinairwillforwardthedistanceoftheobjectdetection,thensingle-chipmicrocomputeraccordingtosendtoacceptultrasonictimeforhandlingoperations,backandforththroughtheformulaofcalculatingvaluescomparedwiththeirownsetofalarmthreshold,ifthecalculatedvalueislessthanthesettingthreshold,thentheMCUwilldrivebuzzersoundalarm,inordertoachievethegoalofrangealarm.Keywords:UltrasonicTransducer,Microcontrollers,STC89C52目錄TOC\o"1-5"\h\z基于單片機的測距報警系統(tǒng)I.摘要I...AbstractII目錄LII前言5.1緒論6.課題意義6.超聲波測距技術(shù)的國內(nèi)外現(xiàn)狀.7超聲波測距技術(shù)的主要發(fā)展趨勢72總體設(shè)計方案.9.2.1總體方案設(shè)計.9.3硬件實現(xiàn)及單元電路設(shè)計11主控制模塊11單片機簡介.12超聲波測距模塊1.3超聲波的特性14超聲波換能器16超聲波傳感器原理1.8測距分析22時鐘電路部分24復(fù)位電路部分24聲音報警電路部分25顯示模塊部分264軟件系統(tǒng)設(shè)計27編譯軟件27主程序工作流程圖27部分重要程序代碼分析30數(shù)碼管顯示程序30超聲波測距程序30總結(jié)32參考文獻33致謝34附件1原理圖35附件2程序彳t碼36刖百在惡劣環(huán)境下測量距離一直困擾著施工人員,傳統(tǒng)的測距方法必然滿足不了需求,其中在較惡劣和復(fù)雜的工作條件下存在著很多的問題,導(dǎo)致不能夠測量所需要的距離指標。采取超聲波技術(shù)(發(fā)射到反射的時間測算)來測距離具有無線性、維護簡單、開發(fā)簡單以及結(jié)構(gòu)簡單等許多性能優(yōu)良等優(yōu)點,徹底解決了陳舊傳統(tǒng)的接觸式的測量辦法所帶來的測量存在的問題。在當(dāng)今科技發(fā)展迅速的今天,我們就應(yīng)該摒棄舊的不良的技術(shù)手段,去追求可以替代的新技術(shù),超聲波測距技術(shù)就實現(xiàn)了應(yīng)有的高效率、測距的分辨率高、方向性強、適用范圍廣和可應(yīng)用到惡劣的工作環(huán)境中,另外其幾乎不受光線、煙霧、電磁干擾等因素的影響。另外在各行業(yè)中,超聲波測距設(shè)備的使用在移動機器人避障、工業(yè)控制、家庭防盜報警、三維精確定位、倒車雷達、建筑施工行業(yè)、曲面形仿檢測等領(lǐng)域得到了廣泛的應(yīng)用。1緒論課題意義近年來,單片機控制計算等技術(shù)的迅猛發(fā)展,并廣泛應(yīng)用于各個領(lǐng)域,給如今各行各業(yè)打好了基礎(chǔ)。并且用超聲波來精確測量距離成為了可能。單片機的普遍使用使得可以制作各種工業(yè)上的自動控制系統(tǒng)和精密的數(shù)據(jù)采集系統(tǒng)等。這樣為超聲波測距系統(tǒng)制作提供了良好的控制器。如今,電子行業(yè)的發(fā)展如火如荼,隨著大量的市場需要使得電子元件的采購價格逐年降低,而且超聲波測量本身的精確度高,而且它的工作也比較穩(wěn)定,因此備受青睞。這里我們采用的也是一種仿生學(xué),這里仿的便是生活在黑暗環(huán)境的蝙蝠。我們知道蝙蝠是沒有眼睛的。那么蝙蝠又是怎樣來判斷物體的位置呢?這里便是利用他們的本能來抵抗和捕捉獵物生存的,這樣一種手段其實就是靠動物體自身來發(fā)射一些不能夠被異己所聽到的超聲波,通過超聲波在介質(zhì)中的發(fā)射和反射來定位的,自超聲波發(fā)生時計時到由待捕捉的獵物或者障礙物發(fā)生反射和折射現(xiàn)象回來的時間問隔長短和通過障礙物或獵物反射的超聲波的強弱判斷獵物的性質(zhì)或障礙位置的方法。傳統(tǒng)的測距系統(tǒng)基本上都是基于數(shù)字、模擬電路組合而成的測距電路,這樣給自身調(diào)試帶來了困難,另外電路的復(fù)雜性高且可靠性也沒有保障,再如進入復(fù)雜的作用環(huán)境來測量也存在難以克服的缺陷。上述實際情況給測量工作造成很大的不便,因此如果利用超聲波的發(fā)射和接收的獨特方式來測量距離就可以較好的解決這些難題。但是超聲波測距系統(tǒng)可以運用一些簡單的電路來搭建就可完成,再通過軟件的程序編寫來控制超聲波的發(fā)射和接受時間的測量和運算,使整個系統(tǒng)的復(fù)雜程度大大降低了,另外有很好的系統(tǒng)保障。隨著科技水平的不斷提高,測距也演化了多種方式,比如紅外線、微波、激光等等測量方式,但是超聲波測距技術(shù)卻被大眾使用的較為廣泛。它的優(yōu)點如簡單可行、造價低,省力,攜帶方便、小巧、操作方便等優(yōu)點。利用超聲波檢測易于實現(xiàn)實時控制等諸多優(yōu)點,使得在工業(yè)控制和測量方面有了獨有的優(yōu)勢指,因此為移動機器人的行走提供了又一雙眼睛,機器人通過自身的超聲波傳感器來探測前方范圍內(nèi)的障礙物距離來壁障,很好的解決了問題,如果安裝多個測距系統(tǒng)即可及時獲取距自身所在坐標位置,并為其自身自動行走壁障提供依據(jù)。由在機器人上的應(yīng)用,使得其在工業(yè)控制研究領(lǐng)域上得到了廣泛的應(yīng)用。同時通過以上為機器人壁障的模式移植到汽車的倒車雷達上,為汽車雷達的研制提供了優(yōu)秀的想法。超聲波測距技術(shù)的國內(nèi)外現(xiàn)狀在基于傳統(tǒng)的測距存在不可克服的缺陷同時,出現(xiàn)了大量的無線測距儀器設(shè)備。目前,無線測量距離的方法大多都是采用測量波在介質(zhì)中傳播速度與時間的關(guān)系來確定距離。目前,我知道的的無線測距方法有紅外線測距、雷達測距、激光測距等。其中,紅外線探測具有使用方便、傳播速度快等特點,但紅外線存在一定安全性。再就是雷達測距,它具有24小時不間斷工作的特點,另外更加適合于在惡劣環(huán)境中進行短距離、高精度測距的優(yōu)點,但容易受小時不間斷工作特性,可短距離測量等優(yōu)點,但是雷達本身容易被電磁波干擾,造成誤差。激光測距,它具有較強的方向性、高度的單色性、高亮度、傳播速度快、抗干擾能力強、具有一定的穿透能力等系列優(yōu)點,但其成本較高和程序的數(shù)據(jù)處理復(fù)雜等劣勢凸顯。通過以上幾種測距方式的種種對比,超聲波測距可以直接測量多方向的物體距離,并且縱向分辨率較高,適用環(huán)境多種多樣,例如其不受光線、煙霧、電磁波的強干擾等優(yōu)點。目前,超聲波測距已經(jīng)普遍應(yīng)用到人們的日常生活中,例如掃地機器人、倒車雷達、手持測距儀等多種產(chǎn)品中,使得其應(yīng)用前景十分廣闊。超聲波測距技術(shù)的主要發(fā)展趨勢目前采用超聲波來測量地球大氣中的地面距離和超聲波回波信號處理方法,已經(jīng)成為了近代電子技術(shù)發(fā)展必須解決的棘手問題,因為超聲波測距技術(shù)本身是一種無線的檢測技術(shù),它是不會受到光線和被測對象自身顏色改變等的影響,另外在較惡劣的環(huán)境(例如下雨、電磁波或者霧霾粉塵等)具有一定的適應(yīng)能力。因此,這樣的測量技術(shù)用途極度廣泛。現(xiàn)如今汽車上的倒車雷達、實地勘測、國家測繪的測繪地形圖、橋梁、道路、隧道、油井等,省力、操作方便。在目前的研究領(lǐng)域,隨著超聲波的回波信號處理技術(shù)的持續(xù)發(fā)展,如何研發(fā)出更多的測距應(yīng)用空間,拓寬超聲波測距技術(shù)的超聲波換能器已經(jīng)成為國內(nèi)學(xué)者關(guān)心和開發(fā)的重點。現(xiàn)階段,國內(nèi)一些該領(lǐng)域的專家對新型超聲換能器制作材料以及超聲波的發(fā)生機理創(chuàng)新等方面的研究沒有太大的起色,但是該領(lǐng)域的專家在對新型超聲波換能器進行研究上有了一些具體的優(yōu)化成功,如發(fā)射電路的簡化、發(fā)射功頻率的控制和探測距離的提高等過程就有了較大的成功,值得祝賀。雖然現(xiàn)階段市場上已有成熟的測距系統(tǒng),它的測量精度和可靠性也是值得認可的,但是任然存在諸多問題,比如在利用高頻率的超聲波發(fā)射的時候,就會因為空氣大量的吸收而產(chǎn)生衰減,使得遠距離的測量失去了作用;但是如果降低發(fā)射頻率,來提高測量距離,測距的絕對誤差又會增大。這樣的情況就制約了超聲波測距的發(fā)展領(lǐng)域。近幾年,怎樣明智的選擇超聲波的發(fā)射脈沖,能夠讓測距系統(tǒng)在提高精度和抗干擾能力的同時又能夠提高有效測量距離成了一個新的重要的研究方向。2總體設(shè)計方案2.1總體方案設(shè)計單片機的測距系統(tǒng)包括硬件和軟件兩個重要的部分。其中硬件部分超聲波發(fā)射回傳模塊、蜂鳴器報警模塊、四位段數(shù)碼管顯示模塊和獨立按鍵模塊。其中電路部分又分為:蜂鳴器報警電路、按鍵電路、單片機最小系統(tǒng)電路(含晶振電路、復(fù)位電路)、超聲波發(fā)射回傳傳感器電路(模塊)。在此系統(tǒng)中,單片機部分必然是系統(tǒng)設(shè)計的核心單元,因此要讓系統(tǒng)發(fā)揮其預(yù)期的測量效果,就必須設(shè)計好最小系統(tǒng)。單片機最小系統(tǒng)也是有硬件和軟件組成。其中硬件部分包括單片機STC89C52、輸入和輸出設(shè)備、搭配的外圍應(yīng)用電路等組成的單片機最小系統(tǒng),這里的軟件程序即是值系統(tǒng)的各種工作程序的總稱。該單片機測距系統(tǒng)的全套設(shè)計開發(fā)過程包括系統(tǒng)的總體方案設(shè)計、硬件設(shè)計、軟件設(shè)計、硬件焊接等幾個階段。該基于單片機(Microcontrollers)的測距系統(tǒng)采用的是STC公司的STC89C52單片機作為該系統(tǒng)的CCBB(核心控制單元),通過向超聲波傳感器做出操作,使得得到系列數(shù)據(jù)。單片機會將測得的距離數(shù)據(jù)與其程序設(shè)定的值作比較進行處理,當(dāng)測得的距離小于設(shè)定值時,則控制單片機主控芯片向蜂鳴器做出報警指令使其發(fā)出蜂鳴聲報警。系統(tǒng)總體的設(shè)計方框圖如圖2.1所示(見下一頁)。電源超聲波傳感器模塊蜂鳴器報警模塊STC主控制器模塊39C524電源超聲波傳感器模塊蜂鳴器報警模塊STC主控制器模塊39C524位7段數(shù)碼管顯示模塊圖2.1系統(tǒng)方框圖此系統(tǒng)的超聲波模塊的輸入控制引腳由單片機ST89C52編程產(chǎn)生10us以上的高電平,就可以在傳感器的接收引腳口等待高電平輸出。當(dāng)傳感器模塊的接收引腳一旦有高電平輸出時,即傳感器模塊中經(jīng)過放大電路,驅(qū)動超聲波模塊發(fā)射超聲波。從傳感器發(fā)射超聲波到接收回傳的超聲波過程中,傳感器的接收引腳一直是高電平輸出。當(dāng)超聲波模塊的發(fā)射頭發(fā)射出去超聲波,經(jīng)過人體或障礙物體反射回來,再經(jīng)超聲波的接收頭接收信號,信號通過模塊自身接收電路的快速處理,經(jīng)過傳感器模塊處理完成后就將剛剛一直置高的接收引腳口置為低電平,單片機利用定時器來計算從發(fā)送到接收的時間值,再通過聲波的傳播速度來計算出障礙物的距離,并通過4位7段數(shù)碼管顯示出來。3硬件實現(xiàn)及單元電路設(shè)計基于單片機測距系統(tǒng)設(shè)計過程中,考慮到系統(tǒng)設(shè)計的成本、可靠性、實用性、攜帶方便等方面。硬件設(shè)計如下:主控制模塊主控制最小系統(tǒng)電路如圖3.1所示圖3.1最小系統(tǒng)硬件電路總設(shè)計見圖3.2,從以上的總體方案設(shè)計中分析可知,構(gòu)成本系統(tǒng)設(shè)計需如下器件:STC89C52單片機、超聲波傳感器、直插式獨立按鍵、四位7段數(shù)碼管、LED直插式燈、蜂鳴器等一些單片機外圍應(yīng)用電路。其中U1即為單片機,DS1為數(shù)碼管,P1是傳感器的位置,SW1為電源開關(guān),B1是蜂鳴器。電路設(shè)計中用到3個獨立按鍵,一個是設(shè)定鍵(用于報警距離值得設(shè)定),一個加鍵(設(shè)定距離值加大),一個減鍵(設(shè)定距離值減小)。
b.shh圖3.2總設(shè)計電路圖b.shh圖3.2總設(shè)計電路圖單片機簡介STC89C52單片機是STC系列單片機中使用最為廣泛的一款8位CPU單片機,它也是STC公司自主推出的一種低功耗、高性能的CMOS8位的MCU,并且擁有8K的可編程Flash存儲器。STC89C52單片機使用經(jīng)典的MCS-51內(nèi)核,但是這款單片機比傳統(tǒng)的51單片機有了較多的改進,使得具有一些傳統(tǒng)51不具備的功能。這樣以來STC89C52單片機為眾多嵌入式控制領(lǐng)域的開發(fā)人員提供了高靈活性和超有效的解決方案。(1)標準功能89C52擁有以下功能:8k字節(jié)的可編程Flash,512字節(jié)RAM,32位I/O輸入輸出口,看門3^定時器,內(nèi)置4KBEEPROM可用于數(shù)據(jù)的斷電存儲,單片機復(fù)位電路,3個16位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu),一組全雙工用行口。單片機工作在空閑模式時,CPU將停止工作,但是單片機允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作,這樣能夠保證處理一切突發(fā)狀況。掉電保護方式下,單片機將保存RAM中的內(nèi)容,晶體振蕩器也將被凍結(jié)并停止工作,則單片機也停止一切工作,直到下一個中斷或硬件復(fù)位為止。(2)主要特性如下:8K字節(jié)程序存儲空間;512字節(jié)數(shù)據(jù)存儲空間;內(nèi)帶4K字節(jié)EEPROM存儲空間;可直接使用用口下載;超聲波測距模塊本系統(tǒng)中使用的超聲波測距模塊使用集成的HC—SR04超聲波模塊,省去了自己設(shè)計和硬件調(diào)試的麻煩。該超聲波測距模塊采用無線距離感測,可用來測量2cm-500cm的直線距離,測量距離的精度可達到3mm0該超聲波測距模塊包括超聲波的發(fā)射器和超聲波的接收器以及控制電路。該模塊基本的工作原理為:TRIG引腳用于測距的觸發(fā),具體觸發(fā)為給該IO□不低于10個微秒的高電平信號;觸發(fā)后模塊將自動發(fā)送8個40khz的方波,發(fā)送同時IO口ECHO將自動檢測是否有高電平信號輸出;有信號返回時,通過IO口ECHO輸出一個高電平,我們只需檢測高電平持續(xù)的時間就可以計算出超聲波從發(fā)射到返回的時間。另外可以計算出距離=(高電平持續(xù)時間*聲速(340M/S))/2。超聲波模塊實物圖如下圖32模塊中有4個引腳,VCC引腳為模塊5V電源,GND引腳為模塊地線,TRIG引腳為模塊的超聲波發(fā)射觸發(fā)控制信號輸入,ECHO引腳為模塊的回響信號。
圖3.2超聲波模塊實物圖超聲波測距程序中測試功能主要由兩個函數(shù)完成。程序編寫中,采用定時器0,中斷號為1進行定時測量,8分頻,定時器0的預(yù)設(shè)值為0XCE,當(dāng)定時器0溢出中斷發(fā)生2500次時為125ms,計算公式如下所示(單位:ms):T=(定時器0溢出次數(shù)*(0XFF-0XCE))/1000其中定時器0初值計算依據(jù)分頻不同而有差異。超聲波的特性聲音與人類生活是一種緊密相關(guān)的不可缺少的自然現(xiàn)象。實驗表明,人類只有在特定的聽覺頻率范圍內(nèi)才能聽到聲音,超出該頻率范圍人們將會察覺不到聲音的存在。一般超過20000赫茲時,稱之為“超聲”。如下圖3.3為人耳聽覺范圍。310,」310,」.4%里心_.,一匕圖3.3人的聽覺范圍超聲波的特性有:(1)束射特性我們知道光線具有反射、折射和聚焦等光學(xué)的幾何定律,并且具有波粒二象性。超聲波的波長短,且也是波,同樣遵守幾何學(xué)上的所有定律。也即遵守超聲波發(fā)射到一種物質(zhì)表面時,它的入射角等于反射角,跟光線一樣,當(dāng)超聲波射向一種物質(zhì)進入另一種密度不同的物質(zhì)時就會產(chǎn)生折射現(xiàn)象,這樣也就有一個臨界角度。這樣也就改變了它的原有傳播方向,由光的傳播特性知道,兩種物質(zhì)的密度差愈大,則折射率也愈大,改變原路徑的概率也就增大。(2)吸收特性在日常生活中,我們知道聲音只有在介質(zhì)中才能傳播。另外在傳播中必然會有衰減,在介質(zhì)中傳播時,隨著傳播的距離越來越遠,其聲音強度也隨距離的增加越來越低,直到消失。這是由于介質(zhì)會吸收聲波的部分能量。當(dāng)然在同一種的介質(zhì)中,聲波的頻率越高,那么其被吸收的強度就越大。實驗表明,固定頻率的聲波在氣體介質(zhì)中傳播時被吸收的最強,在液體介質(zhì)中傳播吸收強度次之,在固體介質(zhì)中傳播時吸收強度最小。(3)超聲波的能量傳遞特性目前超聲波的使用在各行業(yè)都比較廣泛,這里超聲波的主要優(yōu)點是自身的功率大,比聲波大得多。這里為什么說超聲波的功率大,主要原因還是在于其發(fā)射頻率高。當(dāng)聲波進入介質(zhì)中,由于聲波的作用使得其介質(zhì)中的物質(zhì)分子也隨之振動起來,物質(zhì)分子的振動頻率和進入介質(zhì)的聲波頻率一樣,又因為分子振動的頻率決定了分子振動的速度。頻率越高也即運動速度越大。介質(zhì)物質(zhì)中的分子獲得的能量也與自身質(zhì)量有關(guān),也取決于分子的振動速度的平方?jīng)Q定。因此聲波頻率越高,那么分子的能力也就越大。超聲波的發(fā)生頻率比普通聲波要高許多,那么它在介質(zhì)中傳播時也就可以讓分子獲得很大的能量。(4)超聲波的聲壓特性當(dāng)聲波進入某介質(zhì)物體時,由聲波的能量傳遞性可知聲波可帶動物質(zhì)分子開始振動,使得介質(zhì)物質(zhì)自身所受壓力發(fā)生變化,這是由于物質(zhì)分子的振動使得物質(zhì)分子相互之間產(chǎn)生了壓縮和稀疏的作用所導(dǎo)致的3.2.2超聲波換能器超聲波換能器也就是我們所說的超聲波傳感器,它是產(chǎn)生和接受超聲波的一種裝置。也可叫超聲波探頭。超聲波換能器主要由壓電晶片組成,可以發(fā)射和接收超聲波,本系統(tǒng)中的超聲波裝置主要用于測距。由上面介紹可知,超聲波換能器的核心是包裹在其塑料外套或者金屬外套中的一塊壓電晶片。要獲得優(yōu)良的測量數(shù)據(jù),就必須關(guān)注構(gòu)成晶片的材料和規(guī)格,材料和規(guī)格的不同影響晶片性能。例如晶片的大小、直徑和厚度,這些因素都將決定每個探頭的性能,因此我們在使用超聲波傳感器的時候,就必須預(yù)先了解清楚該傳感器的性能參數(shù)。超聲波傳感器的主要性能指標包括:(1)工作頻率。即為壓電晶片產(chǎn)生共振時的振動頻率。要讓超聲波輸出能量最大,靈敏度越高,那么使得當(dāng)加到它兩端的交流電壓的頻率和晶片的共振頻率相等時即可。(2)工作溫度。由于各行業(yè)使用的超聲波探頭功能不一,造成探頭的溫度不一,壓電材料的店里點一般又比較高,因此正好利用這一特點工作在不同溫度下。例如診斷用的超聲波探頭使用功率較小,因此工作溫度也就比較低,這樣以來就可以長時間地工作而不失效。但是在醫(yī)療中使用的超聲探頭的溫度就比較高,這樣就必須單獨的來使用制冷設(shè)備做處理。(3)靈敏度。主要取決于制造晶片本身。機電耦合系數(shù)大,靈敏度局0人耳能夠聽到的聲音頻率范圍為20?20000赫茲,稱為可聽聲波,超出這個范圍,低于20赫茲的聲波稱之為次聲波,高于20000赫茲的聲波稱之為超聲波。超聲波發(fā)射為直線傳播方式,它的發(fā)射頻率越高繞射能力就越弱,但反射能力較強。利用超聲波的這種反射性能即可制成超聲波傳感器。已知聲波在空氣中傳播速度為340m/s,即為超聲波傳播速度,這就使超聲波測距計算起來簡單快捷。這里我們選用的是壓電式超聲波傳感器。它的常用制作材料為壓電晶體和特殊的壓電陶瓷,材料具有壓電性的特點,使得其工作在此特點下。超聲波的發(fā)射探頭是由逆壓電效應(yīng)將高頻的電振動轉(zhuǎn)化為高頻的機械振動,從而來產(chǎn)生電磁波的。另外超聲波的接受探頭,它是利用正壓電效應(yīng),將超聲振動波轉(zhuǎn)換成電信號的。為了滿足人們對超聲波發(fā)生器的不同需求,經(jīng)過不斷努力的研究超聲波,人們逐步設(shè)計出了許多種超聲波發(fā)生器。但總而言之可歸納為兩大類:一種產(chǎn)生方式是利用機械過程來產(chǎn)生超聲波,另一種則是利用電氣過程來產(chǎn)生超聲波。這里的機械產(chǎn)生方式有加爾統(tǒng)笛、液哨和氣流旋笛等。另一種電氣產(chǎn)生方式就包括壓電型、電動型和磁致伸縮型三種方式;由于超聲波用途各種各樣,這樣也使得以上各種方式產(chǎn)生的超聲波能夠充分發(fā)揮各自優(yōu)勢。圖3.4超聲波傳感器結(jié)構(gòu)目前市場上常用的超聲波發(fā)生器為壓電式超聲波發(fā)生器,它實際上是利用壓電晶體的諧振來工作的。如上圖3.4所示為超聲波發(fā)生器內(nèi)部的結(jié)構(gòu)圖。其內(nèi)部結(jié)構(gòu)由上下兩個帶極性的壓電晶片和一個共振板構(gòu)成。在它的兩個壓電晶片極性處外加脈沖信號,當(dāng)脈沖信號的頻率等于壓電晶片的固有振蕩頻率時,壓電晶片即會發(fā)生共振現(xiàn)象,并且?guī)庸舱癜骞舱瘢藭r即產(chǎn)生了超聲波。另外如果在兩個壓電晶片極性處外加電壓,當(dāng)共振板接收到反射回來的超聲波時,將壓迫壓電晶片做振動,此時將振動產(chǎn)生的機械能轉(zhuǎn)換為電信號,而此時它就變成了超聲波接收器。超聲波傳感器原理市面上常見的超聲波傳感器多為開放型,其內(nèi)部結(jié)構(gòu)如圖3.5所示,一個復(fù)合式振動器被靈活地固定在底座上。該復(fù)合式振動器是由諧振器以及一個金屬片和一個壓電陶瓷片組成的雙壓電晶片元件振動器。諧振器呈喇叭形,目的是能有效地輻射由于振動而產(chǎn)生的超聲波,并且可以有效地使超聲波聚集在振動器的中央部位。當(dāng)電源電壓作用于壓電晶片的陶瓷時,它會隨著電源電壓和頻率的變化而發(fā)生機械變形。此時壓電晶片陶瓷振動的同時也會產(chǎn)生一個電荷。這樣以來,當(dāng)作用于由兩片壓電晶片陶瓷組成的振動器或者由一片壓電晶片陶瓷和一個金屬片構(gòu)成的振動器時,就會因為彎曲振動而發(fā)出超聲波信號。另外,如果向以上兩種構(gòu)成的振動器施加超聲振動時,就會產(chǎn)生一個電信號。這樣以來就可以將壓電陶瓷用作于超聲波傳感器中。圖3.5超聲波內(nèi)部結(jié)構(gòu)超聲波是一種能在彈性介質(zhì)中產(chǎn)生機械振蕩的特殊聲波,其發(fā)射頻率已經(jīng)超過了20KHz(超出人耳聽覺范圍),其振蕩方式可分為橫向振蕩和縱向振蕩兩種。超聲波可以在氣體、液體及固體等介質(zhì)中傳播,但其傳播速度不同。它跟光一樣具有折射和反射的現(xiàn)象,且在傳播過程中有衰減。超聲波的基本特性如下所述:.波長波的傳播速度是用頻率乘以波長來表示。電磁波的傳播速度跟光速一樣,都是3X10^8m/so而聲波在空氣中的傳播速度很慢,標準大氣壓20c時傳播速度為344m/s。在這種比較低的傳播速度下,通過波速的計算公式可知,波長很短時可以獲得較高的發(fā)射距離和方向分辨率。我們在實際測量時就需要獲得較高的精度,這樣正符合我們的預(yù)期效果。.反射我們知道超聲波測距是通過超聲波的發(fā)射與反射來確定的,因此我們測量的物體就必須能夠反射超聲波。由實驗得出,例如金屬、木材、混凝土、玻璃、橡膠和紙等可以反射近乎100%的超聲波。但是例如布、棉花、絨毛等就不能發(fā)射,反而還能夠吸收超聲波。滿足以上反射的要求后,還需要測量的環(huán)境必須是空曠的場所,不然遮擋也不可行。再則測量的物體如果表面凹凸不平,就會造成漫反射,也不能夠測量真實的數(shù)據(jù)值。.溫度效應(yīng)在以往的學(xué)習(xí)中可知聲波傳播的速度可用符號“c”來表示,公式表小為:c=331.5+0.607t(m/s)式中,t表示為溫度(C),可知聲波傳播速度會因環(huán)境溫度的變化而變化。因此,如果需要精確的測量與某個物體之間的距離時,就必須考慮此時測量所處的環(huán)境溫度,尤其是冬季室外溫度很低,可能相差幾十度,這樣給測量的精度就會影響很大,此時我們可以使用例如DS18B20之類的溫度傳感器來作為溫度補償,對此時傳播速度予以修正,以減小誤差。但是本畢業(yè)設(shè)計的測試環(huán)境是室內(nèi),用于短距離的測量,對精度要求不是很高,因此關(guān)于溫度效應(yīng)對系統(tǒng)測量值得影響就不做強制要求。.衰減由之前的論述可知超聲波通過介質(zhì)的傳輸時,介質(zhì)會吸收能量。另外,由于衍射現(xiàn)象也會使聲波能量在球形表面上擴散損失,即表現(xiàn)為超聲波傳播到空氣介質(zhì)中時,超聲波的能量強度也會隨距離的變化成比例地減弱。如圖3.6所示可知,超聲波的發(fā)射頻率越高,那么它的衰減率也就越高,隨之超聲波的傳播距離也就越短。由此可見超聲波的衰減特性直接影響了超聲波傳感器有效距離?p-=比-600,1-10201kHz)40tkHz)80(kHz)蚓-=?p-=比-600,1-10201kHz)40tkHz)80(kHz)蚓-=?0.51.0—離(m)SOOikHs-5.010.0圖3.6聲壓在不同距離下的衰減特性.聲壓特性聲壓級(S.P.L.)是表示音量的單位,表示公式如下。S.P.L尸20logP/Pre(dB)式中,“P”為有效聲壓(bar),“Pre”為參考聲壓(2X10-4^1bar)如圖3.7所示為幾種常用超聲波傳感器的聲壓圖。
的兇12Q11D100/府一-----躥離情的兇12Q11D100/府一-----躥離情'電ElUVrn5r正弦沏.0dB=2X10^nbor圖3.7超聲波傳感器的聲壓圖.靈敏度特性靈敏度是表示聲音接收級的單位,表示公式如下。靈敏度二20logE/P(dB)式中,“E”為所產(chǎn)生的電壓(Vrms),“P”為輸入聲壓(①bar)。如下圖3.8所示,三種常見傳感器MA40B8R、MA40S4R、MA40S7R所對應(yīng)的傳感器靈敏度圖可知,在頻率為40khz時三種傳感器的靈敏度都是最高,但在40khz左右都逐漸下降。DODD
-5-G-7-S■博口3DRL-3.&kfl4DDODD
-5-G-7-S■博口3DRL-3.&kfl4D
空f-kHz:圖3.8超聲波傳感器靈敏度示意圖.輻射特性要知道超聲波特性,則需要實際的測量來得出結(jié)論。我們把超聲波發(fā)射接收器安裝在水平的平臺上,然后來測量發(fā)射角度與靈敏度之間的關(guān)系。為了表示的方便,我們定義了半衰減角度,用91/2來表示,即靈敏度衰減6dB的角度。如下圖3.9可知超聲波設(shè)備外表尺寸較小的更易獲得精確的輻射角度。頻率40KHZ輸入電壓LO¥mi與f正弦波;距離30-cm圖3.9超聲波傳感器輻射特性示意圖由以上多項研究得知,三種傳感器在頻率為40khz范圍內(nèi)具有最大的探測靈敏度。測距分析目前超聲波測距最常用的測距方法為回聲探測法。將超聲波傳感器發(fā)射接收端對準所測物體,發(fā)送電平觸發(fā)發(fā)射超聲波,在發(fā)射的同時定時器開始計時,超聲波在空氣中傳播到達被測物體時立即反射回來,當(dāng)超聲波的接收器接收到反射回來的超聲波時停止計時。根據(jù)定時器記錄下來的時間來乘以超聲波在空氣中傳播時的速度,即可得到超聲波距離被測物體的2倍距離。這樣就可以計算出傳感器距離被測物體的長度。由實驗表明,聲波的傳播受溫度的影響。超聲波也是一種聲波,
故其聲速V與溫度有關(guān),溫度越高傳播速度也越快。在實際的測量過程中,如果聲波在同介質(zhì)中傳播時,且溫度不變,那么可近似的認為超聲波在該介質(zhì)中的傳播速度基本不變。如果要求精度較高,那么可以采用溫度補償?shù)霓k法來加以校準。只要聲速和聲波往返時間確定下來后,我們就可以通過公式S=vt/2來求得距離。如圖3.10所示:超聲波發(fā)射超聲波接收仁11圖3.10超聲波的測距原理H=Scos超聲波發(fā)射超聲波接收仁11圖3.10超聲波的測距原理H=Scos障礙物:L(3-1)(3-2)式中:L---兩探頭之間中心距離的一半.又知道超聲波傳播的距離為:2S=vt(3-3)式中:v—超聲波在介質(zhì)中的傳播速度;t一超聲波從發(fā)射到接收所需要的時間.將(3—2)、(3—3)代入(3-1)中得:(3-4),,1L(3-4)H=-vtcosarct評其中,超聲波在一定溫度的介質(zhì)中傳播速度v為一個常數(shù)(例溫度T=30度時,V=349m/s);其中L代表的是發(fā)射與接收頭中心距離的一半,實際測量中的距離H幾乎都遠遠大于L,則(3-4)變?yōu)椋篐=1vt(3-5)2因此,由上式可知,我們只需測量出超聲波在介質(zhì)中的傳播時間t,就可以得出測量的距離H.時鐘電路部分設(shè)計單片機的時鐘電路是必要的,單片機片內(nèi)引腳XTAL1和XTAL2分別為高增益反向放大器的輸入和輸出。由該放大器構(gòu)成的振蕩電路和時鐘電路就構(gòu)成了單片機的時鐘方式。在單片機XTAL1和XTAL2引腳兩端跨接石英晶體和電容來構(gòu)成一個振蕩電路,這里的晶振取12MHz。另外因為一個機器周期含有6個狀態(tài)周期,而每個狀態(tài)周期為2個振蕩周期,所以一個機器周期共有12個振蕩周期。本設(shè)計采用外接石英晶體振蕩器的振蕩頻率為12MHZ,由計算得知,一個振蕩周期為1/12us,故而一個機器周期為1us。如圖3.11所示為時鐘電路。圖3.11單片機時鐘電路圖復(fù)位電路部分該系統(tǒng)的設(shè)計中,由于采用的是晶振頻率為12Mhz,那么就只需要在單片機第9引腳接高電平持續(xù)不低于2us即可。系統(tǒng)設(shè)計的復(fù)位方法一般有上電自動復(fù)位和外部按鍵手動復(fù)位。外部按鍵復(fù)位是單片機在時鐘電路工作以后,由該外部按鍵來持續(xù)給出2個機器周期的高電平時就可以完成復(fù)位操作。本系統(tǒng)考慮部分因素,采用的設(shè)計是自動復(fù)位電路。如圖3.12為復(fù)位電路。VCC-1-10uF'RST單片機9腳hLOK圖3.12單片機復(fù)位電路圖聲音報警電路部分聲音報警電路是由蜂鳴器和三極管組成。蜂鳴器又分為壓電式和電磁式的蜂鳴器。此蜂鳴器為自激蜂鳴器,它是完全由直流電壓驅(qū)動的,即為有源蜂鳴器。有源蜂鳴器不需要其他的交流信號來驅(qū)動發(fā)聲,我們只需對照蜂鳴器的電源引腳輸出一定電壓即可進行控制,它的引腳連接PNP三極管的集電極,單片機通過控制三極管基極來控制蜂鳴器。目前蜂鳴器廣泛運用于PC機、報警器等電子產(chǎn)品中用作發(fā)聲器。P13如下圖所示,用一個蜂鳴器和三極管、電阻接到單片機的引腳上,構(gòu)成聲音報警電路,如圖3.13示為聲音報警電路。P13圖3.13聲音報警電路圖顯示模塊部分顯示模塊采用數(shù)碼管顯示接口電路如圖3.144=1-a0.9.6.圖3.14數(shù)碼管顯示電路4軟件系統(tǒng)設(shè)計系統(tǒng)軟件的設(shè)計是系統(tǒng)控制的核心控制部分。其任務(wù)是在前期硬件設(shè)計的基礎(chǔ)上,加入該系統(tǒng)的靈魂所在,確定程序結(jié)構(gòu),分配各部分工作內(nèi)容和順序,經(jīng)過仔細的模塊劃分后,即可進行主程序和各模塊程序的設(shè)計,各部分先分開的程序設(shè)計,最后再將各模塊程序連接起來成為一個完整的程序,與硬件所有部分相配合完成相應(yīng)功能。編譯軟件本次的系統(tǒng)設(shè)計完全采用C語言來編寫程序,主要原因還是C語言相比于匯編有很大的可讀性等優(yōu)勢;本次開發(fā)的編譯器是使用KeilC51來進行程序編譯,選擇Keil也是因為它功能強大使用方便等優(yōu)點。KeilC51是美國KeilSoftware公司出品的兼容51系列單片機的C語言開發(fā)軟件,使用C語言與匯編相比,具有在結(jié)構(gòu)上清晰、代碼分析完整、維護簡便等很大的優(yōu)勢,畢竟C語言易學(xué)與匯編語言。Keil軟件提供了C語言的編譯器、連接器、庫管理和強大的仿真功能,使得一些調(diào)試簡便。主程序工作流程圖按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖4.1所示;圖4.1主程序設(shè)計流程圖超聲波探測程序流程圖:開始圖4.2超聲波探測程序流程圖4.3部分重要程序代碼分析4.3.1數(shù)碼管顯示程序voiddisplay。{//////staticuchari;i++;if(i>=smg_i)i=0;P1=0xff;//段選P3=0xf0|(P3&0x0f);〃位選P3=smg_we[i]|(P3&0x0f);//位選smg_we_switch(i);P1=dis_smg[i];}//段選4.3.2超聲波測距程序voidsend_wave(){c_send=1;delay();c_send=0;TH0=0;TL0=0;TR0=0;flag_hc_value=0;while(!c_recive);零時就一直等待,等待超聲波的發(fā)出TR0=1;while(c_recive)//10us的高電平觸發(fā)//給定時器0清零//關(guān)定時器0定時//超聲波中間變量值清零//當(dāng)c_recive(超聲波接收值)為o//開啟定時器0定時//當(dāng)crecive為1計數(shù)并等待(flag_time0=TH0*256+TL0;if((flag_hc_value>1)||(flag_time0>65000))〃即測量的時間超出了或者標志位為零時(即超過測量范圍時),顯示3個888(TR0=0;flag_csb_juli=2;distance=888;flag_hc_value=0;break;}else(flag_csb_juli=1;}}if(flag_csb_juli==1)//關(guān)定時器//關(guān)定時器0定時〃讀出定時器0的時間TR0=0;distance=TH0;distance=distance*256+TL0;distance+=(flag_hc_value*65536);〃計算出超聲波傳播到障礙物的雙倍時間(得到單位是ms)//單位換算成米//距離=速度*//單位換算成米//距離=速度*時間//這里如果測量距離大distance=888;于3.8m,那么就超出了測量的量程}}總結(jié)超聲波測距的原理就是利用了超聲波的發(fā)射和接收的時間來計算到障礙物的距離。在目前使用的測距儀有兩種,一種是本設(shè)計使用的方法,發(fā)射聲波被被測物體發(fā)射的方式來確定距離;另外一種則是在被測距離的兩端安裝接收和發(fā)射超聲波的儀器來測距。這種一般用于身高的測量。在本次畢業(yè)設(shè)計(論文)是以AT89C52為核心,借助于單片機技術(shù),解決了超聲波測距的一些難題。并且通過此次論文設(shè)計,讓我學(xué)到了許多知道的和不知道的,比如在單片機選型、顯示屏的組合等部分元器件的選擇上有了更多的認識,比以往在課程設(shè)計中收益更多,另外在程序設(shè)計上有了清晰地思路,理論在實踐方面的運用能力有巨大的提高。使用單片機的運算和控制功能,讓我較順利的設(shè)計出基于超聲波的一種簡單的測距系統(tǒng)。本系統(tǒng)采用的基于單片機的測距系統(tǒng)很好的利用了超聲波來實現(xiàn)了測距報警功能。超聲波測距比傳統(tǒng)的測距有著迅速、方便、簡便、精確等優(yōu)勢,使得在工業(yè)和生活方面發(fā)揮了很大的功能。目前超聲波技術(shù)使用的還十分有限,因此未來的領(lǐng)域還很寬廣,也正是一個蓬勃發(fā)展的無限前景技術(shù)領(lǐng)域。本系統(tǒng)設(shè)計的課題選擇、方案論證到軟硬件設(shè)計再到焊接調(diào)試程序編寫,我查閱了大量的資料,這樣也使得我學(xué)到了很多的東西。在設(shè)計過程中遇到的疑難問題,也得到了老師和同學(xué)的幫助,在這里謝謝他們。參考文獻[1]謝維成,楊加國.單片機原理與應(yīng)用及C51程序設(shè)計.北京:清華大學(xué)出版社,2006[2]蔡菲娜.單片微型計算機原理和應(yīng)用.杭州:杭州大學(xué)出版社,1995[3]李建忠.單片機原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,2002[4]唐桃波,陳玉林.基于AT89C51的智能無線安防報警器[J].電子設(shè)計應(yīng)用,2003,5(6):49?51.[5]李全利.單片機原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004.[6]李麗霞.單片機在超聲波測距中的應(yīng)用[J].電子技術(shù),2002[7]姜道連,寧延一,袁世良.用AT89C2051設(shè)計超聲波測距儀[J].國外電子元器件,2000[8]張鵬,張有志.一種新型超生測距系統(tǒng)[J].山東:山東大學(xué)學(xué)報,2003,33(1)致謝行文至此,歷時三個多月的畢業(yè)設(shè)計和論文也接近尾聲,歲月如梭,我四年的大學(xué)時光也即將敲響結(jié)束的警鐘。在設(shè)計過程中,遇到了諸多的阻礙,從電路關(guān)鍵芯片的選擇,到部分電路的功能實現(xiàn),隨時會有難題擺在面前。所以,在此衷心感謝我的設(shè)計指導(dǎo)老師一一張老師,她對我進行了無私的指導(dǎo)和幫助,不厭其煩的幫我進行設(shè)計的糾錯和改進。在整個設(shè)計過程中,張老師對我嚴格要求,引導(dǎo)我不斷開闊思路,為我答疑解惑,使我在臨近畢業(yè)的這一段寶貴時光中,真正的學(xué)有所用,增長了知識。張老師用她淵博的學(xué)識、嚴謹?shù)闹螌W(xué)態(tài)度、求實的工作作風(fēng)和她敏捷的思維,深深影響著我,也鞭策著我向優(yōu)秀靠近,感謝她為我們營造的濃郁學(xué)術(shù)氛圍,以及學(xué)習(xí)、生活上的無私幫助。我也將終生難忘陳老師對我的親切關(guān)懷和悉心指導(dǎo),謹向張老師致以最崇高的謝意!最后,向各位不辭辛苦審閱本論文的各位老師表示衷心的感謝。祝各位老師身體健康,工作順利!卦III追
而
二
田if4叁Fi匕附件1原理圖號CL4二同河:JyE哥
璟2目
茸5”iinnEOOm:to::to:■s*11—L—一np323附件2程序代碼#include<reg52.h>#include<intrins.h>#include"eepom52.h"#defineucharunsignedchar#defineuintunsignedintTOC\o"1-5"\h\z//數(shù)碼管段選定義0123456789ucharcodesmg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff};//斷碼//數(shù)碼管位選定義ucharcodesmg_we□={0xe0,0xd0,0xb0,0x70};uchardis_smg[8]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};sbitsmg_we1=P3A4;//數(shù)碼管位選定義sbitsmg_we2=P3A5;sbitsmg_we3=P3A6;sbitsmg_we4=P3A7;sbitc_send=P3A2;//超聲波發(fā)射sbitc_recive=P3A3;〃超聲波接收ucharflag_hc_value;//超聲波中間變量sbitbeep=P2A3;//蜂鳴器IO口定義bitflag_key_b_en,flag_key_set_en;〃按鍵蜂鳴器使能ucharsmg_i=3;//顯示數(shù)碼管的個位數(shù)
bitflag_300ms;bitkey_500mslongdistance;uintset_d;bitflag_csb_juli;bitflag_300ms;bitkey_500mslongdistance;uintset_d;bitflag_csb_juli;uintflag_time0;//距離//超聲波超出量程//用來保存定時器0的時候的//按鍵的IO變量的定義ucharkey_can;//按鍵值的變量ucharzd_break_en,zd_break_value;//自動退出設(shè)置界面ucharmenu_shudu=10;//用來控制連加的速度bitflag_lj_en;//按鍵連加使能bitflag_lj_3_en;//按鍵連3次連加后使能加的數(shù)就越大了ucharkey_time,flag_value;〃用做連加的中間變量ucharmenu_1;//菜單設(shè)計的變量/***********************1ms延時函數(shù)uchara_a;/***********************1ms延時函數(shù)*/*****************************/voiddelay_1ms(uintq){uinti,j;for(i=0;i<q;i++)for(j=0;j<120;j++);}/***********************處理距離函數(shù)/***********************處理距離函數(shù)**************************voidsmg_display()(dis_smg[0]=smg_du[distance%10];dis_smg[1]=smg_du[distance/10%10];dis_smg[2]=smg_du[distance/100%10]&0x7f;)把數(shù)據(jù)保存到單片機內(nèi)部eepom把數(shù)據(jù)保存到單片機內(nèi)部eepom中******************/voidwrite_eepom()(SectorErase(0x2000);byte_write(0x2000,set_d%256);byte_write(0x2001,set_d/256);byte_write(0x2058,a_a);)把數(shù)據(jù)從單片機內(nèi)部eepom把數(shù)據(jù)從單片機內(nèi)部eepom中讀出來*****************/voidread_eepom()(set_d=byte_read(0x2001);set_d<<=8;set_d|=byte_read(0x2000);a_a)=a_a)=byte_read(0x2058);/**************開機自檢eepom初始化*****************/voidinit_eepom()(read_eepom();〃先讀if(a_a!=1)〃新的單片機初始單片機內(nèi)問EEPOM
(set_d=100;a_a=1;write_eepom();))voidkey()/****************獨立按鍵處理函數(shù)********************//****************獨立按鍵處理函數(shù)********************/(staticucharkey_new=0,key_old=0,key_value=0;if(key_new==0){//按鍵松開的時候做松手檢測if((P2&0x07)==0x07)key_value++;elsekey_value=0;if(key_value>=5){key_value=0;key_new=1;flag_lj_en=0;//關(guān)閉連加使能flag_lj_3_en=0;//關(guān)153秒后使能flag_value=0;//消零key_time=0;write_eepom();))else{if((P2&0x07)!=0x07)key_value++;//按鍵按下的時候elsekey_value=0;if(key_value>=5)(key_value=0;key_new=0;flag_lj_en=1;//連加使能zd_break_en=1;/啟動退出設(shè)置界使能zd_break_value=0;//1動退出設(shè)置界變量清零flag_key_b_en=1;//按鍵蜂鳴器使能}}key_can=20;if(key_500ms==1)〃連力口(key_500ms=0;key_new=0;key_old=1;zd_break_value=0;}if((key_new==0)&&(key_old==1))(switch(P2&0x07)//得到//得到k2鍵值//得到k3鍵值//得到k4鍵值case0x06:key_can=3;break;case0x05:key_can=2;break;case0x03:key_can=1;break;//}//dis_smg[3]=smg_du[key_can%10];}key_old=key_new;
voidsmg_we_switch(uchari)(switch(i)(case0:smg_we1=0;smg_we2=1;smg_we3=1;smg_we4=1;break;smg_we1=1;smg_we2=0;smg_we3=1;smg_we4=1;break;smg_we1=1;smg_we2=1;smg_we3=0;smg_we4=1;break;smg_we1=1;smg_we2=1;smg_we3=1;smg_we4=0;break;}}/***********************數(shù)碼顯示函數(shù)/***********************數(shù)碼顯示函數(shù)*/*****************************/voiddisplay。(staticuchari;i++;if(i>=smg_i)=0;//P1=0xff;//段選//P3=0xf0|(P3&0x0f);//位選//P3=smg_we[i]|(P3&0x0f);//位選smg_we_switch(i);P1=dis_smg[i];〃段選
voiddelay()(_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();)/**************************************************/voidsend_wave()(c_send=1;delay();c_send=0;TH0=0;TL0=0;TR0=0;flag_hc_value=0;while(!c_recive);TR0=1;//執(zhí)行一條_nop_(脂令就是//執(zhí)行一條_nop_(脂令就是1us超聲波測距程序//10us的高電平觸發(fā)//給定時器0清零//關(guān)定時器0定時//當(dāng)c_recive為零時等待//當(dāng)c_recive為1計數(shù)并等待flag_time0=TH0*256+TL0;if((flag_hc_value>1)||(flag_time0>65000))〃當(dāng)超聲波超過測量范圍時,顯示3個888
TR0=0;flag_csb_juli=2;distance=888;flag_hc_value=0;break;}else{flag_csb_juli=1;}}if(flag_csb_juli==1)//關(guān)定時器//關(guān)定時器0定時〃讀出定時器0的時間TR0=0;distance=TH0;distance=distance*256+TL0;distance+=(flag_hc_value*65536);〃算出超聲波測距的時間得到單位是ms//0.017//0.017=340M/2=//距離=速度*時間//如果大于3.8m就超170M=0.017M算出來是米if(distance>350){distance=888;出超聲波的量程}}}/*********************定時器0、定時器/*********************定時器0、定時器1初始化******************/voidtime_init()EA=1;EA=1;TMOD=0X11;ET0=1;TR0=1;ET1=1;TR1=1;/****************〃開總中斷//定時器0、定時器1工作方式1//開定時器0中斷//允許定時器0定時//開定時器1中斷//允許定時器1定時按鍵處理數(shù)碼管顯示函數(shù)***************/voidkey_with()(
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆貴州省羅甸縣第一中學(xué)高三年級第六次月考數(shù)學(xué)試題
- 2021年10月廣西南寧市江南區(qū)機關(guān)后勤服務(wù)中心公開招聘駕駛員工作人員強化練習(xí)題(一)
- 學(xué)前教育的注意力培養(yǎng)考核試卷
- 文化產(chǎn)業(yè)合同管理與招投標實踐
- 旅游者健康狀況聲明
- 商業(yè)綜合體水電施工合同
- 瑜伽行業(yè)交流活動教練招聘合同
- 政府公務(wù)飛機租賃合同范本
- 辦公樓網(wǎng)絡(luò)布線工程合同
- 建筑設(shè)計行業(yè)員工守則
- 醫(yī)院科室質(zhì)量與安全管理小組工作記錄本目錄
- 斷路器失靈保護及遠跳詳解
- 300字方格紙模板
- 草訣百韻歌原文及解釋
- 鋼網(wǎng)架防火涂料施工方案
- 肺癌的護理常規(guī)(PPT課件)
- 農(nóng)村商業(yè)銀行信貸業(yè)務(wù)發(fā)展規(guī)劃-2019年文檔
- 一汽大眾供應(yīng)商物流管理評價標準
- 化工廠工程設(shè)備安裝施工方案.doc
- 同位角內(nèi)錯角同旁內(nèi)角專項練習(xí)題有答案
- 新能源汽車電機與驅(qū)動系統(tǒng)教案系列項目四驅(qū)動電機管理系統(tǒng)任務(wù)
評論
0/150
提交評論