周宗耀
(東南大學(xué)成賢學(xué)院,江蘇 南京210088)
隨著我國城市建設(shè)進(jìn)程加快,交通運(yùn)輸事業(yè)獲得快速發(fā)展。城市公交作為市民出行的重要工具,其服務(wù)質(zhì)量關(guān)系到交通運(yùn)輸事業(yè)發(fā)展[1]。城市公交服務(wù)質(zhì)量提升,不能拘泥于單個(gè)角度,就特殊人群而言,報(bào)站系統(tǒng)是提升公交與乘客聯(lián)系的重要途徑,是優(yōu)化城市公交的重要措施,通過設(shè)計(jì)可行性報(bào)站系統(tǒng),可以顯著提升公交車為乘客提供服務(wù)的能力。
公交車報(bào)站系統(tǒng)設(shè)計(jì)所用硬件設(shè)備包含有顯示元器件、語音元器件、按鍵元器件、89C51 單片機(jī)。顯示元器件選擇使用的是LCD1602。該元器件擁有較高的顯示質(zhì)量,并且接口位置呈數(shù)字式,具有較低的功能消耗。正是因?yàn)檫x擇使用的是數(shù)字式接口,能夠更加簡單的實(shí)現(xiàn)顯示模塊與單片機(jī)系統(tǒng)之間的連接,降低操作難度[2]。語音元器件選擇使用的是ISD4004。該元器件在對(duì)聲音進(jìn)行記錄的時(shí)候,能夠摒棄傳統(tǒng)元器件的長度限制,同時(shí)在記錄聲音的時(shí)候,也不必完成壓縮和A/D 轉(zhuǎn)換。在進(jìn)行介質(zhì)存儲(chǔ)的時(shí)候,可以實(shí)現(xiàn)快速閃存,在沒有電源支撐的條件下,仍舊可以將數(shù)據(jù)保存至100 年,完成一萬次以上的信息重復(fù)記錄[3]。另外,ISD4004 具有良好音質(zhì)和較長時(shí)間的記錄,在便攜式電子產(chǎn)品中被廣泛使用。開發(fā)與使用ISD4004 硬件設(shè)備的時(shí)候,對(duì)于外圍電路的要求同樣不高。按鍵元器件是最為簡單的設(shè)備,公交車報(bào)站系統(tǒng)設(shè)計(jì)的時(shí)候,只需要選擇三個(gè)按鍵進(jìn)行操作即可,在功能設(shè)計(jì)的時(shí)候,要保證每個(gè)按鍵功能的可實(shí)現(xiàn)性。89C51 單片機(jī)是使用最為平常的一種51 芯片。89C51 是一種帶4K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM-Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8 位微處理器,俗稱單片機(jī)。在制造該元件的時(shí)候,需要選擇使用ATMEL 高密度非易失存制造技術(shù),兼具輸出管腳和指令集。
單片機(jī)又被稱作為單片微控制器,該設(shè)備綜合定時(shí)器/計(jì)時(shí)器、中央處理器、輸入輸出接口、程序存儲(chǔ)器以及數(shù)據(jù)存儲(chǔ)器等元件功能,進(jìn)而可以實(shí)現(xiàn)相對(duì)較為復(fù)雜的運(yùn)算和邏輯控制功能,達(dá)到通信的目的[4]。就本次選擇使用的單片機(jī)而言,最小系統(tǒng)同樣包含有上述結(jié)構(gòu)。在本次設(shè)計(jì)中,單片機(jī)作為系統(tǒng)的中央處理器,可以總體控制液晶顯示模塊、語音模塊和按鍵模塊。液晶顯示模塊在運(yùn)行中的基本原理是通過使用液晶物理特性,利用電壓控制顯示區(qū)域。只要通電,那么便可以將圖形顯示出來。其實(shí)在顯示一個(gè)字符的時(shí)候使用LCD,相對(duì)較為復(fù)雜。但是因?yàn)閮?nèi)帶字符發(fā)生器中具有相應(yīng)的控制而簡單地將字符顯示出來。公交車報(bào)站系統(tǒng)中的按鍵是集合多個(gè)按鍵的表現(xiàn)形式,可以將數(shù)據(jù)和命令傳輸?shù)较到y(tǒng)當(dāng)中。根據(jù)鍵盤的類型不同可以將其劃分成為編碼鍵盤和非編碼鍵盤。
公交車報(bào)站系統(tǒng)語音模塊所使用的硬件設(shè)備具有十分強(qiáng)的信息處理能力,其最高頻率可以達(dá)到49.152MHz,在進(jìn)行運(yùn)算的時(shí)候其具有比較高的速度,這種優(yōu)勢(shì)能夠?yàn)椴シ耪Z音、錄放語音、合成語音和分辨語音提供支持。在處理語音的時(shí)候可以將其大致劃分成為五個(gè)環(huán)節(jié),詳細(xì)如下所示:

圖1 單片機(jī)對(duì)語音處理過程圖
在語音處理的環(huán)節(jié)中,具備多種不同的API 函數(shù)庫以及音頻編碼算法,在語音處理的環(huán)節(jié)中,綜合編碼環(huán)節(jié)、A/D 轉(zhuǎn)換環(huán)節(jié)、存儲(chǔ)環(huán)節(jié)、解碼環(huán)節(jié)以及D/A 轉(zhuǎn)換環(huán)節(jié),從而獲得相應(yīng)模塊[5]。在每個(gè)模塊當(dāng)中,都必須擁有連接口。設(shè)計(jì)人員在系統(tǒng)設(shè)計(jì)環(huán)節(jié)當(dāng)中需要對(duì)模塊所具備的功能充分了解,并且對(duì)其參數(shù)內(nèi)容清晰掌握之后,將API 函數(shù)進(jìn)行調(diào)用,實(shí)現(xiàn)相應(yīng)的功能。在表1 中針對(duì)性地列出相應(yīng)的功能。

表1 常用應(yīng)用程序接口API 功能表
在控制語音芯片的時(shí)候,選擇使用單機(jī)端口完成信號(hào)輸出。其程序子函數(shù)模塊代碼如下所示:

在按鍵部分設(shè)計(jì)的時(shí)候,選擇使用的方法是掃描法。當(dāng)系統(tǒng)感知到有按鍵下按以后,可以判斷鍵值,同時(shí)要完成相應(yīng)的程序顯示與跳轉(zhuǎn)語音播放程序,完成公交車語音報(bào)站[6]。在本次設(shè)計(jì)中,按鍵部分所實(shí)現(xiàn)的主要功能流程為讀取數(shù)據(jù)信息,判斷完成按鍵操作以后是否存在系統(tǒng)感知,若有則繼續(xù)完成延時(shí)去抖,否則無任何反應(yīng)。按下按鍵1,若是有意義,則液晶顯示,同時(shí)播放內(nèi)容。若是不顯示,則按下按鍵2。若是有反應(yīng)則基于Num 值顯示內(nèi)容,同時(shí)播放內(nèi)容。若是不顯示,則按下按鍵3,若是有反應(yīng)則基于Num 值顯示內(nèi)容,同時(shí)播放內(nèi)容,否則返回。
掃描法在按鍵部分中的程序如下所示:

在本次系統(tǒng)設(shè)置當(dāng)中選擇使用液晶顯示,液晶顯示模組選擇應(yīng)用的芯片為驅(qū)動(dòng)控制。該模組能夠與其他微控制器接口的總線實(shí)現(xiàn)直接相連,通過使用微控制器能夠?qū)?shù)據(jù)顯示出來[7]。通過一種八位數(shù)據(jù)總線或者是串行接口將數(shù)據(jù)信息寫入到硬件元件之中,從而顯示出所需要的信息。在顯示模組的元件當(dāng)中內(nèi)置顯示RAM。在RAM當(dāng)中,一位數(shù)據(jù)控制液晶屏上的一個(gè)像素點(diǎn)的亮暗狀態(tài)。當(dāng)為1 的時(shí)候,則表示“亮”狀態(tài),當(dāng)為0 的時(shí)候,則表示“暗”狀態(tài)。
顯示定位子函數(shù)程序如下所示:

在調(diào)試公交車報(bào)站系統(tǒng)時(shí),從軟件調(diào)試與硬件調(diào)試兩個(gè)角度展開,首先要對(duì)其硬件電路板進(jìn)行調(diào)試,之后通過使用萬用表工具檢查電路調(diào)試,最后調(diào)試應(yīng)用程序的功能。在調(diào)試硬件的時(shí)候所耗費(fèi)的時(shí)間要多,也必須要求調(diào)試人員擁有耐心和細(xì)心,熟練掌握電路的原理[8-10]。
其次,完成仿真調(diào)試。例如單片機(jī)編輯軟件所提供的開發(fā)環(huán)境,如宏編輯器、庫管理、C 編輯器,通過運(yùn)行能力可以對(duì)程序存在的錯(cuò)誤進(jìn)行檢查。但是這種方法的使用,仍舊要求調(diào)試人員對(duì)元器件的工作方式與管腳連接方式充分了解。
在本次設(shè)計(jì)當(dāng)中直接完成了硬件設(shè)備的調(diào)試,可以得知硬件幾乎沒有出現(xiàn)任何問題。在進(jìn)行軟件調(diào)試的時(shí)候,曾遇到以下問題。
第一,在初次啟動(dòng)硬件時(shí)發(fā)現(xiàn),LED 的亮度存在著不均勻現(xiàn)象。通過分析可以得知,在程序當(dāng)中的相關(guān)程序顯示時(shí)出現(xiàn)延時(shí)。
第二,在對(duì)按鍵進(jìn)行調(diào)試的時(shí)候,當(dāng)按下任意一個(gè)按鍵的時(shí)候,系統(tǒng)處于定格狀態(tài),再按下按鍵沒有出現(xiàn)任何反應(yīng)。對(duì)程序進(jìn)行查詢得知,在循環(huán)和延時(shí)的程序當(dāng)中,對(duì)于寄存器的重復(fù)使用導(dǎo)致該現(xiàn)象出現(xiàn)。
本文簡要概述了公交車語音報(bào)站系統(tǒng),通過本文的研究認(rèn)識(shí)到系統(tǒng)的軟件和硬件組成。文章中概述了不同模塊的工作原理和實(shí)現(xiàn)方式,同時(shí)對(duì)系統(tǒng)軟件作出設(shè)計(jì),給出總體思路,為公交車語音報(bào)站系統(tǒng)的后期研究工作提供支持。