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