基于STC89C516的超市智能购物车研发
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( Department of Electronic and Engineering, Beijing Jiaotong University, Beijing 100044 China ) Abstract: This paper introduces an intelligent shopping cart for supermarket based on the STC89C516 single-chip microcomputer,
图 2 液晶显示和按键输入电路的 proteus 仿真结果图
3.3 条形码识读器和 RS232 接口电路[2]
选用串行接口的条形码扫描枪,因为单片机本身集成了串口
图 3 RS232-RTTL 转接电路图
3.4 无线数据传输系统
(1)下位机端(购物车端) 采用 FC-201/VB 微功率数传模块,此模块特点如下: ①微功率发射:发射功率仅为 10 mW。 ②工作频率在 ISM 频段:无需申请频点,载频频率 489MHz。
图 4 无线数据发送与接收总体框图(购物车数量按超市所需确定)
整个系统采用多对一通讯方式,即数个下位机购物车与一个 上位机进行通讯。如果超市规模较大,购物车数量较多,为了使顾 客不用在结算处排队等候,超市也可设立多台上位机(即多个结 算处),每个上位机负责与一定数量的购物车进行通讯,接收购物 清单等信息。
⑦低功耗:接 收 情 况 下:电流≤ 2 5 m A , 发 射 情 况 下:电 流≤ 35mA。
(2)上位机端(超市主机端) 上位机端仍用FC201/VB数传模块接收数据,输出端经TTL
— EIA 电平转换电路后与上位机(即超市结算处的主机)相连, 以使顾客的购物清单信息无线传送至超市主机处。无线数据发送
Techniques of Automation & Applications | 95
《自 动 化 技 术 与 应 用 》2 0 0 9 年第 2 8 卷第 6 期
经验交流
Technical Communications
与接收总体框图见图4。
使用C语言编写程序并在Keil上编译,并烧入单片机后使其 运行正确,主程序流程图如图 5所示。
关键词:智能购物车;单片机;液晶显示;条形码识读器;无线数传 中图分类号:TP29 文献标识码:B 文章编号:1003-7241(2009)06-0094-04
A STC89C516 MCU-Based Intelligent Shopping Cart for Supermarket
ZHANG Zhe
4.3 上位机(结算处主机)子程序
结算处主机子程序流程见图7。
(下转第124页)
《自 动 化 技 术 与 应 用 》2 0 0 9 年第 2 8 卷第 6 期
经验交流
Technical Communications
Young Lee, Xin Yao.Proceedings of the 9th International Conference,2002.Neural Information Processing,2002,5:2479-2483.
《自 动 化 技 术 与 应 用 》2 0 0 9 年第 2 8 卷第 6 期
经验交流
Technical Communications
基于 STC89C516 的超市智能购物车研发
张喆
(北京交通大学 电子信息工程学院,北京 100044)
摘 要:为了让消费者体会到超市购物的便利,设计、研发了基于 STC89C516 单片机的超市智能购物车。整个系统由单片机、液晶 显示、条形码识读器、无线数传等几部分组成。具有商品定位、自助结算、便利查询超市商品广告和打折信息、无线传输购 物清单等功能。
1 引言
随着人民生活水平的不断提高,为满足广大消费者购物需求, 连锁超市、便利店等购物形式越来越受到广大消费者青睐。但在 超市购物中,特别是在规模大、品种多的大型超市中,顾客时常找 不到欲购买的商品的位置,了解超市的商品广告及打折信息也很 不方便,直接影响到顾客购物情趣和超市营业额。另外,收银台结 帐也是一大瓶颈,每逢周六、日,收银台处的长龙也着实让人望而 却步。因此研发基于STC89C516单片机的超市智能购物车就是 为了改变这一现状,使顾客可自行查询商品信息及位置、扫描欲 购物品条码,购物车能自动显示所购物品总价,大大节省购物时间 和结算时间,真正让消费者体会到超市购物的便利。
2 设备功能及操作流程
在普通购物车上配备一套电子设备,购物车前端有一个微小 的电子显示屏,顾客可以在上面查询欲购买的商品,然后根据数据 库存储的相关信息指出商品在超市中的位置,从而使顾客快捷地
收稿日期:2009-04-09
94 | Techniques of Automation & Applications
频谱环境洁净,干扰少。 ③传输距离远:在视距情况下,传输距离大于 300m(功率
10mW),所以此距离应用于大型超市已经足够了。 ④提供透明的数据接口,能适应任何标准或非标准的用户协
议。具有高抗干扰能力和低误码率,能自动过滤掉空中产生的噪 音信号及假数据(所发即所收),因此该设备能够有效的避免顾客 的手机信号对其传输数据所造成的干扰。
程序的初始化主要包括液晶屏的初始化,包括清屏,功能设 置,显示开关控制及输入方式等;键盘按键功能的设置;定时器工 作方式的设置(用于波特率发生器);串口工作方式的设置。
4.2 无线收发模块子程序
为了实现上位机与下位机的一对多通信,可采用多处理机通 信方式。在串行口控制器 SCON 中设有多处理机通信位 SM2 (SCON.5)。当串行口以方式 2 或方式 3 接收时,SM2=1 时,如果 接收到的第9位数据(RB8)为1,才将数据送入接收缓冲器SBUF, 并 RI 置 1 发中断;否则数据丢失。SM2=0 时,无论第 9 位数据 (RB8)是 1 还是 0,都能将数据装入 SBUF,并且发中断。利用这 一特性,便可实现主机与多个从机之间的串行通信。无线收发 模块子程序流程见图6。
找到商品。找到商品后顾客如果决定购买则可用购物车上配备的 条形码识读器对商品进行自行扫描,价格将直接计入总价。在顾 客购买完毕之后,可将购物清单无线发送至超市主机以方便超市 进行备份、核对。当顾客来到出口时,可根据购物车上的电子显 示屏显示的总价或结算处的电脑上显示的总价直接付现金或刷卡 即可。因此顾客们就不必像以往一样在收款台前为等待收银员为 大家分别扫描商品、计价而排长队等候,就节省了收银员的收款 时间及顾客的时间,提高了效率。电子显示屏上也可显示出商品 广告和打折信息,便于超市对商品进行促销和方便消费者了解商 品信息。
which is composed of LCD12864, the barcode scanner gun, wireless data transmission and so on. Key words: intelligent shopping cart; single-chip microcomputer; LCD12864; barcode scanner gun; wireless data transmission
图 1 硬件系统总体框图
3.2 液晶显示系统及按键输入电路[1]
LCD选用了带字库的12864图形点阵液晶屏,单片机的P0口 接 10K 的上拉电阻后连接 LCD 的数据线(DB0 —— DB7),P2.0 接 LCD 的 RS,用于产生寄存器的选择信号;P2.1 接 LCD 的 RW, 用于产生读 / 写信号;P2.2 接 LCD 的 E 使能端;P2.3 和 P2.4 分别 接LCD的CS1和CS2,分别用于产生选择右半屏信号和左半屏信 号。LCD 的 RET 为复位信号端,接高电平;V0 和 VOUT 分别接 滑动变阻器,用于调节液晶屏的对比度。P1 口与 4 乘 4 键盘相连, 用于进行人机交互。其中键盘上 2、4、6、8 四个按键为方向键, 用于使光标左右、上下移动,5为确定键,按下即可进入下一层菜 单。液晶显示和按键输入电路的 proteus 仿真结果见图 2。
⑤接口方式 FC-201/VB 型模块提供串行接口,接口电平为 TTL电平,与单片机连接时不需要通过电平转换,非常方便。空中 传输波特率为1200bps,采用偶校验方式(其他校验方式需定制)。
⑥智能数据控制:FC-201/VB 为标准的半双工通信模式,用 户无需编写多余的程序,只要从异步串行接收/发出数据即可,其 它如空中收 / 发转换、控制等操作,FC-201/VB 能够自动完成。
[2] HAIFENG LI, THIERIY ARTIIRES,PATRICK GALLINARI,BERNADETTE DORIZZI.VQ-based on-line handwritten character recognition through learning and adaptive edit distances.Proceedings of the 9th International Conference,2002. Neural Information Processing,2002,4: 2008-2012.
百度文库
经验交流
Technical Communications
《自动化技术与应用》2009 年第 2 8 卷第 6 期
字节,可重复擦写其中内容。因此选用此型号的单片机极大的方 便了超市工作人员根据超市商品情况的变化(价格,位置等)及 时的更改单片机中储存的相关信息,以使顾客能够了解到超市商 品的最新情况。工作电压 5.5-4.0 V,加上晶振和复位电路后即 构成了单片机的最小系统。
通信的IP核,串口的控制是相当成熟和简单的,只需做软件上的设 计。条码扫描枪输出的数据经 RS232 — TTL 电平转换电路后传 送至单片机,单片机接收到商品的条形码值后即在内部存储的数 据库中查找与该条码值对应的商品,并自动将该商品价格与之前 购买的商品价格进行累加。购物完毕后顾客根据显示屏上显示的 消费总额付相应的金额或者刷卡即可。这样不仅使顾客能够很方 便的得知当前的消费总额,避免超支,而且超市收银台处也不用为 顾客一个一个的扫描商品并进行结算,节约了时间,提高了效率。 RS232 — TTL 转接电路见图 3。
[3] HAIFENG LI,THIERRY ARTIERES, PATRICK GALLINARI.Data driven design of an ANN/HMM system for on-line unconstrained handwritten character recognition. Proceedings.Fourth IEEE International Conference,2002.Multimodal Interfaces,2002:149-154.
4 软件设计[1]
4.1 主程序流程
图 5 主程序流程图
96 | Techniques of Automation & Applications
图 6 无线收发模块子程序流程图
如前所述,我们为每个主机分管的购物车(从机)都挨个编 上号,并保证每辆车的编号是唯一的。顾客执行发送购物清单的 命令后,首先购物车发送自己的编号和请求信息至主机,主机此时 若处于空闲状态,则将所有从机中的SM2均置1,并处于允许串行 口中断接收状态。然后向所有从机发出刚才提出请求的从机的地 址(即购物车编号),最后才发送允许响应的信号。发地址时TB8 为 1,发数据时 TB8 为 0。各从机响应地址信息后,若此地址与自 己的相同,则将自己的SM2清0,然后接收到主机先允许响应的命 令后即可发送购物清单至主机,若地址不符,则 SM2 仍为 1,拒收 信息。这样就保证了实现主机与各个从机的一对多通信。
3 硬件系统基本架构
硬件系统的总体框图如图1所示。 本系统由8部分组成,下面对各个部分一一做详细介绍。
3.1 单片机及其最小系统[1-3]
智能购物车的 MCU 选取了宏晶公司的 STC89C516RD+ 单 片机,此单片机支持可在线编程,用户可直接将程序通过串口下载 到单片机中即可运行,非常方便。内含 64K 的 Flash 程序存储器
图 2 液晶显示和按键输入电路的 proteus 仿真结果图
3.3 条形码识读器和 RS232 接口电路[2]
选用串行接口的条形码扫描枪,因为单片机本身集成了串口
图 3 RS232-RTTL 转接电路图
3.4 无线数据传输系统
(1)下位机端(购物车端) 采用 FC-201/VB 微功率数传模块,此模块特点如下: ①微功率发射:发射功率仅为 10 mW。 ②工作频率在 ISM 频段:无需申请频点,载频频率 489MHz。
图 4 无线数据发送与接收总体框图(购物车数量按超市所需确定)
整个系统采用多对一通讯方式,即数个下位机购物车与一个 上位机进行通讯。如果超市规模较大,购物车数量较多,为了使顾 客不用在结算处排队等候,超市也可设立多台上位机(即多个结 算处),每个上位机负责与一定数量的购物车进行通讯,接收购物 清单等信息。
⑦低功耗:接 收 情 况 下:电流≤ 2 5 m A , 发 射 情 况 下:电 流≤ 35mA。
(2)上位机端(超市主机端) 上位机端仍用FC201/VB数传模块接收数据,输出端经TTL
— EIA 电平转换电路后与上位机(即超市结算处的主机)相连, 以使顾客的购物清单信息无线传送至超市主机处。无线数据发送
Techniques of Automation & Applications | 95
《自 动 化 技 术 与 应 用 》2 0 0 9 年第 2 8 卷第 6 期
经验交流
Technical Communications
与接收总体框图见图4。
使用C语言编写程序并在Keil上编译,并烧入单片机后使其 运行正确,主程序流程图如图 5所示。
关键词:智能购物车;单片机;液晶显示;条形码识读器;无线数传 中图分类号:TP29 文献标识码:B 文章编号:1003-7241(2009)06-0094-04
A STC89C516 MCU-Based Intelligent Shopping Cart for Supermarket
ZHANG Zhe
4.3 上位机(结算处主机)子程序
结算处主机子程序流程见图7。
(下转第124页)
《自 动 化 技 术 与 应 用 》2 0 0 9 年第 2 8 卷第 6 期
经验交流
Technical Communications
Young Lee, Xin Yao.Proceedings of the 9th International Conference,2002.Neural Information Processing,2002,5:2479-2483.
《自 动 化 技 术 与 应 用 》2 0 0 9 年第 2 8 卷第 6 期
经验交流
Technical Communications
基于 STC89C516 的超市智能购物车研发
张喆
(北京交通大学 电子信息工程学院,北京 100044)
摘 要:为了让消费者体会到超市购物的便利,设计、研发了基于 STC89C516 单片机的超市智能购物车。整个系统由单片机、液晶 显示、条形码识读器、无线数传等几部分组成。具有商品定位、自助结算、便利查询超市商品广告和打折信息、无线传输购 物清单等功能。
1 引言
随着人民生活水平的不断提高,为满足广大消费者购物需求, 连锁超市、便利店等购物形式越来越受到广大消费者青睐。但在 超市购物中,特别是在规模大、品种多的大型超市中,顾客时常找 不到欲购买的商品的位置,了解超市的商品广告及打折信息也很 不方便,直接影响到顾客购物情趣和超市营业额。另外,收银台结 帐也是一大瓶颈,每逢周六、日,收银台处的长龙也着实让人望而 却步。因此研发基于STC89C516单片机的超市智能购物车就是 为了改变这一现状,使顾客可自行查询商品信息及位置、扫描欲 购物品条码,购物车能自动显示所购物品总价,大大节省购物时间 和结算时间,真正让消费者体会到超市购物的便利。
2 设备功能及操作流程
在普通购物车上配备一套电子设备,购物车前端有一个微小 的电子显示屏,顾客可以在上面查询欲购买的商品,然后根据数据 库存储的相关信息指出商品在超市中的位置,从而使顾客快捷地
收稿日期:2009-04-09
94 | Techniques of Automation & Applications
频谱环境洁净,干扰少。 ③传输距离远:在视距情况下,传输距离大于 300m(功率
10mW),所以此距离应用于大型超市已经足够了。 ④提供透明的数据接口,能适应任何标准或非标准的用户协
议。具有高抗干扰能力和低误码率,能自动过滤掉空中产生的噪 音信号及假数据(所发即所收),因此该设备能够有效的避免顾客 的手机信号对其传输数据所造成的干扰。
程序的初始化主要包括液晶屏的初始化,包括清屏,功能设 置,显示开关控制及输入方式等;键盘按键功能的设置;定时器工 作方式的设置(用于波特率发生器);串口工作方式的设置。
4.2 无线收发模块子程序
为了实现上位机与下位机的一对多通信,可采用多处理机通 信方式。在串行口控制器 SCON 中设有多处理机通信位 SM2 (SCON.5)。当串行口以方式 2 或方式 3 接收时,SM2=1 时,如果 接收到的第9位数据(RB8)为1,才将数据送入接收缓冲器SBUF, 并 RI 置 1 发中断;否则数据丢失。SM2=0 时,无论第 9 位数据 (RB8)是 1 还是 0,都能将数据装入 SBUF,并且发中断。利用这 一特性,便可实现主机与多个从机之间的串行通信。无线收发 模块子程序流程见图6。
找到商品。找到商品后顾客如果决定购买则可用购物车上配备的 条形码识读器对商品进行自行扫描,价格将直接计入总价。在顾 客购买完毕之后,可将购物清单无线发送至超市主机以方便超市 进行备份、核对。当顾客来到出口时,可根据购物车上的电子显 示屏显示的总价或结算处的电脑上显示的总价直接付现金或刷卡 即可。因此顾客们就不必像以往一样在收款台前为等待收银员为 大家分别扫描商品、计价而排长队等候,就节省了收银员的收款 时间及顾客的时间,提高了效率。电子显示屏上也可显示出商品 广告和打折信息,便于超市对商品进行促销和方便消费者了解商 品信息。
which is composed of LCD12864, the barcode scanner gun, wireless data transmission and so on. Key words: intelligent shopping cart; single-chip microcomputer; LCD12864; barcode scanner gun; wireless data transmission
图 1 硬件系统总体框图
3.2 液晶显示系统及按键输入电路[1]
LCD选用了带字库的12864图形点阵液晶屏,单片机的P0口 接 10K 的上拉电阻后连接 LCD 的数据线(DB0 —— DB7),P2.0 接 LCD 的 RS,用于产生寄存器的选择信号;P2.1 接 LCD 的 RW, 用于产生读 / 写信号;P2.2 接 LCD 的 E 使能端;P2.3 和 P2.4 分别 接LCD的CS1和CS2,分别用于产生选择右半屏信号和左半屏信 号。LCD 的 RET 为复位信号端,接高电平;V0 和 VOUT 分别接 滑动变阻器,用于调节液晶屏的对比度。P1 口与 4 乘 4 键盘相连, 用于进行人机交互。其中键盘上 2、4、6、8 四个按键为方向键, 用于使光标左右、上下移动,5为确定键,按下即可进入下一层菜 单。液晶显示和按键输入电路的 proteus 仿真结果见图 2。
⑤接口方式 FC-201/VB 型模块提供串行接口,接口电平为 TTL电平,与单片机连接时不需要通过电平转换,非常方便。空中 传输波特率为1200bps,采用偶校验方式(其他校验方式需定制)。
⑥智能数据控制:FC-201/VB 为标准的半双工通信模式,用 户无需编写多余的程序,只要从异步串行接收/发出数据即可,其 它如空中收 / 发转换、控制等操作,FC-201/VB 能够自动完成。
[2] HAIFENG LI, THIERIY ARTIIRES,PATRICK GALLINARI,BERNADETTE DORIZZI.VQ-based on-line handwritten character recognition through learning and adaptive edit distances.Proceedings of the 9th International Conference,2002. Neural Information Processing,2002,4: 2008-2012.
百度文库
经验交流
Technical Communications
《自动化技术与应用》2009 年第 2 8 卷第 6 期
字节,可重复擦写其中内容。因此选用此型号的单片机极大的方 便了超市工作人员根据超市商品情况的变化(价格,位置等)及 时的更改单片机中储存的相关信息,以使顾客能够了解到超市商 品的最新情况。工作电压 5.5-4.0 V,加上晶振和复位电路后即 构成了单片机的最小系统。
通信的IP核,串口的控制是相当成熟和简单的,只需做软件上的设 计。条码扫描枪输出的数据经 RS232 — TTL 电平转换电路后传 送至单片机,单片机接收到商品的条形码值后即在内部存储的数 据库中查找与该条码值对应的商品,并自动将该商品价格与之前 购买的商品价格进行累加。购物完毕后顾客根据显示屏上显示的 消费总额付相应的金额或者刷卡即可。这样不仅使顾客能够很方 便的得知当前的消费总额,避免超支,而且超市收银台处也不用为 顾客一个一个的扫描商品并进行结算,节约了时间,提高了效率。 RS232 — TTL 转接电路见图 3。
[3] HAIFENG LI,THIERRY ARTIERES, PATRICK GALLINARI.Data driven design of an ANN/HMM system for on-line unconstrained handwritten character recognition. Proceedings.Fourth IEEE International Conference,2002.Multimodal Interfaces,2002:149-154.
4 软件设计[1]
4.1 主程序流程
图 5 主程序流程图
96 | Techniques of Automation & Applications
图 6 无线收发模块子程序流程图
如前所述,我们为每个主机分管的购物车(从机)都挨个编 上号,并保证每辆车的编号是唯一的。顾客执行发送购物清单的 命令后,首先购物车发送自己的编号和请求信息至主机,主机此时 若处于空闲状态,则将所有从机中的SM2均置1,并处于允许串行 口中断接收状态。然后向所有从机发出刚才提出请求的从机的地 址(即购物车编号),最后才发送允许响应的信号。发地址时TB8 为 1,发数据时 TB8 为 0。各从机响应地址信息后,若此地址与自 己的相同,则将自己的SM2清0,然后接收到主机先允许响应的命 令后即可发送购物清单至主机,若地址不符,则 SM2 仍为 1,拒收 信息。这样就保证了实现主机与各个从机的一对多通信。
3 硬件系统基本架构
硬件系统的总体框图如图1所示。 本系统由8部分组成,下面对各个部分一一做详细介绍。
3.1 单片机及其最小系统[1-3]
智能购物车的 MCU 选取了宏晶公司的 STC89C516RD+ 单 片机,此单片机支持可在线编程,用户可直接将程序通过串口下载 到单片机中即可运行,非常方便。内含 64K 的 Flash 程序存储器