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

下載本文檔

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

文檔簡介

1、公交車自動報(bào)站系統(tǒng)的設(shè)計(jì)前言 根據(jù)AT89C51單片機(jī)的特點(diǎn)和公交車報(bào)站器的特點(diǎn),本文提出了一種用單片機(jī)控制語音芯片進(jìn)行公交車語音自動報(bào)站的方法。同時給出了軟硬件設(shè)計(jì)的方法,設(shè)計(jì)過程中包括硬件電路設(shè)計(jì)和軟件程序編寫兩個方面,解釋了單片機(jī)在應(yīng)用過程中的方法和可能出現(xiàn)的問題。本文主要介紹硬件電路設(shè)計(jì)部分。利用AT89C51作為控制器,通過ISD4004語音芯片建立語音信息庫,形成變化多樣的語音信息,利用其功放播放語音信息以及提示語音,同時運(yùn)用LED數(shù)碼管進(jìn)行站數(shù)顯示。當(dāng)公交車到達(dá)某站點(diǎn),用鍵盤控制本系統(tǒng)工作,通過語音電路輸出語音信息和提示,同時站數(shù)信息在LED數(shù)碼管上顯示。整個系統(tǒng)硬件設(shè)計(jì)包括鍵盤

2、電路、復(fù)位電路、顯示驅(qū)動電路、顯示電路、內(nèi)存擴(kuò)展電路模塊。本系統(tǒng)很大程度上提高公交車報(bào)站的準(zhǔn)確性,可靠性。提高了公交系統(tǒng)的服務(wù)質(zhì)量。促進(jìn)城市經(jīng)濟(jì)發(fā)展和交通變化的和諧發(fā)展。 1 方案論證1.1 方案1公交車站自動報(bào)站器的設(shè)計(jì),對車輪軸的轉(zhuǎn)角的脈沖進(jìn)行計(jì)數(shù),將計(jì)數(shù)值與預(yù)置值對比,即可確定報(bào)站時刻,達(dá)到準(zhǔn)確自動的目的。以AT89C51為主控芯片,對外來脈沖計(jì)數(shù),結(jié)合語音芯片ISD4004輸出語音。系統(tǒng)由脈沖檢測、脈沖計(jì)數(shù)、CPU控制、控制信號、語音芯片、輸出顯示等組成。原理框圖如圖所示。語音芯片控制信號脈沖計(jì)數(shù)CPU控制輸出顯示放音電路脈沖檢測 圖1.1-1 原理框圖脈沖檢測:該系統(tǒng)關(guān)鍵是對轉(zhuǎn)軸所轉(zhuǎn)

3、過的圈數(shù)進(jìn)行計(jì)數(shù),考慮到車輛將在復(fù)雜的 環(huán)境中運(yùn)行,故采用可靠的霍爾元件DN6848作為信號的采集裝置,再經(jīng)光電耦合器4N25輸入給單片機(jī)。脈沖計(jì)數(shù):光電耦合器的信號進(jìn)入C51后,采用中斷方式對脈沖計(jì)數(shù)。外部晶振12MHz。CPU控制:程序中將計(jì)數(shù)值于預(yù)置值進(jìn)行比較,判斷是否到站,當(dāng)?shù)秸緯r就輸出信號控制語言芯片進(jìn)行報(bào)站。控制按鍵:用于手動控制、手動調(diào)整、預(yù)置值的輸入等語言芯片:由專用語音芯片ISD4004組成,可擦寫,便于在不同公交線上使用。 輸出顯示:LED點(diǎn)陣漢字顯示。預(yù)置存儲:采用兩種方式存儲,一種是在燒寫器上將數(shù)據(jù)寫入,另一種是在車上,單片機(jī)處于輸入狀態(tài),車輛行駛一遍,將站與站之間的脈

4、沖數(shù)寫入片內(nèi)。1.2 方案2利用8031單片機(jī)作為CPU來進(jìn)行總體控制,當(dāng)汽車到達(dá)某站時,汽車司機(jī)通過鍵盤來控制本系統(tǒng)進(jìn)行工作,并且,系統(tǒng)將使用狀態(tài)指示電路,向司機(jī)指示出當(dāng)前的行駛方向及站號(如與實(shí)際方向不符,司機(jī)可通過鍵盤來調(diào)整)。原理圖如圖1.2-1所示。語音合成電路8031小系統(tǒng)LED點(diǎn)陣顯示電路語音輸入輸出電路鍵盤狀態(tài)指示電路 圖1.2-1 原理框圖本系統(tǒng)使用8031作為CPU,由CPU來控制語音合成芯片TC8830AF,使其工作在CPU控制模式下。當(dāng)系統(tǒng)進(jìn)行語音再生時,由CPU控制語音合成電路中的語音芯片來讀取其外接的存儲器內(nèi)部的語音信息,并合成語音信號,再通過語音輸出電路,進(jìn)行語音

5、報(bào)站和提示。CPU同時通過程序讀取漢字信息,送入LED點(diǎn)陣顯示電路來進(jìn)行漢字提示。當(dāng)系統(tǒng)進(jìn)行語音錄制時,語音信號通過語音輸入電路輸入給語音合成電路中的語音合成芯片,由語音合成芯片進(jìn)行數(shù)據(jù)處理,并將生成的數(shù)字語音信息存儲到語音存儲芯片中,從而建立語音庫。2 硬件電路的設(shè)計(jì)2.1 單片機(jī)的原理AT89C51單片機(jī)的結(jié)構(gòu)框圖如圖2.1-1所示。它主要由下面幾個部分組成:1個8位中央處理單元(CPU)、片內(nèi)Flash存儲器、片內(nèi)RAM、4個8位的雙向可尋址I/O口、1個全雙工UART(通用異步接收發(fā)送器)的串行接口、2個16位的定時器/計(jì)數(shù)器、多個優(yōu)先級的嵌套中斷結(jié)構(gòu),以及一個片內(nèi)振蕩器和時鐘電路。在

6、AT89C51單片機(jī)結(jié)構(gòu)中,最顯著的特點(diǎn)是內(nèi)部含有Flash存儲器,而在其他方面的結(jié)構(gòu),則和某公司的8051的結(jié)構(gòu)沒有太大的區(qū)別。CPU中斷控制振蕩器片內(nèi)Flash存儲器總線控制片內(nèi)RAM4I/O端口ETC定時器1定時器0串行端口外部中斷P0 P2 P1 P3地址/數(shù)據(jù)TXD RXD計(jì)數(shù)器輸入圖2.1-1 AT89C51單片機(jī)的結(jié)構(gòu)框圖2.2 振蕩器電路的設(shè)計(jì)XTAL2XTAL1GNDNCCMOS門外部振蕩信號圖2.2-1 外部時鐘接法在圖中給出了外接元件,即外接晶體及電容C1,C2,并組成并聯(lián)諧振電路。在電路中,對電容C1和C2的值要求不是很嚴(yán)格,如果用高質(zhì)的晶振,則不管頻率為多少,C1,C

7、2通常都選擇30pF。有時,在某些應(yīng)用場合,為了降低成本,晶體振蕩器可用陶瓷振蕩器代替。如果使用陶瓷振蕩器,則電容C1,C2的值取47pF。XTAL2XTAL1內(nèi)部定時/PD400D1D2Q1RfQ2VCCQ3Q4圖2.2-2 AT89C51單片機(jī)內(nèi)部振蕩器電路2.3 復(fù)位電路的設(shè)計(jì)Vcc AT89C51RST GND8.2k10uF+Vcc 圖2.3-1 手動復(fù)位電路一般采用的辦法是在RST端和正電源VCC之間接一個按鈕。當(dāng)人為按下按鈕時,則VCC的+5V電平就會直接加到RST端。由于人的動作很快也會使按鈕保持接通達(dá)數(shù)十毫秒,所以,保證能滿足復(fù)位的時間要求。手動復(fù)位的電路如圖2.3-1所示。

8、通常,在單片機(jī)中對所使用的振蕩晶體的參數(shù)要求如下:ESR(等效串聯(lián)電阻):根據(jù)所需頻率按圖2.3-2選取。C0(并聯(lián)電容):最大7.0pF。CL(負(fù)載電容):30pF+3pF。通常,其誤差及溫度變化的范圍要按系統(tǒng)的要求來確定。 在本設(shè)計(jì)中,采用的是內(nèi)部方式,在XTAL1和XTAL2引腳上外接一個12MHZ的晶振及兩個47pF的電容組成。XTAL1XTAL289系列單片機(jī)GND內(nèi)部定時VCC/PDRf石英晶體或陶瓷振蕩器C1C2圖2.3-2 片內(nèi)振蕩器等效電路2.4 脈沖檢測電路的設(shè)計(jì)圖2.4-1 脈沖檢測電路本設(shè)計(jì)的關(guān)鍵是對轉(zhuǎn)軸所轉(zhuǎn)過的圈數(shù)進(jìn)行計(jì)數(shù),考慮到車輛將在復(fù)雜的環(huán)境中運(yùn)行,而霍爾元件具

9、有耐震動,不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕的優(yōu)點(diǎn),故采用可靠的霍爾元件DN6848作為信號采集裝置,再經(jīng)過光電耦合器4N25輸入給單片機(jī)。光電耦合器的電流傳輸比為10%250%,響應(yīng)時間小于10us,其電路如圖2.4-1所示。2.5 LED顯示 圖2.5-1 LED點(diǎn)陣漢字顯示電路LED顯示器是用發(fā)光二極管構(gòu)成的顯示器。構(gòu)成方式有兩大類:一是筆段字符式,一般又有三種:7段(/8段)數(shù)碼管、15段(/17段)數(shù)碼管和6段符號顯示器;二是點(diǎn)陣字符式,一般有5×7、5×8、8×8和16×16等若干種點(diǎn)陣結(jié)構(gòu)。為了適應(yīng)不同電路的需要,根據(jù)構(gòu)成LED顯示器

10、的發(fā)光二極管公共極的極性,有共陰極和共陽極兩種形式。對共陰極數(shù)碼管,公共陰極接地,當(dāng)各段陽極上的電平為高電平時,該段接通亮,電平為0時,該段關(guān)斷不亮。對共陽極數(shù)碼管則剛好相反,高電平時不亮,低電平時亮。這種器件根據(jù)顯示數(shù)位分類,可以分為一位、雙位和多位LED顯示器,一位LED顯示器就稱作LED數(shù)碼管,兩位以上的一般就稱作LED顯示器。 7段(/8段)數(shù)碼管顯示器7段(/8段)數(shù)碼顯示器的每個數(shù)位都是由7段筆段組成,通過不同筆段的組合就可以顯示不同的數(shù)字和部分字母以及其他符號。其第8筆段一小數(shù)點(diǎn)形式位于字符的右下方。 15段(/17段)數(shù)碼管顯示器 15段(/17段)數(shù)碼顯示器的每個數(shù)位都是由1

11、4(/16)段數(shù)碼管組成外框加“米”構(gòu)成,通過不同筆段的組合,不但可以顯示所有的數(shù)字,還可以顯示所有的26個英文字母和其他符號。15段與17段顯示器的區(qū)別在于外框上下兩橫結(jié)構(gòu)不一樣,17段顯示器的上橫和下橫分別被分成兩個筆段,而15段顯示器則分別為一個筆段。17段顯示器可以顯示兩種尺寸不同的數(shù)字,一種為半尺寸瘦型數(shù)字,另一種為全尺寸的寬型數(shù)字;而15段顯示器則只能顯示全尺寸的數(shù)字。本電路采用16*256的LED點(diǎn)陣顯示屏來顯示16個16*16的漢字,采用顯存U14來存放漢字點(diǎn)陣信息。顯示屏分32頁,每頁由16行8列LED發(fā)光二極管構(gòu)成,在LED點(diǎn)陣顯示屏中,用一片4-16譯碼器74LS154進(jìn)

12、行行譯碼,將地址A0-A3譯碼形成行信號,用兩片4-16譯碼器74LS154組成一個5-32譯碼器,進(jìn)行頁譯碼,將地址A4-A8譯碼形成頁選通信號,分別用以選通一片74LS244,系統(tǒng)通過此74LS244的數(shù)據(jù)線向該頁的某行(由A0-A3譯碼選通)上的8個發(fā)光二極管送入顯示信息。九位地址線A0A8的地址范圍為0511,分別對應(yīng)顯示屏的第1頁的第1行到第32頁的第16行,地址線A0A8與顯存U14的地址輸入管腳相連接,因此U14中的第1到第512字節(jié)中的數(shù)據(jù)存放的是對應(yīng)顯示屏中第1頁的第1行到第32頁的第16行的顯示數(shù)據(jù)信息。系統(tǒng)通過循環(huán)地址的方法將U14中的每個單元的數(shù)據(jù)送入顯示屏的第1頁的第

13、1行到第32頁的第16行,適當(dāng)選擇循環(huán)周期,即可實(shí)現(xiàn)漢字的顯示。循環(huán)的地址信號由計(jì)數(shù)器U13所構(gòu)成的九位二進(jìn)制循環(huán)計(jì)數(shù)器產(chǎn)生,并通過緩沖器U7和U9的第1組通道送給U14和上述三片譯碼器的A0A8端,作為地址信號。顯存中的數(shù)據(jù)由單片機(jī)在需要時寫入,寫入時,單片機(jī)的P1.6置低電平(平時為高電平),封鎖計(jì)數(shù)器U13的計(jì)數(shù)脈沖CP(注:CP為占空比為10:1的方波信號),同時選通緩沖器U8和U9的第2組通道(經(jīng)非門U11A反向輸出的高電平封鎖緩沖器U7和U9的第1組通道),使單片機(jī)送入的地址信號A0A8通過緩沖器(U8、U9)作為顯存的地址信號,單片機(jī)送來的數(shù)據(jù)(P00P07)就可以通過緩沖器U1

14、2寫入顯存(P1.6已為低電平)中的對應(yīng)地址單元內(nèi),顯示信息完全寫入后,P1.6被置成高電平(緩沖器U8和U9的第2組通道被封鎖,緩沖器U7和U9的第1組通道開鎖),計(jì)數(shù)脈沖CP開鎖,計(jì)數(shù)器U13工作,循環(huán)提供9位地址信號,使顯存中的點(diǎn)陣數(shù)據(jù)被循環(huán)送入顯示屏(此時,U12輸出高阻態(tài),實(shí)現(xiàn)顯示屏的數(shù)據(jù)總線與單片機(jī)系統(tǒng)的數(shù)據(jù)總線間的隔離),以實(shí)現(xiàn)漢字提示信息的顯示輸出。3 軟件設(shè)計(jì)3.1 主程序圖:開始計(jì)數(shù)判斷手/自動鍵是否按下YN調(diào)用手動操作程序判斷正/反向鍵是否按下返回YN調(diào)用反向程序比較判斷到站否NY調(diào)用語音報(bào)站程序返回 圖3.1-1 整體流程圖3.2 主程序清單MOV TMOD, #0F8

15、H; 外部中斷0工作在方式1MOV TH0, #0FFH ;設(shè)計(jì)數(shù)初值MOV TL0, #0FEH;SETB EA ;開放中斷SETB TR0SETB IE0 MOV R0, #20H ;軟件計(jì)數(shù)器地址值MOV R1, #11MOV A, #0MOVX R0, A ;軟件計(jì)數(shù)器清零SETB 21H.0 ;設(shè)中斷標(biāo)志位AJMP $ ;等待中斷RETL1: CPL 21HMOV TH0, #0FFHMOV TL0, #0FEHMOVX A, R0CLR CCJNE A, #0FFH, L2 ;計(jì)滿,轉(zhuǎn)移INC A ;未滿,計(jì)數(shù)值加1MOVX R0, AINC R0L2: INC R0 ;計(jì)數(shù)器地址

16、值加1INC AINC R1MOVX R0, A ;計(jì)數(shù)值加1RETIORG 1000HJNB P1.0, P0 ;P1.0=0,手動MOV DPTR, #2000HP0: JB P1.1, $ ;未到站,等待MOVX A, R0 ;讀入高位計(jì)數(shù)值MOVX DPTR, AMOV A, #0MOVX R0, ADEC R0INC DPTRMOVX A, R0 ;讀入低位計(jì)數(shù)值MOVX DPTR, AMOV A, #0MOVX R0, AINC DPTRLJMP P0T0: JNB P1.2, T1 ;P1.2=0,反向LCALL C0 ;正向RETT1: MOVX A, R0 ;取計(jì)數(shù)值高位DE

17、C DPTRMOVX 30H, DPTR ;路程值高位CLR CT2: CJNE A, 30H, T3 ;高位相等LJMP T3 ;不等繼續(xù)比較T3: INC DPTRDEC R0MOVX 31H, DPTR ;路程值低位MOVX A, R0 ;計(jì)數(shù)值低位CLR CT4: CJNE A, 31H, T5 ;低位不相等LJMP T4T5: LCALL PLAY ;調(diào)用語音報(bào)站程序DEC DPTRLJMP T1RETC0: MOVX A, R0 ;取計(jì)數(shù)值高位MOVX 32H, DPTR ;路程高位CLR CC1: CJNE A, 32H, C2 ;高位相等LJMP C2 ;不等繼續(xù)比較C2: I

18、NC DPTRDEC R0MOVX A, R0MOVX 33H, DPTRCLR CC3: CJNE A, 33H, C4 ;相等轉(zhuǎn)移LJMP C3C4: LCALL PLAY ;調(diào)用語音程序INC DPTRRET;3.3 LED漢子顯示程序的設(shè)計(jì)LED漢字顯示過程:首先P1.6置低電平(平時為高電平),封鎖計(jì)數(shù)器U13的計(jì)數(shù)脈沖CP,同時選通緩沖器U8和U9的第2組通道,使單片機(jī)送入的地址信號A0A8通過緩沖器(U8、U9)作為顯存的地址信號,單片機(jī)送來的數(shù)據(jù)(P00P07)就可以通過緩沖器U12寫入顯存(P1.6已為低電平)中的對應(yīng)地址單元內(nèi),顯示信息完全寫入后,P1.6被置成高電平,計(jì)數(shù)

19、脈沖CP開鎖,計(jì)數(shù)器U13工作,循環(huán)提供9位地址信號,使顯存中的點(diǎn)陣數(shù)據(jù)被循環(huán)送入顯示屏),以實(shí)現(xiàn)漢字提示信息的顯示輸出。LED漢字顯示程序: MOV R2, #16 ;16個字 MOV DPTR, #CDATD ;字模庫首地址SHU1: MOV A, #DAT ;要顯示字的代碼首地址 MOV B, #16 ;每個字符占16個字節(jié) MUL AB ;代碼*16 ADD A, DPL MOV DPL, A MOV A, B ADDC A, DPH MOV DPH, A MOV R0, 16 ;每個字符16個字節(jié) CLR P1.6 ;寫入顯存數(shù)據(jù) CLR CP MOV R1, #00H ;顯存數(shù)據(jù)存

20、儲首地址SHU2: MOVX R1, DPTR INC R1 ;地址值加1 INC DPTR DJNZ R0, SHU2 ;第一個字的顯存存完否 INC DAT DJNZ R2, SHU1 ;16個字存完否 SETB P1.6 ;送數(shù)、顯示 SETB CP RET4 結(jié)束語此次設(shè)計(jì)的公交車自動報(bào)站器初始值存入的方式是在車上,單片機(jī)處于輸入狀態(tài),車輛行駛一遍,將站與站之間的脈沖數(shù)寫入片內(nèi),該方式在公交車改變路線時便于修改。系統(tǒng)選用ISD4004語音芯片,它的錄音數(shù)據(jù)被存放方法是通過ISD多級存儲專利技術(shù)實(shí)現(xiàn)的,用聲音和聲頻信號的自然形式直接存放在故態(tài)存儲器,從而提供高質(zhì)量回放語音的保真度,使得該

21、系統(tǒng)與其他語音報(bào)站系統(tǒng)相比較,語音質(zhì)量較好。另外,本設(shè)計(jì)仍然存在的許多的不足之處,比如,對知識的了解還不是那么的深刻,不能很好的運(yùn)用于實(shí)踐。在設(shè)計(jì)過程中,我得到了周圍許多人的幫助,在此我對他們表示忠心的感謝。首先我要感謝的是我的指導(dǎo)老師XX老師和XX老師,這個設(shè)計(jì)的每個細(xì)節(jié)和每個數(shù)據(jù),都離不開你的細(xì)心指導(dǎo),你嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我學(xué)習(xí)的榜樣;你循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。其次,我要感謝XX等同學(xué)在軟件設(shè)計(jì)方面給予我的幫助。再次我要感謝我的室友們,從遙遠(yuǎn)的家來到這個陌生的城市里,是你們和我共同維系著彼此之間姐妹般的感情,維系著寢室那份家的融洽。三年了,仿佛就在昨天。三年里,我們沒有紅過臉,沒有吵過嘴,沒有發(fā)生上大學(xué)前所擔(dān)心的任何不開心的事情。感謝你們,一路有你!參考文獻(xiàn):1 謝淵: 電路分析, 清華大學(xué)出版社, 2003.4, P90-932 韋宏利: 語音芯片在報(bào)站器中的應(yīng)用, 現(xiàn)代電子技術(shù), 2003.13, P30-P313 袁成: 自動報(bào)站設(shè)備, 城市公用事業(yè), 2003.17, P42-P434 余永權(quán): ATMEL89系列單片機(jī)應(yīng)用技術(shù), 北京航空航天出版社,2003.4 P45-P475 張俊謨: 單片機(jī)中級教程, 北京航空航天大

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論