![藍(lán)本畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第1頁](http://file4.renrendoc.com/view/4f1253eda3e9861609dce21eec0e8062/4f1253eda3e9861609dce21eec0e80621.gif)
![藍(lán)本畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第2頁](http://file4.renrendoc.com/view/4f1253eda3e9861609dce21eec0e8062/4f1253eda3e9861609dce21eec0e80622.gif)
![藍(lán)本畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第3頁](http://file4.renrendoc.com/view/4f1253eda3e9861609dce21eec0e8062/4f1253eda3e9861609dce21eec0e80623.gif)
![藍(lán)本畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第4頁](http://file4.renrendoc.com/view/4f1253eda3e9861609dce21eec0e8062/4f1253eda3e9861609dce21eec0e80624.gif)
![藍(lán)本畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第5頁](http://file4.renrendoc.com/view/4f1253eda3e9861609dce21eec0e8062/4f1253eda3e9861609dce21eec0e80625.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE1基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)設(shè)計(jì)
【摘要】隨著多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,許多舊的生產(chǎn)生活方式逐漸被新技術(shù)代替,本文就針對(duì)公交車報(bào)站問題提出了解決方案。系統(tǒng)使用單片機(jī)AT89C51來控制語音合成芯片ISD4004和液晶顯示模塊LCD1602以及無線收發(fā)模塊PT2262/PT2272。語音合成芯片ISD4004,采用模擬數(shù)據(jù)半導(dǎo)體存儲(chǔ)器直接存儲(chǔ)的專利技術(shù),即將模擬語音數(shù)據(jù)直接寫入單個(gè)存儲(chǔ)單元,不需經(jīng)過A/D、D/A轉(zhuǎn)換,因此能夠較好地真實(shí)再現(xiàn)語音的自然效果,避免了一般固體語音電路因?yàn)榱炕蛪嚎s造成的量化噪聲和失真現(xiàn)象。配合液晶屏顯示,就使得該報(bào)站系統(tǒng)更加實(shí)用,實(shí)現(xiàn)報(bào)站的準(zhǔn)確性、及時(shí)性、穩(wěn)定性和操作簡(jiǎn)單、方便、智能等特點(diǎn)。【關(guān)鍵字】單片機(jī),語音提示,文字顯示,公交報(bào)站ABSTRCTWiththedevelopmentofmultimediatechnologyandnetworktechnology,manyoftheoldwayofproductionandlivingisgraduallyreplacedbynewtechnology,thispaperwillputforwardthesolutionsforthebusstops.SystemusingsinglechipmicrocomputerAT89C51tocontrolthespeechsynthesischipISD4004andLCD1602LCDdisplaymoduleandwirelesstransceivermodulePT2262/PT2272.SpeechsynthesischipISD4004,patentedtechnologyofsemiconductormemorystoragedirectlyusingdatasimulation,thesimulationofvoiceanddatadirectlyintoAsinglestorageunit,donotneedthroughA/D,D/Aconversion,thuscanreproducethevoicebetterrealnaturaleffect,avoidsthegeneralsolidvoicecircuitforquantitativeandquantitativenoiseanddistortioncausedbycompression.CooperatewithLCDdisplay,makesthepaperstationsystemmorepractical,realizethestopstheaccuracy,timeliness,stability,andtheoperationissimple,convenient,smart,etc.KEYWORDS:Single-chipMicrocomputer,AudioPrompt,CharacterDisplay,Bus-Stop目錄TOC\o"1-3"\h\u第一章緒論 11.1本課題的研究意義 11.2目前幾種公交車報(bào)站器詳細(xì)比較 11.2.1GPS公交車自動(dòng)報(bào)站器 11.2.2手動(dòng)式公交車自動(dòng)報(bào)站器 11.2.3基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng) 2第二章系統(tǒng)方案的確定 32.1系統(tǒng)主要要實(shí)現(xiàn)的功能 32.2無線傳輸模塊的選擇 32.3控制模塊的選擇 32.4液晶顯示模塊及語音模塊的選擇 32.5系統(tǒng)整體硬件電路的確定 3第三章系統(tǒng)功能模塊詳細(xì)介紹 53.1單片機(jī)AT89C51 53.1.1管腳說明 73.1.2外部晶振的選擇 83.1.3復(fù)位電路 83.1.4按鍵電路設(shè)計(jì) 93.2無線收發(fā)模塊PT2262/PT2272 103.2.1PT2262/PT2272引腳圖 103.2.2PT2262/2272接線圖以及工作原理 123.2.3無線數(shù)傳模塊F05V/J05V 133.3顯示模塊LCD1602 143.3.1排阻Respack-8 143.3.2LCD1602的引腳定義 143.3.3液晶LCD1602常用的11條指令 163.4語音模塊ISD4004 183.5蜂鳴器和LED指示燈 20第四章系統(tǒng)程序設(shè)計(jì) 214.1系統(tǒng)仿真主程序流程圖 214.2程序子函數(shù)模塊 224.2.1延時(shí)函數(shù) 224.2.2檢查忙函數(shù) 224.2.3寫指令函數(shù) 224.2.4寫數(shù)據(jù)函數(shù) 234.2.5光標(biāo)位置函數(shù) 234.2.6初始化函數(shù) 234.2.7其他數(shù)組定義以及端口定義 234.3主程序流程圖 24第五章系統(tǒng)仿真實(shí)現(xiàn) 285.1開發(fā)環(huán)境KeilC51介紹 285.2仿真環(huán)境PROTEUS介紹 285.3仿真運(yùn)行結(jié)果截圖 285.4仿真結(jié)果 29結(jié)束語 31致謝 33參考文獻(xiàn) 34附錄A系統(tǒng)仿真全部代碼 35閩南理工學(xué)院本科畢業(yè)設(shè)計(jì)PAGE48第一章緒論1.1本課題的研究意義近些年來,隨著城市人口的不斷增加,人們生活節(jié)奏的不斷加快,公交車在大城市以及中小城市已經(jīng)普及,并且有了日新月異的發(fā)展,在人民生活中起著重要作用,因此,公交車的正常運(yùn)行與人們的正常生活息息相關(guān)。傳統(tǒng)公交車報(bào)站大多是由乘務(wù)人員來人工報(bào)站,但是因?yàn)榉窖缘牟町惢蛘呷硕鄷r(shí)語音嘈雜,這種方式不利于人民生活的和諧。所以根據(jù)這種需要市面上產(chǎn)生流行了多種公交車報(bào)站器也方便人們的生活。目前雖然現(xiàn)在在一些大城市的公交車上已經(jīng)采用GPS定位系統(tǒng)自動(dòng)報(bào)站,但其造價(jià)昂貴,難以在一些中小城市實(shí)現(xiàn)普及。另外,現(xiàn)在也有一些城市正在使用的一種半自動(dòng)語音報(bào)站系統(tǒng),這種系統(tǒng)需要由司機(jī)在車子進(jìn)出站的時(shí)候人工操作,由于這兩個(gè)時(shí)間點(diǎn)往往是路面情況最復(fù)雜的時(shí)刻,因此也給行駛中的車輛帶來了安全隱患。所以本設(shè)計(jì)針對(duì)目前常見公交車報(bào)站系統(tǒng)的主要缺陷,研究介紹了一種基于單片機(jī)控制的公交車自動(dòng)報(bào)站系統(tǒng),實(shí)現(xiàn)在到站時(shí)的自動(dòng)語音報(bào)站和LCD液晶顯示,而且該系統(tǒng)造價(jià)廉價(jià),可以在中小城市中普及。1.2目前幾種公交車報(bào)站器詳細(xì)比較公交車對(duì)社會(huì)影響巨大,對(duì)城市發(fā)展起著最基本的推動(dòng)作用。隨著公交車的不斷普及市面上也出現(xiàn)各種各樣的公交車報(bào)站器,現(xiàn)在市面上流行的幾種報(bào)站器主要有下列幾種類型:1.2.1GPS公交車自動(dòng)報(bào)站器利用GPS全球衛(wèi)星定位系統(tǒng)的公交車報(bào)站系統(tǒng),在司機(jī)座位后面隔板上,安裝了一臺(tái)15英寸的液晶電視和GPS信號(hào)接收器,安裝了這套設(shè)備后,公交車在語音報(bào)站的同時(shí),通過液晶電視還可以顯示到站站名的字幕,這樣如果沒聽清報(bào)站的話,通過顯示屏,乘客也可以一目了然。當(dāng)出現(xiàn)緊急情況時(shí),調(diào)度中心將會(huì)給公交車發(fā)出相應(yīng)的信息,以短信的形式傳送到顯示屏上,同時(shí)車載臺(tái)會(huì)發(fā)出相應(yīng)的提示音;駕駛員也可以通過相應(yīng)的工具進(jìn)行回復(fù)。目前在美國(guó)部分城市GPS衛(wèi)星定位系統(tǒng)已經(jīng)投入使用,國(guó)內(nèi)也有此類產(chǎn)品的研制開發(fā),其功能強(qiáng)大,系統(tǒng)穩(wěn)定,但其投資昂貴,尤其是一些中小城市無法承受。1.2.2手動(dòng)式公交車自動(dòng)報(bào)站器手動(dòng)式公交車自動(dòng)報(bào)站器通過主機(jī)上的漢字顯示器,顯示當(dāng)前車站名稱,即將達(dá)到站名指示功能;通過主機(jī)屏幕的顯示,可直觀的觀察到進(jìn)站和下一站信息;通過按鍵,可播放進(jìn)站,出站,服務(wù)用語等語音。但是該種報(bào)站器需要由司機(jī)在車子進(jìn)出站的時(shí)候人工操作,由于這兩個(gè)時(shí)間點(diǎn)往往是路面情況最復(fù)雜的時(shí)刻,因此也給行駛中的車輛帶來了安全隱患,不利于公交車的安全行駛。1.2.3基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng),而這種系統(tǒng)又大致分為兩種技術(shù)支持。其中一種的技術(shù)關(guān)鍵是對(duì)車輪轉(zhuǎn)軸的轉(zhuǎn)角的脈沖進(jìn)行計(jì)數(shù),將計(jì)數(shù)值與預(yù)置值對(duì)比,即可確定報(bào)站時(shí)刻,達(dá)到準(zhǔn)確自動(dòng)的目的。該方式應(yīng)用單片機(jī)的高速計(jì)數(shù)器端口進(jìn)行脈沖計(jì)數(shù),以距離來控制報(bào)站時(shí)刻,首次實(shí)現(xiàn)了模糊控制,改變現(xiàn)有設(shè)備的不足。做到簡(jiǎn)單實(shí)用自動(dòng)化程度高。傳感器在公交車上的應(yīng)用極大的提高了設(shè)備功能。另外一種基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)就是利用編碼解碼芯片PT2262/PT2272進(jìn)行解碼編碼,利用無線數(shù)傳模塊F05V/J05V和天線進(jìn)行發(fā)射和接收來實(shí)現(xiàn)的。在每個(gè)站牌上設(shè)置一個(gè)編碼發(fā)送裝置PT2262和無線數(shù)傳模塊F05V,通過公交車上設(shè)置的接收裝置J05V和譯碼裝置PT2272進(jìn)行譯碼并傳輸?shù)絾纹瑱C(jī)。發(fā)送裝置按照延時(shí)3到5秒不斷發(fā)送信號(hào),公交車在距離站牌10到20米的時(shí)候就能接收到信號(hào),然后根據(jù)程序來實(shí)現(xiàn)語音報(bào)站,LCD液晶顯示。這種報(bào)站系統(tǒng)軟件編寫比較簡(jiǎn)單,也容易修改,并且芯片價(jià)格低廉,大批生產(chǎn)能夠獲得比GPS系統(tǒng)達(dá)到更高的性價(jià)比,是公交車自動(dòng)報(bào)站系統(tǒng)的較佳選擇。綜合上述各種公交車自動(dòng)報(bào)站系統(tǒng),本設(shè)計(jì)選擇了基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng),并利用無線數(shù)傳模塊來實(shí)現(xiàn)公交車的自動(dòng)報(bào)站。第二章系統(tǒng)方案的確定2.1系統(tǒng)主要要實(shí)現(xiàn)的功能該系統(tǒng)應(yīng)實(shí)現(xiàn)無線信號(hào)收發(fā)確認(rèn),到站時(shí)的公交車站名的液晶顯示以及自動(dòng)語音提示。系統(tǒng)的硬件設(shè)計(jì)中應(yīng)充分考慮了性價(jià)比,用最少的器件設(shè)計(jì)出滿足要求的硬件電路。本次設(shè)計(jì)主要是完成實(shí)現(xiàn)基本的仿真,該系統(tǒng)仿真電路的總體結(jié)構(gòu)以51單片機(jī)為核心,由模擬接收電路、LCD(LiquidCrystalDisplay,液晶顯示屏)顯示電路等組成。2.2無線傳輸模塊的選擇PT2262/PT2272集成芯片。方案采用低功耗、低價(jià)位、通用編解碼電路,發(fā)送用高β的達(dá)林頓管,所以在靈敏度和抗干擾性方面有保障。無線數(shù)傳模塊F05V/J05V(典型遙控應(yīng)用電路):F05V采用的SMT工藝,優(yōu)點(diǎn)是低電壓微功率、體積小、低功耗發(fā)射模塊,適合單片機(jī)數(shù)據(jù)傳輸以及短距離無線遙控報(bào)警。J05V作為接收模塊優(yōu)點(diǎn)是低電壓、體積小,兩者連接在PT2262/2272配合使用2.3控制模塊的選擇所學(xué)專業(yè)課中學(xué)習(xí)過51單片機(jī),并且單片機(jī)體積小,重量輕,具有很強(qiáng)的靈活性而且價(jià)格便宜,所以控制模塊選用單片機(jī)。2.4液晶顯示模塊及語音模塊的選擇隨著科學(xué)技術(shù)的日益發(fā)展和進(jìn)步,微型計(jì)算機(jī)已經(jīng)在很多領(lǐng)域得到廣泛應(yīng)用。LCD與微機(jī)技術(shù)結(jié)合,比傳統(tǒng)的LED顯示效果更佳。所以結(jié)合公交車報(bào)站的使用特點(diǎn)和運(yùn)營(yíng)環(huán)境,設(shè)計(jì)一種由單片機(jī)控制、LCD顯示的公交車報(bào)站顯示系統(tǒng)。公交車報(bào)站顯示系統(tǒng)的設(shè)計(jì)應(yīng)用單片機(jī),LCD顯示,使到站信息及提示信息以顯示的方式告知市民,為市民提供人形化、完美的服務(wù)。所以本次設(shè)計(jì)中重點(diǎn)使用了LCD1602液晶顯示模塊鑒于使用Proteus仿真,在仿真中使用蜂鳴器代替語音模塊,使用蜂鳴器的連續(xù)間斷發(fā)聲作為提示。為了以后實(shí)際需要,在文章中介紹了常用的語音模塊ISD4004。2.5系統(tǒng)整體硬件電路的確定根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能,以及各個(gè)模塊的選擇,確定了整個(gè)報(bào)站系統(tǒng)主要組成部分分為兩個(gè)模塊。發(fā)射模塊即電子站牌部分主要由AT89C51單片機(jī),PT2262編碼裝置,無線傳輸模塊F05V和天線組成。接收控制模塊即車載部分是主要部分,選擇AT89C51為核心的控制器,PT2272譯碼裝置和無線數(shù)傳模塊J05V以及天線作為接收信號(hào)裝置,語音錄放芯片ISD4004組成的語音播放電路以及LCD1602液晶顯示屏構(gòu)成液晶顯示模塊。系統(tǒng)各部分框圖如下圖所示。通過天線(Antenna)發(fā)射信號(hào),間隔5秒。通過天線(Antenna)發(fā)射信號(hào),間隔5秒。無線數(shù)傳模塊F05VPT2662信號(hào)發(fā)射AT89C51單片機(jī)產(chǎn)生周期信號(hào) 圖2-1公交車站牌發(fā)射部分方框圖接收天線接收無線數(shù)傳模塊J05VLCD1602液晶顯示接收天線接收無線數(shù)傳模塊J05VLCD1602液晶顯示PT2272信號(hào)接收AT89C51單片機(jī)控制ISD4004語音模塊ISD4004語音模塊晶振,外部中斷復(fù)位電路晶振,外部中斷復(fù)位電路按鍵控制按鍵控制圖2-2公交車車載接收部分方框圖公交車自動(dòng)報(bào)站系統(tǒng)就是利用編碼解碼芯片PT2262/PT2272進(jìn)行解碼編碼,利用無線數(shù)傳模塊F05V/J05V和天線進(jìn)行發(fā)射和接收來實(shí)現(xiàn)的。在每個(gè)站牌上設(shè)置一個(gè)編碼發(fā)送裝置PT2262和無線數(shù)傳模塊F05V,通過公交車上設(shè)置的接收裝置J05V和譯碼裝置PT2272進(jìn)行譯碼并傳輸?shù)絾纹瑱C(jī)。發(fā)送裝置按照延時(shí)3到5秒不斷發(fā)送信號(hào),公交車在距離站牌10到20米的時(shí)候就能接收到信號(hào),然后根據(jù)程序來實(shí)現(xiàn)語音報(bào)站,LCD液晶顯示。發(fā)射部分通過編碼芯片PT2262,無線數(shù)傳模塊F05V和天線不停發(fā)射周期信號(hào),發(fā)射的一個(gè)周期的內(nèi)容包括本站點(diǎn)的地址、站名等信息的編碼信息。當(dāng)公交車行駛進(jìn)人該信號(hào)范圍內(nèi),車載部分的通過天線,經(jīng)無線數(shù)傳模塊J05V和PT2272譯碼就會(huì)接收到這個(gè)編碼信息,單片機(jī)將編碼信息處理后,向顯示模塊和語音模塊發(fā)送對(duì)應(yīng)的信息,就能實(shí)現(xiàn)液晶顯示屏顯示對(duì)應(yīng)的站名和語音報(bào)站,完成自動(dòng)報(bào)站。第三章系統(tǒng)功能模塊詳細(xì)介紹3.1單片機(jī)AT89C51隨著計(jì)算機(jī)技術(shù)的發(fā)展,單片機(jī)技術(shù)已成為計(jì)算機(jī)技術(shù)中的一個(gè)獨(dú)特的分支,單片機(jī)的應(yīng)用領(lǐng)域也越來越廣泛,特別是在工業(yè)控制和儀器儀表智能化中扮演著極其重要的角色??v觀單片機(jī)發(fā)展的30多年來,單片機(jī)正往多功能、高性能、高速度、低電壓、低價(jià)格、低噪聲、低功耗、小體積、大容量、專用化和外圍電路內(nèi)裝化的方向發(fā)展。單片機(jī)的出現(xiàn)使的過去經(jīng)常采用模擬電路、數(shù)字電路實(shí)現(xiàn)的電路系統(tǒng),轉(zhuǎn)變成現(xiàn)在用單片機(jī)予以實(shí)現(xiàn),并且傳統(tǒng)的電路設(shè)計(jì)方法演變成硬件和軟件相結(jié)合的設(shè)計(jì)方法,并且許多電路設(shè)計(jì)問題將轉(zhuǎn)化為純粹的程序設(shè)計(jì)問題。誠(chéng)然,單片機(jī)的應(yīng)用意義遠(yuǎn)不限于它的應(yīng)用范疇或由此帶來的經(jīng)濟(jì)效益,更重要的是它已從根本上改變了傳統(tǒng)的控制方法和設(shè)計(jì)思想,是控制技術(shù)的一次革命,是一座重要的里程碑微控制器通常將主要的組成部分集成在一個(gè)芯片上,就是把中央處理器(CPU)、隨機(jī)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器以及I/O接口電路等主要部件集成在一個(gè)芯片上。AT89C51俗稱單片機(jī),可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。主要特性:1、一個(gè)CPU,一個(gè)片內(nèi)振蕩器以及時(shí)鐘電路,2、4K(RAM)程序存儲(chǔ)器,3、128B(ROM)數(shù)據(jù)存儲(chǔ)器4、21個(gè)特殊功能寄存器5、數(shù)據(jù)能夠保存的時(shí)間:10年6、與MCS-51指令相兼容7、32個(gè)可編程I/O線(4個(gè)8位并行I/O端口)8、16位定時(shí)器/計(jì)數(shù)器有兩個(gè)9、5個(gè)中斷源,兩個(gè)優(yōu)先級(jí)嵌套結(jié)構(gòu)10、一個(gè)可編程全雙工串行接口11、低功耗的閑置和掉電模式12、片內(nèi)振蕩器和時(shí)鐘電路盡管目前單片機(jī)種類多,各類單片機(jī)的指令系統(tǒng)各不相同,功能各有所長(zhǎng),但市場(chǎng)占有率最高的是51系列單片機(jī)。單片機(jī)體積小,重量輕,具有很強(qiáng)的靈活性而且價(jià)格便宜,得到越來越廣泛的運(yùn)用。例如工業(yè)控制領(lǐng)域、家電產(chǎn)品,智能化儀器儀表,計(jì)算機(jī)外部設(shè)備,特別是機(jī)電一體化產(chǎn)品中都有重要的用途,其中的51單片機(jī)系列發(fā)展規(guī)模最大。51單片的運(yùn)用廣泛,并且具有優(yōu)異的性能價(jià)格比,集成度高,體積小,有很高的可靠性,并且控制功能強(qiáng)。所以是核心控制期間的最佳選擇。圖3-1AT89C51單片機(jī)引腳圖3.1.1管腳說明下面對(duì)設(shè)計(jì)中用到的一些管腳進(jìn)行簡(jiǎn)要的介紹:VCC:供電電壓,一般接+5V電源正端。GND:接地,一般接+5V電源地端。P0口(39~32腳):輸入輸出線P0.0~P0.7統(tǒng)稱為P0口??梢杂米鳒?zhǔn)雙向輸入/輸出口使用,但由于內(nèi)部無上拉電阻,一般外加上拉電阻:在進(jìn)行片外存儲(chǔ)器擴(kuò)展或I/O擴(kuò)展時(shí),P0口作為分時(shí)服用的低8位地址總線和雙向數(shù)據(jù)總線。P1口(1~8腳):P1口作為準(zhǔn)雙向I/O口使用。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。P2口(21~28腳):P2口也可作為準(zhǔn)雙向I/O口,當(dāng)進(jìn)行片外村春氣擴(kuò)展或I/O口擴(kuò)展時(shí),P2口用作高8位地址總線。P3口(10~17腳):P3口作為準(zhǔn)雙向I/O口使用外,每一個(gè)端口還具有第二功能。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳備選功能P3.0RXD(串行口輸入端)P3.1TXD(串行口輸出端)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(定時(shí)器/計(jì)時(shí)器0計(jì)數(shù)脈沖輸入)P3.5T1(定時(shí)器/計(jì)時(shí)器1計(jì)數(shù)脈沖輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出)RST(9腳):復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持10ms高電平時(shí)間才能保證有效的復(fù)位。ALE/PROG(30腳):地址鎖存允許/編程線。采用了地址/數(shù)據(jù)總線復(fù)用技術(shù)。/PSEN(29腳):片外程序存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效。/EA/VPP(31腳):片外程序存儲(chǔ)器選用端,低電平有效。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:外接晶體振蕩器一端。XTAL2:外接晶體振蕩器另一端。3.1.2外部晶振的選擇AT89C51的內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。通過XTAL1,ATAL2外部接上一片作為反饋元件的晶體,與C1和C2構(gòu)成了并聯(lián)諧振電路,使其構(gòu)成自激振蕩器。電容的值通常30PF。具體的接線電路如圖3—2外部晶振電路:AT89C51單片機(jī)外接的是12MHZ的晶振,則機(jī)器周期為1us。圖3-2外部晶振電路3.1.3復(fù)位電路復(fù)位的作用是使程序自動(dòng)從0000H開始執(zhí)行,因此我們只要在AT89C51單片機(jī)的RST端加上一個(gè)高電平信號(hào),并持續(xù)10ms以上即可,RST端接有一個(gè)上電復(fù)位電路,它是由一個(gè)小的電容和一個(gè)接地的電阻組成的。按鍵復(fù)位電路另外采用一個(gè)按鈕來給RST端加上高電平信號(hào)。本設(shè)計(jì)采用放電型的進(jìn)行人工復(fù)位的電路,如圖按鍵復(fù)位電路,上電時(shí)C3通過R2充電,維持寬度大于10ms的正脈沖,就可以完成復(fù)位操作。當(dāng)C3結(jié)束充電后,RST端出現(xiàn)低電平,這是CPU將正常的工作。在本次設(shè)計(jì)中如果需要按鍵進(jìn)行復(fù)位,就按下按鈕BUTTON3,C3通過BUTTON3和R2放電,RST端電位將會(huì)上升到高電平,從而實(shí)現(xiàn)人工復(fù)位,BUTTON3松開后C3重新充電,當(dāng)結(jié)束充電后,CPU將會(huì)重新工作。下圖中,R2是限流電阻,阻值不可以過大,否則不能起到復(fù)位作用。圖3-3按鍵復(fù)位電路3.1.4按鍵電路設(shè)計(jì)對(duì)于此設(shè)計(jì)來說要準(zhǔn)確的顯示設(shè)計(jì)所要對(duì)應(yīng)的信息,每按下一次按鍵要顯示所要顯示的信息。這按鍵是主要用來模擬無線信號(hào)的收發(fā)而設(shè)計(jì)的,即PT2262/PT2272的無線信號(hào)收發(fā)。功能的實(shí)現(xiàn)主要是通過程序來實(shí)現(xiàn),BUTTON1控制順向報(bào)站,當(dāng)報(bào)站系統(tǒng)啟動(dòng)后,按下BUTTON1開始按預(yù)先設(shè)置好的站名進(jìn)行順向報(bào)站,本設(shè)計(jì)設(shè)置的是從站名“AAAAAAA”到“EEEEEEE”依次報(bào)站,每次按鍵按下時(shí)實(shí)現(xiàn)LED提示燈亮,蜂鳴器連續(xù)鳴叫7次。BUTTON2按鍵是實(shí)現(xiàn)公交車逆向返回時(shí)的報(bào)站,即從站名“EEEEEEE”到“AAAAAAA”的依次報(bào)站,也滿足每次按鍵按下時(shí)實(shí)現(xiàn)LED提示燈亮,蜂鳴器連續(xù)鳴叫7次。圖3-4按鍵設(shè)置如果使用過程中出現(xiàn)錯(cuò)誤時(shí),可以使用按鍵復(fù)位,重現(xiàn)選擇正向或者逆向報(bào)站。同時(shí),為了防止一次按鍵產(chǎn)生站名的漏報(bào),在軟件設(shè)計(jì)中使用了延時(shí)函數(shù),防止站名的漏報(bào)。3.2無線收發(fā)模塊PT2262/PT2272PT2262/PT2272是臺(tái)灣普城公司生產(chǎn)的一種CMOS工藝制造通用編解碼電路,PT2262/PT2272它具有低功耗低價(jià)位,外部元器件少,RC振蕩電阻,工作電壓范圍寬為2.6~15V的特點(diǎn),最多可有12位(A0—A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),地址碼最多可達(dá)53144l(212),PT2262可有6位(D0~D5)的數(shù)據(jù)端的管腳,設(shè)計(jì)可以設(shè)定地址碼以及數(shù)據(jù)碼在第17腳進(jìn)行串行輸出,以便于應(yīng)用于無線的遙控發(fā)射的電路。3.2.1PT2262/PT2272引腳圖在PT2262/2272這種器件的使用,根據(jù)資料一般將會(huì)使用8位的地址碼和4位的數(shù)據(jù)碼。PT2262編碼電路引腳的選擇是:第l~8腳作為地址的設(shè)定腳,他可以選擇三種狀態(tài):懸空、接正電源、接地。3的8次方為6561,即地址編碼的不重復(fù)度是6561組。PT2262/2272的配對(duì)使用是要求發(fā)射端PT2262和接收端PT2272的地址編碼需要完全相同,用戶如果想改變地址編碼,只要將PT2262和PT2272設(shè)置相同即可,兩者的地址的編碼相同時(shí),PT2272輸出端將會(huì)輸出大約4V左右的互鎖的高電平的控制信號(hào)。圖3-5PT2262/PT2272引腳圖PT2262/PT2272引腳基本類似,作為無線收發(fā)譯碼解碼器,兩者配對(duì)使用引腳連接必須一致。下面接收PT2262/PT2272的引腳說明圖表3-1PT2262引腳說明 表3-2PT2272引腳說明圖 表3-3PT2262/PT2272工作參數(shù) 3.2.2PT2262/2272接線圖以及工作原理發(fā)射電路主要由AT89C51、編碼模塊PT2262、無線數(shù)傳模塊F05V和一片74LS04(六輸入非門,實(shí)際上就是六個(gè)非門集成在一塊74LS04里面了)構(gòu)成,發(fā)射部分電路如圖3-6所示。接收電路主要由AT89C51、譯碼模塊PT2272、無線數(shù)傳模塊J05V和一片74LS04構(gòu)成,接收部分模擬電路如圖3-7所示圖3-6PT2262發(fā)射部分模擬接線圖圖3-7PT2272接收部分模擬接線圖發(fā)射的部分主要用于形成一個(gè)周期的編碼信號(hào)。編碼信號(hào)的內(nèi)容包括三個(gè)部分,分別是起始標(biāo)志、數(shù)據(jù)編碼和結(jié)束標(biāo)志,而無線收發(fā)模塊是四路的,即因?yàn)槊看问瞻l(fā)半個(gè)字節(jié)的數(shù)據(jù),所以一幀數(shù)據(jù)至少是16位的,其編碼數(shù)據(jù)格式如表3-4所示。表3-416位編碼數(shù)據(jù)格式0123456789101112131415D0D1D2D3D0D1D2D3D0D1D2D3D0D1D2D34位起始標(biāo)志8位編碼數(shù)據(jù)4位起始標(biāo)志由上圖可以得知每一幀數(shù)據(jù)需要四次才能發(fā)送完畢。在現(xiàn)實(shí)生活應(yīng)用中不需要編碼信號(hào)不間斷的發(fā)送,三秒鐘或者五秒鐘發(fā)送一次即可,因此程序里還需要有一段三秒或五秒的延時(shí)。在公交車上設(shè)置的接收裝置J05V和譯碼裝置PT2272進(jìn)行譯碼并傳輸?shù)絾纹瑱C(jī),通過單片機(jī)判斷車輛到達(dá)的站點(diǎn)信息,根據(jù)這個(gè)站點(diǎn)的信息進(jìn)行語音播報(bào)以及液晶顯示提示。射頻觸發(fā)信號(hào)是以中斷的的方式送入單片機(jī)的,硬件電路將這個(gè)控制信號(hào)與單片機(jī)的INT0口相連接,所以本段程序是一個(gè)外部中斷0的子程序。當(dāng)射頻信號(hào)到來時(shí)PT2272D的VT引腳端由低變高,經(jīng)非門送到單片機(jī)INT0,使單片機(jī)跳到外部中斷O子程序。3.2.3無線數(shù)傳模塊F05V/J05V無線數(shù)傳模塊F05V/J05V(典型遙控應(yīng)用電路):F05V采用的SMT工藝,優(yōu)點(diǎn)是低電壓微功率、體積小、低功耗發(fā)射模塊,適合單片機(jī)數(shù)據(jù)傳輸以及短距離無線遙控報(bào)警。J05V作為接收模塊優(yōu)點(diǎn)是低電壓、體積小,兩者連接在PT2262/2272配合使用F05V引腳定義:1=正電源3V;2=接地;3=數(shù)據(jù)信號(hào)輸入;Y=外接天線。J05V引腳定義:1=正電源3V;2=接地;3=數(shù)據(jù)信號(hào)輸出;Y=外接天線。圖3-8f05V/J05V引腳接線圖3.3顯示模塊LCD1602我們知道的用來顯示的器件很多。比如數(shù)碼管、LCD、點(diǎn)陣式LED。數(shù)碼管只能顯示數(shù)字,LCD可以顯示漢字、符號(hào)、數(shù)字和圖形,為了報(bào)站器的人性化LCD1602能夠同時(shí)顯示16列2行的字符,可以顯示數(shù)字、字母、以及各種符號(hào)。這種液晶模塊由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,這種點(diǎn)陣字符顯示字符并且自帶間隔,也就是有自然的間距和行間距,也是因?yàn)檫@個(gè)特性不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。現(xiàn)在基于HD44780液晶芯片的字符液晶在市場(chǎng)上是最常見、數(shù)量最大的,控制原理是完全相同的,因此控制程序可以基于HD44780液晶芯片,這樣可以很方便地應(yīng)用于市面上大部分的字符型的液晶。3.3.1排阻Respack-8Respack-8接在51單片機(jī)的P0口,因?yàn)镻0口內(nèi)部沒有上拉電阻,不能輸出高電平,所以要接上拉電阻,1端為公共端接VCC。3.3.2LCD1602的引腳定義字符型LCD一般是16條引腳線14條引腳線,多出來的兩條線是背光電源線VCC(15腳)和地線GND(16腳),與14腳LCD的控制原理基本完全一樣,定義如下表所示:表3-5LCD1602引腳定義引腳號(hào)引腳名電平輸入/輸出作用1VSS電源地2VCC電源(+5V)3VEE進(jìn)行對(duì)比的調(diào)整電壓4RS0/1輸入0進(jìn)行輸入I指令1進(jìn)行輸入O數(shù)據(jù)5R/W0/1輸入0=向LCD寫入指令以及數(shù)據(jù)1=從LCD中來讀取信息6E1,1—0輸入使能信號(hào),1是進(jìn)行讀取信息1—0下降沿執(zhí)行指令7DB00/1I/O數(shù)據(jù)總線line0(最低位)8DB10/1I/O數(shù)據(jù)總線line09DB20/1I/O數(shù)據(jù)總線line010DB30/1I/O數(shù)據(jù)總線line011DB40/1I/O數(shù)據(jù)總線line012DB50/1I/O數(shù)據(jù)總線line013DB60/1I/O數(shù)據(jù)總線line014DB70/1I/O數(shù)據(jù)總線line015A+VCCLCD背光燈電源正極16K接地LCD背光燈電源負(fù)極圖3-9LCD1602引腳接線圖在LCD模塊上固化了字模存儲(chǔ)器,這就是CGROM和CGRAM,HD44780內(nèi)置了192個(gè)常用字符的字模,存于字符產(chǎn)生器CGROM中,另外還有8個(gè)允許用戶自定義的字符產(chǎn)生RAM,成為CGRAM。下圖3-10說明了CGROM和CGRAM與字符的對(duì)應(yīng)關(guān)系。讀的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號(hào)!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)圖3-10CGROM和CGRAM中字符代碼與字符圖形對(duì)應(yīng)關(guān)系3.3.3液晶LCD1602常用的11條指令表3-6液晶LCD1602常用指令指令功能RSR/WDB7DB6DB5DB4DB3DB2DB1DB0執(zhí)行時(shí)間清屏00000000011.64ms功能詳解:清除液晶顯示器的內(nèi)容。光標(biāo)歸位000000001X1.64ms功能詳解:光標(biāo)撤回到顯示器的左上方,地址計(jì)數(shù)器(AC)值為0,DDRAM值不變進(jìn)入模式設(shè)置00000001I/DS40us功能詳解:I/D當(dāng)為0時(shí)寫入數(shù)據(jù)后光標(biāo)左移,當(dāng)為1時(shí)寫入數(shù)據(jù)后光標(biāo)右移S為0時(shí)寫入新數(shù)據(jù)后顯示屏不移動(dòng),為1時(shí)寫入新數(shù)據(jù)后顯示屏整體右移1字符顯示開關(guān)控制0000001DCB40us功能詳解:D為0時(shí)顯示功能關(guān),為1時(shí)顯示功能開C為0時(shí)無光標(biāo)。1時(shí)有光標(biāo)B為0時(shí)光標(biāo)閃爍,1時(shí)光標(biāo)不閃爍設(shè)定顯示屏或光標(biāo)移動(dòng)方向000001S/CR/LXX40us功能詳解:S/CR/L設(shè)定的情況00光標(biāo)左移1格,且AC值減101光標(biāo)右移1格,且AC值加110顯示器上字符全部左移一格,但光標(biāo)不移動(dòng)11顯示器上字符全部右移一格,但光標(biāo)不移動(dòng)功能設(shè)定00001DLNFXX40us功能詳解:DL為0時(shí)數(shù)據(jù)總線為4位,1時(shí)數(shù)據(jù)總線為8位N為0時(shí)顯示1行,1時(shí)顯示兩行F為0時(shí)5*7點(diǎn)陣/每個(gè)字符,1時(shí)5*10點(diǎn)陣/每個(gè)字符設(shè)定CGRAM地址指令0001CGRAM的地址(6位)40us功能詳解:設(shè)定下個(gè)要存入的數(shù)據(jù)的CGRAM的地址設(shè)定DDRAM地址指令001CGRAM的地址(7位)40us功能詳解:設(shè)定下個(gè)要存入的數(shù)據(jù)的DDRAM的地址讀取忙碌信號(hào)或AC地址01BFAC內(nèi)容(7位)40us功能詳解:BF為1表示液晶顯示器忙,為0時(shí),液晶顯示器可以接收單片機(jī)送來的數(shù)據(jù)或指令數(shù)據(jù)寫入到DDRAMH或CGRAM10要寫入的數(shù)據(jù)D7~D040us功能詳解:(1)將字符碼寫入DDRAM,液晶顯示屏并顯示對(duì)應(yīng)的字符(2)使用者設(shè)計(jì)的圖形存入CGRAM從CARAM或DDRAM讀取數(shù)據(jù)11要讀出的數(shù)據(jù)D7~D040us功能詳解:讀取DDRAM或CGRAM的內(nèi)容3.4語音模塊ISD4004實(shí)際公交車報(bào)站都是語音報(bào)站,因?yàn)楸驹O(shè)計(jì)用Proteus仿真,所以用蜂鳴器替代語音模塊進(jìn)行仿真試驗(yàn),下面簡(jiǎn)要介紹下語音模塊的基本知識(shí)。ISD4004語音模塊工作特點(diǎn):工作時(shí)的電壓在3V,能夠完成的錄放的時(shí)間在8到16分鐘左右,同型號(hào)的ISD1730等,錄音時(shí)間一般在4分鐘以內(nèi)。并且它的音質(zhì)也很不錯(cuò),目前在移動(dòng)電話以及其他電子產(chǎn)品中應(yīng)用比較廣泛。ISD4004是經(jīng)過CMOS技術(shù)來制作的,內(nèi)部有各種模塊:音頻放大器、平滑濾波器、振蕩器、自動(dòng)靜噪及高密度多電平閃爍存貯、防混淆濾波器。芯片經(jīng)過微控制器設(shè)計(jì),其指令采用的是串行通信,如(SPI)。芯片采用了多電平接模擬量的存儲(chǔ)技術(shù),采樣值可以在片內(nèi)的閃爍存貯器進(jìn)行直接存儲(chǔ),因此可以非常真實(shí)得還原聲音。而一般固錄音電路是有很多缺點(diǎn)的,會(huì)有很多噪聲和"金屬聲"。采樣的頻率可以選為8.0、6.4、5.3、4.0kHz,這幾個(gè)頻率選擇的越低,錄放的時(shí)間也就會(huì)越長(zhǎng),確實(shí)是造成音質(zhì)的下降,閃爍存貯器中的信息,可保存的時(shí)間是100年(典型值),并且可以反復(fù)錄音10萬次。ISD4004芯片優(yōu)點(diǎn)是無須A/D的轉(zhuǎn)換和A/D的壓縮,能過進(jìn)行直接的儲(chǔ)存,并且沒有A/D轉(zhuǎn)換的誤差,還具有所需的外圍的電路是比較簡(jiǎn)單的、使用時(shí)不用擴(kuò)充存儲(chǔ)器、、存儲(chǔ)時(shí)間也很長(zhǎng)、也可以進(jìn)行多次重復(fù)錄放。圖3-10ISD4004的引腳排列圖在本次設(shè)計(jì)后續(xù)設(shè)計(jì)中,也可以利用AT89C51控制該芯片,實(shí)現(xiàn)語音的存儲(chǔ)以及語音報(bào)站。1、電源端(VCCA,VCCD):為了使噪聲最小,芯片內(nèi)部的數(shù)字和模擬電路要使用不同的電源的總線,,并且分別引出到外封裝的不同的管腳上。數(shù)字和模擬電源端最好走不同的線,比如,選擇在離供電端相近的地方相連,而去耦電容就應(yīng)盡量選擇離器件近。2、地線(VSSD,VSSA):芯片的內(nèi)部的模擬和數(shù)字電路也使用不同的地線。3、同相的模擬輸入(ANAIN+):即錄音信號(hào)同相輸入端。這時(shí)輸入放大器采用單端或差分驅(qū)動(dòng)。當(dāng)采用單端時(shí),在耦合電容中輸入信號(hào),最大的幅度是32mV峰峰值,芯片頻帶的低端截止頻率決定耦合電容和本端的3KΩ電阻的輸入阻抗。作為差分的驅(qū)動(dòng)時(shí),信號(hào)最大幅度是16mV峰峰值,這是和ISD33000系列一樣的。4、反相的模擬輸入(ANAIN-):作為差分驅(qū)動(dòng)是錄音信號(hào)的反相的輸入端。信號(hào)是通過耦合電容來輸入,最大幅度是16mV峰峰值5、音頻輸出(AUDOUT):作用是提供音頻的輸出,可以驅(qū)動(dòng)5KΩ的負(fù)載。6、片選(SS):此端為低電平,在向ISD4004芯片發(fā)送指令時(shí),并且該兩條指令間應(yīng)該為高電平。7、串行輸入(MOSI):此端是串行的輸入端。主控制器應(yīng)該在串行時(shí)鐘的上升沿前半周期把數(shù)據(jù)放到這個(gè)端口,來讓ISD輸入。8、串行輸出(MISO):作為ISD的串行的輸出端。當(dāng)ISD沒有選中時(shí)本端會(huì)呈高阻態(tài)。9、串行時(shí)鐘(SCLK):作為ISD的時(shí)鐘的輸入端。從主控制器中產(chǎn)生,可以用于同步的MOSI和MISO的數(shù)據(jù)傳輸。10、中斷(/INT):本端作為漏極的開路輸出。ISD在任何操作過程(比如快進(jìn))中檢測(cè)到了EOM或OVF時(shí),本端會(huì)變低電平并保持。并且中斷的狀態(tài)在下一個(gè)SPI周期開始時(shí)清除。中斷狀態(tài)也可以用RINT的指令讀取。OVF標(biāo)志指示ISD的錄放操作是否已經(jīng)到存儲(chǔ)器未尾狀態(tài)。EOM標(biāo)志只在放音過程中檢測(cè)到內(nèi)部的EOM標(biāo)志時(shí),狀態(tài)才會(huì)置1。11、行地址時(shí)鐘(RAC):漏極的開路輸出。每經(jīng)過一個(gè)RAC周期,表示ISD存儲(chǔ)器操作進(jìn)行了一行。該端口并且可以用于存儲(chǔ)的管理技術(shù)。12、外部時(shí)鐘(XCLK):本端內(nèi)部帶有下拉元件。工業(yè)級(jí)的芯片在整個(gè)溫度和電壓范圍內(nèi),頻率變化范圍在-6/+4%內(nèi),此時(shí)建議使用穩(wěn)壓電源。如果要求更高精度,可從本端來輸入外部時(shí)鐘(如前邊所描述)。并且由于內(nèi)部的防混淆及平滑濾波器已經(jīng)設(shè)定好,所以上述推薦時(shí)鐘頻率不應(yīng)該再改變。輸入時(shí)鐘占空比是無關(guān)緊要的,因?yàn)閮?nèi)部首先進(jìn)行了分頻。并且在不外接地時(shí)鐘時(shí),此端是必須接地的。13、自動(dòng)靜噪(AMCAP):一般本端對(duì)地會(huì)接1mF的電容,來構(gòu)成內(nèi)部信號(hào)的電平峰值檢測(cè)電路一部分。并且與內(nèi)部設(shè)定閾值和峰值電平來作比較,從而決定自動(dòng)靜噪的功能的翻轉(zhuǎn)點(diǎn)。大信號(hào)時(shí),自動(dòng)靜噪的電路不衰減,靜音時(shí)衰減6dB。1mF的電容也影響自動(dòng)靜噪的電路對(duì)信號(hào)幅度的響應(yīng)速度。本端接VCCA則應(yīng)該禁止自動(dòng)靜噪。3.5蜂鳴器和LED指示燈蜂鳴器鑒于用Proteus仿真,語音模塊用蜂鳴器代替如圖3-7,采用三極管NPN,當(dāng)P11為高電平時(shí)電路導(dǎo)通,通過程序使P11進(jìn)行短時(shí)間內(nèi)高低電平轉(zhuǎn)換,以達(dá)到斷續(xù)蜂鳴提示的效果。圖3-11蜂鳴器接線圖到站LED提示燈鑒于用Proteus仿真,語音模塊用蜂鳴器代替如圖3-7,采用三極管PNP,當(dāng)P1.0為低電平時(shí)電路導(dǎo)通,到站提示燈亮。圖3-12LED提示燈接線圖第四章系統(tǒng)程序設(shè)計(jì)4.1系統(tǒng)仿真主程序流程圖開始界面開始界面蜂鳴器提示,LCD顯示第一行字符蜂鳴器提示,LCD顯示第一行字符“WelcometoYanTai”運(yùn)行方式運(yùn)行方式P34=0?P35=0?NNP34=0?P35=0?YY順序報(bào)站,蜂鳴器提示,LED下車指示燈亮逆序報(bào)站,蜂鳴器提示,LED下車指示燈亮順序報(bào)站,蜂鳴器提示,LED下車指示燈亮逆序報(bào)站,蜂鳴器提示,LED下車指示燈亮液晶顯示當(dāng)前到站站名液晶顯示當(dāng)前到站站名液晶顯示當(dāng)前到站站名液晶顯示當(dāng)前到站站名圖4-1系統(tǒng)仿真主程序流程圖系統(tǒng)仿真,初始化運(yùn)行程序時(shí),LCD第一行顯示歡迎字符,蜂鳴器蜂鳴,選擇BUTTON1或者BUTTON2(通過控制P35,P34)選擇順序或者逆序報(bào)站,按下按鍵之后,蜂鳴器提示,LED指示燈亮,延遲一段時(shí)間后顯示站名。隨后可以每到一個(gè)站依次顯示公交車站名,如果出現(xiàn)錯(cuò)誤或者重新選擇另一順序報(bào)站,可以使用按鍵復(fù)位,重新選擇報(bào)站方式。4.2程序子函數(shù)模塊4.2.1延時(shí)函數(shù)/*******延時(shí)*********/voiddelay(uintn){uinti;for(;n>0;n--)for(i=200;i>0;i--);}4.2.2檢查忙函數(shù)/*******判斷是否忙*******/voidcheck(){rs=0; rw=1; //讀e=1; port=0x00; e=1; while(busy); e=0;}4.2.3寫指令函數(shù)/*******寫指令******/voidsend(ucharcommand){check(); rs=0; //指令 rw=0; //寫e=0; port=command; e=1; _nop_();_nop_(); e=0; //寫入指令}4.2.4寫數(shù)據(jù)函數(shù)/********寫數(shù)據(jù)********/voidwrite(uchardat){check(); rs=1; //數(shù)據(jù) rw=0; port=dat; e=1;_nop_();_nop_(); e=0;}4.2.5光標(biāo)位置函數(shù)/********光標(biāo)位置*********/voidpos(uintp){send(p|0x80);//第一行第一個(gè)0x80;}4.2.6初始化函數(shù)/**********初始化*********/voidinit(){send(0x38);//8位數(shù)據(jù),雙列,5*7字形delay(1);send(0x0c);//開0x08關(guān)delay(1);send(0x06);//地址增加一delay(1);send(0x01);//清屏delay(1);}4.2.7其他數(shù)組定義以及端口定義用數(shù)組定義站點(diǎn)信息字符串ucharcodedis1[]="AAAAAAA";//站點(diǎn)的內(nèi)容可更新也可以增加ucharcodedis2[]="BBBBBBB";//每個(gè)字符串假設(shè)了10個(gè)字符ucharcodedis3[]="CCCCCCC";ucharcodedis4[]="DDDDDDD";ucharcodedis5[]="EEEEEEE";ucharnum[]="WelcometoYanTai";液晶顯示第一行(剛好18個(gè)字符)端口定義#defineportP0//DB0~DB7數(shù)據(jù)口sbitP34=P3^4;//控制反向報(bào)站sbitP35=P3^5;//控制正向正向sbitled=P1^0;//到站指示燈sbitfmq=P1^1;//蜂鳴器sbite=P2^2;//使能sbitrw=P2^1;//讀寫sbitrs=P2^0;//數(shù)據(jù)/命令sbitbusy=P0^7;//檢測(cè)忙4.3主程序流程圖voidmain(){inti=0,j=0,k=0,s=0;ucharn;init();delay(10);pos(0x00);delay(1);//或者使用i=0,刪除后會(huì)發(fā)現(xiàn)不能顯示第一個(gè)數(shù)。for(n=0;n<18;n++){write(num[n]);delay(1);}while(1){if(P35==0){j++; if(j==1) {loop1:{s=s+1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) gotoloop1; } s=0; pos(0x40); delay(1);for(n=0;n<10;n++){write(dis1[n]); delay(5);} }if(j==2) {loop2:{s=s+1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) gotoloop2; } s=0; pos(0x40); delay(1); for(n=0;n<10;n++) {write(dis2[n]); delay(5); } } if(j==3) {loop3:{s=s+1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) gotoloop3; } s=0; pos(0x40); delay(1); for(n=0;n<10; n++) {write(dis3[n]); delay(5); }} if(j==4) {loop4:{s=s+1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) gotoloop4; } s=0; pos(0x40); delay(1); for(n=0;n<10; n++) { write(dis4[n]); delay(5); }} if(j==5) {loop5:{s=s+1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) gotoloop5; } s=0; pos(0x40); delay(1); for(n=0;n<10; n++) {write(dis5[n]); delay(5); }} } 第五章系統(tǒng)仿真實(shí)現(xiàn)5.1開發(fā)環(huán)境KeilC51介紹KeilC51是集編輯,編譯,仿真于一體,支持匯編,PLM語言和C語言的程序設(shè)計(jì),,易學(xué)易用。在KeilC51集成開發(fā)環(huán)境下使用工程的方法來管理文件,所有的源文件、頭文件甚至說明性文檔都可以放在工程項(xiàng)目文件里統(tǒng)一管理。本次設(shè)計(jì)使用KeilC51的開發(fā)工具大致流程如下:(1)運(yùn)行KeilC51軟件,進(jìn)入KeilC51集成開發(fā)環(huán)境。(2)選擇工具欄的Project選項(xiàng),彈出下拉菜單,選擇NewProject命令建立一個(gè)新的μVision2工程。這時(shí)會(huì)彈出所示的工程文件保存對(duì)話框,選擇工程目錄并輸入文件名后,單擊保存。(3)本次設(shè)計(jì)建立好一個(gè)空白工程,現(xiàn)在需要人工為工程添加程序文件,如果還沒有程序文件則必須建立它,可以選擇工具欄的File選項(xiàng),在彈出的下拉菜單中選擇New目錄。這次設(shè)計(jì)我采用的是將.c的文件導(dǎo)入工程。(4)輸入程序,完畢后點(diǎn)擊“保存”命令保存源程序,KeilC51支持匯編和C語言,μVision2會(huì)根據(jù)文件后綴判斷文件的類型,進(jìn)行自動(dòng)處理。(5)不斷糾正源文件錯(cuò)誤,檢查無誤后生成HEX文件,并將HEX文件導(dǎo)入Proteus中的51單片機(jī)來運(yùn)行實(shí)現(xiàn)。5.2仿真環(huán)境PROTEUS介紹Proteus是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件(EDA工具軟件)。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的十分適用于仿真設(shè)計(jì)。該軟件具備許多優(yōu)點(diǎn),首先能夠仿真的器件非常多,里面有30多個(gè)元件庫(kù),包括各種型號(hào)單片機(jī)、電阻、二極管、三極管、晶振、按鍵、電壓表電流表等各種實(shí)驗(yàn)會(huì)用到的器件。再次,該軟件能實(shí)現(xiàn)單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、單片機(jī)的數(shù)字電路仿真、模擬電路仿真、鍵盤和LCD的仿真等等各種功能,并且能使用示波器等各種輔助工具研究器件。最后該軟件還能提供軟件調(diào)試的功能,觀察各器件在程序運(yùn)行時(shí)的狀態(tài),當(dāng)然,該軟件支持KeilC51生成的HEX文件。5.3仿真運(yùn)行結(jié)果截圖初始化運(yùn)行界面圖5-1初始化運(yùn)行界面用Proteus進(jìn)行仿真,模擬基本的公交車報(bào)站。初始化運(yùn)行程序時(shí),LCD第一行顯示歡迎字符,蜂鳴器蜂鳴,選擇BUTTON1或者BUTTON2選擇順序或者逆序報(bào)站,按下按鍵之后,蜂鳴器提示,LED指示燈亮,延遲一段時(shí)間后顯示站名。隨后可以每到一個(gè)站依次顯示公交車站名,如果出現(xiàn)錯(cuò)誤或者重新選擇另一順序報(bào)站,可以使用機(jī)械復(fù)位,重新選擇報(bào)站方式。5.4仿真結(jié)果本次課題用Proteus設(shè)計(jì)出硬件電路,用KeilC51編寫程序共同完成課題的仿真,基本完成了公交車的模擬報(bào)站。功能的實(shí)現(xiàn)主要是通過程序來實(shí)現(xiàn),BUTTON1控制順向報(bào)站,當(dāng)報(bào)站系統(tǒng)啟動(dòng)后,按下BUTTON1開始按預(yù)先設(shè)置好的站名進(jìn)行順向報(bào)站,本設(shè)計(jì)設(shè)置的是從站名“AAAAAAA”到“EEEEEEE”依次報(bào)站,每次按鍵按下時(shí)實(shí)現(xiàn)LED提示燈亮,蜂鳴器連續(xù)鳴叫7次。BUTTON2按鍵是實(shí)現(xiàn)公交車逆向返回時(shí)的報(bào)站,即從站名“EEEEEEE”到“AAAAAAA”的依次報(bào)站,也滿足每次按鍵按下時(shí)實(shí)現(xiàn)LED提示燈亮,蜂鳴器連續(xù)鳴叫7次。如果使用過程中出現(xiàn)錯(cuò)誤時(shí),可以使用機(jī)械復(fù)位,重現(xiàn)選擇正向或者逆向報(bào)站。同時(shí),為了防止一次按鍵產(chǎn)生站名的漏報(bào),在軟件設(shè)計(jì)中使用了延時(shí)函數(shù),防止站名的漏報(bào)圖5-2系統(tǒng)正向報(bào)站圖5-3系統(tǒng)反向報(bào)站結(jié)束語經(jīng)過了近幾個(gè)月的學(xué)習(xí)和努力,我終于完成了基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)的設(shè)計(jì),在這個(gè)過程中我的收獲是非常多的,并且需要改進(jìn)和學(xué)習(xí)的地方也非常多。我從以下兩個(gè)方面來對(duì)自己在這次畢業(yè)設(shè)計(jì)的過程中的感想來做一下總結(jié):(一)收獲通過這次設(shè)計(jì)我知道了在做一個(gè)系統(tǒng)之前很重要的是要做好需求分析,為此,我在網(wǎng)上查看了大量的相關(guān)資料,對(duì)目前市面上流行的幾種公交車報(bào)站器進(jìn)行了分析和比較,來為此次設(shè)計(jì)個(gè)方案確定來做了充足的準(zhǔn)備。通過研究各種公交車報(bào)站器來自己確定要完成的公交車報(bào)站器的工作原理和要具備的各種功能。在這次畢業(yè)設(shè)計(jì)過程中王躍樺老師進(jìn)行了專門的輔導(dǎo),老師具有豐富的理論及實(shí)踐經(jīng)驗(yàn),給我提供了許多非常具有參考價(jià)值的資料,開拓我的眼界,本來不懂的地方茅塞頓開。當(dāng)我在遇到困難時(shí)王躍樺老師耐心的幫我分析,幫助我克服各種困難,這樣我的畢業(yè)設(shè)計(jì)才可以更加順利進(jìn)行。說實(shí)話,在我做這次畢業(yè)設(shè)計(jì)之前,我以為這東西很好做,一做起來才感動(dòng)力不從心,并且我對(duì)一些EDA的軟件基本沒有了解,甚至都不知道它是干什么,怎么用,對(duì)程序的理解也僅僅局限于書本上有限的知識(shí)。但是通過了這次設(shè)計(jì),我深入了解了單片機(jī)的工作原理和機(jī)制,對(duì)它的各個(gè)模塊功能有了更深層認(rèn)識(shí)和更本質(zhì)的理解,并且在這個(gè)過程中,我更加深入認(rèn)識(shí)了Proteus和KeilC51這兩個(gè)軟件,對(duì)這軟件的基本操作能夠熟練的使用,了解了軟件的優(yōu)缺點(diǎn),并且熟練了對(duì)C語言的使用和LCD1602程序設(shè)計(jì)。在做課程設(shè)計(jì)的過程中我遇到了很多困難,很多方案確定不下來,編寫代碼時(shí)也總是出現(xiàn)這樣或者那樣的錯(cuò)誤,并且有些功能自己也不知道該用什么方法來實(shí)現(xiàn),經(jīng)過向同學(xué)的請(qǐng)教和討論以及王躍樺老師的深刻指導(dǎo),我克服了這一些困難。最終基本完成了用Proteus來實(shí)現(xiàn)公交車的模擬報(bào)站,但是模塊還是很簡(jiǎn)陋,也需要進(jìn)一步的優(yōu)化(二)不足之處該系統(tǒng)還存在著一些不足,主要體現(xiàn)在:仿真過程沒有辦法使用PT2262/2272和ISD4004語音模塊,用了按鍵和蜂鳴器來代替,只對(duì)這兩個(gè)模塊根據(jù)資料進(jìn)行了相應(yīng)的介紹。如果以后做實(shí)物的過程,那應(yīng)該完善這兩部分。并且在設(shè)計(jì)過程中也暴露了很多的缺點(diǎn),比如編程能力有待提高,需要通過不斷的編譯仿真調(diào)整才能最終得到想要的結(jié)果,英語技術(shù)文檔閱讀也很不熟練,需要反復(fù)斟酌才能下結(jié)論(三)總結(jié)本次設(shè)計(jì)用Proteus仿真基本達(dá)到了預(yù)先的要求。設(shè)計(jì)采用了Atmel公司的AT89C51單片機(jī)來設(shè)計(jì)的一個(gè)公交自動(dòng)報(bào)站系統(tǒng),該系統(tǒng)主要包含PT2262/PT2272無線信號(hào)收發(fā)模塊,LCD1602液晶顯示模塊,ISD4004語音模塊,各個(gè)模塊通過AT89C51單片機(jī)來控制實(shí)現(xiàn)無線信號(hào)收發(fā)與識(shí)別、信息顯示及語音報(bào)站任務(wù)。本設(shè)計(jì)使用了C語言進(jìn)行編程,利用了KeilC51軟件進(jìn)行編譯生成HEX文件,使用了Proteus軟件進(jìn)行了基本的仿真實(shí)現(xiàn),能夠完成對(duì)輸入信號(hào)的判斷處理,自動(dòng)液晶顯示站名以及聲音提示。這次設(shè)計(jì)能夠?qū)崿F(xiàn)設(shè)計(jì)中提出的功能方案。通過這次的設(shè)計(jì),對(duì)于在KeilC51環(huán)境下的編程能力有了進(jìn)一步的提高,同時(shí)對(duì)單片機(jī)系統(tǒng)設(shè)計(jì)理念也有了進(jìn)一步認(rèn)識(shí),理解了模塊化設(shè)計(jì)在整個(gè)系統(tǒng)設(shè)計(jì)中的作用。最后要感謝王老師在我的畢業(yè)設(shè)計(jì)過程中對(duì)我的悉心指導(dǎo)以及許多同學(xué)們對(duì)我的幫助,正是有了大家的幫助,我才能順利的完成了畢業(yè)設(shè)計(jì),在這里,我由衷地對(duì)幫助過我的人表示感謝。
致謝光陰似箭,四年的大學(xué)生活即將過去了。在這七月的日子里,我即將告別我的大學(xué)時(shí)代,去繼續(xù)我的人生旅途,有遺憾也有收獲,感謝學(xué)院給我的許多美好的回憶。這篇文章應(yīng)該可是我四年本科生活的一點(diǎn)總結(jié)。因此,我要真心地感謝所有曾經(jīng)傳授給我們知識(shí),給我們?nèi)松返拇髮W(xué)老師,感謝所有每個(gè)曾幫助過我的同學(xué),謝謝你們讓我擁有了一段美好的大學(xué)生活。關(guān)于這篇論文,首先我要感謝我的指導(dǎo)老師王躍樺老師的耐心指導(dǎo)與關(guān)懷,王老師專業(yè)知識(shí)豐富,引導(dǎo)我大膽得去思考去設(shè)計(jì),當(dāng)我在遇到困難時(shí)王老師耐心的幫我分析,幫助我克服各種困難,非常感謝老師的耐心指導(dǎo)
參考文獻(xiàn)汪貴平,新編單片機(jī)原理及應(yīng)用,北京:機(jī)械工業(yè)出版社,2009.9趙德安,單片機(jī)原理與應(yīng)用,北京:機(jī)械工業(yè)出版社,2005周波,公交車自動(dòng)報(bào)站系統(tǒng)的設(shè)計(jì),四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2008.6韋日華,張春,王志華.一種點(diǎn)對(duì)多點(diǎn)無線數(shù)據(jù)傳輸系統(tǒng)的設(shè)計(jì).電訊技術(shù),2003版向賽輝,基于單片機(jī)實(shí)現(xiàn)遙控編碼器PT2262的軟件解碼,國(guó)外電子元器件,2008年第5期安穎,遙控編碼芯片PT2262的單片機(jī)譯碼模塊,計(jì)算機(jī)與數(shù)字工程,2005,33(8)于志贛,液顯LCD1602模塊的應(yīng)用,機(jī)電技術(shù),2009,32(3)張建華,ISD4004語音芯片在語音報(bào)站器中的應(yīng)用,電子技術(shù)應(yīng)用,2003,29(8)張常年,ISD4004語音芯片的工作原理及其在智能控制系統(tǒng)中的應(yīng)用,2001,20(6)[10]竇振中.單片機(jī)外圍器件實(shí)用手冊(cè)[M].北京,北京航空航天大學(xué)出版社,2003[11]顏世強(qiáng),李樹廣.公交車自動(dòng)報(bào)站系統(tǒng)的設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2004,17(6),60.[12]求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航[M].北京,人民郵電出版社,2008
附錄A系統(tǒng)仿真全部代碼#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#defineportP0//DB0~DB7數(shù)據(jù)口sbitP31=P3^1;//無線信號(hào)接收端(控制反向)sbitP32=P3^2;//無線信號(hào)接收端(控制正向)sbitled=P1^0;//到站指示燈sbitfmq=P1^1;//蜂鳴器sbite=P2^2;//使能sbitrw=P2^1;//讀寫sbitrs=P2^0;//數(shù)據(jù)/命令sbitbusy=P0^7;//檢測(cè)忙ucharcodedis1[]="AAAAAAA";//站點(diǎn)內(nèi)容可更新或增加ucharcodedis2[]="BBBBBBB";ucharcodedis3[]="CCCCCCC";ucharcodedis4[]="DDDDDDD";ucharcodedis5[]="EEEEEEE";ucharnum[]="WelcometoYanTai";/*******延時(shí)*********/voiddelay(uintn){uinti;for(;n>0;n--)for(i=200;i>0;i--);}/*******判斷是否忙*******/voidcheck(){rs=0; rw=1; //讀e=1; port=0x00; e=1; while(busy); e=0;}/*******寫指令******/voidsend(ucharcommand){check(); rs=0; //指令 rw=0; //寫e=0; port=command; e=1; _nop_();_nop_(); e=0; //寫入指令}/********寫數(shù)據(jù)********/voidwrite(uchardat){check(); rs=1; //數(shù)據(jù) rw=0; port=dat; e=1;_nop_();_nop_(); e=0;}/********光標(biāo)位置*********/voidpos(uintp){send(p|0x80);//第一行第一個(gè)0x80;}/**********初始化*********/voidinit(){send(0x38);//8位數(shù)據(jù),雙列,5*7字形delay(1);send(0x0c);//開0x08關(guān)delay(1);send(0x06);//地址增加一delay(1);send(0x01);//清屏delay(1);}voidmain(){inti=0,j=0,k=0,s=0;ucharn;init();delay(10);pos(0x00);delay(1);//或者用i=0,刪除后會(huì)發(fā)現(xiàn)不能顯示第一個(gè)數(shù)。for(n=0;n<18;n++){write(num[n]);delay(1);}while(1){if(P32==0){j++; if(j==1) {loop1:{s=s+1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) gotoloop1; } s=0; pos(0x40); delay(1);for(n=0;n<9;n++){write(dis1[n]); delay(5);} }if(j==2) {loop2:{s=s+1; led=0; fmq=
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)計(jì)類合同協(xié)議書
- 軟件產(chǎn)品開發(fā)與生命周期管理作業(yè)指導(dǎo)書
- 2025年聊城道路貨運(yùn)駕駛員從業(yè)資格證考試
- 2025年咸寧道路貨運(yùn)駕駛員從業(yè)資格證考試題庫(kù)
- 2024-2025學(xué)年高中政治課時(shí)作業(yè)12博大精深的中華文化含解析新人教版必修3
- 2024-2025學(xué)年度九年級(jí)物理全冊(cè)15.3串聯(lián)和并聯(lián)教學(xué)設(shè)計(jì)3新版新人教版
- 2024-2025學(xué)年高中英語Unit2LanguageSectionⅦWriting-調(diào)查報(bào)告教案含解析牛津譯林版必修3
- 2024年春八年級(jí)物理下冊(cè)第十章浮力章末小結(jié)與提升分層精煉新版新人教版
- 2024年新教材高中生物課時(shí)素養(yǎng)評(píng)價(jià)十八6.3.2隔離在物種形成中的作用含解析新人教版必修2
- 蘇科版數(shù)學(xué)八年級(jí)上冊(cè)聽評(píng)課記錄《1-3探索三角形全等的條件(1)》
- 國(guó)庫(kù)集中支付培訓(xùn)班資料-國(guó)庫(kù)集中支付制度及業(yè)務(wù)操作教學(xué)課件
- 詩詞寫作入門課件
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫(kù)含答案解析
- 2023版押品考試題庫(kù)必考點(diǎn)含答案
- 植物之歌觀后感
- 空氣能熱泵安裝示意圖
- 建筑工程施工質(zhì)量驗(yàn)收規(guī)范檢驗(yàn)批填寫全套表格示范填寫與說明
- 2020年中秋國(guó)慶假日文化旅游市場(chǎng)安全生產(chǎn)檢查表
- 昆明天大礦業(yè)有限公司尋甸縣金源磷礦老廠箐-小凹子礦段(擬設(shè))采礦權(quán)出讓收益評(píng)估報(bào)告
- 心有榜樣行有力量 -從冬奧冠軍徐夢(mèng)桃身上感受青春奮斗初中主題班會(huì)
- 七年級(jí)英語下冊(cè)閱讀理解10篇
評(píng)論
0/150
提交評(píng)論