《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 多功能无线自助点菜系统设计
多功能无线自助点菜系统设计
来源:微型机与应用2012年第11期
汪 波,梁 伟,曾健平
(湖南大学 物理与微电子科学学院,湖南 长沙 410082)
摘要: 为使无线点菜群体普及化,以微控制器STC89C52为核心控制数据的发送和接收、时间实时显示、语音提醒,系统采用无线通信芯片IA4421,上位机界面通过Visual Basic来实现。系统具有低成本、易操作、低误码率的特点,通过对系统进行功能调试与性能分析,该系统在中低档餐厅中具有较高的应用价值。
Abstract:
Key words :

摘  要: 为使无线点菜群体普及化,以微控制器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.

此内容为AET网站原创,未经授权禁止转载。