版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計說明書基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計專業(yè)自動化學(xué)生姓名班級自動化113學(xué)號指導(dǎo)教師完成日期2015年6月5日鹽城工學(xué)院本科生畢業(yè)設(shè)計說明書(2015)畢業(yè)設(shè)計說明書(畢業(yè)論文)獨(dú)創(chuàng)性聲明本人聲明所呈交的畢業(yè)設(shè)計說明書(畢業(yè)論文)是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究、設(shè)計工作后獨(dú)立完成的。除了文中特別加以標(biāo)注和致謝的地方外,說明書中不包含其他人己經(jīng)發(fā)表或撰寫過的研究成果。對本文的研究所做貢獻(xiàn)集體和個人,均己在說明書中作了明確的說明并表示謝意。本人完全意識到本聲明的法律后果由本人承擔(dān)。畢業(yè)設(shè)計說明書(畢業(yè)論文)作者簽名(手寫):日期:年月日指導(dǎo)教師簽名(手寫):日期:年月基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計摘要:以STC89C52單片機(jī)為控制核心的超聲波倒車?yán)走_(dá)系統(tǒng)進(jìn)行設(shè)計。該系統(tǒng)實(shí)現(xiàn)的功能有超聲波發(fā)射器發(fā)射出一系列的連續(xù)脈沖,當(dāng)脈沖遇到障礙物后返回,超聲波接收器接收到脈沖后,送到單片機(jī)里,單片機(jī)計算出距離,在顯示器上顯示出距離,并通過語音播報告知駕駛員,當(dāng)達(dá)到危險距離時,發(fā)出危險警報。根據(jù)超聲波倒車?yán)走_(dá)系統(tǒng)的主要功能,提出了設(shè)計方案并進(jìn)行了論證。設(shè)計包括硬件設(shè)計和軟件設(shè)計兩大部分。硬件部分包括單片機(jī)最小系統(tǒng)、超聲波模塊、顯示模塊、語音模塊和按鍵模塊五個部分。單片機(jī)選用宏晶STC公司的STC89C52;用HC-SR04模塊進(jìn)行發(fā)射和接收脈沖;用LCD1602顯示距離,并與報警值比較;語音模塊由喇叭和YF017語音芯片組成,用喇叭播報距離,并當(dāng)距離達(dá)到報警值時發(fā)出報警;用按鍵模塊設(shè)定報警值。軟件采用了模塊化的設(shè)計方法,主要分為主程序、超聲波發(fā)射子程序、超聲波接收子程序、LCD1602顯示子程序、語音播報子程序和按鍵子程序六部分。系統(tǒng)進(jìn)行軟硬件聯(lián)調(diào)。軟硬件聯(lián)調(diào)成功后,實(shí)現(xiàn)了超聲波模塊發(fā)射和接收脈沖,將計算出的距離顯示在顯示器上,喇叭播報距離。當(dāng)距離小于設(shè)定值時,喇叭發(fā)出報警聲。關(guān)鍵詞:倒車?yán)走_(dá);超聲波;單片機(jī);語音播報;顯示器基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計ThedesignofUltrasonicreversingradarsystembasedonSinglechipAbstract:STC89C52microcontrollercorewithanultrasonicreversingradarsystemdesign.Thefunctionsofthesystemhasanultrasonictransmitteremitsaseriesofsuccessivepulses,whentheyhitanobstructionreturn,theultrasonicpulsereceivedbythereceiver,thesuppliedsinglechipmicrocomputer,thesinglechipmicrocomputercalculatesthedistance,showingdistanceonthedisplayandinformsthedriverviavoicebroadcast,whenitreachesthedangerfromissuehazardwarnings.Accordingtothemainfunctionoftheultrasonicreversingradarsystemdesignschemeisproposedanddemonstrated.Design,includinghardwaredesignandsoftwaredesigntwoparts.Minimumsystemhardwareconsistsofamicrocontroller,ultrasonicmodule,displaymodule,voicemodule,akeymoduleoffiveparts.TheSTC89C52singlechipchoosemacrocrystallineonSTCcompany;transmitandreceivepulseswithHC-SR04module;LCD1602displaywithdistance,andcomparedwithalarm;soundmodulebythehornsandYF017voicechips,broadcastbyloudspeakerdistance,andwhenthedistanceisreachedalarmwhenthealarmvalue;setalarmvaluesbuttonmodule.Softwareusesamodulardesign,dividedintothemainprogram,subprogramultrasonictransmitter,ultrasonicreceptionsubroutine,LCD1602displayroutines,voicebroadcastsubroutineandbuttonsubroutinesixparts.Jointdebugsystem’ssoftwareandhardware.Afterthesuccessofthesoftwareandhardware’sdebuggingrealizedtransmitandreceivepulsesofultrasonicmodule,thecalculateddistanceisdisplayedonadisplay,speakersbroadcastdistance.Whenthedistanceislessthanthesetvalue,thehornalarm.Keywords:reversingradar;Ultrasound;Singlechipmicrocomputer;Voicebroadcast;monitor目錄1概述 11.1課題研究背景與意義 11.2課題設(shè)計內(nèi)容 12設(shè)計方案論證 12.1總體設(shè)計 12.2超聲波測距方法選擇 22.3器件選擇 23系統(tǒng)硬件設(shè)計 33.1單片機(jī)最小系統(tǒng) 33.2超聲波模塊 43.2.1超聲波模塊介紹 43.2.2超聲波發(fā)射和接收電路 63.2.3超聲波模塊電路 63.3顯示模塊 73.3.1顯示模塊介紹 73.3.2LCD1602電路 83.4語音模塊 93.4.1YF017語音芯片介紹 93.4.2語音模塊電路 103.5按鍵模塊 104系統(tǒng)軟件設(shè)計 104.1主程序 104.2超聲波發(fā)射子程序 124.3超聲波接收子程序 124.4LCD1602顯示子程序 134.5語音播報子程序 134.6按鍵子程序 145系統(tǒng)調(diào)試 155.1硬件調(diào)試 155.2軟件調(diào)試 155.3軟硬件聯(lián)調(diào) 165.4實(shí)驗(yàn)結(jié)果 166結(jié)束語 19致謝 20參考文獻(xiàn) 21附錄 22附錄1基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)原理圖23附錄2基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)元器件清單24附錄3基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)程序清單25PAGE1基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計1概述1.1課題研究背景與意義現(xiàn)在使用汽車的人越來越多了,但是車子一多,也會造成交通擁擠,隨之帶來的安全隱患也就越來越多了。當(dāng)人們在街道、停車場或者車庫要倒車的時候,駕駛員要不停的看著車子周圍的情況,不然的話,一不小心就會造成碰撞,給自己造成財產(chǎn)損失,更嚴(yán)重的話會給自己或他人的生命安全造成危險。因此,倒車?yán)走_(dá)系統(tǒng)就出現(xiàn)了。倒車?yán)走_(dá)是泊車和倒車的安全輔助裝置,當(dāng)駕駛員倒車時,啟動倒車?yán)走_(dá)系統(tǒng),它能通過發(fā)射和接收超聲波來探測周圍的情況,并以聲音或者影像告訴駕駛員,既解除了駕駛員倒車時要左顧右盼、前看后視的麻煩,又幫助駕駛員看清了整個車子周圍的情況,大大降低了發(fā)生事故的機(jī)率。1.2課題設(shè)計內(nèi)容超聲波倒車?yán)走_(dá)系統(tǒng)的控制器為STC89C52單片機(jī)。該系統(tǒng)能夠?qū)崿F(xiàn)超聲波模塊發(fā)射和接收脈沖,在顯示器上顯示距離,并語音告知駕駛員,在達(dá)到危險距離時,發(fā)出報警聲。系統(tǒng)需要用到以下四種技術(shù):a、單片機(jī):STC89C52單片機(jī)體積小、結(jié)構(gòu)簡單、功能強(qiáng)大,在生活中得到了廣泛的應(yīng)用,符合倒車?yán)走_(dá)系統(tǒng)的要求;b、超聲波測距:超聲波指向性強(qiáng)、能夠測量較遠(yuǎn)的距離、能夠適應(yīng)較為復(fù)雜的環(huán)境、應(yīng)用級別較高;c、顯示:用LCD1602來顯示測得的距離;d、語音播報:用YF017語音芯片和喇叭組成來播報距離,并在達(dá)到危險距離時,發(fā)出報警聲。2設(shè)計方案論證2.1總體設(shè)計超聲波倒車?yán)走_(dá)系統(tǒng)總體設(shè)計框圖如圖2-1所示。其中包括單片機(jī)最小系統(tǒng)、超聲波模塊、顯示模塊、語音模塊和按鍵模塊五個部分。PAGE14PAGE15障礙物障礙物STC89C52單片機(jī)最小系統(tǒng)超聲波模塊按鍵模塊顯示模塊語音模塊圖2-1超聲波倒車?yán)走_(dá)系統(tǒng)總體設(shè)計框圖以STC89C52單片機(jī)為微處理器的最小系統(tǒng)驅(qū)動超聲波模塊發(fā)射出脈沖,遇到障礙物后,再接受返回的脈沖,單片機(jī)計算出脈沖從發(fā)射到接受之間的時間,接著計算出距離,將數(shù)據(jù)送至顯示模塊和語音模塊。在顯示器上顯示距離,通過喇叭播報距離,并當(dāng)距離達(dá)到危險值時,發(fā)出報警聲。按鍵模塊可以重新設(shè)定報警值。2.2超聲波測距方法選擇超聲波測距用的較多的方法有相位檢測法、聲波幅值檢測法、往返時間檢測法。相位檢測法的精度雖高,但是測量的距離較小。聲波幅值檢測法對環(huán)境的要求較高,使用起來難度較大。往返時間檢測法簡單易懂、計算方便,在硬件和軟件設(shè)計上容易實(shí)現(xiàn)。所以選用往返時間檢測法來測量距離。往返時間檢測法的原理是計算出從超聲波發(fā)射器發(fā)射出脈沖到接收器接收到脈沖之間的時間t,這個時間稱為渡越時間,再根據(jù)公式S=ct/2計算出距離。c為超聲波在空氣中的傳播速度,因?yàn)闇y試實(shí)驗(yàn)在實(shí)驗(yàn)室進(jìn)行,可以考慮超聲波在常溫下傳播,c取340m/s。2.3器件選擇單片機(jī)選用宏晶公司的STC89C52單片機(jī)。該單片機(jī)使用起來簡單方便,而且功能強(qiáng)大,能夠滿足系統(tǒng)的計算和控制要求。超聲波模塊選用HC-SR04模塊。該模塊的測量距離較遠(yuǎn),測量的精度高,其結(jié)構(gòu)簡單、價格低廉、小巧、容易裝卸,符合系統(tǒng)設(shè)計的要求。顯示模塊使用的是LCD1602。該模塊體積小、質(zhì)量輕、消耗少,可以顯示2*16個字符,而且不需要驅(qū)動電路,可以直接通過單片機(jī)驅(qū)動,簡單方便。由于這次顯示不需要字符和圖案,LCD1602價格便宜,容易購買,所以選用LCD1602模塊。語音模塊由一個喇叭、一個YF017語音芯片和2個104電容組成。喇叭用來發(fā)出聲音,104電容將電源中的高頻雜波對地短路,用來降低電源輸入對芯片的影響,維持電路的穩(wěn)定。YF017芯片可以直接驅(qū)動喇叭,能夠控制多段地址的組合,使用起來,簡單方便,功能強(qiáng)大。按鍵模塊由4個按鍵組成。K1、K2、K3、K分別是“設(shè)置報警值”、“增大報警值”、“減小報警值”、“播報距離”。3.系統(tǒng)硬件設(shè)計根據(jù)第2節(jié)的總體設(shè)計方案,設(shè)計基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)的硬件電路,總電路原理圖如附錄1所示。3.1單片機(jī)最小系統(tǒng)選用的單片機(jī)為STC89C52單片機(jī),其引腳圖如圖3-1所示。圖3-1STC89C52引腳圖STC89C52單片機(jī)是STC公司生產(chǎn)的一種消耗低、功能強(qiáng)大的COMS8位微型控制器。STC89C52單片機(jī)在傳統(tǒng)的51單片機(jī)的基礎(chǔ)上,做了許多的改動,擁有8位的CPU和系統(tǒng)可編程Flash,為眾多的嵌入式控制應(yīng)用系統(tǒng)提供了高效的解決方案。要使單片機(jī)最小系統(tǒng)正常工作,就必須還要有復(fù)位電路和晶振電路。復(fù)位電路由電阻和電容串聯(lián)組成。當(dāng)單片機(jī)系統(tǒng)在運(yùn)行時,受到環(huán)境的影響,會出現(xiàn)程序跑偏,這時,按下復(fù)位按鈕,內(nèi)部的程序就會從頭開始運(yùn)行。要想出現(xiàn)復(fù)位信號,就要給RST引腳提供一個2us以上的高電平,而要想超聲波模塊發(fā)射出脈沖,就要提供一個10us以上的高電平。所以,選擇一個10uF的電容和10K的電阻就能滿足要求。晶振電路由2個22pF的電容C2和C3,以及12MHz的晶振Y1組成。振蕩器的工作狀態(tài)決定整個最小系統(tǒng)的運(yùn)行。STC89C52單片機(jī)的最小系統(tǒng)如圖3-2所示。圖3-2STC89C52單片機(jī)最小系統(tǒng)圖將單片機(jī)的RST引腳接在復(fù)位電路的電容C1和電阻R2之間,C2連接XTAL2引腳,C3連接XTAL1引腳,并在C2和C3之間并連一個12MHz的晶振,就構(gòu)成了STC89C52單片機(jī)的最小系統(tǒng)。3.2超聲波模塊3.2.1超聲波模塊介紹超聲波模塊選用的是HC-SR04模塊。其實(shí)物圖如圖3-3所示。圖3-3HC-SR04模塊實(shí)物圖HC-SR04模塊參數(shù)如表3-1所示表3-1模塊參數(shù)電氣參數(shù)HC-SR04超聲波模塊工作電壓DC5V工作電流15mA工作頻率40khz最遠(yuǎn)射程4m最近射程2cm測量角度15°輸入觸發(fā)信號10us的TTL脈沖輸入回響信號輸出TTL電平信號,與射程成比例規(guī)格尺寸45*20*15cmHC-SR04工作原理HC-SR04的模塊時序圖如圖3-4所示。10us10us的TTL循環(huán)發(fā)出8個40khz脈沖回響電平輸出與檢測距離成比例觸發(fā)信號模塊內(nèi)部發(fā)出信號輸出回響信號圖3-4HC-SR04模塊時序圖根據(jù)以上的時序圖可以看出,只要P2.3向Trig提供一個10uS以上的高電平信號,模塊就會啟動,自動循環(huán)地發(fā)出8個40KHz的脈沖并且檢測是否有回波。當(dāng)檢測到回波信號后,ECHO會輸出一個回響電平到P2.4,回響電平的持續(xù)時間和檢測距離成正比。根據(jù)時間間隔就能夠計算出距離。3.2.2超聲波發(fā)射和接收電路超聲波內(nèi)部的發(fā)射和接收電路圖如圖3-5所示。圖3-5超聲波發(fā)射和接收電路圖3.2.3超聲波模塊電路超聲波模塊電路圖如圖3-6所示。超聲波模塊的VCC接電源,VDD接地,Trig接單片機(jī)的P2.3,用來接收觸發(fā)電平,Echo接P2.4輸出回響電平。圖3-6超聲波模塊電路圖3.3顯示模塊3.3.1顯示模塊介紹顯示模塊為LCD1602顯示器。它是一種用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊。它是由若干個5*7或者5*11等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以顯示一個字符。因?yàn)槊课恢g有間隔,所以它不能顯示圖形和漢字。其通過5V電壓驅(qū)動,帶背光,可以顯示兩行,每行顯示16個字符,只有并行接口,沒有串行接口。其實(shí)物圖如圖3-7所示。圖3-7LCD1602實(shí)物圖(1)LCD1602引腳說明如表3-2所示表3-21602引腳說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VCC電源正極10D3數(shù)據(jù)3VO液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6EN使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第一腳:接地電源VSS。第二腳:5V正電源為VCC。第三腳:VO為液晶顯示器對比度調(diào)整的端口,對比度的強(qiáng)弱由接電源的不同決定,對比度的調(diào)整可以通過一個10k的電位器。第四腳:RS是寄存器選擇,當(dāng)接收到高電平時,接數(shù)據(jù)寄存器,低電平時,接指令寄存器。第五腳:R/W的讀和寫信號線,當(dāng)接收到高電平時,進(jìn)行讀操作,低電平時,進(jìn)行寫操作。其中RS與R/W的關(guān)系決定了當(dāng)時狀態(tài)。第六腳:使能端EN,當(dāng)EN端由1至0時,液晶模塊中的命令開始被運(yùn)行。第七至十四腳:D0-D7為8位雙向數(shù)據(jù)線。第十五腳:背光源正極。第十六腳:背光源負(fù)極。(2)LCD1602寫操作時序圖如圖3-8所示圖3-8寫操作時序圖從這個時序圖可以看出,寫命令字節(jié)時,RS變?yōu)榈碗娖剑琑/W變?yōu)榈碗娖?。然后LCD1602的DB0~DB7口接收數(shù)據(jù),E引腳從低電平變?yōu)楦唠娖?,脈沖寬度要維持最小400ns,然后E引腳負(fù)跳變,RS電平變低,R/W電平變高。3.3.2LCD1602電路LCD1602電路圖如圖3-9所示。其中D0~D7與單片機(jī)的P0.0~P0.7相連接,EN與單片機(jī)的P2.6相連,RS與單片機(jī)的P2.7相連接,V0和一個2.2K的電阻相連接地。GND、R/W和K接地,VCC和A接電源正極。圖3-9LCD1602電路圖3.4語音模塊語音模塊分為三個部分,分別是一個喇叭、一個YF017語音芯片和2個104電容。喇叭負(fù)責(zé)發(fā)出聲音,104電容負(fù)責(zé)去耦,維持電路的穩(wěn)定,而YF017語音芯片負(fù)責(zé)驅(qū)動喇叭發(fā)出聲音。3.4.1YF017語音芯片介紹YF017語音芯片有8個引腳,采用DIP或者SOP方式封裝,工作電壓為1.8-5.5V,采用PWM直接驅(qū)動小喇叭發(fā)出聲音。YF017語音芯片是固定標(biāo)準(zhǔn)模塊,可以只通過一個IO口來控制多達(dá)32段地址。通常用3個IO口來控制芯片,其引腳圖如圖3-10所示。圖3-10YF017引腳圖模擬串行工作時各IO的作用:BUSY:芯片工作時,輸出低電平,停止工作或者待機(jī)時,保持高電平;DATA:接收單片機(jī)的脈沖信號;RST:芯片的復(fù)位腳,當(dāng)收到高電平時,芯片停止工作。3.4.2語音模塊電路語音芯片的Busy連接單片機(jī)的P2.2,用來識別語音芯片的工作狀態(tài)。Data連接P2.1,識別單片機(jī)的脈沖信號,受到幾個脈沖,就播放第幾個地址的內(nèi)容。Rest連接P2.0,收到高電平后,語音芯片停止運(yùn)行。2個104電容降低電源輸入對芯片的影響,維持電路的穩(wěn)定。喇叭用來發(fā)出聲音。語音模塊電路圖如圖3-11所示。圖3-11語音模塊電路圖3.5按鍵模塊設(shè)計中有4個按鍵K1、K2、K3和K,作用分別是設(shè)置報警值、增大報警值、減小報警值和播報距離,因?yàn)榘存I較少,故采用了獨(dú)立鍵盤的方式,K1、K2、K3、K分別連到了單片機(jī)的P1.0、P1.1、P1.2、P3.7,當(dāng)按下K時,喇叭播報當(dāng)前距離。按鍵模塊電路圖如圖3-12所示。圖3-12按鍵模塊電路圖4系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計分為主程序、超聲波發(fā)射子程序、超聲波接收子程序、LCD1602顯示子程序、語音播報子程序和按鍵子程序六部分。4.1主程序主程序流程圖如圖4-1所示。主程序是單片機(jī)程序的主體,單片機(jī)系統(tǒng)軟件的功能都是在其中完成的。首先對液晶初始化,讀取原報警值,定時器0初始化,再按鍵掃描,接著重新設(shè)定報警值并按鍵掃描,然后啟動超聲波模塊,超聲波發(fā)射器發(fā)射出脈沖后,超聲波接收器檢測回波。當(dāng)接收到回波后,通過單片機(jī)計算出距離,并在顯示器上顯示出來。如果距離小于報警值,喇叭就會發(fā)出“注意危險”的報警聲,如果距離大于報警值,則沒有聲音。按下K鍵,喇叭播報距離。計算距離計算距離顯示距離按下K鍵發(fā)出“注意危險”警報聲小于報警值播報距離結(jié)束接收回波開始液晶初始化讀取原報警值啟動模塊,發(fā)射脈沖定時器0初始化重新設(shè)定報警值按鍵掃描按鍵掃描沒聲音YNYN圖4-1主程序流程圖4.2超聲波發(fā)射子程序超聲波發(fā)射子程序流程圖如圖4-2所示。超聲波發(fā)射子程序的過程是模塊接收到來自單片機(jī)的觸發(fā)信號后,發(fā)射出連續(xù)脈沖,同時定時器0開啟。接收觸發(fā)信號接收觸發(fā)信號開始發(fā)射超聲波初始化定時器0結(jié)束圖4-2超聲波發(fā)射子程序流程圖4.3超聲波接收子程序超聲波接收子程序流程圖如圖4-3所示。超聲波接收子程序的過程是超聲波接收器檢測是否有回波,如果沒有回波,則繼續(xù)檢測,如果檢測到回波,模塊會輸出回響信號,那么定時器0中斷,單片機(jī)算出脈沖從發(fā)出到接收的時間差。開始開始輸出回響信號結(jié)束接收回波定時器0中斷YN圖4-3超聲波接收子程序流程圖4.4LCD1602顯示子程序LCD1602顯示子程序流程圖如圖4-4所示。LCD1602顯示子程序主要是對液晶內(nèi)部的控制指令進(jìn)行指定如液晶初始化,顯示空白,讀,寫,判斷液晶的工作狀態(tài)及指定字符的位置。LCD1602顯示子程序流程圖如圖4-4所示。首先對液晶初始化,然后將地址命令寫到LCD,然后向LCD發(fā)送字符串,最終在液晶上顯示距離。開始開始液晶初始化向LCD寫命令向LCD寫字符串顯示距離結(jié)束圖4-4LCD1602顯示子程序流程圖4.5語音播報子程序語音播報子程序流程圖如圖4-5所示。語音播報的過程是首先對語音芯片進(jìn)行復(fù)位,在接受脈沖信號,接收到幾個脈沖信號,就調(diào)用第幾個地址的內(nèi)容,最后通過喇叭發(fā)出聲音。語音芯片復(fù)位語音芯片復(fù)位接收脈沖信號調(diào)用語音地址語音播報結(jié)束開始圖4-5語音播報子程序流程圖4.6按鍵子程序按鍵子程序流程圖如圖4-6所示。按下K1鍵,對液晶進(jìn)行初始化,重新設(shè)定報警值,按下K2鍵,增大報警值,按下K3鍵,減少報警值。開始開始按下K1結(jié)束液晶初始化按下K2增大報警值按下K3減少報警值圖4-6按鍵子程序流程圖5系統(tǒng)調(diào)試單片機(jī)應(yīng)用系統(tǒng)的調(diào)試分為硬件和軟件兩部分,但是它們是緊密相連的。首先對硬件進(jìn)行故障排除,然后調(diào)試軟件,最后在軟硬件聯(lián)調(diào)。硬件電路是基礎(chǔ),軟件是支撐硬件能夠運(yùn)行的關(guān)鍵??傊{(diào)試過程是在硬件電路的基礎(chǔ)上進(jìn)行軟件調(diào)試的過程,軟硬件缺一不可。5.1硬件調(diào)試首先觀察看器件的焊接布局是否和原理圖上的一致,再看器件的引腳有沒有焊在一起,有沒有沒焊好,同時檢查器件是否有損壞,接著用萬用表檢測各個引腳的線是否有短路或者斷路。5.2軟件調(diào)試軟件調(diào)試使用的是Keil軟件。首先對編寫的程序進(jìn)行調(diào)試,看是否有錯誤,再進(jìn)行編譯,將程序下載到單片機(jī)里。5.3軟硬件聯(lián)調(diào)在硬件和軟件調(diào)試成功后,給萬用表通上電,觀察給個模塊的工作狀態(tài)。分析各個模塊是否達(dá)到了要求的工作性能。a、LCD1602能夠顯示距離;b、當(dāng)距離小于報警值時,喇叭發(fā)出“注意危險”的報警聲,按下K鍵,喇叭播報距離;c、按下K1鍵,報警值重新設(shè)定,按下K2鍵,增大報警值,按下K3鍵,減小報警值。5.4實(shí)驗(yàn)結(jié)果萬用板未通電,其界面如圖5-1所示。按下K1鍵,重新設(shè)定報警值,其工作界面如圖5-2所示。按下K2鍵,將報警值增大到0.30m,其工作界面如圖5-3所示。按下K3鍵,將報警值減少到0.10m,其工作界面如圖5-4所示。在超聲波模塊前0.10m處放置一個擋板,液晶上顯示0.10m,其工作界面如圖5-5所示。圖5-1萬用板未通電界面圖5-2設(shè)定報警值工作界面圖5-3增大報警值工作界面圖5-4減小報警值工作界面圖5-5測距工作界面6結(jié)束語經(jīng)過一學(xué)期的努力后,終于完成了畢業(yè)設(shè)計。此次設(shè)計與單片機(jī)有關(guān),需要做實(shí)物,發(fā)現(xiàn)自己對單片機(jī)還不夠了解,動手能力還不夠強(qiáng),以后需要多多努力。這次設(shè)計課題是基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計。因?yàn)樽约旱膯纹瑱C(jī)基礎(chǔ)較薄弱,應(yīng)老師的建議,在寒假買了單片機(jī)的書籍和學(xué)習(xí)板進(jìn)行了初步的研究,對如何做這個設(shè)計有了一個大致的了解,也鞏固了自己的單片機(jī)知識。開學(xué)后,根據(jù)設(shè)計的要求,去圖書館查閱相關(guān)的書籍,找到了需要用到的資料,再用一個多星期的時間確定了設(shè)計方案,接著開始畫原理圖和購買要用的元器件。在焊接器件時,因?yàn)椴皇炀?,總是焊不上去,最后在同學(xué)的幫助下,終于完成了,所以很謝謝他。焊好器件后,用Keil軟件編寫程序,進(jìn)行調(diào)試、編譯,最后將修改好的程序下載到單片機(jī)里。通過軟硬件聯(lián)調(diào),能夠使實(shí)物正常工作。這次畢業(yè)設(shè)計既有辛苦也有收獲。因?yàn)橐郧暗幕A(chǔ)不是很好,所以做起來不是那么順利,但是得到的也很多。既學(xué)到了單片機(jī)知識,也提高了自己的動手能力,為自己以后的學(xué)習(xí)和工作提供了寶貴的經(jīng)驗(yàn)。致謝此次畢業(yè)設(shè)計的完成既有自己的努力,也和指導(dǎo)老師的幫助分不開。從確定設(shè)計課題到設(shè)計結(jié)束,每一個階段指導(dǎo)老師都會提供很大的幫助。老師嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度、淵博的知識、無私的奉獻(xiàn)精神令人感動。從指導(dǎo)老師身上,不僅學(xué)到了專業(yè)知識,也學(xué)到了做人的道理。在以后的學(xué)習(xí)工作中,將牢記指導(dǎo)老師的教誨和鼓勵,努力奮斗。在此向指導(dǎo)老師致以最衷心的感謝和深深的敬意!
除了指導(dǎo)老師,在四年的大學(xué)四年期間,每位老師都給予了很大的幫助,自己的水平得到了很大的提高,取得了長足的進(jìn)步。在此,感謝所有的老師和同學(xué)。最后,衷心感謝在百忙之中評閱論文和參加答辯的各位專家、教授。參考文獻(xiàn)[1]郭天祥.新概念51單片機(jī)C語言教程—入門、提高、開發(fā)拓展全攻略[M].北京:電子工業(yè)出版社2010[2]劉豹,唐萬生.現(xiàn)代控制理論[M].北京:機(jī)械工業(yè)出版社,2006.7[3]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1998
[4]胡壽松.自動控制原理基礎(chǔ)教程[M].北京:科學(xué)出版社,2013.3[5]張?zhí)m紅,鄒華,劉純利.單片機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2013.7[6]陳杰,黃鴻.傳感器與檢測技術(shù)[M].北京:高等教育出版社,2002.8[7]林書玉.超聲波換能器的原理及設(shè)計[M].北京:北京科學(xué)出版社,2004.7[8]李麗霞.單片機(jī)在超聲波測距中的應(yīng)用[J].電子技術(shù),2002
[9]譚浩強(qiáng).C程序設(shè)計(第三版)[M].北京:清華大學(xué)出版社,2005[10]張鵬,張有志.一種新型超生測距系統(tǒng)[J].山東:山東大學(xué)學(xué)報,2003,33(1)
[11]賈伯年.傳感器技術(shù)[M].南京:東南大學(xué)出版社,2000
[12]陳大新,胡學(xué)同,周杏鵬.利用FPGA改進(jìn)超聲波測距模塊設(shè)計[J].傳感器技術(shù),2005,24(2):
57~59
[13]彭偉.單片機(jī)C語言程序設(shè)計實(shí)訓(xùn)100例—基于8051+Proteus仿真[M].北京:電子工業(yè)出版社2010.6[14]張大明.單片機(jī)控制實(shí)訓(xùn)指導(dǎo)及綜合應(yīng)用實(shí)例[M].北京:清華大學(xué)出版社,2004[15]張齊,朱寧西.單片機(jī)應(yīng)用系統(tǒng)設(shè)計技術(shù)—基于C51的Proteus仿真[M].北京:化學(xué)工業(yè)出版社,2004.附錄附錄1基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)原理圖附錄2基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)元器件清單附錄3基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)程序清單附錄1基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)原理圖鹽城工學(xué)院專業(yè)自動化113班級B自動化113學(xué)號1110603310姓名邵歡奇設(shè)計課題名稱基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計比例審核圖號A3圖紙日期2015.6圖名基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)設(shè)計原理圖共1張附錄2基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)元器件清單序號元器件數(shù)量型號(數(shù)值)1U11單片機(jī)STC89C522U21HC-SR04模塊3U31LCD1602顯示器4U41喇叭5U51語音芯片(YF017)6C1110uF電容7C2、C3222pF電容8C4、C52104電容9Y1112MHz晶振10R11電阻2.2K11R21電阻10K12RP11排阻4.7K13K、K1、K2、K34按鍵附錄3基于單片機(jī)的超聲波倒車?yán)走_(dá)系統(tǒng)程序A主程序代碼#include<reg52.h>//STC89C52單片機(jī)頭文件#include"eeprom.h"http://存儲頭文件#defineucharunsignedchar//宏定義#defineuintunsignedintbityyp=1,yy=1;#include"chao.h"http://超聲波頭文件#include"1602.h"http://液晶頭文件voiddelaym(uintx)//毫秒級延時函數(shù){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}voidmain(){ init1602();//液晶初始化 b=byte_read(0x2400);//讀取單片機(jī)內(nèi)原報警值 inittimer0();//定時器初始化 while(1) { keyscan();//按鍵掃描 if(yyp==1)//重新設(shè)定報警值 {keyscan();//按鍵掃描 startb();//啟動模塊,發(fā)射脈沖 waitb();//接收脈沖 if((distanceb()>=400)||(flag==1)) { flag=0; write_com(0x80+0x40+9);//超出量程顯示***write_date('*'); write_date('.'); write_date('*'); write_date('*'); } else { xm0=(distanceb())/100; xm1=(distanceb())/10%10; xm2=(distanceb())%10; write_com(0x80+0x40+9);//顯示距離 write_date(0x30+xm0); write_date('.'); write_date(0x30+xm1); write_date(0x30+xm2); delaym(100);if(distanceb()<b)// 距離小于報警值 { yy=0;//發(fā)出警報聲 } else { yy=1; } } } while(!k)//按下K鍵 { bbh=1;} if(bbh==1) //播報距離 { bbh=0; Msc(); } if(yy==0) { yy=1; Msc1(); } } }
B超聲波代碼#include"chao.h"http://超聲波頭文件bitflag=0;voiddelay_20us(void)//誤差0us{unsignedchara,b;for(b=1;b>0;b--)for(a=7;a>0;a--);}voidstartb()//啟動測距模塊{ trigb=0; trigb=1; delay_20us(); trigb=0;}voidinittimer0()//初始化定時計數(shù)器0{ TMOD=0x01; TH0=0; TL0=0; TR0=0;}voidwaitb()//等待回波{ //echo=0; while(!echob);//接收到回波 TH0=0; TL0=0;flag=0; TR0=1; while(echob);//未接收到回波 TR0=0;CLCD1602代碼sbiten=P2^6;//申明單片機(jī)P2口的第7位sbitrs=P2^7;//申明單片機(jī)P2口的第8位sbitk1=P1^0;//申明單片機(jī)P1口的第1位sbitk2=P1^1;//申明單片機(jī)P1口的第2位sbitk3=P1^2;//申明單片機(jī)P1口的第3位sbitk=P3^7;//申明單片機(jī)P3口的第8位ucharnum,s1num=0;intkey_delay=0;constintkey_count=200;ucharb=30; //上下線初始化ucharcodetable[]={"Voicebroadcast"};ucharcodetable1[]={"Distance:m"};ucharcodetable2[]={"Setthealarm"};ucharcodetable3[]={"value:"};voiddelay(uintx)//毫秒級延時函數(shù){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}voidwrite_com(ucharcom)//寫命令{ rs=0; P0=com; delay(5); en=1; delay(5); en=0;}voidwrite_date(uchardate)//寫數(shù)據(jù){ rs=1; P0=date; delay(5); en=1; delay(5); en=0;}voidinit1602() //液晶顯示初始化{ write_com(0x38); //設(shè)置工作方式 write_com(0x0c); //設(shè)置光標(biāo) write_com(0x06); //設(shè)置輸入方式 write_com(0x01); //清屏 write_com(0x80); for(num=0;num<16;num++) { write_date(table[num]); } write_com(0x80+0x40); for(num=0;num<16;num++) { write_date(table1[num]); }}voidinit16021() { write_com(0x38); //設(shè)置工作方式 write_com(0x0c); //設(shè)置光標(biāo) write_com(0x06); //設(shè)置輸入方式 write_com(0x01); //清屏 write_com(0x80); for(num=0;num<16;num++) { write_date(table2[num]); } write_com(0x80+0x40); for(num=0;num<16;num++) { write_date(table3[num]); }}voidwrite_juli(ucharadd,uchardate)//顯示距離{ ucharshi,ge,bai; bai=date/100; shi=date/10%10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30+bai); write_date('.'); write_date(0x30+shi); write_date(0x30+ge); write_date('m');}D語音播報代碼sbitMUSIC_REST=P2^0;//申明單片機(jī)P2口的第1位 sbitMUSIC_DATA=P2^1;//申明單片機(jī)P2口的第2位sbitbus=P2^2;//申明單片機(jī)P2口的第3位ucharbbh,xm1,xm2,xm0;voiddelay_us(unsignedintus){while(us--){ _nop_(); _nop_(); _nop_(); _nop_();}}voidMusic(unsignedcharmusic_count){MUSIC_REST=1;delay_us(200);MUSIC_REST=0;delay_us(200);while(music_count>0)//接收單片機(jī)脈沖信號{MUSIC_DATA=1;delay_us(100);MUSIC_DATA=0;delay_us(100); music_count--;}}voidMsc(){if((xm0+xm1+xm2)!=0) //當(dāng)超出測量范圍時不進(jìn)行播報 { Music(20); //播報:“當(dāng)前距離為” while(!bus); if(xm0==0) { Music(1); //播報:“十位數(shù)具體值” while(!bus); } elseMusic(xm0+1); //播報:“十位數(shù)具體值” while(!bus); if((xm1+xm2)!=0) { Music(13); //播報:“點(diǎn)” while(!bus); Music(xm1+1); //播報:“十分位的具體值” while(!bus); Music(xm2+1); //播報:“百分位的具體值” while(!bus); Music(15); //播報:“米” while(!bus); } else { Music(15); //播報:“米” while(!bus); } } }voidMsc1(){ Music(24); //播報:“注意危險” while(!bus);}E按鍵掃描代碼voidkeyscan()//按鍵掃描{ if(k1==0) { delay(10); if(k1==0) { s1num++; while(!k1); //等待K1釋放 yyp=0; //di(); switch(s1num) { case1: init16021();//重新初始化液晶 b=byte_read(0x2400); write_juli(8,b); write_com(0x80+0x40+11); write_com(0x0f); //打開光標(biāo) break; case2: s1num=0; write_com(0x0c); //關(guān)閉光標(biāo) yyp=1; init1602(); //液晶初始化 break; } } } if(s1num!=0) { if(k2==0) { delay(10); if(k2==0) { while((!k2)&(key_delay++<key_count)); //等待K2釋放 switch(s1num) { case1:b++;//增大報警值 if(b==400)b=0; write_juli(8,b); write_com(0x80+0x40+11); SectorErase(0x2400);//擦除扇區(qū) byte_write(0x2400,b);//重新寫入數(shù)據(jù) break; } } } if(k3==0) { delay(10); if(k3==0) { while((!k3)&(key_delay++<key_count)); //等待按鍵釋放 switch(s1num) { case1:b--;//減小報警值 if(b==0)b=400; write_juli(8,b); write_com(0x80+0x40+11); SectorErase(0x2400);//擦除扇區(qū) byte_write(0x2400,b);//重新寫入數(shù)據(jù) break; } } } }}F距離計算代碼intdistanceb()//計算距離{ intdis; uintnum; num=TH0*256+TL0; dis=(num*1.7)/100; returndis;}voidchaoju()interrupt1{ flag=1;}G存儲器代碼#include<intrins.h>#defineRdCommand0x01//定義ISP的操作命令#definePrgCommand0x02#defineEraseCommand0x03#defineError1#defineOk0#defineWaitTime0x01//定義CPU的等待時間sfrISP_DATA=0xe2;//寄存器申明sfrISP_ADDRH=0xe3;sfrISP_ADDRL=0xe4;sfrISP_CMD=0xe5;sfrISP_TRIG=0xe6;sfrISP_CONTR=0xe7;/*================打開ISP,IAP功能=================*/voidISP_IAP_enable(void){EA=0;/*關(guān)中斷*/ISP_CONTR=ISP_CONTR&0x18;/*0001,1000*/ISP_CONTR=ISP_CONTR|WaitTime;/*寫入硬件延時*/ISP_CONTR=ISP_CONTR|0x80;/*ISPEN=1*/}/*===============關(guān)閉ISP,IAP功能==================*/voidISP_IAP_disable(void){ISP_CONTR=ISP_CONTR&0x7f;/*ISPEN=0*/ISP_TRIG=0x00;EA=1;/*開中斷*/}/*================公用的觸發(fā)代碼====================*/voidISPgoon(void){ISP_IAP_enable();/*打開ISP,IAP功能*/ISP_TRIG=0x46;/*觸發(fā)ISP_IAP命令字節(jié)1*/ISP_TRIG=0xb9;/*觸發(fā)ISP_IAP命令字節(jié)2*/_nop_();}/*====================字節(jié)讀========================*/unsignedcharbyte_read(
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 萬達(dá)商業(yè)廣場2024年物業(yè)綜合管理協(xié)議版B版
- 論文答辯精要解析
- 2025年度拆遷安置住房租賃及物業(yè)管理合同4篇
- 二零二五年度建筑工程項(xiàng)目建造師勞動合同范本9篇
- 2025年度產(chǎn)教融合校企產(chǎn)學(xué)研合作項(xiàng)目執(zhí)行框架協(xié)議4篇
- 二零二五年度餐廳經(jīng)理勞動合同范本:服務(wù)質(zhì)量提升3篇
- 二零二四年事業(yè)單位委托第三方社保代繳與員工績效獎勵協(xié)議3篇
- 二零二五年度大米產(chǎn)品綠色包裝與環(huán)保材料應(yīng)用合同2篇
- 2024飼料行業(yè)客戶數(shù)據(jù)共享協(xié)議
- 2025年度商業(yè)地產(chǎn)項(xiàng)目場地租賃及物業(yè)管理合同12篇
- 國家自然科學(xué)基金項(xiàng)目申請書
- 電力電纜故障分析報告
- 中國電信網(wǎng)絡(luò)資源管理系統(tǒng)介紹
- 2024年浙江首考高考選考技術(shù)試卷試題真題(答案詳解)
- 《品牌形象設(shè)計》課件
- 倉庫管理基礎(chǔ)知識培訓(xùn)課件1
- 藥品的收貨與驗(yàn)收培訓(xùn)課件
- GH-T 1388-2022 脫水大蒜標(biāo)準(zhǔn)規(guī)范
- 高中英語人教版必修第一二冊語境記單詞清單
- 政府機(jī)關(guān)保潔服務(wù)投標(biāo)方案(技術(shù)方案)
- HIV感染者合并慢性腎病的治療指南
評論
0/150
提交評論