




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
TOC\o"1-5"\h\z摘要: 3Abstract 4\o"CurrentDocument"第一章緒論 5\o"CurrentDocument"引言 5\o"CurrentDocument"超聲波測距原理以及理論分析 5\o"CurrentDocument"第二章系統(tǒng)概述 6方案選擇 6方案一 6\o"CurrentDocument"方案二 7\o"CurrentDocument"系統(tǒng)設(shè)計(jì)原理 7\o"CurrentDocument"系統(tǒng)組成 8\o"CurrentDocument"主控制器 8\o"CurrentDocument"顯示電路 8\o"CurrentDocument"HC-SR04超聲波模塊 8\o"CurrentDocument"第3章系統(tǒng)硬件設(shè)計(jì) 9主控芯片STC89C51 9單片機(jī)特點(diǎn): 9\o"CurrentDocument"內(nèi)部結(jié)構(gòu) 9\o"CurrentDocument"引腳圖以及部分引腳功能 9液晶顯示模塊 10模塊簡介: 10\o"CurrentDocument"引腳功能說明: 11\o"CurrentDocument"系統(tǒng)顯示模塊電路 11超聲波測距模塊 12模塊簡介 12\o"CurrentDocument"模塊工作原理: 12\o"CurrentDocument"模塊電氣參數(shù) 12\o"CurrentDocument"系統(tǒng)超聲波模塊電路 12\o"CurrentDocument"報(bào)警電路模塊 13蜂蜜器簡介 13系統(tǒng)報(bào)警電路模塊 13\o"CurrentDocument"第四章系統(tǒng)軟件設(shè)計(jì) 14主程序設(shè)計(jì) 14主程序簡介 14\o"CurrentDocument"程序代碼 14LCD顯示模塊程序設(shè)計(jì) 16模塊簡介 16\o"CurrentDocument"程序代碼 16超聲波測距模塊程序設(shè)計(jì) 19模塊簡介 19\o"CurrentDocument"模塊代碼 19報(bào)警模塊程序設(shè)計(jì) 21模塊簡介 21\o"CurrentDocument"模塊代碼 21\o"CurrentDocument"輔助代碼 21\o"CurrentDocument"結(jié)論 25超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計(jì)摘要:基于超聲波測距的汽車倒車?yán)走_(dá)系統(tǒng)是在了解超聲波測距原理以及51單片機(jī)基本原理的基礎(chǔ)上提出并實(shí)現(xiàn)的,該系統(tǒng)工作時(shí),在單片機(jī)控制下超聲波傳感器發(fā)出脈沖信號(hào),超聲波在傳播過程中遇到障礙物后反射,反射波由超聲波接收裝置接收后送至51單片機(jī)處理,從而實(shí)現(xiàn)汽車倒車過程中障礙物的實(shí)時(shí)監(jiān)測并通過顯示屏以及警報(bào)器提醒駕駛員。本系統(tǒng)是由以STC89C51單片機(jī)作為主控模塊,超聲波發(fā)射接收模塊構(gòu)成傳感器模塊,LCD顯示模塊,蜂鳴器報(bào)警模塊等硬件系統(tǒng)以及軟件程序設(shè)計(jì)組成。關(guān)鍵詞:單片機(jī);超聲波測距;LCD顯示;報(bào)警;程序設(shè)計(jì)ThedesignofultrasonicreversingradarsystemAbstract:Automobilereversingradarsystembasedonultrasonicdistancemeasurementisintheunderstandingoftheprincipleofultrasonicdistancemeasurementandthebasicprincipleof51singlechipmicrocomputerbasedontheproposedandimplemented,Thesystemisworking,Underthecontrolofthemicrocontrollerultrasonicsensorsendsoutpulsesignals,UltrasonicobstacleintheprocessofpropagationafterreflectionThereflectedwavefromtheultrasonicreceivingdevicereceivestheevacuationto51singlechipprocessing,Soastorealizereal-timemonitoringobstaclescarreversingtheprocessobjectandthroughthedisplayandalarmtoremindthedriver.ThissystemiscomposedofMCUSTC89C51asthemaincontrolmodule,Ultrasonictransmittingandreceivingmodulessensormodule,LCDdisplaymodule,Thebuzzeralarmmoduleofhardwaresystemandsoftwareprogramdesigncomposition.Keywords:Singlechipmicrocomputer;Ultrasonicranging;LCDdisplay;Alarm;Programdesign第一章緒論引言近年來,隨著科技帶動(dòng)汽車行業(yè)的快速發(fā)展以及人們生活水平的不斷提高,我國汽車數(shù)量正在逐年增加。同時(shí)對(duì)于一名駕駛員來說,倒車是必須掌握的技能,與前進(jìn)相比倒車更加需要小心謹(jǐn)慎,在街道,車庫,停車場等場所倒車時(shí),往往因?yàn)轳{駛員無暇同時(shí)顧及汽車前后和四周以及尾部視線盲區(qū)等原因引起的交通事故不在少數(shù),這些事故中輕則對(duì)自己的車和他人的財(cái)物造成損傷,重則可能危及人的性命?,F(xiàn)如今后視鏡已越來越不能滿足人們安全倒車的需求了。據(jù)初步調(diào)查統(tǒng)計(jì),15%的汽車事故是由汽車倒車后視不良造成的。因此,人們對(duì)汽車倒車操縱的便捷性提出了更高的要求,增加汽車的后視能力研制汽車尾部探測障礙物的倒車?yán)走_(dá)成為近年來的熱點(diǎn)之一,然而安全避障的前提是快速準(zhǔn)確的測量障礙物與汽車之間的距離。超聲波具有在傳播中不受電磁場,色彩以及關(guān)照等影響的特性,同時(shí)超聲波傳感器處理信息簡單,硬件易于實(shí)現(xiàn)以及價(jià)格低廉等優(yōu)點(diǎn),被人們廣泛的用作測距傳感器。本文基于STC89C51單片機(jī)以及HC-SRF04超聲波測距模塊進(jìn)行研究,從而設(shè)計(jì)實(shí)現(xiàn)了超聲波測距倒車?yán)走_(dá)。超聲波測距原理以及理論分析聲波是物體機(jī)械振動(dòng)狀態(tài)(或能量)的傳播形式,一般來說,頻率在20Hz—20000Hz之間的機(jī)械波能被人耳感知為聲波,頻率低于20Hz的機(jī)械波為次聲波,頻率高于20000Hz的機(jī)械波稱為超聲波。而高于100MHz的機(jī)械波則稱之為特超聲波。由于超聲波具有方向性好,穿透能力強(qiáng),易于獲得較集中的聲能的特性一次常常被用于測距。超聲波測距是依據(jù)聲波從發(fā)射到接收過程中的在空氣介質(zhì)中的傳播時(shí)間測出聲波的傳播距離的。本文使用的超聲波模塊是借助于超聲脈沖回波渡越時(shí)間法來實(shí)現(xiàn)的。設(shè)超聲波脈沖由傳感器發(fā)出到接收所經(jīng)歷的時(shí)間為t,超聲波在空氣中的傳播速度為c,則從傳感器到目標(biāo)物體的距離D可用下式求出D=ct/2第二章系統(tǒng)概述方案選擇方案一超聲波測距模塊采用SRF08測距模塊對(duì)障礙物的位置進(jìn)行檢測,為了保證檢測對(duì)車身的準(zhǔn)確定位,系統(tǒng)設(shè)計(jì)采用3個(gè)模塊分別在尾部和左右同時(shí)檢測,當(dāng)檢測到障礙物距離車身小于1米時(shí)系統(tǒng)紅燈閃爍同時(shí)蜂鳴器報(bào)警在測量過程中通過LCD顯示屏實(shí)時(shí)顯示車身尾部以及左右距離障礙物的距離。由于SRF08超聲波模塊接口采用I2C總線接口設(shè)計(jì),可以與PIC等總舵處理器配合使用,因此該模塊使用方便。SRF08是一款高性能的雙探頭超聲波,其探測距離為3厘米-6米,獨(dú)特的觸發(fā)指令可以讓SRF08工作在連續(xù)探測模式下,也就是能夠自動(dòng)在完成一個(gè)距離探測后自動(dòng)進(jìn)行第二次探測,相當(dāng)于連接了一個(gè)微處理器。同時(shí)SRF08超聲波測距模塊內(nèi)部含有36個(gè)寄存器,測距模式需要對(duì)相應(yīng)寄存器進(jìn)行操作,在測距模式下每向命令寄存器寫入一次命令就會(huì)啟動(dòng)一次測距,啟動(dòng)測距時(shí),回波記錄緩沖區(qū)數(shù)據(jù)也將同時(shí)清除。測量得到的距離將按照測量的順序按照2B為單位一次進(jìn)村入寄存器,由于一次測距需要一定的等待時(shí)間,這個(gè)時(shí)間可以通過主控芯片修改SRF08測量范圍寄存器中的數(shù)據(jù)來改變。在等待時(shí)間片刻,可以對(duì)掛載總線上的其他模塊進(jìn)行啟動(dòng)測距操作,,從而實(shí)現(xiàn)3個(gè)測距模塊的在短時(shí)間內(nèi)工作,達(dá)到高效,實(shí)時(shí),準(zhǔn)確的測距定位。由于需要直觀明了的顯示3個(gè)位置的測距信息,考慮到顯示美觀以及顯示效果,需要顯示位寬較高的顯示器,因此該設(shè)計(jì)方案選擇LCD12864顯示實(shí)時(shí)信息。系統(tǒng)軟件部分主要包括主函數(shù)部分,LCD顯示部分,包括對(duì)LCD顯示屏的初始化,寫命令,寫數(shù)據(jù)等,對(duì)SRF08超聲波測距部分包括對(duì)I2C總線的啟動(dòng),停止,讀寫數(shù)據(jù)以及距離測量以及判斷等部分。另外包含延時(shí),報(bào)警等部分。系統(tǒng)框圖如圖2.1所示圖2.1SRF08超聲波模塊測距系統(tǒng)框圖方案二超聲波模塊采用SRF04超聲波模塊對(duì)障礙物進(jìn)行檢測,STC89C51單片機(jī)作為主控制器,LCD1602做顯示輸出,蜂蜜器報(bào)警。HC-SRF04超聲波測距模塊采用IO觸發(fā)測距,IO口給至少10us的高電平信號(hào),啟動(dòng)模塊,當(dāng)模塊啟動(dòng)后,超聲波接收器接收到回波時(shí)會(huì)在輸出引腳輸出高電平,當(dāng)主控芯片檢測到輸出信號(hào)就可以開定時(shí)器計(jì),當(dāng)此口變?yōu)榈碗娖綍r(shí)就可以讀定時(shí)器的值,此時(shí)就為此次測距的時(shí)間,方可算出距離.如此不斷的周期測,就可以達(dá)到實(shí)時(shí)測距的功能。由于SRF04模塊自身不含寄存器,因此在測量時(shí)需要耗費(fèi)單片機(jī)硬件資源,因此此方案采用尾部單傳感器測量,如果采用LCD12864顯示器做顯示輸出,則會(huì)浪費(fèi)大量資源,因此選用LCD1602做顯示輸出部分。通過主控芯片以以及超聲波模塊測量出汽車尾部句障礙物的距離,與系統(tǒng)的報(bào)警閾值進(jìn)行比較。超過閾值,報(bào)警達(dá)到有效的避免與障礙物碰撞的目的。該方案系統(tǒng)軟件部分包含,STC89C51單片機(jī)的時(shí)鐘,中斷的編寫,LCD1902顯示部分包含對(duì)液晶顯示器的初始化,命令的寫入,以及數(shù)據(jù)的寫入,對(duì)SRF04超聲波測距模塊的控制。從以上兩種方案可以看出方案一測量精度高,同時(shí)超聲波模塊較多能很好的實(shí)現(xiàn)基本功能,但是硬件成本較高,,電路較為復(fù)雜,同時(shí)軟件設(shè)計(jì)較為復(fù)雜。方案二電路設(shè)計(jì)簡單,同時(shí)檢測靈敏,軟件設(shè)計(jì)較為簡單易于實(shí)現(xiàn)。因此本文設(shè)計(jì)基于方案二進(jìn)行。系統(tǒng)設(shè)計(jì)原理該系統(tǒng)由STC89C51單片機(jī)向SRF04超聲波測距模塊發(fā)送啟動(dòng)信號(hào),同時(shí)接收SRFO4模塊的返回信號(hào),由單片機(jī)內(nèi)部時(shí)鐘記錄返回信號(hào)持續(xù)時(shí)間并計(jì)算出距離,將所測距離送至LCD1602顯示,同時(shí)與系統(tǒng)距離閾值進(jìn)行比較,如果小于閾值則通過蜂鳴器報(bào)警。系統(tǒng)組成本課題以89S51單片機(jī)為核心設(shè)計(jì)的一種超聲波測距倒車?yán)走_(dá)系統(tǒng),系統(tǒng)整體框圖主要由主控制器、超聲波測距模塊、單片機(jī)復(fù)位、時(shí)鐘振蕩、液晶顯示、報(bào)警提示組成。系統(tǒng)框圖如圖2.2所示。圖2.2系統(tǒng)基本框圖主控制器單片機(jī)STC89C51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要。顯示電路顯示電路采用LCD1602液晶顯示屏,從P0口輸出數(shù)據(jù)。HC-SR04超聲波模塊經(jīng)發(fā)射器發(fā)射出長約6mm,頻率為40KHZ的超聲波信號(hào)。此信號(hào)被物體反射回來由接收頭接收,接收頭實(shí)質(zhì)上是一種壓電效應(yīng)的換能器。它接收到信號(hào)后產(chǎn)生mV級(jí)的微弱電壓信號(hào)并通過接收電路將信號(hào)放大得到回送信號(hào)。第3章系統(tǒng)硬件設(shè)計(jì)主控芯片STC89C51單片機(jī)特點(diǎn):有優(yōu)異的性價(jià)比。集成度高,體積小,又很高的可靠性控制功能強(qiáng)單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置都比較典型、規(guī)范、且容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。內(nèi)部結(jié)構(gòu)MCS-51單片機(jī)是在一塊芯片上集成了CPU、RAM、ROM定時(shí)器、計(jì)數(shù)器和多功能I/O口。其中包括:一個(gè)8位CPU;4KBROM或EPROM128字節(jié)RAM數(shù)據(jù)存儲(chǔ)器4個(gè)8位并行I/O口,其中P0,P2為地址/數(shù)據(jù)線,可尋址64KBROM和64KBRAM;一個(gè)可編程全雙工串行口;具有5個(gè)中斷源,兩個(gè)優(yōu)先級(jí),嵌套中斷結(jié)構(gòu);兩個(gè)16位定時(shí)/計(jì)數(shù)器;一個(gè)片內(nèi)振蕩器及時(shí)鐘電路。引腳圖以及部分引腳功能U11P1J0 VCCPl.l POJOP12 P0.1P13 P03Pl.4 PQ3P1J P0.4P1.0 PQJPl.7 PO.iSP0.7RKD^SJO EA/WPAL由TRUDumijp打 PSEtiINTLPM? P2.7TO.-I-3.4 P2,15Tl.'T3_5 P2.5P2.4RD?;.7 P23jrrj-xa P2^STALL P2.1觸 80c51 P2X)402教33843T536635734-&35932103L1130122?1S*14-15書1$1T89S51圖3.1STC89C51引腳圖部分引腳功能:Vcc,Vss為電源引腳;XTAL2(18腳):接外部晶體和微調(diào)電容的一端;在89C51片內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。XTAL1(19腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反相放大器的輸入端。在采用外部時(shí)鐘時(shí),該引腳必須接地。RST/VPD(9腳):RST是復(fù)位信號(hào)輸入端,高電平有效。ALE/PROG(30腳):地址鎖存允許信號(hào)端。PSEN(29腳):程序存儲(chǔ)允許輸出信號(hào)端。EA/Vpp(31腳):外部程序存儲(chǔ)器地址允許輸入端/固化編程電壓輸入端。輸入/輸出端口P0/P1/P2/P3液晶顯示模塊模塊簡介:字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別。實(shí)物圖如圖3.1所示。圖3.1LCD液晶顯示器實(shí)物圖602LCD主要技術(shù)參數(shù):顯示容量:16X2個(gè)字符;芯片工作電壓:4.5—5.5V;工作電流:2.0mA(5.0V);模塊最佳工作電壓:5.0V;字符尺寸:2.95X4.35(WXH)mm;10引腳功能說明:編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極D3數(shù)據(jù)3VL液晶顯示偏厚D4數(shù)據(jù)4RS數(shù)據(jù)《命令選擇12D5數(shù)據(jù)□R/W讀,寫選擇D6-數(shù)據(jù)6E使能信號(hào)14D7~數(shù)據(jù)TJ|m魔據(jù)15BU背光源正恢|8[>1數(shù)據(jù)16BLK背光源負(fù)極第1腳:VSS為地電源第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7?14腳:D0?D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。系統(tǒng)顯示模塊電路11
超聲波測距模塊模塊簡介超聲波測距采用HC-SR04超聲波傳感器實(shí)現(xiàn),該模塊能提供2cm—400cm的非接觸式距離感測功能,測距精度可達(dá)到3mm,模塊包括超聲波發(fā)射器,接收器,以及控制電路。模塊實(shí)物圖如圖3.2所示圖3.2HC-SR04超聲波模塊模塊工作原理:1)采用IO觸發(fā)測距,通過單片機(jī)給至少10us的高電平信號(hào);2)模塊自動(dòng)發(fā)送8個(gè)40khz的方波,自動(dòng)檢測是否有信號(hào)返回;3)有信號(hào)返回,通過IO輸出一高電平,高電平持續(xù)的時(shí)間就是即為聲波在介質(zhì)中的傳播時(shí)間。4)超聲波從發(fā)射到返回的時(shí)間.測試距離=(高電平時(shí)間*聲速(340M/S))/2;模塊電氣參數(shù)引腳功能:提供5V正電源,GND為電源地線,TRIG觸發(fā)控制信號(hào)輸入端,ECHO回響信號(hào)輸出端。電氣參數(shù)HOSR04 塊H作電壓DC5VH作電流15mAH作頻率40kHs最遠(yuǎn)射程4tn最近射程2cm測量角度15度輸入觸發(fā)信號(hào)10uS的TIL脈沖輸出回響信號(hào)輸出TTL電平信號(hào),與射程成比例規(guī)格尺寸45*20*15iniii系統(tǒng)超聲波模塊電路12報(bào)警電路模塊蜂蜜器簡介蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電分為有源與無源之分,本文采用無源蜂鳴器。系統(tǒng)報(bào)警電路模塊="SPEAKER13第四章系統(tǒng)軟件設(shè)計(jì)主程序設(shè)計(jì)主程序簡介本系統(tǒng)大致流程包括先開始,對(duì)LCD1602液晶顯示器進(jìn)行初始化,然后對(duì)單片機(jī)時(shí)鐘驚醒初始化,初始化結(jié)束后,啟動(dòng)超聲波測距,打開時(shí)鐘,接收回波信號(hào)。關(guān)閉時(shí)鐘,計(jì)算距離,通過LCD顯示,并與系統(tǒng)距離閾值進(jìn)行比較。低于系統(tǒng)閾值報(bào)警。同時(shí)將數(shù)據(jù)送至LCD顯示。程序流程圖如圖4.1所示。圖4.1系統(tǒng)流程圖程序代碼voidmain(void)(unsignedcharTempCyc;unsignedlongjuli;inti;Delay400Ms();〃啟動(dòng)等待,等LCM講入工作狀態(tài)LCMInit();//LCM初始化Delay5Ms();〃延時(shí)片刻(可不要)DisplayListChar(0,0,mcustudio);DisplayListChar(0,1,email);ReadDataLCM();for(TempCyc=0;TempCyc<10;TempCyc++)while(1)(TMOD=0x01; 〃設(shè)T0為方式1,GATE=1;14TH0=0;TL0=0;ET0=1; 〃允許T0中斷EA=1; 〃開啟總中斷while(1)(StartModule();//DisplayOneChar(0,1,ASCII[0]);while(!RX);〃當(dāng)RX為零時(shí)等待TR0=1; 〃開啟計(jì)數(shù)while(RX); 〃當(dāng)rx為1計(jì)數(shù)并等待TR0=0; 〃關(guān)閉計(jì)數(shù)juli=Conut(); 〃計(jì)算if(juli<30)(display(juli);LED=0 ;beep();LED=1;)display(juli);delayms(70);//80MS))15LCD顯示模塊程序設(shè)計(jì)模塊簡介液晶顯示部分主要顯示“biyesheji”和所檢測的距離。顯示開始先對(duì)LCD初始化,把LCD定位到首行首列,然后顯示字符“biyesheji”到第一行,LCD第二行,顯示字符“juli:X.XXMM”。當(dāng)測量距離超過超聲波模塊的最大測量范圍時(shí),顯示“juli:-.--MM”。程序流程圖如圖4.2所示。圖4.2顯示模塊程序流程圖程序代碼寫數(shù)據(jù)函數(shù):該函數(shù)主要用于向1602發(fā)送數(shù)據(jù),參數(shù)WDLCM為需要傳送的數(shù)據(jù)voidWriteDataLCM(unsignedcharWDLCM)(ReadStatusLCM();//檢測忙LCM_Data=WDLCM;LCM_RS=1;LCM_RW=0;LCM_E=0;//若晶振速度太高可以在這后加小的延時(shí)LCM_E=0;〃延時(shí)LCM_E=1;)寫指令函數(shù):該函數(shù)主要功能為向1602寫入用戶指令,指令碼通過參數(shù)WCLCM傳送,參數(shù)BuysC為1602顯示器忙信號(hào),用于檢測1602是否處于忙狀態(tài)。voidWriteCommandLCM(unsignedcharWCLCM,BuysC)//BuysC為0時(shí)忽略忙檢測(if(BuysC)ReadStatusLCM();//根據(jù)需要檢測忙LCM_Data=WCLCM;LCM_RS=0;16LCM_RW=0;LCM_E=0;LCM_E=0;LCM_E=1;)讀數(shù)據(jù)函數(shù)unsignedcharReadDataLCM(void)(LCM_RS=1;LCM_RW=1;LCM_E=0;LCM_E=0;LCM_E=1;return(LCM_Data);)〃讀狀態(tài)unsignedcharReadStatusLCM(void)(LCM_Data=0xFF;LCM_RS=0;LCM_RW=1;LCM_E=0;LCM_E=0;LCM_E=1;while(LCM_Data&Busy);//檢測忙信號(hào)return(LCM_Data);)初始化函數(shù):該函數(shù)主要用于對(duì)1602顯示器的初始化,例如顯示模式的設(shè)置,設(shè)置屏顯,光標(biāo)設(shè)置等等。voidLCMInit(void)//LCM初始化(LCM_Data=0;WriteCommandLCM(0x38,0);//三次顯示模式設(shè)置,不檢測忙信號(hào)Delay5Ms();17WriteCommandLCM(0x38,0);Delay5Ms();WriteCommandLCM(0x38,0);Delay5Ms();WriteCommandLCM(0x38,1);〃顯示模式設(shè)置,開始要求每次檢測忙信號(hào)WriteCommandLCM(0x08,1);〃關(guān)閉顯示W(wǎng)riteCommandLCM(0x01,1);〃顯示清屏WriteCommandLCM(0x06,1);//顯示光標(biāo)移動(dòng)設(shè)置WriteCommandLCM(0x0c,1);//顯示開及光標(biāo)設(shè)置)字符顯示函數(shù):該函數(shù)主要用于在1602指定位置顯示一個(gè)字符,字符的位置通過坐標(biāo)X,Y確定,其中X為列坐標(biāo),Y為行坐標(biāo)。參數(shù)Ddata為需要具體顯示的字符。voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData)(Y&=0x1;X&=0xF;//限制X不能大于15,Y不能大于1if(Y)X|=0x40;〃當(dāng)要顯示第二行時(shí)地址碼+0x40;X|=0x80;//算出指令碼WriteCommandLCM(X,1);〃發(fā)命令字WriteDataLCM(DData);〃發(fā)數(shù)據(jù))字符串顯示函數(shù):該函數(shù)主要用于在1602中顯示字符串,坐標(biāo)通過參數(shù)X.Y確定,其中X為列坐標(biāo),Y為行坐標(biāo)。字符串通過指針Ddata確定。voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData)(unsignedcharListLength;ListLength=0;Y&=0x1;X&=0xF;//限制X不能大于15,Y不能大于118while(DData[ListLength]>0x19)〃若到達(dá)字串尾則退出(if(X<=0xF)//X坐標(biāo)應(yīng)小于0xF(DisplayOneChar(X,Y,DData[ListLength]);//顯示單個(gè)字符ListLength++;X++;)))超聲波測距模塊程序設(shè)計(jì)模塊簡介該模塊主要用于驅(qū)動(dòng)超聲波模塊,實(shí)現(xiàn)啟動(dòng)模塊,讀取超聲波模塊回送信號(hào)的作用,并根據(jù)超聲波測距原理計(jì)算出障礙物的距離。為1602顯示提供實(shí)時(shí)數(shù)據(jù)。模塊代碼模塊啟動(dòng)函數(shù):該函數(shù)主要是為超聲波硬件模塊提供啟動(dòng)時(shí)需要的10us的高電平。voidStartModule() 〃啟動(dòng)模塊(TX=1; 〃啟動(dòng)一次模塊_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();19_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();TX=0;)測距函數(shù):該函數(shù)主要用于計(jì)算實(shí)際測得的距離,通過單片機(jī)的時(shí)鐘測得的時(shí)間與聲波在空氣中的傳播速度計(jì)算求得。實(shí)際的距離通過參數(shù)S返回。unsignedlongConut(void)(time=TH0*256+TL0;TH0=0;TL0=0;returnS=(time*1.7)/100; 〃算出來是CM)距離顯示函數(shù):該函數(shù)主要用于對(duì)采集回來的數(shù)據(jù)與模塊可提供的準(zhǔn)確測距范圍進(jìn)行比對(duì),如果超出量程則顯示-.--,如果在精度范圍內(nèi)則顯示具體的數(shù)據(jù)。顯示需要的數(shù)據(jù)通過參數(shù)S傳入。voiddisplay(unsignedlongS)(if((S>=700)||flag==1)〃超出測量范圍顯示“-”(flag=0;DisplayOneChar(6,1,ASCII[11]);DisplayOneChar(7,1,ASCII[10]);〃顯示點(diǎn)DisplayOneChar(8,1,ASCII[11]);20DisplayOneChar(9,1,ASCII[11]);DisplayOneChar(10,1,ASCII[12]); 〃顯示M)else(disbuff[0]=S%1000/100;disbuff[1]=S%1000%100/10;disbuff[2]=S%1000%10%10;DisplayOneChar(6,1,ASCII[disbuff[0]]);DisplayOneChar(7,1,ASCII[10]);〃顯示點(diǎn)DisplayOneChar(8,1,ASCII[disbuff[1]]);DisplayOneChar(9,1,ASCII[disbuff[2]]);DisplayOneChar(10,1,ASCII[12]); 〃顯示M))報(bào)警模塊程序設(shè)計(jì)模塊簡介報(bào)警模塊主要用于驅(qū)動(dòng)蜂鳴器與LCD小燈,達(dá)到報(bào)警的效果。模塊代碼voidbeep()(inti;SPK=0;for(i=0;i<50;i++)(DelayUs2x(100);SPK=!SPK;)SPK=1;)輔助代碼該部分代碼主要用于對(duì)整個(gè)代碼框架起輔助作用,主要包括系統(tǒng)中所包含的函數(shù)接口聲明,以及系統(tǒng)硬件各個(gè)硬件接口申明定義,以及系統(tǒng)常用延時(shí)函數(shù),21一些標(biāo)志函數(shù)。起到了精簡代碼的所用,減少了整個(gè)代碼的冗余度,同時(shí)使程序在運(yùn)行的過程中簡潔。系統(tǒng)硬件接口以及函數(shù)聲明include<AT89x51.H> 〃器件配置文件#include<intrins.h>defineRXP2_3defineTXP2_2defineSPKP1_0〃喇叭定義defineLEDP1_1define LCM_RW P2_5 〃定義 LCD 引腳define LCM_RS P2_4define LCM_E P2_6define LCM_DataP0#define Busy 0x80 〃用于檢測LCM狀態(tài)字中的Busy標(biāo)識(shí)voidLCMInit(void);voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData);voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData);voidDelay5Ms(void);voidDelay400Ms(void);voidDecode(unsignedcharScanCode);voidWriteDataLCM(unsignedcharWDLCM);voidWriteCommandLCM(unsignedcharWCLCM,BuysC);unsignedcharReadDataLCM(void);unsignedcharReadStatusLCM(void);unsignedcharcodemcustudio口={"biyesheji");unsignedcharcodeemail[]={"juli:");unsignedcharcodeCls[]= {" ");unsignedcharcodeASCII[15]={,0,,,1,,,2,,,3,,,4,,,5,,,6,,,7,,,8,,,9,,,.,,,-,,,M,);22staticunsignedcharDisNum=0;//顯示用指針unsi
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 便宜門店轉(zhuǎn)讓合同范本
- 促銷返利合同范本
- 個(gè)體醫(yī)療機(jī)構(gòu)年度工作總結(jié)報(bào)告
- 個(gè)人工作自我鑒定簡短
- 勞務(wù)公司派遣員工合同范本
- 單位對(duì)外投資合同范本
- 三八節(jié)教師演講稿
- 工業(yè)鍋爐司爐模考試題及答案
- 高壓電工(運(yùn)行)習(xí)題+參考答案
- 供貨款合同范本
- 雨污水工程施工組織設(shè)計(jì)方案
- sinamic變頻器家族cu250s-操作手冊(cè)
- 建筑垃圾回收利用統(tǒng)計(jì)臺(tái)賬
- 《不一樣的你我他》(完美)課件
- 新蘇教版科學(xué)六年級(jí)下冊(cè)全冊(cè)教案(含反思)
- 原油電脫鹽電脫水技術(shù)
- 國考斷面水站建設(shè)及運(yùn)維技術(shù)要求參考
- Q∕GDW 10799.7-2020 國家電網(wǎng)有限公司電力安全工作規(guī)程 第7部分:調(diào)相機(jī)部分
- 熱工學(xué)后題答案
- 不吸煙不喝酒課件
- 奧數(shù)知識(shí)點(diǎn) 間隔問題
評(píng)論
0/150
提交評(píng)論