© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
APPLICATION NOTES 应用天地
paper @mesnet. com. cn (投稿专用) 2010 年第 3 期 Microcontrollers & Embedded Systems 55
基于LPC2138 的超市收银机系统设计
刘坚强1 , 王永才2 , 佟忠正1 , 王化明1
(1. 东北大学 信息科学与工程学院 , 沈阳 110819 ; 2. 青岛理工大学琴岛学院)
摘要 : 给出一种基于 Philips 公司的 ARM7 L PC2138 微控制器的超市收银管理系统的设计方法。该系统不仅实现商品价
目表( PLU) ,销售日志保存、记录和打印 ,中英文字符和数字输入等基本功能 ,还实现了对超市环境参数监测报警、语音播
报及语音识别等功能。
关键词 : ARM7 ; L PC2138 ; 超市收银 ; 条码扫描 ; PS/ 2
中图分类号 : TP311 文献标识码 : B
Supermarket Cash Register System Design Based on LPC2138
Liu Jianqiang1 , Wang Yongcai2 , Tong Zhongzheng1 , Wang Huaming1
(1. College of Information Science and Engineerng , Northeastern University , Shenyang 110819 , China ;
2. Qingdao Technological University Qindao College)
Abstract : This paper designs the management system for supermarket cash register based on Philips ARM7 L PC2138 microcontroller . The sys2
tem not only achieves PLU , sales log saving , recording and printing , the input of Chinese characters/ English letters and numbers , but also capa2
ble of environmental parameters monitoring , alarming , voice broadcast and voice recognition , etc.
Key words : ARM7 ; L PC2138 ; supermarket cash ; barcode scanning ; PS/ 2
1 ARM7 LPC2138 介绍
Philips 公司的 32 位的 ARM7 L PC2138 微控制器具
有强大的存储空间 ,内嵌 32 KB 片内静态 RAM 和 512
KB 的 Flash 存储器 ;可以实现在系统可编程 ( ISP) 、在应
用可编程 ( IAP) ;2 个 8 路 10 位 A/ D 转换器、1 个 D/ A
转换器 ,转换迅速、准确 ;引脚资源丰富 ,多达 47 个可承
受 5 V 电压的通用 I/ O 口 ; 多个串行接口 ,包括 2 个
16C550 工业
UART、2 个高速 I2 C 接口 (400 kbps) 、
SPI 和具有缓冲作用和数据长度可变功能的 SSP。
L PC2138 可以移植μC/ OS2II 操作系统 ,软件的可移植性
好 ,工作可靠。
2 实现原理及系统结构
系统结构框图如图 1 所示。
系统采用 ARM7 L PC2138 芯片作为主控制器 ,嵌
入μC/ OS2II 实时操作系统 ,对系统进行控制和管理。
通过模拟 PS/ 2 标准
,实现了 AS8110 条形码输入
器和 PS/ 2 标准键盘输入 ; 通过 I2 C 总线接口扩展了
PCF8563 实时时钟芯片获取实时时钟 , E2 PROM 存储
图 1 系统结构框图
器 AT24C256 芯片实现系统重要参数的断电保护 ;扩
展数字温度传感器 DS18B20 和 HM1500 湿度传感器 ,
对超市环境进行实时检测 ,在异常情况下通过声光进
行报警提示 ;采用 DMB32240A201 W 大屏幕彩色 L CD
显示终端进行显示 ,人机交互界面友好 ;通过扩展汉字
微型打印机 ,实现购物小票的打印 ;系统扩展了语音控
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
应用天地 APPLICATION NOTES
56 2010 年第 3 期 adv @mesnet. com. cn (广告专用)
制器 SPCE061 ,实现语音播放及语音识别等功能 ; 同
时 ,还外扩了一个串行口 ,可以通过 485 总线将所有超
市收银系统构建一个网络 ,通过一个中心 PC 主机进行
统一管理。
3 系统硬件设计
3. 1 键盘输入接口电路设计
针对超市收银机对键盘的特殊需要 ,采用双键盘 ,即
4 ×6 简易键盘和 PS/ 2 键盘。
(1) 4 ×6 简易键盘
系统扩展 4 ×6 简易键盘 ,通过行列扫描的方式读取
键值。键盘接口和定义如图 2 和图 3 所示。
图 2 4 ×6 简易键盘接口
图 3 4 ×6 简易键盘功能定义
(2) PS/ 2 键盘
PS/ 2 键盘是微机标准键盘。它与微机通过 PS/ 2 协
议进行信息通信 ,接口电路如图 4 所示。
图 4 PS/ 2 接口定义
只要 ARM 微控制器使用 PS/ 2 协议就能取得键盘数
据 ,标准键盘提供至少 86 个功能键供用户使用。扩展
PS/ 2 标准键盘可实现多种汉字输入等功能。
如图 5 所示 ,键盘接口使用 2 条数据线 ,数据位在
CLOCK(时钟脚) 的下降沿被 PC 机 ARM 读入 ,接收数
据时使用外部中断 EXT0。
图 5 PS/ 2 协议时序
3. 2 条形码输入器接口电路设计
系统采用标准键盘 PS/ 2 接口与 L PC2138 接口与 PC
机标准键盘并线使用 ,接口简单。接口电路如图 6 所示。
图 6 键盘和条形码扫描器接口电路
AS8110 条码阅读器功能 :
①手持近距虹光条码阅读器 ,内置解码器 ,准确识读
各种一维条码。
②AS8110 条码阅读器拥有 7 种提示音和音量可调
的蜂鸣器 ,可根据使用的环境调节蜂鸣器的音量。
③AS8110 条码阅读器有多个内置接口 ( RS2232、键
盘接口、光笔及先进的 USB 接口) 。
3. 3 打印机接口电路设计
汉字微型打印机为针式打印机。打印机接收主机送
来的代码 ,经过打印机输入接口电路的处理后送至打印机
的主控电路 ;在程序的控制下 ,产生字符或图形的编码 ,驱
动打印头打印一列的点阵图形 ,同时字车横向运动 ,产生
列间距或字间距 ,再打印下一列 ,逐列进行打印 ;一行打印
完毕后 ,启动走纸机构进纸 ,产生行距 ,同时打印头回车换
行 ,打印下一行。上述过程反复进行 ,直到打印完毕。
使用 74 HC164 串入/ 并出串行接口打印机 ,接口电路
如图 7 所示。
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
APPLICATION NOTES 应用天地
paper @mesnet. com. cn (投稿专用) 2010 年第 3 期 Microcontrollers & Embedded Systems 57
图 7 打印机接口电路
3. 4 存储模块电路设计
SD 卡拥有大容量数据存储、快速数据传输率、极大的
移动灵活性以及很好的安全性。通过 9 针的接口电路与
专门的驱动器相连接 ,数据具有掉电保护。在 SPI 模式
下 ,主机使用 SPI 总线直接对卡进行访问。
图 8 为 SD 卡与 L PC2138 通信的接口连接电路 ( SPI
模式) 。
图 8 SD 卡硬件连接电路
3. 5 温、湿度测量接口电路设计
数字化温度传感器 DS18B20 具有与 CPU 接口方便、
直接数字量输出等优点 ,另外提供 12 位 (二进制) 温度读
图 9 温度检测电路
数指示器件的温度信息。经过单
线 接 口 送 入 DS18B20 或 从
DS18B20 送出 , 因此从主机 CPU
到 DS18B20 仅需一条线 (和地线) ,
电路如图 9 所示。
HM1500 是美国 Humirel 公司于 2002 年推出的电容
式湿度一体化传感器。该传感器线性输出相对湿度 ,输出
为模拟信号 ,通过 A/ D 转换器测量湿度对应的模拟电压 ,
并计算得到相应的相对湿度值。相对湿度接口电路如
图 10所示。
图 10 相对湿度接口电路
3. 6 I2 C 总线接口电路设计
利用 ARM 微控制器的 I2 C 总线扩展 PCF8563 和
A T24C256 接口芯片 ,分别实现获取实时时钟和系统重要
参数的断电保护功能 ,电路如图 11 所示。
图 11 I2 C总线接口电路
4 软件设计
系统软件工作流程如图 12 所示。
系统共有 4 种工作模式 ,即销售操作模式、销售记录
模式、综合报表模式和系统设置模式。
销售操作模式为默认工作模式 ,主要工作为 :条形码
或者手动输入商品条码 ,通过系统查询调出商品单价 ,根
据所输入的商品数量计算并显示各类商品的总额和找零。
在确认交易成功后 ,系统打印购物小票并将相关记录存入
销售记录和综合报表记录中。
销售记录模式主要用于查询本日、本周、本月的详细
销售清单 ,包括交易商品名称、交易时间、交易金额和收银
员编号等。
综合报表模式主要用于查询商品入货量和出货量的
详细记录 ,包括商品名称、进货数量、进货日期、出货数量、
获利情况等。
系统设置模式主要包括 PL U 设置、时间设置、收银员
设置和清空记录。PL U 设置目录下可以进行商品名称、
条码以及单价的录入 ;时间设置目录下可以对系统时间进
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
应用天地 APPLICATION NOTES
58 2010 年第 3 期 adv @mesnet. com. cn (广告专用)
图 12 系统工作流程
行设置 ;收银员设置目录下可以对当前收银员信息编号进
行设置 ;清空记录目录下 ,可以对环境监测报警阈值进行
设定 ,可以恢复系统出厂设置等。
5 理论
5. 1 SD 卡存储空间分配
经查阅资料得知 ,SD 卡的内部结构是按扇区组合的 ,
每 512 字节为一个扇区。为了方便操作 ,我们约定 ,每条
销售纪录、每种货物都独自占一个扇区 (尽管一条记录无
论如何也不会有 512 字节) 。这样 ,无论是在存货还是在
销售时 ,各条记录之间从不冲突。按扇区读写十分方便。
SD 存储卡的存储空间为 1 GB。
1 GB/ 512B = 221
1 GB SD 存储卡存储的销售记录与存货纪录总计超
过 100 万条。
5. 2 存储商品价目表数据位数定义
系统采用 64 位存储商品价目表 ,各种数据格式如下 :
商品条形码 商品名 单价 库存
(13 + 1)位
6 个汉字
(12 + 1)位
xxxx. xx 元
(7 + 1)位
XXXXX
(5 + 1)位
共计 :13 + 1 + 12 + 1 + 7 + 1 + 5 + 1 = 41 位
存储一条商品价目表使用 7 字节。
结 语
本文提出了基于 Philips 公司的 ARM7 L PC2138 微
控制器的超市收银管理系统的一种设计方法。系统合理
调理了多个模块同时工作情况的协调与稳定 ,在降低成本
的前提下 ,不仅实现了常用超市收银机的基本功能 ,还增
加了环境检测报警及语音等特色功能。
参考文献
[ 1 ] 谭浩强. C 语音程序设计 [ M ] . 2 版. 北京 :清华大学出版社 ,
1999.
[ 2 ] 马忠梅 ,等. 单片机的 C 语言应用程序设计 [ M ] . 北京 :北京
航空航天大学出版社 ,2007.
[ 3 ] 周立功 ,等. 深入浅出 ARM7 —L PC213x_214x[ M ] . 北京 :北
京航空航天大学出版社. 2005.
[ 4 ] 楼然苗 ,李光飞. 51 系列单片机设计实例 [ M ] . 北京 :北京航
空航天大学出版社 ,2006.
刘坚强 (硕士研究生) ,研究方向为嵌入式系统开发、智能检测 ;王永
才 (助教) ,研究方向为嵌入式技术及仪器等 ;佟忠正、王化明 (硕士
研究生) ,研究方向为电力系统自动化。
(收稿日期 :2009210219)
ADI公司最新Blackfin 处理器树立工业应用的高性价比新标杆
ADI公司最新推出 Blackfin 系列汇聚式数字信号和控制处理应用新成员———BF50x 系列。与同类处理器相比 ,BF50x 性能大大
提高 ,使得设计工程师能获得极大的信号转换和运算精度优势 ,并采用高级电源控制技术以求在工业应用中获得更高的能效。ADI
还针对 Blackfin BF50x 系列新推出了低成本 (199 美元)的 EZ2KIT Lite 评估平台 ,为处理器评估提供了经济实惠的选择。
Blackfin BF50x 处理器以通常时钟为 150~200 M Hz 的处理器价格提供了 400 M Hz 的性能 ,将高性能数字信号处理能力扩展
到更广泛的应用 ,包括之前由高端微控制器支持的应用。这种高性能让设计工程师能通过应用更复杂的算法获得更强的系统功
能和精度 ,允许通过优化系统界面和控制功能实现更高的灵活性。设计工程师还可以使用更先进的软件工具和库来生成代码 ,这
有助于在不增加处理器成本的条件下 ,进一步缩短产品开发周期。
Blackfin BF50x 处理器将高性能信号处理内核与业界标准接口相结合 ,确保在不需要高成本的外部器件条件下 ,能快速而经
济地完成应用开发。Blackfin BF50x 具有可选的内置双 SAR 12 位 ADI ADC ,可以实现更高精度的数据转换 ,还有可选的 4 MB 片
上可执行闪存存储器。这些特性可减少片外的器件 ,以降低整体系统成本。