侯益坤,劉艷萍,劉益標
(廣東工貿(mào)職業(yè)技術(shù)學(xué)院電氣自動化系,廣東 廣州 510510)
隨著單片機開發(fā)技術(shù)的不斷發(fā)展,目前在全世界利用單片機設(shè)計的嵌入式系統(tǒng),帶來了工業(yè)的騰飛。隨著汽車行業(yè)快速發(fā)展,出租車日益普遍,了解出租車的計費系統(tǒng),對我們的日常生活也有很大幫助。
利用PIC單片機C語言,實現(xiàn)出租車計費系統(tǒng),使其實現(xiàn)計費以及預(yù)置和模擬汽車啟動、停止、復(fù)位等功能,并使用TG12864E液晶模組作為顯示器,可以顯示數(shù)字、字母、中文、圖片等,使系統(tǒng)信息一目了然。本系統(tǒng)除了里程統(tǒng)計和費用計算以外,還具有萬年歷和語音播報功能:萬年歷由時鐘芯片PCF8563實時提供時鐘信號,再由單片機調(diào)用顯示;語音播報由語音芯片ISD1420提供語音信息,語音信息放在不同的地址里,由單片機從這些地址中,調(diào)用合適的語音進行播放,突出了該語言良好的可讀性、靈活和易理解等優(yōu)點。
計費系統(tǒng)以PIC單片機為系統(tǒng)核心,利用PIC16F877單片機配合TG12864液晶模組,以及ISD1420語音模塊等,實現(xiàn)基本的出租車計價器功能。
本系統(tǒng)是由PIC單片機、液晶顯示模塊、計數(shù)脈沖發(fā)生器、系統(tǒng)實時時鐘以及語音等模塊組成。系統(tǒng)功能框圖如圖1所示。
圖1 系統(tǒng)功能框圖
PIC16F877單片機是一種具有FLASH程序存儲器的8位COMS單片機,采用高性能的哈佛雙總給結(jié)構(gòu)CPU和RISC指令集,CPU可同時訪問數(shù)據(jù)存儲器和程序存儲器,是一種高速、低功耗及功能齊全的微處理芯片,內(nèi)部含有FLASH、ROM、RAM、EEPROM、I/O端口、A/D轉(zhuǎn)換器、捕捉器/比較器/PWM、串行通信端口、定時器/計數(shù)器和中斷控制器,以及數(shù)據(jù)總線、數(shù)據(jù)存儲器總線和程序存儲器總線。其中數(shù)據(jù)總線和數(shù)據(jù)存儲器總線是8位寬,程序存儲器總線是14位寬。集成于片內(nèi)的數(shù)據(jù)存儲器,通過片內(nèi)的8位總線與算術(shù)邏輯單元ALU連接,可以直接通過內(nèi)部總線傳送信息,以寄存器方式工作和尋址。
數(shù)據(jù)采集主要采集車輪的轉(zhuǎn)速等開關(guān)量信號,采集電路如圖2所示,外部開關(guān)量進入光電耦合器件TLP521-4,TLP521-4的輸出端連接到單片機的I/O口,供CPU查詢外部開關(guān)量的狀態(tài)。
圖2 開關(guān)量采集電路圖
語音播放模塊電路用于播放提示音、行駛里程、費用等,電路如圖3所示。
ISD1420系列單片錄放時間為8~20 s,音質(zhì)好。芯片采用CMOS技術(shù),內(nèi)含震蕩器、話筒前置放大、自動增益控制、防混淆濾波器、平滑濾波器、揚聲器驅(qū)動及EEPROM陣列,最小的錄放系統(tǒng)僅需麥克風(fēng)、喇叭、兩個按鈕、電源及少數(shù)電阻電容。
圖3 語音播放電路圖
在錄放操作結(jié)束后,芯片自動進入低功耗節(jié)電模式、功耗僅0.5 μA。ISD1420系列有唯一的錄音控制和邊緣/電平觸發(fā)兩種放音控制。不分段時外圍線路最簡,也可按最小段長為單位任意組合分段,芯片提供若干操作模式,大大提高了控制的靈活性。芯片采用多電平直接模擬量存儲專利技術(shù),每個采樣直接存儲在片內(nèi)單個EEPROM單元中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)各效果,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。采樣頻率從5.3 kHz、6.4 kHz到8.0 kHz,對音質(zhì)僅有輕微影響。片內(nèi)信息可保存100年(無需后備電源),EEPROM單片可反復(fù)錄音10萬次。
PCF8563是PHILIPS公司推出的一款工業(yè)級、內(nèi)含I2C總線接口功能的具有極低功耗的多功能時鐘/日歷芯片,PCF8563的多種報警功能、定時器功能、時鐘輸出功能以及中斷輸出功能,能完成各種復(fù)雜的定時服務(wù),甚至可為單片機提供看門狗功能,內(nèi)部時鐘電路、內(nèi)部振蕩電路、內(nèi)部低電壓檢測電路1.0 V以及兩線制I2C總線通訊方式,不但使外圍電路極其簡潔,而且增加了芯片的可靠性,同時每次讀寫數(shù)據(jù)后內(nèi)嵌的字地址寄存器會自動產(chǎn)生增量,電路如圖4所示。
圖4 時鐘電路圖
利用液晶顯示模塊,可以將PIC16F877單片機處理后的信息進行顯示,方便查看實時數(shù)據(jù)。12864 E液晶顯示器,是一種具有8位并行接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊,其顯示分辨率為128×64,內(nèi)置8 192個16×16點漢字和128個16×8點ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面,可以顯示8×4行16×16點陣的漢字,也可完成圖形顯示。低電壓低功耗是其又一顯著特點。液晶顯示模塊電路如圖5所示。
圖5 液晶顯示電路圖
軟件設(shè)計采用模塊化設(shè)計,各個模塊之間做到低耦合、高內(nèi)聚。軟件設(shè)計主要包括以下幾個部分:單片機I/O口初始,定時器初始化,液晶模塊初始化,外部開關(guān)量采集子程序等,主程序里面調(diào)用各個模塊,主程序流程圖如圖6所示。
基于PIC16F877單片機的出租車計費系統(tǒng),實現(xiàn)數(shù)據(jù)的實時采集和顯示,通過系統(tǒng)軟硬件的設(shè)計和調(diào)試,實際使用情況良好,費用低廉。該系統(tǒng)已廣泛應(yīng)用于出租車,取得較好的經(jīng)濟效益。
圖6 主程序流程圖
[1]丁躍軍,等.PIC單片機基礎(chǔ)教程[M].北京:北京航天航空大學(xué)出版社,2005.
[2]周立功,PCF8563.pdf.[BE/OL].http://www.zlgmcu.com.2006.
[3]江 和.PIC16系列單片機C程序設(shè)計與PROTEUS仿真[M].北京:北京航天航空大學(xué)出版社,2010.
[4]周立功,ISD1420.pdf.[BE/OL].http://www.zlgmcu.com.2006.
[5]周 堅.PIC單片機輕松入門[M].北京:北京航天航空大學(xué)出版社,2009.