版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄摘 要:3Abstract4第一章 緒 論51.1 引言51.2 超聲波測(cè)距原理以及理論分析5第二章 系統(tǒng)概述62.1 方案選擇62.1.1 方案一62.1.2 方案二72.2 系統(tǒng)設(shè)計(jì)原理72.3 系統(tǒng)組成82.3.1 主控制器82.3.2 顯示電路82.3.3 HC-SR04超聲波模塊8第3章 系統(tǒng)硬件設(shè)計(jì)93.1 主控芯片STC89C5193.1.1 單片機(jī)特點(diǎn):93.1.2 內(nèi)部結(jié)構(gòu)93.1.3 引腳圖以及部分引腳功能93.2 液晶顯示模塊103.2.1 模塊簡(jiǎn)介:103.2.2 引腳功能說(shuō)明:113.2.3 系統(tǒng)顯示模塊電路113.3 超聲波測(cè)距模塊113.3.1 模塊簡(jiǎn)介11
2、3.3.2 模塊工作原理:123.3.3 模塊電氣參數(shù)123.3.4 系統(tǒng)超聲波模塊電路123.4 報(bào)警電路模塊123.4.1 蜂蜜器簡(jiǎn)介123.4.2 系統(tǒng)報(bào)警電路模塊12第四章 系統(tǒng)軟件設(shè)計(jì)134.1 主程序設(shè)計(jì)134.1.1 主程序簡(jiǎn)介134.1.2 程序代碼134.2 LCD顯示模塊程序設(shè)計(jì)154.2.1 模塊簡(jiǎn)介154.2.2 程序代碼154.3 超聲波測(cè)距模塊程序設(shè)計(jì)184.3.1 模塊簡(jiǎn)介184.3.2 模塊代碼184.4 報(bào)警模塊程序設(shè)計(jì)204.4.1 模塊簡(jiǎn)介204.4.2 模塊代碼204.5 輔助代碼20結(jié)論24超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計(jì)摘 要:基于超聲波測(cè)距的汽車倒車?yán)走_(dá)系統(tǒng)
3、是在了解超聲波測(cè)距原理以及51單片機(jī)基本原理的基礎(chǔ)上提出并實(shí)現(xiàn)的,該系統(tǒng)工作時(shí),在單片機(jī)控制下超聲波傳感器發(fā)出脈沖信號(hào),超聲波在傳播過(guò)程中遇到障礙物后反射,反射波由超聲波接收裝置接收后送至51單片機(jī)處理,從而實(shí)現(xiàn)汽車倒車過(guò)程中障礙物的實(shí)時(shí)監(jiān)測(cè)并通過(guò)顯示屏以及警報(bào)器提醒駕駛員。本系統(tǒng)是由以STC89C51單片機(jī)作為主控模塊,超聲波發(fā)射接收模塊構(gòu)成傳感器模塊,LCD顯示模塊,蜂鳴器報(bào)警模塊等硬件系統(tǒng)以及軟件程序設(shè)計(jì)組成。關(guān)鍵詞:?jiǎn)纹瑱C(jī);超聲波測(cè)距;LCD顯示;報(bào)警;程序設(shè)計(jì)The design of ultrasonic reversing radar systemAbstract:Automob
4、ile reversing radar system based on ultrasonic distance measurement is in the understanding of the principle of ultrasonic distance measurement and the basic principle of 51 single chip microcomputer based on the proposed and implemented , The system is working, Under the control of the microcontrol
5、ler ultrasonic sensor sends out pulse signals , Ultrasonic obstacle in the process of propagation after reflection The reflected wave from the ultrasonic receiving device receives the evacuation to 51 single chip processing, So as to realize real-time monitoring obstacles car reversing the process o
6、bject and through the display and alarm to remind the driver . This system is composed of MCU STC89C51 as the main control module , Ultrasonic transmitting and receiving modules sensor module , LCD display module , The buzzer alarm module of hardware system and software program design composition.Ke
7、y words: Single chip microcomputer;Ultrasonic ranging;LCD display;Alarm;Program design第一章 緒 論1.1 引言近年來(lái),隨著科技帶動(dòng)汽車行業(yè)的快速發(fā)展以及人們生活水平的不斷提高,我國(guó)汽車數(shù)量正在逐年增加。同時(shí)對(duì)于一名駕駛員來(lái)說(shuō),倒車是必須掌握的技能,與前進(jìn)相比倒車更加需要小心謹(jǐn)慎,在街道,車庫(kù),停車場(chǎng)等場(chǎng)所倒車時(shí),往往因?yàn)轳{駛員無(wú)暇同時(shí)顧及汽車前后和四周以及尾部視線盲區(qū)等原因引起的交通事故不在少數(shù),這些事故中輕則對(duì)自己的車和他人的財(cái)物造成損傷,重則可能危及人的性命。現(xiàn)如今后視鏡已越來(lái)越不能滿足人們安全倒車的需
8、求了。據(jù)初步調(diào)查統(tǒng)計(jì),15的汽車事故是由汽車倒車后視不良造成的。因此,人們對(duì)汽車倒車操縱的便捷性提出了更高的要求,增加汽車的后視能力研制汽車尾部探測(cè)障礙物的倒車?yán)走_(dá)成為近年來(lái)的熱點(diǎn)之一,然而安全避障的前提是快速準(zhǔn)確的測(cè)量障礙物與汽車之間的距離。超聲波具有在傳播中不受電磁場(chǎng),色彩以及關(guān)照等影響的特性,同時(shí)超聲波傳感器處理信息簡(jiǎn)單,硬件易于實(shí)現(xiàn)以及價(jià)格低廉等優(yōu)點(diǎn),被人們廣泛的用作測(cè)距傳感器。本文基于STC89C51單片機(jī)以及HC-SRF04超聲波測(cè)距模塊進(jìn)行研究,從而設(shè)計(jì)實(shí)現(xiàn)了超聲波測(cè)距倒車?yán)走_(dá)。1.2 超聲波測(cè)距原理以及理論分析聲波是物體機(jī)械振動(dòng)狀態(tài)(或能量)的傳播形式,一般來(lái)說(shuō),頻率在20Hz
9、20000Hz之間的機(jī)械波能被人耳感知為聲波,頻率低于20Hz的機(jī)械波為次聲波,頻率高于20000Hz的機(jī)械波稱為超聲波。而高于100MHz的機(jī)械波則稱之為特超聲波。由于超聲波具有方向性好,穿透能力強(qiáng),易于獲得較集中的聲能的特性一次常常被用于測(cè)距。超聲波測(cè)距是依據(jù)聲波從發(fā)射到接收過(guò)程中的在空氣介質(zhì)中的傳播時(shí)間測(cè)出聲波的傳播距離的。本文使用的超聲波模塊是借助于超聲脈沖回波渡越時(shí)間法來(lái)實(shí)現(xiàn)的。 設(shè)超聲波脈沖由傳感器發(fā)出到接收所經(jīng)歷的時(shí)間為 t ,超聲波在空氣中的傳播速度為 c ,則從傳感器到目標(biāo)物體的距離 D 可用下式求出D = ct /2第二章 系統(tǒng)概述2.1 方案選擇 方案一超聲波測(cè)距模塊采用
10、SRF08測(cè)距模塊對(duì)障礙物的位置進(jìn)行檢測(cè),為了保證檢測(cè)對(duì)車身的準(zhǔn)確定位,系統(tǒng)設(shè)計(jì)采用3個(gè)模塊分別在尾部和左右同時(shí)檢測(cè),當(dāng)檢測(cè)到障礙物距離車身小于1米時(shí)系統(tǒng)紅燈閃爍同時(shí)蜂鳴器報(bào)警在測(cè)量過(guò)程中通過(guò)LCD顯示屏實(shí)時(shí)顯示車身尾部以及左右距離障礙物的距離。由于SRF08超聲波模塊接口采用I2C總線接口設(shè)計(jì),可以與PIC等總舵處理器配合使用,因此該模塊使用方便。SRF08是一款高性能的雙探頭超聲波,其探測(cè)距離為3厘米-6米,獨(dú)特的觸發(fā)指令可以讓SRF08工作在連續(xù)探測(cè)模式下,也就是能夠自動(dòng)在完成一個(gè)距離探測(cè)后自動(dòng)進(jìn)行第二次探測(cè),相當(dāng)于連接了一個(gè)微處理器。同時(shí)SRF08超聲波測(cè)距模塊內(nèi)部含有36個(gè)寄存器,測(cè)
11、距模式需要對(duì)相應(yīng)寄存器進(jìn)行操作,在測(cè)距模式下每向命令寄存器寫入一次命令就會(huì)啟動(dòng)一次測(cè)距,啟動(dòng)測(cè)距時(shí),回波記錄緩沖區(qū)數(shù)據(jù)也將同時(shí)清除。測(cè)量得到的距離將按照測(cè)量的順序按照2B為單位一次進(jìn)村入寄存器,由于一次測(cè)距需要一定的等待時(shí)間,這個(gè)時(shí)間可以通過(guò)主控芯片修改SRF08測(cè)量范圍寄存器中的數(shù)據(jù)來(lái)改變。在等待時(shí)間片刻,可以對(duì)掛載總線上的其他模塊進(jìn)行啟動(dòng)測(cè)距操作,從而實(shí)現(xiàn)3個(gè)測(cè)距模塊的在短時(shí)間內(nèi)工作,達(dá)到高效,實(shí)時(shí),準(zhǔn)確的測(cè)距定位。由于需要直觀明了的顯示3個(gè)位置的測(cè)距信息,考慮到顯示美觀以及顯示效果,需要顯示位寬較高的顯示器,因此該設(shè)計(jì)方案選擇LCD 12864顯示實(shí)時(shí)信息。系統(tǒng)軟件部分主要包括主函數(shù)部分
12、,LCD顯示部分,包括對(duì)LCD顯示屏的初始化,寫命令,寫數(shù)據(jù)等,對(duì)SRF08超聲波測(cè)距部分包括對(duì)I2C總線的啟動(dòng),停止,讀寫數(shù)據(jù)以及距離測(cè)量以及判斷等部分。另外包含延時(shí),報(bào)警等部分。系統(tǒng)框圖如圖2.1所示圖2.1SRF08超聲波模塊測(cè)距系統(tǒng)框圖2.1.2 方案二超聲波模塊采用SRF04超聲波模塊對(duì)障礙物進(jìn)行檢測(cè),STC89C51單片機(jī)作為主控制器,LCD1602做顯示輸出,蜂蜜器報(bào)警。HC-SRF04超聲波測(cè)距模塊采用 IO 觸發(fā)測(cè)距,IO口給至少 10us 的高電平信號(hào),啟動(dòng)模塊,當(dāng)模塊啟動(dòng)后,超聲波接收器接收到回波時(shí)會(huì)在輸出引腳輸出高電平,當(dāng)主控芯片檢測(cè)到輸出信號(hào)就可以開定時(shí)器計(jì),當(dāng)此口變
13、為低電平時(shí)就可以讀定時(shí)器的值,此時(shí)就為此次測(cè)距的時(shí)間,方可算出距離.如此不斷的周期測(cè),就可以達(dá)到實(shí)時(shí)測(cè)距的功能。由于SRF04模塊自身不含寄存器,因此在測(cè)量時(shí)需要耗費(fèi)單片機(jī)硬件資源,因此此方案采用尾部單傳感器測(cè)量,如果采用LCD12864顯示器做顯示輸出,則會(huì)浪費(fèi)大量資源,因此選用LCD1602做顯示輸出部分。通過(guò)主控芯片以以及超聲波模塊測(cè)量出汽車尾部句障礙物的距離,與系統(tǒng)的報(bào)警閾值進(jìn)行比較。超過(guò)閾值,報(bào)警達(dá)到有效的避免與障礙物碰撞的目的。該方案系統(tǒng)軟件部分包含,STC89C51單片機(jī)的時(shí)鐘,中斷的編寫,LCD1902顯示部分包含對(duì)液晶顯示器的初始化,命令的寫入,以及數(shù)據(jù)的寫入,對(duì)SRF04超
14、聲波測(cè)距模塊的控制。從以上兩種方案可以看出方案一測(cè)量精度高,同時(shí)超聲波模塊較多能很好的實(shí)現(xiàn)基本功能,但是硬件成本較高,電路較為復(fù)雜,同時(shí)軟件設(shè)計(jì)較為復(fù)雜。方案二電路設(shè)計(jì)簡(jiǎn)單,同時(shí)檢測(cè)靈敏,軟件設(shè)計(jì)較為簡(jiǎn)單易于實(shí)現(xiàn)。因此本文設(shè)計(jì)基于方案二進(jìn)行。2.2 系統(tǒng)設(shè)計(jì)原理該系統(tǒng)由STC89C51單片機(jī)向SRF04超聲波測(cè)距模塊發(fā)送啟動(dòng)信號(hào),同時(shí)接收SRFO4模塊的返回信號(hào),由單片機(jī)內(nèi)部時(shí)鐘記錄返回信號(hào)持續(xù)時(shí)間并計(jì)算出距離,將所測(cè)距離送至LCD1602顯示,同時(shí)與系統(tǒng)距離閾值進(jìn)行比較,如果小于閾值則通過(guò)蜂鳴器報(bào)警。2.3 系統(tǒng)組成本課題以89S51單片機(jī)為核心設(shè)計(jì)的一種超聲波測(cè)距倒車?yán)走_(dá)系統(tǒng),系統(tǒng)整體框圖
15、主要由主控制器、超聲波測(cè)距模塊、單片機(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ā)射出長(zhǎng)約 6mm ,頻率為 40KHZ 的超聲波信號(hào)。此信號(hào)被物體反射回來(lái)由接收頭接收,接收頭實(shí)質(zhì)上是一種壓電效應(yīng)的換能器。它接收到信號(hào)后產(chǎn)生 mV 級(jí)的微弱電壓信號(hào)并通過(guò)接收電路將信號(hào)放大得到回送信號(hào)。第3章 系統(tǒng)硬件設(shè)計(jì)3.1 主控芯片STC89C51 單片機(jī)特
16、點(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;4KB ROM或EPROM128字節(jié)RAM數(shù)據(jù)存儲(chǔ)器4個(gè)8位并行I/O口,其中P0,P2為地址/數(shù)據(jù)線,可尋址64KB ROM和64KB RAM;一個(gè)可編程全雙工串行口;具有5個(gè)中斷源,兩個(gè)優(yōu)先級(jí),嵌套中斷結(jié)構(gòu);兩個(gè)16位定時(shí)/計(jì)數(shù)器;一個(gè)片內(nèi)振蕩器及時(shí)鐘電路。 引腳圖以及部分引腳功能圖3.1 STC89C51引腳圖部分引腳功能:V
17、cc,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/P33.2 液晶顯示模塊 模塊簡(jiǎn)介:字符型液晶顯
18、示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無(wú)差別。實(shí)物圖如圖3.1所示。圖3.1 LCD液晶顯示器實(shí)物圖602LCD主要技術(shù)參數(shù):顯示容量:16×2個(gè)字符;芯片工作電壓:4.55.5V;工作電流:2.0mA(5.0V);模塊最佳工作電壓:5.0V;字符尺寸:2.95×4.35(W×H)mm; 引腳功能說(shuō)明:第1腳:VSS為地電源第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器
19、對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(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í)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。3.2.3 系統(tǒng)顯示模塊電路3.3 超
20、聲波測(cè)距模塊 模塊簡(jiǎn)介超聲波測(cè)距采用HC-SR04超聲波傳感器實(shí)現(xiàn),該模塊能提供2cm400cm的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)到3mm,模塊包括超聲波發(fā)射器,接收器,以及控制電路。模塊實(shí)物圖如圖3.2所示圖3.2 HC-SR04超聲波模塊 模塊工作原理:1)采用 IO 觸發(fā)測(cè)距,通過(guò)單片機(jī)給至少 10us 的高電平信號(hào);2)模塊自動(dòng)發(fā)送 8 個(gè) 40khz 的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;3)有信號(hào)返回,通過(guò) IO 輸出一高電平,高電平持續(xù)的時(shí)間就是即為聲波在介質(zhì)中的傳播時(shí)間。4)超聲波從發(fā)射到返回的時(shí)間測(cè)試距離=(高電平時(shí)間*聲速(340M/S)/2;3.3.3 模塊電氣參數(shù)引腳功能:
21、提供5V正電源,GND為電源地線,TRIG觸發(fā)控制信號(hào)輸入端,ECHO回響信號(hào)輸出端。3.3.4 系統(tǒng)超聲波模塊電路3.4 報(bào)警電路模塊 蜂蜜器簡(jiǎn)介蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電分為有源與無(wú)源之分,本文采用無(wú)源蜂鳴器。 系統(tǒng)報(bào)警電路模塊第四章 系統(tǒng)軟件設(shè)計(jì)4.1 主程序設(shè)計(jì) 主程序簡(jiǎn)介本系統(tǒng)大致流程包括先開始,對(duì)LCDl602液晶顯示器進(jìn)行初始化,然后對(duì)單片機(jī)時(shí)鐘驚醒初始化,初始化結(jié)束后,啟動(dòng)超聲波測(cè)距,打開時(shí)鐘,接收回波信號(hào)。關(guān)閉時(shí)鐘,計(jì)算距離,通過(guò)LCD顯示,并與系統(tǒng)距離閾值進(jìn)行比較。低于系統(tǒng)閾值報(bào)警。同時(shí)將數(shù)據(jù)送至LCD顯示。程序流程圖如圖4.1所示。圖4.1 系統(tǒng)
22、流程圖 程序代碼void main(void)unsigned char TempCyc;unsigned long juli;int i;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; TH0=0;
23、TL0=0; ET0=1; /允許T0中斷 EA=1; /開啟總中斷while(1) StartModule();/ DisplayOneChar(0, 1, ASCII0); 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 4.2 LCD顯示模塊程序設(shè)計(jì) 模塊簡(jiǎn)介液晶顯示部分主要顯示“bi ye
24、 she ji”和所檢測(cè)的距離。顯示開始先對(duì)LCD初始化,把LCD定位到首行首列,然后顯示字符“bi ye she ji”到第一行,LCD第二行,顯示字符“ju li:X.XX MM”。當(dāng)測(cè)量距離超過(guò)超聲波模塊的最大測(cè)量范圍時(shí),顯示“ju li:-.-MM”。程序流程圖如圖4.2所示。圖4.2 顯示模塊程序流程圖 程序代碼寫數(shù)據(jù)函數(shù):該函數(shù)主要用于向1602發(fā)送數(shù)據(jù),參數(shù)WDLCM為需要傳送的數(shù)據(jù)void WriteDataLCM(unsigned char WDLCM) ReadStatusLCM(); /檢測(cè)忙LCM_Data = WDLCM;LCM_RS = 1;LCM_RW = 0;L
25、CM_E = 0; /若晶振速度太高可以在這后加小的延時(shí)LCM_E = 0; /延時(shí)LCM_E = 1;寫指令函數(shù):該函數(shù)主要功能為向1602寫入用戶指令,指令碼通過(guò)參數(shù)WCLCM傳送,參數(shù)BuysC為1602顯示器忙信號(hào),用于檢測(cè)1602是否處于忙狀態(tài)。void WriteCommandLCM(unsigned char WCLCM,BuysC) /BuysC為0時(shí)忽略忙檢測(cè)if (BuysC) ReadStatusLCM(); /根據(jù)需要檢測(cè)忙LCM_Data = WCLCM;LCM_RS = 0;LCM_RW = 0;LCM_E = 0;LCM_E = 0;LCM_E = 1;讀數(shù)據(jù)函數(shù)
26、unsigned char ReadDataLCM(void)LCM_RS = 1; LCM_RW = 1;LCM_E = 0;LCM_E = 0;LCM_E = 1;return(LCM_Data);/讀狀態(tài)unsigned char ReadStatusLCM(void)LCM_Data = 0xFF; LCM_RS = 0;LCM_RW = 1;LCM_E = 0;LCM_E = 0;LCM_E = 1;while (LCM_Data & Busy); /檢測(cè)忙信號(hào)return(LCM_Data);初始化函數(shù):該函數(shù)主要用于對(duì)1602顯示器的初始化,例如顯示模式的設(shè)置,設(shè)置屏顯,
27、光標(biāo)設(shè)置等等。void LCMInit(void) /LCM初始化LCM_Data = 0;WriteCommandLCM(0x38,0); /三次顯示模式設(shè)置,不檢測(cè)忙信號(hào)Delay5Ms(); WriteCommandLCM(0x38,0);Delay5Ms(); WriteCommandLCM(0x38,0);Delay5Ms(); WriteCommandLCM(0x38,1); /顯示模式設(shè)置,開始要求每次檢測(cè)忙信號(hào)WriteCommandLCM(0x08,1); /關(guān)閉顯示W(wǎng)riteCommandLCM(0x01,1); /顯示清屏WriteCommandLCM(0x06,1);
28、/ 顯示光標(biāo)移動(dòng)設(shè)置WriteCommandLCM(0x0c,1); / 顯示開及光標(biāo)設(shè)置字符顯示函數(shù):該函數(shù)主要用于在1602指定位置顯示一個(gè)字符,字符的位置通過(guò)坐標(biāo)X,Y確定,其中X為列坐標(biāo),Y為行坐標(biāo)。參數(shù)Ddata 為需要具體顯示的字符。void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)Y &= 0x1;X &= 0xF; /限制X不能大于15,Y不能大于1if (Y) X |= 0x40; /當(dāng)要顯示第二行時(shí)地址碼+0x40;X |= 0x80; /算出指令碼WriteC
29、ommandLCM(X, 1); /發(fā)命令字WriteDataLCM(DData); /發(fā)數(shù)據(jù)字符串顯示函數(shù):該函數(shù)主要用于在1602中顯示字符串,坐標(biāo)通過(guò)參數(shù)X.Y確定,其中X為列坐標(biāo),Y為行坐標(biāo)。字符串通過(guò)指針Ddata確定。void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)unsigned char ListLength; ListLength = 0;Y &= 0x1;X &= 0xF; /限制X不能大于15,Y不能大于1while (DDataListLen
30、gth>0x19) /若到達(dá)字串尾則退出if (X <= 0xF) /X坐標(biāo)應(yīng)小于0xFDisplayOneChar(X, Y, DDataListLength); /顯示單個(gè)字符ListLength+;X+;4.3 超聲波測(cè)距模塊程序設(shè)計(jì) 模塊簡(jiǎn)介該模塊主要用于驅(qū)動(dòng)超聲波模塊,實(shí)現(xiàn)啟動(dòng)模塊,讀取超聲波模塊回送信號(hào)的作用,并根據(jù)超聲波測(cè)距原理計(jì)算出障礙物的距離。為1602顯示提供實(shí)時(shí)數(shù)據(jù)。 模塊代碼模塊啟動(dòng)函數(shù):該函數(shù)主要是為超聲波硬件模塊提供啟動(dòng)時(shí)需要的10us的高電平。 void StartModule() /啟動(dòng)模塊 TX=1; /啟動(dòng)一次模塊 _nop_(); _nop_(
31、); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; 測(cè)距函數(shù):該函數(shù)主要用于計(jì)算實(shí)際測(cè)得的距離,通過(guò)單片機(jī)的時(shí)鐘測(cè)得的時(shí)間與聲波在空氣中的傳播速度計(jì)算求得。實(shí)際的距離通過(guò)參數(shù)S返回。unsigned long Conut(void) time=TH0*256+TL0; TH0=0; TL0=
32、0;return S = (time*1.7)/100; /算出來(lái)是CM 距離顯示函數(shù):該函數(shù)主要用于對(duì)采集回來(lái)的數(shù)據(jù)與模塊可提供的準(zhǔn)確測(cè)距范圍進(jìn)行比對(duì),如果超出量程則顯示-.- -,如果在精度范圍內(nèi)則顯示具體的數(shù)據(jù)。顯示需要的數(shù)據(jù)通過(guò)參數(shù)S傳入。void display(unsigned long S) if(S>=700)|flag=1) /超出測(cè)量范圍顯示“-” flag=0; DisplayOneChar(6, 1, ASCII11); DisplayOneChar(7, 1, ASCII10);/顯示點(diǎn) DisplayOneChar(8, 1, ASCII11); Displa
33、yOneChar(9, 1, ASCII11); DisplayOneChar(10, 1, ASCII12);/顯示M else disbuff0=S%1000/100; disbuff1=S%1000%100/10; disbuff2=S%1000%10 %10; DisplayOneChar(6, 1, ASCIIdisbuff0); DisplayOneChar(7, 1, ASCII10);/顯示點(diǎn) DisplayOneChar(8, 1, ASCIIdisbuff1); DisplayOneChar(9, 1, ASCIIdisbuff2); DisplayOneChar(10,
34、1, ASCII12);/顯示M 4.4 報(bào)警模塊程序設(shè)計(jì) 模塊簡(jiǎn)介報(bào)警模塊主要用于驅(qū)動(dòng)蜂鳴器與LCD小燈,達(dá)到報(bào)警的效果。 模塊代碼void beep() int i;SPK = 0;for(i = 0; i <50; i+)DelayUs2x(100);SPK =!SPK;SPK = 1;4.5 輔助代碼該部分代碼主要用于對(duì)整個(gè)代碼框架起輔助作用,主要包括系統(tǒng)中所包含的函數(shù)接口聲明,以及系統(tǒng)硬件各個(gè)硬件接口申明定義,以及系統(tǒng)常用延時(shí)函數(shù),一些標(biāo)志函數(shù)。起到了精簡(jiǎn)代碼的所用,減少了整個(gè)代碼的冗余度,同時(shí)使程序在運(yùn)行的過(guò)程中簡(jiǎn)潔。系統(tǒng)硬件接口以及函數(shù)聲明#include <AT89
35、x51.H>/器件配置文件#include <intrins.h>#define RX P2_3#define TX P2_2#define SPK P1_0 /喇叭定義#define LED P1_1#define LCM_RW P2_5 /定義LCD引腳#define LCM_RS P2_4#define LCM_E P2_6#define LCM_Data P0#define Busy 0x80 /用于檢測(cè)LCM狀態(tài)字中的Busy標(biāo)識(shí)void LCMInit(void);void DisplayOneChar(unsigned char X, unsigned char
36、 Y, unsigned char DData);void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);void Delay5Ms(void);void Delay400Ms(void);void Decode(unsigned char ScanCode);void WriteDataLCM(unsigned char WDLCM);void WriteCommandLCM(unsigned char WCLCM,BuysC);unsigned char ReadDataLCM(vo
37、id);unsigned char ReadStatusLCM(void);unsigned char code mcustudio ="bi ye she ji "unsigned char code email = "ju li:"unsigned char code Cls = " "unsigned char code ASCII15 = '0','1','2','3','4','5','6','7','8','9','.','-','M'static unsigned char DisNum = 0; /顯示用指針 unsigned int time = 0;unsigned long S=0;bit flag =0;unsigned char disbuff4 = 0,0,0,0,;系統(tǒng)各級(jí)別延時(shí)函數(shù):/5
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版智能穿戴設(shè)備購(gòu)銷與售后服務(wù)合同3篇
- 二零二五年度冷鏈物流產(chǎn)品購(gòu)銷合同標(biāo)準(zhǔn)2篇
- 二零二四圖書購(gòu)置項(xiàng)目與圖書館公益項(xiàng)目結(jié)合服務(wù)合同3篇
- 2025年度國(guó)際銀團(tuán)貸款合同法律審查指南
- 2025年度全球貨運(yùn)航空意外保險(xiǎn)合同服務(wù)細(xì)則
- 2025年度綠化工程專用苗木供應(yīng)合同書(二零二五版)
- 2025年度廣告設(shè)計(jì)知識(shí)產(chǎn)權(quán)保護(hù)合同樣本
- 2025年度航次運(yùn)輸合同模板:船舶節(jié)能減排協(xié)議
- 二零二四年游戲開發(fā)與運(yùn)營(yíng)合同帶眉腳
- 2025年度商業(yè)樓宇能源審計(jì)及合同能源服務(wù)合作協(xié)議
- 特種設(shè)備使用單位日管控、周排查、月調(diào)度示范表
- 2024年重慶市優(yōu)質(zhì)企業(yè)梯度培育政策解讀學(xué)習(xí)培訓(xùn)課件資料(專精特新 專精特新小巨人中小企業(yè) 注意事項(xiàng))
- 計(jì)算機(jī)二級(jí)wps office公共基礎(chǔ)考試題庫(kù)(100題)
- 三年級(jí)上冊(cè)豎式計(jì)算練習(xí)300題及答案
- 點(diǎn)亮生命-大學(xué)生職業(yè)生涯發(fā)展與就業(yè)指導(dǎo)全套教學(xué)課件
- 旅居管家策劃方案
- 華為經(jīng)營(yíng)管理-華為的研發(fā)管理(6版)
- 鋰離子電池生產(chǎn)工藝流程圖
- 平衡計(jì)分卡-化戰(zhàn)略為行動(dòng)
- 幼兒園小班下學(xué)期期末家長(zhǎng)會(huì)PPT模板
- 礦山安全培訓(xùn)課件-地下礦山開采安全技術(shù)
評(píng)論
0/150
提交評(píng)論