畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第1頁(yè)
畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第2頁(yè)
畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第3頁(yè)
畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第4頁(yè)
畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目 錄第一章 緒 論11.1 本課題的研究意義11.2 目前幾種公交車報(bào)站器詳細(xì)比較11.2.1 GPS公交車自動(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 無(wú)線傳輸模塊的選擇32.3 控制模塊的選擇32.4 液晶顯示模塊及語(yǔ)音模塊的選擇32.5系統(tǒng)整體硬件電路的確定3第三章 系統(tǒng)功能模塊詳細(xì)介紹53.1 單片機(jī)AT89C5153.1.1 管腳說(shuō)明73.1.2 外部晶振的選擇83.1.3 復(fù)位電路83.1.4 按鍵電路設(shè)計(jì)93.2 無(wú)線收發(fā)模塊PT2262/PT2272103.2.1 PT

2、2262/PT2272引腳圖103.2.2 PT2262/2272接線圖以及工作原理123.2.3 無(wú)線數(shù)傳模塊F05V/J05V133.3 顯示模塊LCD1602143.3.1 排阻Respack-8143.3.2 LCD1602的引腳定義143.3.3 液晶LCD1602常用的11條指令163.4 語(yǔ)音模塊ISD4004183.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ù)23

3、4.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é) 束 語(yǔ)31致 謝33參考文獻(xiàn)34附錄A 系統(tǒng)仿真全部代碼35煙臺(tái)大學(xué)畢業(yè)論文(設(shè)計(jì))第一章 緒 論1.1 本課題的研究意義近些年來(lái),隨著城市人口的不斷增加,人們生活節(jié)奏的不斷加快,公交車在大城市以及中小城市已經(jīng)普及,并且有了日新月異的發(fā)展,在人民生活中起著重要作用,因此,公交車的正常運(yùn)行與人們的正常生活息息相關(guān)。傳統(tǒng)公交車報(bào)站大多是由乘務(wù)人員來(lái)人工報(bào)站,但是因?yàn)榉窖缘牟町惢蛘呷硕鄷r(shí)

4、語(yǔ)音嘈雜,這種方式不利于人民生活的和諧。所以根據(jù)這種需要市面上產(chǎn)生流行了多種公交車報(bào)站器也方便人們的生活。目前雖然現(xiàn)在在一些大城市的公交車上已經(jīng)采用GPS定位系統(tǒng)自動(dòng)報(bào)站,但其造價(jià)昂貴,難以在一些中小城市實(shí)現(xiàn)普及。另外,現(xiàn)在也有一些城市正在使用的一種半自動(dòng)語(yǔ)音報(bào)站系統(tǒng),這種系統(tǒng)需要由司機(jī)在車子進(jìn)出站的時(shí)候人工操作,由于這兩個(gè)時(shí)間點(diǎn)往往是路面情況最復(fù)雜的時(shí)刻,因此也給行駛中的車輛帶來(lái)了安全隱患。所以本設(shè)計(jì)針對(duì)目前常見公交車報(bào)站系統(tǒng)的主要缺陷,研究介紹了一種基于單片機(jī)控制的公交車自動(dòng)報(bào)站系統(tǒng),實(shí)現(xiàn)在到站時(shí)的自動(dòng)語(yǔ)音報(bào)站和LCD液晶顯示,而且該系統(tǒng)造價(jià)廉價(jià),可以在中小城市中普及。1.2 目前幾種公交

5、車報(bào)站器詳細(xì)比較公交車對(duì)社會(huì)影響巨大,對(duì)城市發(fā)展起著最基本的推動(dòng)作用。隨著公交車的不斷普及市面上也出現(xiàn)各種各樣的公交車報(bào)站器,現(xiàn)在市面上流行的幾種報(bào)站器主要有下列幾種類型:1.2.1 GPS公交車自動(dòng)報(bào)站器利用GPS全球衛(wèi)星定位系統(tǒng)的公交車報(bào)站系統(tǒng),在司機(jī)座位后面隔板上,安裝了一臺(tái)15英寸的液晶電視和 GPS信號(hào)接收器,安裝了這套設(shè)備后,公交車在語(yǔ)音報(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)行

6、回復(fù)。目前在美國(guó)部分城市GPS衛(wèi)星定位系統(tǒng)已經(jīng)投入使用,國(guó)內(nèi)也有此類產(chǎn)品的研制開發(fā),其功能強(qiáng)大,系統(tǒng)穩(wěn)定,但其投資昂貴,尤其是一些中小城市無(wú)法承受。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ù)用語(yǔ)等語(yǔ)音。但是該種報(bào)站器需要由司機(jī)在車子進(jìn)出站的時(shí)候人工操作,由于這兩個(gè)時(shí)間點(diǎn)往往是路面情況最復(fù)雜的時(shí)刻,因此也給行駛中的車輛帶來(lái)了安全隱患,不利于公交車的安全行駛。1.2.3 基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng),而這種

7、系統(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ù),以距離來(lái)控制報(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)行解碼編碼,利用無(wú)線數(shù)傳模塊F05V/J05V和天線進(jìn)行發(fā)射和接收來(lái)實(shí)現(xiàn)的。在每個(gè)站牌上設(shè)置一個(gè)編碼發(fā)送裝置PT2262和無(wú)線數(shù)傳模塊F05V,通過公交車上設(shè)置的接收裝置J05V和譯碼裝置PT22

8、72進(jìn)行譯碼并傳輸?shù)絾纹瑱C(jī)。發(fā)送裝置按照延時(shí)3到5秒不斷發(fā)送信號(hào),公交車在距離站牌10到20米的時(shí)候就能接收到信號(hào),然后根據(jù)程序來(lái)實(shí)現(xiàn)語(yǔ)音報(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),并利用無(wú)線數(shù)傳模塊來(lái)實(shí)現(xiàn)公交車的自動(dòng)報(bào)站。第二章 系統(tǒng)方案的確定2.1 系統(tǒng)主要要實(shí)現(xiàn)的功能該系統(tǒng)應(yīng)實(shí)現(xiàn)無(wú)線信號(hào)收發(fā)確認(rèn),到站時(shí)的公交車站名的液晶顯示以及自動(dòng)語(yǔ)音提示。系統(tǒng)的硬件設(shè)計(jì)中應(yīng)充分考慮了性價(jià)比,用最少的器件設(shè)計(jì)出滿足

9、要求的硬件電路。本次設(shè)計(jì)主要是完成實(shí)現(xiàn)基本的仿真,該系統(tǒng)仿真電路的總體結(jié)構(gòu)以52單片機(jī)為核心,由模擬接收電路、LCD(Liquid Crystal Display,液晶顯示屏)顯示電路等組成。2.2 無(wú)線傳輸模塊的選擇PT2262/PT2272集成芯片。方案采用低功耗、低價(jià)位、通用編解碼電路,發(fā)送用高的達(dá)林頓管,所以在靈敏度和抗干擾性方面有保障。無(wú)線數(shù)傳模塊F05V/J05V(典型遙控應(yīng)用電路):F05V采用的SMT工藝,優(yōu)點(diǎn)是低電壓微功率、體積小、低功耗發(fā)射模塊,適合單片機(jī)數(shù)據(jù)傳輸以及短距離無(wú)線遙控報(bào)警。J05V作為接收模塊優(yōu)點(diǎn)是低電壓、體積小,兩者連接在PT2262/2272配合使用2.3

10、 控制模塊的選擇所學(xué)專業(yè)課中學(xué)習(xí)過51單片機(jī),并且單片機(jī)體積小,重量輕,具有很強(qiáng)的靈活性而且價(jià)格便宜,所以控制模塊選用單片機(jī)。2.4 液晶顯示模塊及語(yǔ)音模塊的選擇隨著科學(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仿真,在仿真中使用蜂鳴器代替語(yǔ)音模

11、塊,使用蜂鳴器的連續(xù)間斷發(fā)聲作為提示。為了以后實(shí)際需要,在文章中介紹了常用的語(yǔ)音模塊ISD4004。2.5系統(tǒng)整體硬件電路的確定根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能,以及各個(gè)模塊的選擇,確定了整個(gè)報(bào)站系統(tǒng)主要組成部分分為兩個(gè)模塊。發(fā)射模塊即電子站牌部分主要由AT89C51單片機(jī),PT2262編碼裝置,無(wú)線傳輸模塊F05V和天線組成。接收控制模塊即車載部分是主要部分,選擇AT89C51為核心的控制器,PT2272譯碼裝置和無(wú)線數(shù)傳模塊J05V以及天線作為接收信號(hào)裝置,語(yǔ)音錄放芯片ISD4004組成的語(yǔ)音播放電路以及LCD1602液晶顯示屏構(gòu)成液晶顯示模塊。系統(tǒng)各部分框圖如下圖所示。通過天線(Antenna)發(fā)射

12、信號(hào),間隔5秒。無(wú)線數(shù)傳模塊F05VPT2662信號(hào)發(fā)射AT89C51單片機(jī)產(chǎn)生周期信號(hào)圖2-1 公交車站牌發(fā)射部分方框圖接收天線接收無(wú)線數(shù)傳模塊J05VLCD1602液晶顯示PT2272信號(hào)接收AT89C51單片機(jī)控制ISD4004語(yǔ)音模塊晶振,外部中斷復(fù)位電路按鍵控制圖2-2 公交車車載接收部分方框圖公交車自動(dòng)報(bào)站系統(tǒng)就是利用編碼解碼芯片PT2262/PT2272進(jìn)行解碼編碼,利用無(wú)線數(shù)傳模塊F05V/J05V和天線進(jìn)行發(fā)射和接收來(lái)實(shí)現(xiàn)的。在每個(gè)站牌上設(shè)置一個(gè)編碼發(fā)送裝置PT2262和無(wú)線數(shù)傳模塊F05V,通過公交車上設(shè)置的接收裝置J05V和譯碼裝置PT2272進(jìn)行譯碼并傳輸?shù)絾纹瑱C(jī)。發(fā)送

13、裝置按照延時(shí)3到5秒不斷發(fā)送信號(hào),公交車在距離站牌10到20米的時(shí)候就能接收到信號(hào),然后根據(jù)程序來(lái)實(shí)現(xiàn)語(yǔ)音報(bào)站,LCD液晶顯示。發(fā)射部分通過編碼芯片PT2262,無(wú)線數(shù)傳模塊F05V和天線不停發(fā)射周期信號(hào),發(fā)射的一個(gè)周期的內(nèi)容包括本站點(diǎn)的地址、站名等信息的編碼信息。當(dāng)公交車行駛進(jìn)人該信號(hào)范圍內(nèi),車載部分的通過天線,經(jīng)無(wú)線數(shù)傳模塊J05V和PT2272譯碼就會(huì)接收到這個(gè)編碼信息,單片機(jī)將編碼信息處理后,向顯示模塊和語(yǔ)音模塊發(fā)送對(duì)應(yīng)的信息,就能實(shí)現(xiàn)液晶顯示屏顯示對(duì)應(yīng)的站名和語(yǔ)音報(bào)站,完成自動(dòng)報(bào)站。第三章 系統(tǒng)功能模塊詳細(xì)介紹3.1 單片機(jī)AT89C51隨著計(jì)算機(jī)技術(shù)的發(fā)展,單片機(jī)技術(shù)已成為計(jì)算機(jī)技

14、術(shù)中的一個(gè)獨(dú)特的分支,單片機(jī)的應(yīng)用領(lǐng)域也越來(lái)越廣泛,特別是在工業(yè)控制和儀器儀表智能化中扮演著極其重要的角色??v觀單片機(jī)發(fā)展的30多年來(lái),單片機(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)用范疇或由此帶來(lái)的經(jīng)濟(jì)效益,更重要的是它已從根本上改變了傳統(tǒng)的控制方法和設(shè)計(jì)思想,是控制技術(shù)的一次革命,是一座重要的里

15、程碑微控制器通常將主要的組成部分集成在一個(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è)可編程全雙工串行接

16、口11、低功耗的閑置和掉電模式12、片內(nèi)振蕩器和時(shí)鐘電路盡管目前單片機(jī)種類多,各類單片機(jī)的指令系統(tǒng)各不相同,功能各有所長(zhǎng),但市場(chǎng)占有率最高的是51系列單片機(jī)。單片機(jī)體積小,重量輕,具有很強(qiáng)的靈活性而且價(jià)格便宜,得到越來(lái)越廣泛的運(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-1 AT89C51單片機(jī)引腳圖3.1.1 管腳說(shuō)明下面對(duì)設(shè)計(jì)中用到的一些管腳進(jìn)行簡(jiǎn)要的介紹:VCC:供電

17、電壓,一般接+5V電源正端。GND:接地,一般接+5V電源地端。P0口(3932腳):輸入輸出線P0.0P0.7統(tǒng)稱為P0口??梢杂米鳒?zhǔn)雙向輸入/輸出口使用,但由于內(nèi)部無(wú)上拉電阻,一般外加上拉電阻:在進(jìn)行片外存儲(chǔ)器擴(kuò)展或I/O擴(kuò)展時(shí),P0口作為分時(shí)服用的低8位地址總線和雙向數(shù)據(jù)總線。P1口(18腳):P1口作為準(zhǔn)雙向I/O口使用。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。 P2口(2128腳):P2口也可作為準(zhǔn)雙向I/O口,當(dāng)進(jìn)行片外村春氣擴(kuò)展或I/O口擴(kuò)展時(shí),P2口用作高8位地址總線。P3口(1017腳):P3口作為準(zhǔn)雙向

18、I/O口使用外,每一個(gè)端口還具有第二功能。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行口輸入端)P3.1 TXD(串行口輸出端)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(定時(shí)器/計(jì)時(shí)器0計(jì)數(shù)脈沖輸入)P3.5 T1(定時(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ù)用

19、技術(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。具體的接線電路如圖32外部晶

20、振電路: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è)按鈕來(lái)給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ù)位

21、,就按下按鈕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ì)來(lái)說(shuō)要準(zhǔn)確的顯示設(shè)計(jì)所要對(duì)應(yīng)的信息,每按下一次按鍵要顯示所要顯示的信息。這按鍵是主要用來(lái)模擬無(wú)線信號(hào)的收發(fā)而設(shè)計(jì)的,即PT2262/PT2272的無(wú)線信號(hào)收發(fā)。功能的實(shí)現(xiàn)主要是通過程序來(lái)實(shí)現(xiàn),BUTTON1控制順向報(bào)站,當(dāng)報(bào)站系統(tǒng)啟動(dòng)后,按下BUTTON1開始按預(yù)先設(shè)置好的站名進(jìn)行順向報(bào)站,本設(shè)計(jì)設(shè)置的

22、是從站名“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 無(wú)線收發(fā)模塊PT2262/PT2272PT2262/PT2272是一種CMOS工藝制造的低功耗低價(jià)位通用編解碼電路,PT2262/PT2272最多

23、可有12位(A0A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),任意組合可提供53144l(212)地址碼,PT2262可有6位(D0D5)的數(shù)據(jù)端的管腳,設(shè)計(jì)可以設(shè)定地址碼以及數(shù)據(jù)碼在第17腳進(jìn)行串行輸出,以便于應(yīng)用于無(wú)線的遙控發(fā)射的電路。3.2.1 PT2262/PT2272引腳圖在PT2262/2272這種器件的使用,根據(jù)資料一般將會(huì)使用8位的地址碼和4位的數(shù)據(jù)碼。PT2262編碼電路引腳的選擇是:第l8腳作為地址的設(shè)定腳,他可以選擇三種狀態(tài):懸空、接正電源、接地。3的8次方為6561,即地址編碼的不重復(fù)度是6561組。PT2262/2272的配對(duì)使用是要求發(fā)射端PT2262和接收端

24、PT2272的地址編碼需要完全相同,用戶如果想改變地址編碼,只要將PT2262和PT2272設(shè)置相同即可,兩者的地址的編碼相同時(shí),PT2272輸出端將會(huì)輸出大約4V左右的互鎖的高電平的控制信號(hào)。圖3-5 PT2262/PT2272引腳圖PT2262/PT2272引腳基本類似,作為無(wú)線收發(fā)譯碼解碼器,兩者配對(duì)使用引腳連接必須一致。下面接收PT2262/PT2272的引腳說(shuō)明圖表3-1 PT2262引腳說(shuō)明名稱管腳說(shuō)明A0A111-810-13地址管腳,用于進(jìn)行地址編碼,可置為“0”,“1”,“f”(懸空)D0D57-810-13數(shù)據(jù)輸入端,有一個(gè)為“1”即有編碼發(fā)出,內(nèi)部下拉VCC18電源正端(

25、+)VSS9電源負(fù)端(-)TE14編碼啟動(dòng)端,用于多數(shù)據(jù)的編碼發(fā)射,低電平有效OSC116振蕩電阻輸入端,與OSC2所接電阻決定振蕩頻率OSC215振蕩電阻振蕩器輸出端Dout17編碼輸出端(正常時(shí)為低電平)參數(shù)名稱符號(hào)工作條件最小值典型值最大值單位工作電壓VD03V工作電流ID0VD0=12V停振0.020.03uAA0-A11開路輸出驅(qū)動(dòng)電流IOHVD0=5V,VOH=3V3mAVD0=8V, VOH=4V6VD0=12V, VOH=6V10輸入驅(qū)動(dòng)電流IOLVD0=5V, VOH=3V2mAVD0=8V, VOH=4V5VD0=12V, VOH=6V9表3-2 PT2272引腳說(shuō)明圖名稱

26、管腳說(shuō)明A0A111-810-13地址管腳,用于進(jìn)行地址編碼,可置為“0”,“1”,“f”(懸空),必須與2262一致,不然不解碼D0D57-810-13地址或數(shù)據(jù)管腳,當(dāng)做為數(shù)據(jù)管腳時(shí),只有在地址碼與2262一致,數(shù)據(jù)管腳才能輸出與2262數(shù)據(jù)端對(duì)應(yīng)的高電平,否則輸出為低電平VCC18電源正端(+)VSS9電源負(fù)端(-)DIN14數(shù)據(jù)信號(hào)輸入端,來(lái)自接收模塊輸出端OSC116振蕩電阻輸入端,與OSC2所接電阻決定振蕩頻率OSC215振蕩電阻振蕩器輸出端VT17解碼有效確認(rèn) 輸出端(常低)解碼有效變成高電平(瞬態(tài))表3-3 PT2262/PT2272工作參數(shù)3.2.2 PT2262/2272接

27、線圖以及工作原理發(fā)射電路主要由AT89C51、編碼模塊PT2262、無(wú)線數(shù)傳模塊F05V和一片74LS04(六輸入非門,實(shí)際上就是六個(gè)非門集成在一塊74LS04里面了)構(gòu)成,發(fā)射部分電路如圖3-6所示。接收電路主要由AT89C51、譯碼模塊PT2272、無(wú)線數(shù)傳模塊J05V和一片74LS04構(gòu)成,接收部分模擬電路如圖3-7所示圖3-6 PT2262發(fā)射部分模擬接線圖圖3-7 PT2272接收部分模擬接線圖發(fā)射部分主要產(chǎn)生一個(gè)周期的編碼信號(hào)。編碼信號(hào)的內(nèi)容包括起始標(biāo)志、數(shù)據(jù)編碼和結(jié)束標(biāo)志,由于無(wú)線收發(fā)模塊是四路的,即每次收發(fā)半個(gè)字節(jié)的數(shù)據(jù)所以一幀數(shù)據(jù)至少是16位的,其信息格式如表3-4所示。表3

28、-4 16位編碼數(shù)據(jù)格式0123456789101112131415D0D1D2D3D0D1D2D3D0D1D2D3D0D1D2D34位起始標(biāo)志8位編碼數(shù)據(jù)4位起始標(biāo)志由上圖可以看出每一幀數(shù)據(jù)需要四次才能發(fā)送完畢。在實(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)行語(yǔ)音播報(bào)以及液晶顯示提示。射頻觸發(fā)信號(hào)是以中斷的的方式送入單片機(jī)的,硬件電路將這個(gè)控制信號(hào)與單片機(jī)的INT0口相連接,所以本段程序是一個(gè)外部中

29、斷0的子程序。當(dāng)射頻信號(hào)到來(lái)時(shí)PT2272D的VT引腳端由低變高,經(jīng)非門送到單片機(jī)INT0,使單片機(jī)跳到外部中斷O子程序。3.2.3 無(wú)線數(shù)傳模塊F05V/J05V無(wú)線數(shù)傳模塊F05V/J05V(典型遙控應(yīng)用電路):F05V采用的SMT工藝,優(yōu)點(diǎn)是低電壓微功率、體積小、低功耗發(fā)射模塊,適合單片機(jī)數(shù)據(jù)傳輸以及短距離無(wú)線遙控報(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-8 f05V/J05V引腳接線圖

30、3.3 顯示模塊LCD1602我們知道的用來(lái)顯示的器件很多。比如數(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,顯示效果也不好)。市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型的液晶。3.3

31、.1 排阻Respack-8Respack-8接在51單片機(jī)的P0口,因?yàn)镻0口內(nèi)部沒有上拉電阻,不能輸出高電平,所以要接上拉電阻,1端為公共端接VCC。3.3.2 LCD1602的引腳定義字符型LCD一般是16條引腳線14條引腳線,多出來(lái)的兩條線是背光電源線VCC(15腳)和地線GND(16腳),與14腳LCD的控制原理基本完全一樣,定義如下表所示:表3-5 LCD1602引腳定義引腳號(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中來(lái)讀取信息6E

32、1,10輸入使能信號(hào),1是進(jìn)行讀取信息10下降沿執(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-9 LCD1602引腳接線圖在LCD模塊上固化了字模存儲(chǔ)器,這就是CGROM和CGRAM,HD44780內(nèi)置了192個(gè)常用字符的字模,存于字符產(chǎn)生器C

33、GROM中,另外還有8個(gè)允許用戶自定義的字符產(chǎn)生RAM,成為CGRAM。下圖3-10說(shuō)明了CGROM和CGRAM與字符的對(duì)應(yīng)關(guān)系。讀的時(shí)候,先讀左邊那列,再讀上面那行,如:感嘆號(hào)!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進(jìn)制)圖3-10 CGROM和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)撤

34、回到顯示器的左上方,地址計(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í)無(wú)光標(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顯示器上字

35、符全部右移一格,但光標(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ī)送來(lái)的數(shù)據(jù)或指令數(shù)據(jù)寫入到DDRAMH或CGRAM10

36、要寫入的數(shù)據(jù)D7D040us功能詳解:(1)將字符碼寫入DDRAM,液晶顯示屏并顯示對(duì)應(yīng)的字符(2)使用者設(shè)計(jì)的圖形存入CGRAM從CARAM或DDRAM讀取數(shù)據(jù)11要讀出的數(shù)據(jù)D7D040us功能詳解:讀取DDRAM或CGRAM的內(nèi)容3.4 語(yǔ)音模塊ISD4004實(shí)際公交車報(bào)站都是語(yǔ)音報(bào)站,因?yàn)楸驹O(shè)計(jì)用Proteus仿真,所以用蜂鳴器替代語(yǔ)音模塊進(jìn)行仿真試驗(yàn),下面簡(jiǎn)要介紹下語(yǔ)音模塊的基本知識(shí)。ISD4004語(yǔ)音模塊工作特點(diǎn):工作時(shí)的電壓在3V,能夠完成的錄放的時(shí)間在8到16分鐘左右,同型號(hào)的ISD1730等,錄音時(shí)間一般在4分鐘以內(nèi)。并且它的音質(zhì)也很不錯(cuò),目前在移動(dòng)電話以及其他電子產(chǎn)品中應(yīng)用

37、比較廣泛。ISD4004是經(jīng)過CMOS技術(shù)來(lái)制作的,內(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萬(wàn)次。ISD4

38、004芯片優(yōu)點(diǎn)是無(wú)須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-10 ISD4004的引腳排列圖在本次設(shè)計(jì)后續(xù)設(shè)計(jì)中,也可以利用AT89C51控制該芯片,實(shí)現(xiàn)語(yǔ)音的存儲(chǔ)以及語(yǔ)音報(bào)站。1、電源端(VCCA,VCCD):為了使噪聲最小,芯片內(nèi)部的數(shù)字和模擬電路要使用不同的電源的總線,并且分別引出到外封裝的不同的管腳上。數(shù)字和模擬電源端最好走不同的線,比如,選擇在離供電端相近的地方相連,而去耦電容就應(yīng)盡量選擇離器件近。2、地線(VSSD,VSSA):芯片的內(nèi)部的模擬和

39、數(shù)字電路也使用不同的地線。3、同相的模擬輸入(ANA IN+):即錄音信號(hào)同相輸入端。這時(shí)輸入放大器采用單端或差分驅(qū)動(dòng)。當(dāng)采用單端時(shí),在耦合電容中輸入信號(hào),最大的幅度是32mV峰峰值,芯片頻帶的低端截止頻率決定耦合電容和本端的3K電阻的輸入阻抗。作為差分的驅(qū)動(dòng)時(shí),信號(hào)最大幅度是16mV峰峰值,這是和ISD33000系列一樣的。4、反相的模擬輸入(ANA IN-):作為差分驅(qū)動(dòng)是錄音信號(hào)的反相的輸入端。信號(hào)是通過耦合電容來(lái)輸入,最大幅度是16mV峰峰值5、音頻輸出(AUD OUT):作用是提供音頻的輸出,可以驅(qū)動(dòng)5K的負(fù)載。6、片選(SS):此端為低電平,在向ISD4004芯片發(fā)送指令時(shí),并且該

40、兩條指令間應(yīng)該為高電平。7、串行輸入(MOSI):此端是串行的輸入端。主控制器應(yīng)該在串行時(shí)鐘的上升沿前半周期把數(shù)據(jù)放到這個(gè)端口,來(lái)讓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的錄放操作

41、是否已經(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)壓電源。如果要求更高精度,可從本端來(lái)輸入外部時(shí)鐘(如前邊所描述)。并且由于內(nèi)部的防混淆及平滑濾波器已經(jīng)設(shè)定好,所以上述推薦時(shí)鐘頻率不應(yīng)該再改變。輸入時(shí)鐘占空比是無(wú)關(guān)緊要的,因?yàn)閮?nèi)部首先進(jìn)行了分頻。并且在不外接地時(shí)鐘時(shí),此端是必須接地的。13

42、、自動(dòng)靜噪(AMCAP):一般本端對(duì)地會(huì)接1mF的電容,來(lái)構(gòu)成內(nèi)部信號(hào)的電平峰值檢測(cè)電路一部分。并且與內(nèi)部設(shè)定閾值和峰值電平來(lái)作比較,從而決定自動(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仿真,語(yǔ)音模塊用蜂鳴器代替如圖3-7,采用三極管NPN,當(dāng)P11為高電平時(shí)電路導(dǎo)通,通過程序使P11進(jìn)行短時(shí)間內(nèi)高低電平轉(zhuǎn)換,以達(dá)到斷續(xù)蜂鳴提示的效果。圖3-11 蜂鳴器接線圖到站LED提示燈鑒于用Proteus仿真,語(yǔ)音模塊用蜂鳴器代替

43、如圖3-7,采用三極管PNP,當(dāng)P1.0為低電平時(shí)電路導(dǎo)通,到站提示燈亮。 圖3-12 LED提示燈接線圖第四章 系統(tǒng)程序設(shè)計(jì)4.1 系統(tǒng)仿真主程序流程圖開始界面蜂鳴器提示,LCD顯示第一行字符“Welcometo YanTai”運(yùn)行方式 P34=0?P35=0? N N Y Y順序報(bào)站,蜂鳴器提示,LED下車指示燈亮逆序報(bào)站,蜂鳴器提示,LED下車指示燈亮液晶顯示當(dāng)前到站站名液晶顯示當(dāng)前到站站名圖4-1 系統(tǒng)仿真主程序流程圖系統(tǒng)仿真,初始化運(yùn)行程序時(shí),LCD第一行顯示歡迎字符,蜂鳴器蜂鳴,選擇BUTTON1或者BUTTON2(通過控制P35,P34)選擇順序或者逆序報(bào)站,按下按鍵之后,蜂鳴器

44、提示,LED指示燈亮,延遲一段時(shí)間后顯示站名。隨后可以每到一個(gè)站依次顯示公交車站名,如果出現(xiàn)錯(cuò)誤或者重新選擇另一順序報(bào)站,可以使用按鍵復(fù)位,重新選擇報(bào)站方式。4.2 程序子函數(shù)模塊4.2.1 延時(shí)函數(shù)/*延時(shí)*/void delay(uint n) uint i; for(;n>0;n-) for(i=200;i>0;i-);4.2.2 檢查忙函數(shù)/*判斷是否忙*/void check() rs=0; rw=1; /讀 e=1;port=0x00;e=1; while(busy);e=0;4.2.3 寫指令函數(shù)/*寫指令*/void send(uchar command) chec

45、k();rs=0; /指令rw=0; /寫 e=0;port=command;e=1;_nop_();_nop_();e=0;/寫入指令4.2.4 寫數(shù)據(jù)函數(shù)/*寫數(shù)據(jù)*/void write(uchar dat) check();rs=1; /數(shù)據(jù)rw=0;port=dat;e=1; _nop_();_nop_();e=0;4.2.5 光標(biāo)位置函數(shù)/*光標(biāo)位置*/void pos(uint p) send(p|0x80);/第一行第一個(gè)0x80;4.2.6 初始化函數(shù)/*初始化*/void init() send(0x38); / 8位數(shù)據(jù),雙列,5*7字形 delay(1); send(0

46、x0c); /開 0x08關(guān) delay(1); send(0x06);/地址增加一 delay(1); send(0x01);/清屏 delay(1);4.2.7 其他數(shù)組定義以及端口定義用數(shù)組定義站點(diǎn)信息字符串uchar code dis1="AAAAAAA " /站點(diǎn)的內(nèi)容可更新也可以增加uchar code dis2="BBBBBBB "/每個(gè)字符串假設(shè)了10個(gè)字符uchar code dis3="CCCCCCC "uchar code dis4="DDDDDDD "uchar code dis5=&quo

47、t;EEEEEEE "uchar num="Welcometo YanTai"液晶顯示第一行(剛好18個(gè)字符)端口定義#define port P0 /DB0DB7數(shù)據(jù)口sbit P34=P34; /控制反向報(bào)站sbit P35=P35; /控制正向正向sbit led=P10; /到站指示燈sbit fmq=P11; /蜂鳴器sbit e=P22;/使能sbit rw=P21;/讀寫sbit rs=P20;/數(shù)據(jù)/命令sbit busy=P07;/檢測(cè)忙4.3 主程序流程圖void main() int i=0,j=0,k=0,s=0; uchar n; ini

48、t(); delay(10); pos(0x00); delay(1); /或者使用i=0,刪除后會(huì)發(fā)現(xiàn)不能顯示第一個(gè)數(shù)。 for(n=0;n<18;n+) write(numn);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) goto loop1; s=0; pos(0x40); delay(1); for(n=0;n<10;n+) write(dis1n); delay(5); if(j=2) loop2:s=s+

49、1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) goto loop2; s=0; pos(0x40); delay(1); for(n=0;n<10;n+) write(dis2n); delay(5); if(j=3) loop3:s=s+1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) goto loop3; s=0; pos(0x40); delay(1); for(n=0;n<10;n+) write(dis3n); delay(5); if(j=4)

50、loop4:s=s+1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) goto loop4; s=0; pos(0x40); delay(1); for(n=0;n<10;n+) write(dis4n); delay(5); if(j=5) loop5:s=s+1; led=0; fmq=1; delay(100); led=1; fmq=0; if(s<=7) goto loop5; s=0; pos(0x40); delay(1); for(n=0;n<10;n+) write(dis5n); delay(5); 第五章 系統(tǒng)仿真實(shí)現(xiàn)5.1 開發(fā)環(huán)境K

溫馨提示

  • 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論