摘 要: 為使無線點菜群體普及化,以微控制器STC89C52為核心控制數(shù)據(jù)的發(fā)送和接收,、時間實時顯示,、語音提醒,系統(tǒng)采用無線通信芯片IA4421,,上位機界面通過Visual Basic來實現(xiàn),。系統(tǒng)具有低成本、易操作,、低誤碼率的特點,,通過對系統(tǒng)進行功能調(diào)試與性能分析,,該系統(tǒng)在中低檔餐廳中具有較高的應(yīng)用價值。
關(guān)鍵詞: 無線點菜,;STC89C52,;IA4421;VB界面設(shè)計,;多功能
目前無線餐飲點餐設(shè)備經(jīng)歷三個階段:紅外點菜方式,、IC卡(包括接觸式,非接觸式)點菜方式以及無線射頻點菜方式,。紅外點餐器在數(shù)據(jù)發(fā)送時,,對方向性要求苛刻,發(fā)送點菜數(shù)據(jù)流的速度也很慢,;IC卡點餐器點菜過程繁瑣,,數(shù)據(jù)發(fā)送不能隨時隨地,效率低,。因此紅外和IC卡點菜方式作為無線餐飲終端設(shè)備已經(jīng)被新技術(shù)淘汰,,已研制出了射頻無線點餐方案。這類點菜終端主要有“無線基站+點餐機”和“PDA+無線網(wǎng)卡”兩種模式,。PDA小巧易用,、便于操作、產(chǎn)品外形美觀大方,、功能齊全,、設(shè)計考究,但是使用PDA作為點餐機是牽強的,,因為其使用對象是最高層的餐飲企業(yè),,不是針對群體,沒有普遍性,,作為工業(yè)級產(chǎn)品,,并不合適。
本文基于STC89C52的無線點菜系統(tǒng)手持終端價格便宜,,一臺手持終端的價格約在50~70元,,且無線模塊的功耗和誤碼率都低、VB界面清晰易讀,,整個系統(tǒng)性價比高,。
1 系統(tǒng)硬件電路設(shè)計
系統(tǒng)電路設(shè)計主要是指多功能點菜終端的設(shè)計,本設(shè)計通過矩陣鍵盤輸入菜名編號,,在12864液晶上顯示出菜名,、價格、編號等信息,,并且存儲在AT24C02存儲器里,,以方便客戶查看所點菜單,。無線通信模塊(上位機端)IA4421以用來接收和發(fā)送數(shù)據(jù),,保持與上位機的通信,;DS12887芯片是一塊實時時鐘芯片,可以顯示年,、月,、日、星期,、時,、分、秒,、屬年等信息,;ISD4004具有人性化的語音功能和提醒客戶的重要信息,方便實用,。這里重點介紹無線通信的電路設(shè)計以及其與MCU的接口電路,,系統(tǒng)硬件框圖如圖1所示。
1.1無線收發(fā)模塊電路設(shè)計
無線通信芯片IA4421是一款低功耗,、通用ISM頻段FSK收發(fā)器,,工作在433 MHz頻率下,最高發(fā)射功率為10 mW,,符合微功率短距離無線電技術(shù)要求[1],。IA4421具有抗干擾能力強和低誤碼率、傳輸距離遠(可靠傳輸距離可達300~4 000 m),、透明的數(shù)據(jù)傳輸,、多信道、高可靠性,、體積小,、重量輕、低成本等特點,。模塊內(nèi)部集成了高頻功率放大器(PA),、低噪聲功率放大器(LNA)、I/Q轉(zhuǎn)換混頻器,、基帶濾波器,、功率放大器和I/Q解調(diào)器,集成了必需的射頻功能,,其模塊外圍電路如圖2所示,。
2.1 手持終端程序功能實現(xiàn)
點菜的信息分為10 B數(shù)據(jù),第一個字節(jié)數(shù)據(jù)為桌號,,后9 B數(shù)據(jù)為菜名編號,。每選一個菜,,按下“選菜”按鈕后,會將菜名與價格信息顯示在液晶上,,同時會將菜名編號寫入存儲器中,,方便客戶查詢?yōu)g覽。選好菜后,,按下“確定”按鈕,,count=0,接收寄存器SBUF裝載第一個字節(jié)數(shù)據(jù),,RI=1,,進入中斷服務(wù)函數(shù);RI=0,,且按count++,,接收下一個數(shù)據(jù),依次將10 B的數(shù)據(jù)都發(fā)送出去,,如果要刪除所點菜,,只需按下“Delete”按鈕,即可向相應(yīng)的存儲器位置寫入一個0,,被上位機接收后,,就可認(rèn)為此處為“空”。
2.2 上位機界面
上位機界面功能:
?。?)具備實時接收手持終端信息的功能,,可以將顧客所點菜單實時接收到主機;
?。?)具有保存菜單功能,,可以隨時查看之前接收到的菜單;
?。?)桌面可滾動接收6組菜單,,查看最近接收的6個菜單,且打印出菜單[4],;
?。?)可以提示菜單當(dāng)前狀態(tài),狀態(tài)包括是否已經(jīng)上菜完畢,、點菜時間及上菜完畢時間,。
2.3 上位機界面功能實現(xiàn)
無線數(shù)據(jù)接收使用VB的系統(tǒng)控件MSCOMM,MSCOMM控件提供了兩種處理通信的方式:
?。?)事件驅(qū)動方式:當(dāng)通信事件發(fā)生時,,MSCOMM控件會觸發(fā)OnComm事件,調(diào)用者能夠捕獲該事件,通過檢查其CommEvent屬性便可確認(rèn)發(fā)生的是哪種事件或錯誤,,從而進行相應(yīng)的處理,。這種方法的優(yōu)點是響應(yīng)及時、可靠性高,。
?。?)查詢方式:在程式的每個關(guān)鍵功能之后,能夠通過檢查CommEvent屬性的值來查詢事件和錯誤,。假如應(yīng)用程式較小,,這種方法可能更可取,。例如,,寫一個簡單的電話撥號程式,則沒有必要每接收1個字符都產(chǎn)生事件,,因為惟一等待接收的字符是調(diào)制解調(diào)器的“確定”響應(yīng),。
在使用MSCOMM控件時,1個MSCOMM控件只能也只有1個OnComm事件,,只對應(yīng)著1個C 類即CMSComm,,同時對應(yīng)1個串口。假如應(yīng)用程式需要訪問和控件多個串口,,則必須使用多個MSCOMM控件,。
MSCOMM控件有許多很重要的屬性,如表1所示,。
本文從實際應(yīng)用出發(fā),,設(shè)計出了一款低成本、多功能的無線點餐方案,。由于通信模式采用的是FSK調(diào)制,,故系統(tǒng)在頻率環(huán)境復(fù)雜的情況下,抗干擾能力強,、通信距離遠,、誤碼率低、數(shù)據(jù)的準(zhǔn)確性高,、出現(xiàn)數(shù)據(jù)混亂性的幾率小,。在室內(nèi)情況下,測得的誤碼率P=10-5,,通信距離可達35 m,,而且可以穿透某些障礙物的干擾不丟失數(shù)據(jù)。系統(tǒng)有普遍意義,,適合中低檔餐廳使用,。
參考文獻
[1] 黃婷,施國梁.單片機無線通信系統(tǒng)的設(shè)計與實現(xiàn)[J].微處理機,2010(3):27-31.
[2] 沙占友.單片機外圍電路設(shè)計[M].北京:電子工業(yè)出版社,,2003:24-200.
[3] 馬忠梅.單片機的C語言應(yīng)用程序設(shè)計(修訂版)[M].北京:北京航空航天大學(xué)出版社,,2003:35-107.
[4] 段興.Visual Basic數(shù)據(jù)庫實用程序設(shè)計100例[M].北京:人民郵電出版社,2002:263.
[5] 劉天惠.Visual Basic程序設(shè)計教程[M].北京:清華大學(xué)出版社,,2006:63-200.