聶 茹
(華南理工大學(xué)廣州學(xué)院電子信息工程學(xué)院,廣州 510800)
隨著我國(guó)城市建設(shè)的發(fā)展,公交車已成為人們的主要交通工具,公交車的服務(wù)質(zhì)量代表了一個(gè)城市交通發(fā)展的水平。如今由售票員人工售票,報(bào)站的公交車已經(jīng)基本沒(méi)有了,無(wú)人售票公交車在街頭逐漸多起來(lái)了,語(yǔ)音報(bào)站器也被廣泛使用,這在相當(dāng)大程度上免除了乘務(wù)人員沿途報(bào)站的麻煩,給許多不熟悉公交線路的乘客帶來(lái)了方便。隨著單片機(jī)技術(shù)的日益成熟,多媒體技術(shù)的普通應(yīng)用,公交車語(yǔ)音報(bào)站器系統(tǒng)的服務(wù)得到進(jìn)一步完善。
在結(jié)合單片機(jī)和公交車報(bào)站器特點(diǎn)的基礎(chǔ)上,設(shè)計(jì)了一種基于單片機(jī)STC89C52來(lái)控制語(yǔ)音芯片ISD4004進(jìn)行公交車語(yǔ)音報(bào)站,并通過(guò)LCD1602來(lái)顯示當(dāng)前實(shí)時(shí)情況的公交車自動(dòng)報(bào)站系統(tǒng)。該公交車報(bào)站器系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,音質(zhì)清晰,可以在各種公交車上提供及時(shí)報(bào)站服務(wù),具有很強(qiáng)的實(shí)用性。
公交車自動(dòng)報(bào)站系統(tǒng)的主要功能如下:
(1)不同公交線路站名的輸入和更換。
(2)實(shí)現(xiàn)完整手動(dòng)播報(bào)一條公交線路的站名,包括上行線路與下行線路。
(3)進(jìn)行語(yǔ)音播報(bào),使報(bào)站器更人性化。
(4)可以在LED顯示屏上顯示時(shí)間、日期、報(bào)站信息、提示語(yǔ)和廣告。
(5)利用汽車后門的打開(kāi)與關(guān)閉實(shí)現(xiàn)對(duì)當(dāng)前站名的播報(bào)和下一站的預(yù)報(bào),當(dāng)播報(bào)出錯(cuò)時(shí)還可以利用調(diào)試按鈕對(duì)播報(bào)系統(tǒng)進(jìn)行調(diào)試。
本系統(tǒng)硬件部分主要包括MCU微處理控制器單元、LCD液晶顯示模塊、語(yǔ)音芯片、功放、按鍵控制、紅外電路模塊、溫度測(cè)試模塊、實(shí)時(shí)時(shí)鐘電路、晶振電路、電源模塊等電路。
系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)以STC89C52單片機(jī)為CPU進(jìn)行系統(tǒng)搭建,它是宏晶科技推出的新一代高速、低功耗、超強(qiáng)抗干擾的單片機(jī),具有8K可編程Flash存儲(chǔ)器,512字節(jié)RAM,32位I/O口線,指令代碼完全兼容傳統(tǒng)8051[1]。
系統(tǒng)利用液晶1602模塊進(jìn)行顯示。LCD1602是一種用5×7點(diǎn)陣圖形來(lái)顯示字符的液晶顯示器模塊,它顯示的容量為2行16個(gè)字。它的顯示內(nèi)容豐富、體積小、美觀和易于控制都是本設(shè)計(jì)選擇它作為顯示模塊的原因。常以I/O口方式進(jìn)行讀寫訪問(wèn),在該設(shè)計(jì)中,我們使用P0口直接驅(qū)動(dòng)1602,由P2.0、P2.1、P2.2 這3 個(gè)引腳做控制端。
語(yǔ)音芯片采用 ISD4004。美國(guó) ISD公司的ISD4004芯片是一種功能非常強(qiáng)大的語(yǔ)音芯片[2],它的錄放時(shí)間為8至16分鐘,而本公交車系統(tǒng)的錄音時(shí)間長(zhǎng),采用ISD4004利于每個(gè)站臺(tái)的錄音和報(bào)站。另外在控制上,ISD4004可以直接通過(guò)地址方式查詢錄音信息并通過(guò)揚(yáng)聲器報(bào)放錄音信息。最后也是最重要的,ISD4004具有錄音結(jié)束標(biāo)志,當(dāng)錄音結(jié)束后,單片機(jī)可以通過(guò)讀取該標(biāo)志產(chǎn)生中斷信號(hào),使CE、PD置高電平,從而控制ISD4004進(jìn)入不工作節(jié)能狀態(tài)。
紅外無(wú)線控制電路,由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專用集成電路芯片來(lái)進(jìn)行控制操作。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。
實(shí)時(shí)時(shí)鐘模塊采用DS1302時(shí)鐘芯片實(shí)現(xiàn)。DS1302是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路[3],它可以對(duì)年、月、日、星期、時(shí)、分、秒計(jì)時(shí),DS1302與單片機(jī)之間用同步串行的方式進(jìn)行通信,用RST(復(fù)位)、I/O(數(shù)據(jù)線)、SCLK(串行時(shí)鐘)這三個(gè)接口線進(jìn)行連接。
溫度傳感模塊采用單總線數(shù)字溫度傳感器DS18B20,單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換,控制都由這根線完成。DALLAS公司的DS18B20是這樣一種獨(dú)特的溫度傳感器,它只需一個(gè)接口引腳即可通信,可用數(shù)據(jù)線供電,并具備多點(diǎn)測(cè)溫能力[4]。DS18B20具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn)[5],本設(shè)計(jì)在P3.3懸掛該溫度傳感器。
按鍵控制模塊使用簡(jiǎn)單的獨(dú)立式按鍵來(lái)控制報(bào)站信息,同時(shí)設(shè)置系統(tǒng)在不同功能下單個(gè)按鍵的功能也隨之不同。按鍵采用重復(fù)使用功能,這使系統(tǒng)看起來(lái)較簡(jiǎn)便,控制簡(jiǎn)單,設(shè)計(jì)新穎。
系統(tǒng)的軟件設(shè)計(jì)包括中斷服務(wù)程序、錄音/放音控制程序、紅外遙控解碼程序及主程序的設(shè)計(jì)。
在CPU工作的同時(shí),它也在查詢INTO是否有中斷信號(hào)(低電平有效)產(chǎn)生。當(dāng)檢查到有中斷信號(hào)時(shí),CPU發(fā)出讓顯示器和ISD4004工作的控制信號(hào),把接收到的站牌信息顯示并播報(bào)出來(lái),播報(bào)結(jié)束后,系統(tǒng)返回到相應(yīng)的主程序。圖2為本設(shè)計(jì)使用的中斷服務(wù)程序流程圖。
圖2 中斷服務(wù)流程圖
如果有按鍵按下,電路將執(zhí)行該按鍵指向的工作程序。有放音鍵,停止鍵,加一,減一鍵以及特殊語(yǔ)鍵。在待機(jī)狀態(tài)下,如果放音鍵首次被按下,程序?qū)⑹紫扰袛嗍侨ミ€是回(公交車路徑一般是既去又回的),并點(diǎn)亮相應(yīng)的指示燈。自動(dòng)讀出第一站的放音內(nèi)容,站號(hào)顯示1。如果不是首次按下,程序則首先判斷當(dāng)前站號(hào),并以該站號(hào)為依據(jù)獲得存放該站放音內(nèi)容的首地址。調(diào)用放音子程序,讀入前面獲得的本站放音內(nèi)容首地址,開(kāi)始放音。每一句放音完畢后,ISD4004的中斷引腳(25腳)會(huì)自動(dòng)送一低電平信號(hào)。在硬件設(shè)計(jì)中,該引腳與單片機(jī)的P3.3連接。因此,會(huì)引起一次中斷,在中斷子程序中會(huì)有一個(gè)計(jì)數(shù)器記錄中斷次數(shù),從而判斷何時(shí)一站結(jié)束,站號(hào)加一并刷新顯示。加一鍵按下后則使程序放音內(nèi)容轉(zhuǎn)向下一站,減一鍵則使程序放音內(nèi)容轉(zhuǎn)向上一站,相應(yīng)的站號(hào)顯示也將隨之刷新。特殊語(yǔ)鍵按下后,程序轉(zhuǎn)向執(zhí)行特殊語(yǔ)放音(比如拐彎請(qǐng)注意等語(yǔ)句)。停止鍵被按下將中止當(dāng)前的放音狀態(tài)。
系統(tǒng)的主程序設(shè)計(jì)是用來(lái)控制整個(gè)系統(tǒng)運(yùn)行的時(shí)序工作狀態(tài),因此,完善的程序設(shè)計(jì)是本設(shè)計(jì)的重點(diǎn)內(nèi)容。圖4是本設(shè)計(jì)使用的主程序設(shè)計(jì)流程圖。
圖3 錄音/放音程序流程圖
圖4 主程序流程圖
以STC89C52單片機(jī)為核心設(shè)計(jì)公交車自動(dòng)報(bào)站系統(tǒng)。系統(tǒng)經(jīng)過(guò)實(shí)際調(diào)試,可以正常運(yùn)行,音質(zhì)清晰,在各種公交車上都可以提供及時(shí)報(bào)站服務(wù),具有很強(qiáng)的實(shí)用性。
[1]劉維紅,譚永超.基于STC89C52單片機(jī)的電子時(shí)鐘研究[J].機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2012(9):57-58.
[2]靖大同,吳向前,司志澤.基于ISD4004芯片的電梯智能語(yǔ)音系統(tǒng)的設(shè)計(jì)[J].電子世界,2012(11):35-36.
[3]裘昌利,金美善,楊坤.串行時(shí)鐘芯片DS1302在單片機(jī)系統(tǒng)中的應(yīng)用[J].現(xiàn)代教育科學(xué),2010(1):96-97.
[4]何慧娟,何芝仙,趙轉(zhuǎn)哲.基于DS18B20的單片機(jī)溫控系統(tǒng)[J].科技信息,2008(13):149-150.
[5]王琪,朱光衡.一種基于DS18B20的單點(diǎn)測(cè)溫方法的研究[J].科技傳播,2011(17):223-224.