




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于單片機的公交車自動報站系統(tǒng)設(shè)計目錄第一章 緒 論11.1 本課題的研究意義11.2 目前幾種公交車報站器詳細比較11.2.1 GPS公交車自動報站器11.2.2 手動式公交車自動報站器21.2.3 基于單片機的公交車自動報站系統(tǒng)2第二章 系統(tǒng)功能模塊詳細介紹32.1 單片機AT89C5132.1.1 管腳說明52.1.2 外部晶振的選擇62.1.3 復(fù)位電路62.1.4 按鍵電路設(shè)計72.2. PT2262/PT2272引腳圖82.2.1 PT2262/2272接線圖以及工作原理92.2.2 無線數(shù)傳模塊F05V/J05V102.3 顯示模塊LCD1602102.3.1 排阻Respack
2、-8112.3.2 LCD1602的引腳定義112.3.3 液晶LCD1602常用的11條指令132.4 蜂鳴器和LED指示燈15第三章 系統(tǒng)程序設(shè)計173.1 系統(tǒng)仿真主程序流程圖17第四章 系統(tǒng)仿真實現(xiàn)184.1 開發(fā)環(huán)境KeilC51介紹184.2 仿真環(huán)境PROTEUS介紹184.3 仿真運行結(jié)果截圖194.4 仿真結(jié)果19結(jié) 束 語20附錄A 系統(tǒng)仿真全部代碼21第一章 緒 論1.1 本課題的研究意義近些年來,隨著城市人口的不斷增加,人們生活節(jié)奏的不斷加快,公交車在大城市以及中小城市已經(jīng)普及,并且有了日新月異的發(fā)展,在人民生活中起著重要作用,因此,公交車的正常運行與人們的正常生活息息
3、相關(guān)。傳統(tǒng)公交車報站大多是由乘務(wù)人員來人工報站,但是因為方言的差異或者人多時語音嘈雜,這種方式不利于人民生活的和諧。所以根據(jù)這種需要市面上產(chǎn)生流行了多種公交車報站器也方便人們的生活。目前雖然現(xiàn)在在一些大城市的公交車上已經(jīng)采用GPS定位系統(tǒng)自動報站,但其造價昂貴,難以在一些中小城市實現(xiàn)普及。另外,現(xiàn)在也有一些城市正在使用的一種半自動語音報站系統(tǒng),這種系統(tǒng)需要由司機在車子進出站的時候人工操作,由于這兩個時間點往往是路面情況最復(fù)雜的時刻,因此也給行駛中的車輛帶來了安全隱患。所以本設(shè)計針對目前常見公交車報站系統(tǒng)的主要缺陷,研究介紹了一種基于單片機控制的公交車自動報站系統(tǒng),實現(xiàn)在到站時的自動語音報站和L
4、CD液晶顯示,而且該系統(tǒng)造價廉價,可以在中小城市中普及。1.2 目前幾種公交車報站器詳細比較公交車對社會影響巨大,隨著公交車的不斷普及市面上也出現(xiàn)各種各樣的公交車報站器,現(xiàn)在市面上流行的幾種報站器主要有下列幾種類型:1.2.1 GPS公交車自動報站器利用GPS全球衛(wèi)星定位系統(tǒng)的公交車報站系統(tǒng),在司機座位后面隔板上,安裝了一臺15英寸的液晶電視和 GPS信號接收器,安裝了這套設(shè)備后,公交車在語音報站的同時,通過液晶電視還可以顯示到站站名的字幕,這樣如果沒聽清報站的話,通過顯示屏,乘客也可以一目了然。當(dāng)出現(xiàn)緊急情況時,調(diào)度中心將會給公交車發(fā)出相應(yīng)的信息,以短信的形式傳送到顯示屏上,同時車載臺會發(fā)出
5、相應(yīng)的提示音;目前在美國部分城市GPS衛(wèi)星定位系統(tǒng)已經(jīng)投入使用,國內(nèi)也有此類產(chǎn)品的研制開發(fā),其功能強大,系統(tǒng)穩(wěn)定,但其投資昂貴,尤其是一些中小城市無法承受。1.2.2 手動式公交車自動報站器手動式公交車自動報站器通過主機上的漢字顯示器,顯示當(dāng)前車站名稱,即將達到站名指示功能;通過主機屏幕的顯示,可直觀的觀察到進站和下一站信息;通過按鍵,可播放進站,出站,服務(wù)用語等語音。但是該種報站器需要由司機在車子進出站的時候人工操作,由于這兩個時間點往往是路面情況最復(fù)雜的時刻,因此也給行駛中的車輛帶來了安全隱患,不利于公交車的安全行駛。1.2.3 基于單片機的公交車自動報站系統(tǒng)基于單片機的公交車自動報站系統(tǒng)
6、就是利用編碼解碼芯片PT2262/PT2272進行解碼編碼,利用無線數(shù)傳模塊F05V/J05V和天線進行發(fā)射和接收來實現(xiàn)的。在每個站牌上設(shè)置一個編碼發(fā)送裝置PT2262和無線數(shù)傳模塊F05V,通過公交車上設(shè)置的接收裝置J05V和譯碼裝置PT2272進行譯碼并傳輸?shù)絾纹瑱C。發(fā)送裝置按照延時3到5秒不斷發(fā)送信號,公交車在距離站牌10到20米的時候就能接收到信號,然后根據(jù)程序來實現(xiàn)語音報站,LCD液晶顯示。這種報站系統(tǒng)軟件編寫比較簡單,也容易修改,并且芯片價格低廉,大批生產(chǎn)能夠獲得比GPS系統(tǒng)達到更高的性價比,是公交車自動報站系統(tǒng)的較佳選擇。系統(tǒng)各部分框圖如下圖所示通過天線(Antenna)發(fā)射信號
7、,間隔5秒。無線數(shù)傳模塊F05VPT2662信號發(fā)射AT89C51單片機產(chǎn)生周期信號圖2-1 公交車站牌發(fā)射部分方框圖接收天線接收無線數(shù)傳模塊J05VLCD1602液晶顯示PT2272信號接收AT89C51單片機控制ISD4004語音模塊晶振,外部中斷復(fù)位電路按鍵控制圖2 公交車車載接收部分方框圖第二章 系統(tǒng)功能模塊詳細介紹2.1 單片機AT89C51隨著計算機技術(shù)的發(fā)展,單片機技術(shù)已成為計算機技術(shù)中的一個獨特的分支,單片機的應(yīng)用領(lǐng)域也越來越廣泛,特別是在工業(yè)控制和儀器儀表智能化中扮演著極其重要的角色??v觀單片機發(fā)展的30多年來,單片機正往多功能、高性能、高速度、低電壓、低價格、低噪聲、低功耗
8、、小體積、大容量、專用化和外圍電路內(nèi)裝化的方向發(fā)展。單片機的出現(xiàn)使的過去經(jīng)常采用模擬電路、數(shù)字電路實現(xiàn)的電路系統(tǒng),轉(zhuǎn)變成現(xiàn)在用單片機予以實現(xiàn),并且傳統(tǒng)的電路設(shè)計方法演變成硬件和軟件相結(jié)合的設(shè)計方法,并且許多電路設(shè)計問題將轉(zhuǎn)化為純粹的程序設(shè)計問題。主要特性:1、一個CPU,一個片內(nèi)振蕩器以及時鐘電路, 2、4K(RAM)程序存儲器,3、128B(ROM)數(shù)據(jù)存儲器4、21個特殊功能寄存器5、數(shù)據(jù)能夠保存的時間:10年6、與MCS-51指令相兼容7、32個可編程I/O線(4個8位并行I/O端口)8、16位定時器/計數(shù)器有兩個9、5個中斷源,兩個優(yōu)先級嵌套結(jié)構(gòu)10、一個可編程全雙工串行接口11、低功
9、耗的閑置和掉電模式12、片內(nèi)振蕩器和時鐘電路盡管目前單片機種類多,各類單片機的指令系統(tǒng)各不相同,功能各有所長,但市場占有率最高的是51系列單片機。單片機體積小,重量輕,具有很強的靈活性而且價格便宜,得到越來越廣泛的運用。例如工業(yè)控制領(lǐng)域、家電產(chǎn)品,智能化儀器儀表,計算機外部設(shè)備,特別是機電一體化產(chǎn)品中都有重要的用途,其中的51單片機系列發(fā)展規(guī)模最大。51單片的運用廣泛,并且具有優(yōu)異的性能價格比,集成度高,體積小,有很高的可靠性,并且控制功能強。所以是核心控制期間的最佳選擇。圖3-1 AT89C51單片機引腳圖2.1.1 管腳說明下面對設(shè)計中用到的一些管腳進行簡要的介紹:VCC:供電電壓,一般接
10、+5V電源正端。GND:接地,一般接+5V電源地端。P0口(3932腳):輸入輸出線P0.0P0.7統(tǒng)稱為P0口。可以用作準(zhǔn)雙向輸入/輸出口使用,但由于內(nèi)部無上拉電阻,一般外加上拉電阻:在進行片外存儲器擴展或I/O擴展時,P0口作為分時服用的低8位地址總線和雙向數(shù)據(jù)總線。P1口(18腳):P1口作為準(zhǔn)雙向I/O口使用。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。 P2口(2128腳):P2口也可作為準(zhǔn)雙向I/O口,當(dāng)進行片外村春氣擴展或I/O口擴展時,P2口用作高8位地址總線。P3口(1017腳):P3口作為準(zhǔn)雙向I/O口使用
11、外,每一個端口還具有第二功能。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行口輸入端)P3.1 TXD(串行口輸出端)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(定時器/計時器0計數(shù)脈沖輸入)P3.5 T1(定時器/計時器1計數(shù)脈沖輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通信號輸出)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通信號輸出)RST(9腳):復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持10ms高電平時間才能保證有效的復(fù)位。ALE/PROG(30腳):地址鎖存允許/編程線。采用了地址/數(shù)據(jù)總線復(fù)用技術(shù)。/PS
12、EN(29腳):片外程序存儲器讀選通信號輸出端,低電平有效。/EA/VPP(31腳):片外程序存儲器選用端,低電平有效。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:外接晶體振蕩器一端。XTAL2:外接晶體振蕩器另一端。2.1.2 外部晶振的選擇AT89C51的內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。通過XTAL1,ATAL2外部接上一片作為反饋元件的晶體,與C1和C2構(gòu)成了并聯(lián)諧振電路,使其構(gòu)成自激振蕩器。電容的值通常30PF。具體的接線電路如圖32外部晶振電路:AT
13、89C51單片機外接的是12MHZ的晶振,則機器周期為1us。圖3-2 外部晶振電路2.1.3 復(fù)位電路復(fù)位的作用是使程序自動從0000H開始執(zhí)行,因此我們只要在AT89C51單片機的RST端加上一個高電平信號,并持續(xù)10ms以上即可,RST端接有一個上電復(fù)位電路,它是由一個小的電容和一個接地的電阻組成的。按鍵復(fù)位電路另外采用一個按鈕來給RST端加上高電平信號。本設(shè)計采用放電型的進行人工復(fù)位的電路,如圖按鍵復(fù)位電路,上電時C3通過R2充電,維持寬度大于10ms的正脈沖,就可以完成復(fù)位操作。當(dāng)C3結(jié)束充電后,RST端出現(xiàn)低電平,這是CPU將正常的工作。在本次設(shè)計中如果需要按鍵進行復(fù)位,就按下按鈕
14、BUTTON3,C3通過BUTTON3和R2放電,RST端電位將會上升到高電平,從而實現(xiàn)人工復(fù)位,BUTTON3松開后C3重新充電,當(dāng)結(jié)束充電后,CPU將會重新工作。下圖中,R2是限流電阻,阻值不可以過大,否則不能起到復(fù)位作用。圖3-3 按鍵復(fù)位電路2.1.4 按鍵電路設(shè)計對于此設(shè)計來說要準(zhǔn)確的顯示設(shè)計所要對應(yīng)的信息,每按下一次按鍵要顯示所要顯示的信息。這按鍵是主要用來模擬無線信號的收發(fā)而設(shè)計的,即PT2262/PT2272的無線信號收發(fā)。功能的實現(xiàn)主要是通過程序來實現(xiàn),BUTTON1控制順向報站,當(dāng)報站系統(tǒng)啟動后,按下BUTTON1開始按預(yù)先設(shè)置好的站名進行順向報站,本設(shè)計設(shè)置的是從站名“A
15、AAAAAA”到“EEEEEEE”依次報站,每次按鍵按下時實現(xiàn)LED提示燈亮,蜂鳴器連續(xù)鳴叫7次。BUTTON2按鍵是實現(xiàn)公交車逆向返回時的報站,即從站名“EEEEEEE”到“AAAAAAA”的依次報站,也滿足每次按鍵按下時實現(xiàn)LED提示燈亮,蜂鳴器連續(xù)鳴叫7次。圖3-4 按鍵設(shè)置如果使用過程中出現(xiàn)錯誤時,可以使用按鍵復(fù)位,重現(xiàn)選擇正向或者逆向報站。同時,為了防止一次按鍵產(chǎn)生站名的漏報,在軟件設(shè)計中使用了延時函數(shù),防止站名的漏報。2.2. PT2262/PT2272引腳圖在PT2262/2272這種器件的使用,根據(jù)資料一般將會使用8位的地址碼和4位的數(shù)據(jù)碼。PT2262編碼電路引腳的選擇是:第
16、l8腳作為地址的設(shè)定腳,他可以選擇三種狀態(tài):懸空、接正電源、接地。3的8次方為6561,即地址編碼的不重復(fù)度是6561組。PT2262/2272的配對使用是要求發(fā)射端PT2262和接收端PT2272的地址編碼需要完全相同,用戶如果想改變地址編碼,只要將PT2262和PT2272設(shè)置相同即可,兩者的地址的編碼相同時,PT2272輸出端將會輸出大約4V左右的互鎖的高電平的控制信號。圖3-5 PT2262/PT2272引腳圖2.2.1 PT2262/2272接線圖以及工作原理發(fā)射電路主要由AT89C51、編碼模塊PT2262、無線數(shù)傳模塊F05V和一片74LS04(六輸入非門,實際上就是六個非門集成
17、在一塊74LS04里面了)構(gòu)成,發(fā)射部分電路如圖3-6所示。接收電路主要由AT89C51、譯碼模塊PT2272、無線數(shù)傳模塊J05V和一片74LS04構(gòu)成,接收部分模擬電路如圖3-7所示圖3-6 PT2262發(fā)射部分模擬接線圖圖3-7 PT2272接收部分模擬接線圖發(fā)射的部分主要用于形成一個周期的編碼信號。編碼信號的內(nèi)容包括三個部分,分別是起始標(biāo)志、數(shù)據(jù)編碼和結(jié)束標(biāo)志,而無線收發(fā)模塊是四路的,即因為每次收發(fā)半個字節(jié)的數(shù)據(jù),所以一幀數(shù)據(jù)至少是16位的,其編碼數(shù)據(jù)格式如表3-4所示。表3-4 16位編碼數(shù)據(jù)格式0123456789101112131415D0D1D2D3D0D1D2D3D0D1D2
18、D3D0D1D2D34位起始標(biāo)志8位編碼數(shù)據(jù)4位起始標(biāo)志2.2.2 無線數(shù)傳模塊F05V/J05V無線數(shù)傳模塊F05V/J05V(典型遙控應(yīng)用電路):F05V采用的SMT工藝,優(yōu)點是低電壓微功率、體積小、低功耗發(fā)射模塊,適合單片機數(shù)據(jù)傳輸以及短距離無線遙控報警。J05V作為接收模塊優(yōu)點是低電壓、體積小,兩者連接在PT2262/2272配合使用F05V引腳定義:1=正電源3V;2=接地;3=數(shù)據(jù)信號輸入;Y=外接天線。J05V引腳定義:1=正電源3V;2=接地;3=數(shù)據(jù)信號輸出;Y=外接天線.圖3-8 f05V/J05V引腳接線圖2.3 顯示模塊LCD1602我們知道的用來顯示的器件很多。比如數(shù)
19、碼管、LCD、點陣式LED。數(shù)碼管只能顯示數(shù)字,LCD可以顯示漢字、符號、數(shù)字和圖形,為了報站器的人性化LCD1602能夠同時顯示16列2行的字符,可以顯示數(shù)字、字母、以及各種符號。這種液晶模塊由若干個5X7或者5X11等點陣字符位組成,這種點陣字符顯示字符并且自帶間隔,也就是有自然的間距和行間距,也是因為這個特性不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。2.3.1 排阻Respack-8Respack-8接在51單片機的P0口,因為P0口內(nèi)部沒有上拉電阻,不能輸出高電平,所以要接上拉電阻,1端為公共端接VCC。2.3.2 LCD1602的引腳定義字符型LCD一般是16條引腳線
20、14條引腳線,多出來的兩條線是背光電源線VCC(15腳)和地線GND(16腳),與14腳LCD的控制原理基本完全一樣,定義如下表所示:表3-5 LCD1602引腳定義引腳號引腳名電平輸入/輸出作用1VSS電源地2VCC電源(+5V)3VEE進行對比的調(diào)整電壓4RS0/1輸入0進行輸入I指令1進行輸入O數(shù)據(jù)5R/W0/1輸入0=向LCD寫入指令以及數(shù)據(jù)1=從LCD中來讀取信息6E1,10輸入使能信號,1是進行讀取信息10下降沿執(zhí)行指令7DB00/1I/O數(shù)據(jù)總線line0(最低位)8DB10/1I/O數(shù)據(jù)總線line09DB20/1I/O數(shù)據(jù)總線line010DB30/1I/O數(shù)據(jù)總線line0
21、11DB40/1I/O數(shù)據(jù)總線line012DB50/1I/O數(shù)據(jù)總線line013DB60/1I/O數(shù)據(jù)總線line014DB70/1I/O數(shù)據(jù)總線line015A+VCCLCD背光燈電源正極16K接地LCD背光燈電源負極 LCD1602引腳接線圖在LCD模塊上固化了字模存儲器,這就是CGROM和CGRAM,HD44780內(nèi)置了192個常用字符的字模,存于字符產(chǎn)生器CGROM中,另外還有8個允許用戶自定義的字符產(chǎn)生RAM,成為CGRAM。下圖3-10說明了CGROM和CGRAM與字符的對應(yīng)關(guān)系。讀的時候,先讀左邊那列,再讀上面那行。 圖3 CGROM和CGRAM中字符代碼與字符圖形對應(yīng)關(guān)系2
22、.3.3 液晶LCD1602常用的11條指令表3-6 液晶LCD1602常用指令指令功能RSR/WDB7DB6DB5DB4DB3DB2DB1DB0執(zhí)行時間清屏00000000011.64ms功能詳解:清除液晶顯示器的內(nèi)容。光標(biāo)歸位000000001X1.64ms功能詳解:光標(biāo)撤回到顯示器的左上方,地址計數(shù)器(AC)值為0,DDRAM值不變進入模式設(shè)置00000001I/DS40us功能詳解:I/D當(dāng)為0時寫入數(shù)據(jù)后光標(biāo)左移,當(dāng)為1時寫入數(shù)據(jù)后光標(biāo)右移S為0時寫入新數(shù)據(jù)后顯示屏不移動,為1時寫入新數(shù)據(jù)后顯示屏整體右移1字符顯示開關(guān)控制0000001DCB40us功能詳解:D為0時顯示功能關(guān),為1
23、時顯示功能開C為0時無光標(biāo)。1時有光標(biāo)B為0時光標(biāo)閃爍,1時光標(biāo)不閃爍設(shè)定顯示屏或光標(biāo)移動方向000001S/CR/LXX40us功能詳解:S/CR/L設(shè)定的情況00光標(biāo)左移1格,且AC值減101光標(biāo)右移1格,且AC值加110顯示器上字符全部左移一格,但光標(biāo)不移動11顯示器上字符全部右移一格,但光標(biāo)不移動功能設(shè)定00001DLNFXX40us功能詳解:DL為0時數(shù)據(jù)總線為4位,1時數(shù)據(jù)總線為8位N為0時顯示1行,1時顯示兩行F為0時5*7點陣/每個字符,1時5*10點陣/每個字符設(shè)定CGRAM地址指令0001CGRAM的地址(6位)40us功能詳解:設(shè)定下個要存入的數(shù)據(jù)的CGRAM的地址設(shè)定D
24、DRAM地址指令001CGRAM的地址(7位)40us功能詳解:設(shè)定下個要存入的數(shù)據(jù)的DDRAM的地址讀取忙碌信號或AC地址01BFAC內(nèi)容(7位)40us功能詳解:BF為1表示液晶顯示器忙,為0時,液晶顯示器可以接收單片機送來的數(shù)據(jù)或指令數(shù)據(jù)寫入到DDRAMH或CGRAM10要寫入的數(shù)據(jù)D7D040us功能詳解:(1)將字符碼寫入DDRAM,液晶顯示屏并顯示對應(yīng)的字符(2)使用者設(shè)計的圖形存入CGRAM從CARAM或DDRAM讀取數(shù)據(jù)11要讀出的數(shù)據(jù)D7D040us功能詳解:讀取DDRAM或CGRAM的內(nèi)容在本次設(shè)計后續(xù)設(shè)計中,也可以利用AT89C51控制該芯片,實現(xiàn)語音的存儲以及語音報站。
25、1、電源端(VCCA,VCCD):為了使噪聲最小,芯片內(nèi)部的數(shù)字和模擬電路要使用不同的電源的總線,并且分別引出到外封裝的不同的管腳上。數(shù)字和模擬電源端最好走不同的線,比如,選擇在離供電端相近的地方相連,而去耦電容就應(yīng)盡量選擇離器件近。2、地線(VSSD,VSSA):芯片的內(nèi)部的模擬和數(shù)字電路也使用不同的地線。3、同相的模擬輸入(ANA IN+):即錄音信號同相輸入端。這時輸入放大器采用單端或差分驅(qū)動。當(dāng)采用單端時,在耦合電容中輸入信號,最大的幅度是32mV峰峰值,芯片頻帶的低端截止頻率決定耦合電容和本端的3K電阻的輸入阻抗。作為差分的驅(qū)動時,信號最大幅度是16mV峰峰值,這是和ISD33000
26、系列一樣的。4、反相的模擬輸入(ANA IN-):作為差分驅(qū)動是錄音信號的反相的輸入端。信號是通過耦合電容來輸入,最大幅度是16mV峰峰值5、音頻輸出(AUD OUT):作用是提供音頻的輸出,可以驅(qū)動5K的負載。6、片選(SS):此端為低電平,在向ISD4004芯片發(fā)送指令時,并且該兩條指令間應(yīng)該為高電平。7、串行輸入(MOSI):此端是串行的輸入端。主控制器應(yīng)該在串行時鐘的上升沿前半周期把數(shù)據(jù)放到這個端口,來讓ISD輸入。8、串行輸出(MISO):作為ISD 的串行的輸出端。當(dāng)ISD沒有選中時本端會呈高阻態(tài)。9、串行時鐘(SCLK):作為ISD 的時鐘的輸入端。從主控制器中產(chǎn)生,可以用于同步
27、的MOSI和MISO的數(shù)據(jù)傳輸。10、中斷(/INT):本端作為漏極的開路輸出。ISD 在任何操作過程(比如快進)中檢測到了EOM 或OVF 時,本端會變低電平并保持。并且中斷的狀態(tài)在下一個SPI周期開始時清除。中斷狀態(tài)也可以用RINT 的指令讀取。OVF 標(biāo)志-指示ISD的錄放操作是否已經(jīng)到存儲器未尾狀態(tài)。EOM 標(biāo)志-只在放音過程中檢測到內(nèi)部的EOM 標(biāo)志時,狀態(tài)才會置1。11、行地址時鐘(RAC):漏極的開路輸出。每經(jīng)過一個RAC 周期,表示ISD存儲器操作進行了一行。該端口并且可以用于存儲的管理技術(shù)。12、外部時鐘(XCLK):本端內(nèi)部帶有下拉元件。工業(yè)級的芯片在整個溫度和電壓范圍內(nèi),
28、頻率變化范圍在-6/+4%內(nèi),此時建議使用穩(wěn)壓電源。如果要求更高精度,可從本端來輸入外部時鐘(如前邊所描述)。并且由于內(nèi)部的防混淆及平滑濾波器已經(jīng)設(shè)定好,所以上述推薦時鐘頻率不應(yīng)該再改變。輸入時鐘占空比是無關(guān)緊要的,因為內(nèi)部首先進行了分頻。并且在不外接地時鐘時,此端是必須接地的。13、自動靜噪(AMCAP):一般本端對地會接1mF的電容,來構(gòu)成內(nèi)部信號的電平峰值檢測電路一部分。并且與內(nèi)部設(shè)定閾值和峰值電平來作比較,從而決定自動靜噪的功能的翻轉(zhuǎn)點。大信號時,自動靜噪的電路不衰減,靜音時衰減6dB。1mF 的電容也影響自動靜噪的電路對信號幅度的響應(yīng)速度。本端接VCCA 則應(yīng)該禁止自動靜噪。2.4
29、蜂鳴器和LED指示燈蜂鳴器鑒于用Proteus仿真,語音模塊用蜂鳴器代替如圖3-7,采用三極管NPN,當(dāng)P11為高電平時電路導(dǎo)通,通過程序使P11進行短時間內(nèi)高低電平轉(zhuǎn)換,以達到斷續(xù)蜂鳴提示的效果。圖3-11 蜂鳴器接線圖到站LED提示燈鑒于用Proteus仿真,語音模塊用蜂鳴器代替如圖3-7,采用三極管PNP,當(dāng)P1.0為低電平時電路導(dǎo)通,到站提示燈亮。 圖3-12 LED提示燈接線圖第三章 系統(tǒng)程序設(shè)計3.1 系統(tǒng)仿真主程序流程圖開始界面蜂鳴器提示,LCD顯示第一行字符“Welcometo YanTai”運行方式 P34=0?P35=0? N N Y Y順序報站,蜂鳴器提示,LED下車指示
30、燈亮逆序報站,蜂鳴器提示,LED下車指示燈亮液晶顯示當(dāng)前到站站名液晶顯示當(dāng)前到站站名圖3-1 系統(tǒng)仿真主程序流程圖系統(tǒng)仿真,初始化運行程序時,LCD第一行顯示歡迎字符,蜂鳴器蜂鳴,選擇BUTTON1或者BUTTON2(通過控制P35,P34)選擇順序或者逆序報站,按下按鍵之后,蜂鳴器提示,LED指示燈亮,延遲一段時間后顯示站名。隨后可以每到一個站依次顯示公交車站名,如果出現(xiàn)錯誤或者重新選擇另一順序報站,可以使用按鍵復(fù)位,重新選擇報站方式。第四章 系統(tǒng)仿真實現(xiàn)4.1 開發(fā)環(huán)境KeilC51介紹KeilC51是集編輯,編譯,仿真于一體,支持匯編,PLM 語言和 C 語言的程序設(shè)計,易學(xué)易用。在 K
31、eilC51 集成開發(fā)環(huán)境下使用工程的方法來管理文件,所有的源文件、頭文件甚至說明性文檔都可以放在工程項目文件里統(tǒng)一管理。本次設(shè)計使用KeilC51的開發(fā)工具大致流程如下:(1)運行 Keil C51 軟件,進入 Keil C51 集成開發(fā)環(huán)境。(2)選擇工具欄的 Project 選項,彈出下拉菜單,選擇 NewProject 命令建立一個新的Vision2 工程。這時會彈出所示的工程文件保存對話框,選擇工程目錄并輸入文件名后,單擊保存。(3)本次設(shè)計建立好一個空白工程,現(xiàn)在需要人工為工程添加程序文件,如果還沒有程序文件則必須建立它,可以選擇工具欄的 File 選項,在彈出的下拉菜單中選擇 N
32、ew 目錄。這次設(shè)計我采用的是將.c的文件導(dǎo)入工程。(4)輸入程序,完畢后點擊“保存”命令保存源程序,KeilC51 支持匯編和C語言,Vision2 會根據(jù)文件后綴判斷文件的類型,進行自動處理。(5)不斷糾正源文件錯誤,檢查無誤后生成HEX文件,并將HEX文件導(dǎo)入Proteus中的51單片機來運行實現(xiàn)。4.2 仿真環(huán)境PROTEUS介紹 Proteus是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件(EDA工具軟件)。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的十分適用于仿真設(shè)計。4.3 仿真運行結(jié)果截圖初始化運行界面圖4-1 初始化
33、運行界面4.4 仿真結(jié)果本次課題用Proteus設(shè)計出硬件電路,用KeilC51編寫程序共同完成課題的仿真,基本完成了公交車的模擬報站。功能的實現(xiàn)主要是通過程序來實現(xiàn),BUTTON1控制順向報站,當(dāng)報站系統(tǒng)啟動后,按下BUTTON1開始按預(yù)先設(shè)置好的站名進行順向報站,每次按鍵按下時實現(xiàn)LED提示燈亮,蜂鳴器連續(xù)鳴叫7次。BUTTON2按鍵是實現(xiàn)公交車逆向返回時的報站,也滿足每次按鍵按下時實現(xiàn)LED提示燈亮,蜂鳴器連續(xù)鳴叫7次。如果使用過程中出現(xiàn)錯誤時,可以使用機械復(fù)位,重現(xiàn)選擇正向或者逆向報站。同時,為了防止一次按鍵產(chǎn)生站名的漏報,在軟件設(shè)計中使用了延時函數(shù),防止站名的漏報圖4-2 系統(tǒng)正向報
34、站結(jié) 束 語通過了這次設(shè)計,我知道了在做一個系統(tǒng)之前很重要的是要做好需求分析,為此,我在網(wǎng)上查看了大量的相關(guān)資料,對目前市面上流行的幾種公交車報站器進行了分析和比較,來為此次設(shè)計個方案確定來做了充足的準(zhǔn)備。我深入了解了單片機的工作原理和機制,對它的各個模塊功能有了更深層認識和更本質(zhì)的理解,并且在這個過程中,我更加深入認識了Proteus和KeilC51這兩個軟件,對這軟件的基本操作能夠熟練的使用,了解了軟件的優(yōu)缺點,并且熟練了對C語言的使用和LCD1602程序設(shè)計。在做課程設(shè)計的過程中我遇到了很多困難,很多方案確定不下來,編寫代碼時也總是出現(xiàn)這樣或者那樣的錯誤,并且有些功能自己也不知道該用什么
35、方法來實現(xiàn),經(jīng)過向同學(xué)的請教和討論,我克服了這一些困難。最終基本完成了用Proteus來實現(xiàn)公交車的模擬報站,但是模塊還是很簡陋,也需要進一步的優(yōu)化。該系統(tǒng)還存在著一些不足,主要體現(xiàn)在:仿真過程沒有辦法使用PT2262/2272和ISD4004語音模塊,用了按鍵和蜂鳴器來代替,只對這兩個模塊根據(jù)資料進行了相應(yīng)的介紹。如果以后做實物的過程,那應(yīng)該完善這兩部分。并且在設(shè)計過程中也暴露了很多的缺點,比如編程能力有待提高,需要通過不斷的編譯仿真調(diào)整才能最終得到想要的結(jié)果。附錄A 系統(tǒng)仿真全部代碼#include#include#define uchar unsigned char#define uin
36、t unsigned int#define port P0 /DB0-DB7數(shù)據(jù)口sbit P31=P34;/無線信號接收端(控制反向)sbit P32=P35;/無線信號接收端(控制正向)sbit led=P10;/到站指示燈sbit fmp=P11;/蜂鳴器sbit e=P22;/使能sbit rw=P21;/讀寫sbit rs=P20;/數(shù)據(jù)/命令sbit busy=P07;/檢測uchar code dis1=bei jing;uchar code dis2=shang hai ;uchar code dis3=tian jing;uchar code dis4=cang zhou;u
37、char code dis5=huan hua;uchar num=welcome to; /*延時*/void delay(uint n) uint i; for(;n0;n-) for(i=200;i0;i-);/*判斷是否忙*/void check() rs=0; rw=1; port=0x00; e=1; while(busy); e=0; /*寫指令*/ void send(uchar command) check(); rs=0; rw=0; port=command; e=1; _nop_();_nop_(); e=0; /*寫數(shù)據(jù)*/void write(uchar dat)
38、check(); rs=1;/數(shù)據(jù) rw=0; port=dat; e=1; _nop_();_nop_(); e=0; /*光標(biāo)位置*/void pos(uint P) send(P|0x80);/第一行個第一個0x80;/*初始化*/void init() send(0x38);/8位數(shù)據(jù),雙列,5*7字形 delay(1); send(0x0c);/開0x08關(guān) delay(1); send(0x06);/地址加1 delay(1); send(0x01);/清屏 delay(1);void main() int i=0,j=0,k=0,s=0; uchar n; init(); delay(10); pos(0x00); delay(1);/或者用i=0,刪除后會發(fā)現(xiàn)不能顯示第一個數(shù) for(n=0;n18;n+) write(numn); delay(1);while(1) if(P32=0) j+; if(j=1) loop1:s=s+1; led=0; fmp=1; delay(100); led=1; fmp=0; if(s=7) goto loop1; s=0; pos(0x40); delay(1); for(n=0;n9;n+) write(dis1n); delay(5); if(j=2) loop2:s=s+1; led=0; fmp=
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年河北省退役軍人事務(wù)廳下屬事業(yè)單位招聘考試筆試試題【答案】
- 2025年農(nóng)商銀行反洗錢知識競賽培訓(xùn)考試試題【答案】
- 項目日常管理制度
- 消防自然災(zāi)害應(yīng)急救援預(yù)案
- 領(lǐng)導(dǎo)干部學(xué)習(xí)黨的.教育實踐活動心得體會
- 2025年涂鍍產(chǎn)品:鍍鋁鋅合作協(xié)議書
- 消防員辭職保證書
- 翔隆花園人貨梯專項方案
- 湘藝版四年級上冊音樂《卓瑪》教案 (一)
- 2025年汽車內(nèi)外飾件合作協(xié)議書
- 2025年日歷表全年(打印版)完整清新每月一張
- 開曼群島公司法2024版中文譯本(含2024年修訂主要內(nèi)容)
- 管道工技師理論知識題庫及答案(完整版)
- T∕ZZB 2752-2022 聚合級苯乙烯
- DBJ50∕T-342-2019 工程建設(shè)對既有建(構(gòu))筑物安全影響評估標(biāo)準(zhǔn)
- 信息安全等級保護測評項權(quán)重賦值表
- 善用積極語言培養(yǎng)學(xué)生積極的心理品質(zhì)
- 部編版選擇性必修上冊7《兼愛》知識梳理
- 《智慧課堂教學(xué)模式的實踐研究》課題研究開題報告6篇.docx
- IPC-A-610F通用焊接標(biāo)準(zhǔn)
- CJJ1-2021城鎮(zhèn)道路工程檢驗批質(zhì)量檢驗表格(全套)
評論
0/150
提交評論