基于单片机的RFID消费管理系统设计.doc
本科论文目 录摘 要IAbstractII引 言11 系统方案设计41.1 方案论证与选择41.2 设计要求41.3 功能设计52 硬件电路设计72.1 单片机电路设计72.2 显示模块电路设计92.3 读卡器设计102.4 RFID射频卡设计112.5 数据存储芯片设计112.6 按键电路设计123 系统软件设计133.1 软件程序设计133.2 Keil软件开发133.3 系统程序流程图144 系统调试164.1 软件调试164.2 软件调试中遇到的问题164.3 焊接中遇到的问题164.4 实物调试17结 论19参考文献20附录1 原理图22附录2 源程序清单23致 谢33本科论文摘 要 为了解决小面值传统货币流通频繁对人体健康带来的隐患,又不能同时满足小额交易消费时间短而安全的要求,且需要办理业务充值的手机用户总体又趋于饱和状态的问题。利用单片机STC89C52为核心控制器,本文设计了一款基于单片机的RFID消费管理系统。采用无线射频识别方式对IC卡进行数据采集,通过无线射频方式进行非接触双向数据通信。其中,MF RC522射频识别模块对IC射频卡进行卡内数据信息识别,4×4矩阵键盘调控LCD12864液晶器显示IC卡的卡号、消费金额、卡内实时余额和管理系统界面,并将卡内数据信息实时存储到AT24C02存储芯片中。其中09数字按键用于输入充值金额、消费金额及密码,功能按键分别为管理键、上下菜单切换键、确认键、返回上一级菜单键以及退格清除键。 结果表明,本设计制造成本低、结构简单且性能优良。通过软件与硬件方面的调试,预期功能可以全部实现,在技术上完全可行。它能够同时满足小额消费货币流动频繁,消费次数大的特色以及消费时间短且安全的特点。本设计可以大量节省小面额的交易时间,并且能够杜绝传统货币流通对人体健康带来的隐患。关键词:RFID技术;单片机;IC卡;电子数据;液晶显示屏AbstractIn order to solve the hidden danger brought by the frequent circulation of traditional currency of small denomination to human health, traditional currency cannot meet the requirements of short and safe consumption of small amount of money at the same time, and mobile phone users who need to handle business recharge tend to be saturated on the whole.Using STC89C52 as the core controller, this paper designs a RFID consumption management system based on MCU. The IC card is collected by means of radio frequency identification, and the non-contact two-way data communication is carried out by means of radio frequency identification. Among them, MF RC522 module carries out data identification on IC card. 4×4 matrix keyboard regulates the card number, consumption amount, real-time balance and management system interface of LCD12864 IC card, and stores real-time data in the card to AT24C02 memory chip. Among them, 09 digital keys are used for entering recharge amount, consumption amount and password modification. The function keys are to enter the management system, switch, confirm, return to the upper menu and backspace respectively. The results show that the design has the advantages of low cost, simple structure and excellent performance. Through the debugging of software and hardware and the simulation experiment, it is feasible in technology. The expected functions can be fully realized, which can simultaneously meet the characteristics of frequent flow of small consumption money, large consumption times and the requirement of consumption time as short as possible and safe. This design can save a lot of small denomination trading time, and can put an end to the traditional currency circulation to human health.Keywords: RFID technology; single chip; IC card; electronic data; LCD引 言近几年随着国内手机用户的高速增长,国内三大电信运营商的竞争日渐激烈。目前国内手机用户总体趋于饱和状态,联通公司需要办理业务充值的用户也越来越多。小额消费有货币流动频繁、消费次数大的特色并要求消费时间短且安全,传统的货币在小额消费中明显难于很好满足这些要求。为了解决这一问题,设计了一款基于单片机的RFID消费管理系统。RFID技术相较于其他的感知技术具备无需接触、无需可视、可完全自动识别化等优势。在工作环境、信息采集距离、读取速度,可读写性方面的限制相对较低1。本设计以电子数据代替传统的货币进行快速的小额消费,可以节省大量的交易时间,杜绝小面值实体货币流通对人体健康带来的隐患。它与现有的识别系统相比,RFID射频识别可以通过无线通信反复阅读和记录,保密性好、环境适应性高、寿命长。无线射频卡进入读卡器射频范围内,天线的感应电流通过电压上升成为芯片的电源,感应电流和信息被数字信号逻辑控制,通过无线传送,覆盖了射频电路,信息处理电路和信息通过存储装置发送。无源IC卡通过天线获得了足够的能量,才能在读卡器天线产生的磁场中启动。国内RFID技术的领先地位在全球范围内得到了广泛的应用,推出了一系列的RFID产品,但这些产品差异微小、性能基本相同,结构都是读卡器芯片加单片机2。我国已经推出了一批读写功能可以达到发达国家同等水平的RFID读写器,目前正在开发高性能的读写模块以及读写系统。我国目前的RFID技术在各个领域上都有了广泛应用,在未来国内越来越多的RFID企业将在超高频领域上深入研究,并且会和世界领先的企业竞争市场占比率3。虽然在超高频RFID领域,我国与世界领先的企业暂时有很大的距离,但随着许多领域持续地推广和不断地高速发展,我国未来RFID领域的关键突破口将取决于超高频RFID技术4。国外RFID技术发展历史悠久,且发展速度也日渐提升。目前RFID技术广泛应用于美国的交通、车辆管理、身份证、生产线自动化控制等领域。美国有很多RFID企业将技术投入到不同的生活领域中,日本也一直在探索电子标签领域,2004年3月,日本发表了一份关于RFID的报告,无源和有源电子标签将继续得到支持。电子标签的体积将更小,成本也将越来越低。其次,识别距离会更长,无源的RFID标签也可达到数十米5。目前RFID系统制造成本不断降低,高频技术不断完善,RFID高频系统的应用会越来越广泛,RFID高频系统将成为产业发展的重心6。在我国,目前RFID系统在中国的各个领域广泛应用,随着金卡的建设深入,得到了初步的社会效果。政府的管理和支持力度持续地加强,技术发展水平不断地提高,国内品牌将快速发展并限制国外品牌的市场占有率。未来几年,RFID卡系统在我国的应用将进入深入发展的阶段,RFID技术将向世界领先的RFID企业靠近,实现快速赶超,且市场结构也将越来越成熟7。但其识别功能技术和制造技术的落后大大限制了我国RFID无线射频卡产业的发展。特别是在保密性和安全性方面,对金融业提出了更高的要求,对我国金卡项目的实施和发展有一定的局限性,特别是技术高端的CPU卡和非接触式RFID智能射频卡的普及应用推广,具有重要意义8。本设计将重点解决系统的硬件设计,选择合适的单片机、液晶显示屏、读卡器、矩阵键盘等;系统能够通过MF RC522射频识别模块对IC射频卡进行卡内数据识别;4×4矩阵键盘能够调控LCD12864液晶显示IC卡的卡号、消费金额、卡内实时余额和管理系统界面,并将卡内数据实时存储到AT24C02存储芯片中。其中09数字按键用于输入充值金额、消费金额及修改密码,功能按键分别为管理键、上下菜单切换键、确认键、返回上一级菜单键,退格清除键。 本篇文章共分为四个章节,主要内容如下。第一章重点说明了系统的方案设计,主要阐述了系统的功能和设计要求,并根据设计目的选择合适的数据识别方式,做出了系统的总体方案设计框图。第二章介绍了基于单片机的RFID消费管理系统设计的硬件设计,其中包含各个模块的设计原理,并根据系统的设计要求选择最适合本设计的主控模块和硬件模块,本章重点介绍了各个模块的电路设计。第三章讲述了系统的软件设计,简要介绍了系统的开发环境和系统流程图。第四章是基于单片机的RFID消费管理系统设计的调试部分,囊括了系统的硬件测试以及软件测试,并就本设计出现的问题,做了简单的论述以及解决办法。1 系统方案设计1.1 方案论证与选择方案一:选用条形码识别方式。条形码技术的应用范围十分广泛,条形码可以印刷在物品表面,生产非常方便,成本极低。但是条形码所包含的信息有一定的局限性,扫描仪要想准确阅读必须正对着条形码中心,并且不能有障碍,条形码阅读器在一段时间内只能读取一个标签,无法快速识别数据,并且当条形码被弄脏或弯曲后很难读取。方案二:选用RFID射频识别方式。RFID可以在指定范围内读取标签,不需要接触标签。通过射频信号自动识别目标并获取数据,在各种恶劣条件下都可以正常工作,且不需要人工参与。RFID技术可以识别高速运行的目标和多个标签。操作简单快捷、扫描、读写速度快。RFID标签可以将信息储存在其中,转变为数字信号,从而避免了常规的非暴力的破坏,且RFID识别卡片可以重复利用、重复读写9。首先确定RFID系统的工作频率,选择相应的电子标签和读写芯片,选择适合单片机的芯片,一般RFID应用系统由读卡器、天线和RFID卡组成。其中,读卡器通常是用电脑终端进行RFID数据读取并保存卡片数据。天线决定了RFID卡和读卡器之间的通信媒介及方式。方案三:选用磁卡识别方式。磁卡外部有金属触点,该触点直接接触磁卡适配器插座,该插座与磁卡中的集成电路进行信息处理和交互。磁卡通过本身的磁性载体记录信息,磁卡的材料分为高强度的耐高温塑料和纸质包装塑料两种。此外,磁卡具有防潮和耐磨性、使用方便、价格低廉以及用途广泛。磁卡在线圈中产生感应电动势,传输被记录的信号。磁卡通过磁条进行数据存储,只有与读卡器接触时,才能读取卡内信息10。与传统的接触IC卡、磁卡相比,射频卡具有非接触、操作方便、读写频率高、使用寿命长和安全防冲撞等优点。因此,本设计选用方案二,选用RFID射频识别方式。1.2 设计要求(1)采用一个不需要复杂运算的核心控制器为基础;(2)采用能够准确快速检测IC射频卡、并进行卡内数据采集的读卡器;(3)采用液晶显示屏显示卡号、充值和扣费金额及管理系统界面,刷卡能实时显示卡号和卡内余额;(4)需要16个按键,其中包含09数字按键、管理、上下菜单切换、返回上一级菜单、确认和退格6个功能按键;(5)需要简单操作的存储芯片,能够实时存储卡内数据信息。1.3 功能设计(1)4×4矩阵键盘能够调控LCD12864液晶显示IC卡的卡号、扣费金额、卡内实时余额和管理系统界面;(2)将卡靠近读卡器,液晶显示屏显示该卡卡号、卡内余额;(3)刷卡输入相应的消费金额,实时显示消费后的余额,若是余额不足会提示并显示余额;(4)进入注册界面,刷卡可以直接注册,会提示注册成功并显示该卡卡号;如果该卡已经注册过,则会提示该卡已是会员卡;(5)进入注销界面,刷卡可以直接注销,会提示注销成功并显示该卡卡号;若该卡不是会员卡,则会提示不是会员卡;(6)进入充值界面,刷卡并输入相应的充值金额,即可成功充值并实时显示充值后的余额;(7)进入修改密码界面,修改密码之前需要输入旧密码,并且需要输入两次新密码,防止输入错误;(8)卡内的数据信息实时存储在AT24C02芯片中。实现以上功能,本设计要由电源、单片机、RFID射频卡、读卡器、液晶显示屏、按键、存储芯片七部分组成。单片机主控模块驱动MF RC522读卡器,将IC卡初始化,并对卡号进行数据采集,当MF RC522读卡器检测到有卡靠近,读取IC卡数据信息送至单片机,等待单片机处理。当扫描到有按键按下时,通过LCD显示模块显示卡内数据信息及管理系统界面,并通过AT24C02存储模块对卡内数据信息进行实时存储。其中矩阵键盘包括09数字按键及管理键、上下切换菜单、确认、返回上一级菜单、退格6个功能键。系统总体设计框图如图1.1所示。图1.1 系统总体设计框图总电源通电后,单片机通过驱动MF RC522读卡器读取IC卡数据信息扫描按键,对数据进行处理,经转换后输出给液晶显示电路,并将IC卡数据信息存储在AT24C02芯片中,从而完成该系统的运行。2 硬件电路设计2.1 单片机电路设计2.1.1 单片机型号选择方案一:采用STC89C52单片机作为主控芯片。STC89C52是一款高性能八位CMOS微处理器、低功耗、片内具有8k在线编程Flash存储器11。采用的是MCS-51内核,指令完全兼容MCS-51,STC89C52比STC89C51多了一个定时器,在串行通信中可以设置更高的波特率,可以说STC89C52是STC89C51的增强型,STC89C52单片机具有的开发简单、可在线编程下载、成本低,是非常不错的选择。方案二:采用MSP430单片机作为主控芯片。MSP430系列单片机具有16位能量消耗超低和精简指令集。一般来说,需要使用电池供电的设备仪表使用该系列的单片机。但是开发难度相对比较大、价格昂贵。由于STC89C52具有8K内存,开发简单、可在线编程下载、成本低,可以充分满足设计要求,因此,选择方案一,采用STC89C52单片机作为主控芯片。STC89C52单片机实物图如图2.1所示。图2.1 STC89C52单片机实物图STC89C52单片机主要参数: (1)工作电压:3.3V5.5V;(2)工作频率范围:040MHz;(3)内部ROM存储器:8K;集成512字节RAM。2.1.2 单片机电路 单片机电路原理图如图2.2所示。图2.2 单片机电路原理图2.1.3 单片机的引脚说明在本设计中,采用的封装形式为直插式的PDIP40,STC89C52一共具有40只引脚,其中可以对32只引脚进行控制。单片机P3口第二功能如表2.1所示。表2.1 单片机P3口第二功能表I/O引脚名称第二功能引脚名称第二功能P3.0RXD串行通信接收P3.1TXD串行通信发送P3.2INT0外部中断0P3.3INT1外部中断1P3.4T0定时/计数器0P3.5T1定时/计数器1P3.6WR外部写选通信号P3.7RD外部读选通信号2.1.4 单片机的最小系统最小系统一般包括:电源电路、晶振电路、复位电路。由于本设计中52单片机的工作电压为5V,所以电源部分采用了USB电源线,可以连接手机充电器插头或者5V的移动电源给系统进行供电。在晶振电路中有两个独立的反相放大器,可以作为单片机的内部振荡器,图2.3采用的是内部时钟模式。与其连接的两个电容C1和C3会对振动频率起微小作用,进而起到调节频率的效果。晶振电路原理图如图2.3所示。图2.3 晶振电路原理图复位电路分为上电自动复位、手动按键复位。电容C2两端的电压在上电时不会快速变化。此时,电容的负端连接到RST,并且电压全部施加到电阻R1,RST输入高电平,芯片复位。由于之后5V直流电源对电容供电,导致电阻两端电压不断降低,直到变为0的时候芯片开始照常工作12。复位电路原理图如图2.4所示。图2.4 复位电路原理图2.2 显示模块电路设计方案一:采用LED数码管动态扫描显示。LED数码管集中显示数字,使用动态扫描法与单片机连接时,使用的I/O线较少、电路简单、但适合数字或简单的文字显示,本设计需要显示的数据较多,采用数码管无法完全实现显示功能。方案二:采用LCD12864液晶显示屏。LCD12864液晶显示屏中的汉字库是由16×16点阵组成,字符集是由16×8点阵组成。与传统的LED数码管显示器相比,LCD显示模块具有电压低、功耗低、显示内容丰富等优点,而且无需外加驱动电。需要5V的电压工作,通过单片机输出数字信号,设置的字符通过液晶显示屏显示,可以采用并行数据传输也可以采用串行数据传输13。根据本设计显示内容较大,LCD12864分辨率为128×64,且低功耗低电压。因此,选择方案二,采用LCD12864液晶作为本设计的显示屏。另外在本电路中,设置了电位器,其功能为调节液晶显示器的对比度,即亮度。LCD12864电路原理图如图2.5所示。图2.5 LCD12864电路原理图2.3 读卡器设计MF RC522是非接触式、低电压、低成本以及体积小的13.56MHz读写卡芯片。MF RC522读卡器能够很好的与STC89C52单片机融合。MF RC522是一种高度集成的射频模块,它的识别过程包括识别、由防冲撞检测循环读取卡号、激活IC卡、对指定的区域进行认证(通常为3次)、能够对卡进行读写操作、对数据的加减值操作、将模块中的数据传至数据寄存器中储存、将数据寄存器中的数据转至模块中,让模块进入休眠状态或工作进入暂停状态等14Error! Reference source not found.。MF RC522具有低电压、低成本、体积小以及非接触的优点,符合设计方案的实际需求,因此采用MF RC522读卡器作为射频识别系统的读写模块。MF RC522读卡器电路原理图如图2.6所示。图2.6 MF RC522读卡器电路原理图2.4 RFID射频卡设计接触式射频卡在七八年前使用较多,接触式射频卡的芯片通常都在表面,所以很容易损坏。而非接触式射频卡,则是将芯片和线圈封装在卡内,不容易损坏,所以在当今颇受欢迎,且可靠性高。方案一:选用ID射频卡。ID卡只可读不可修改,芯片内的数据是预先写入的唯一序列编号,且不可修改。因此使用ID卡识别数据只是读取ID卡内的序列编号进行身份识别,其使用原理和磁条卡的差异不大。方案二:选用MIFARE S50型IC射频卡。IC卡可以搭载复杂的信息精准的传送识别。可根据用户需求设置权限,卡内记录内容可反复修改擦写。每张卡内都有唯一的32位序列号,能保证卡内数据信息的安全性,抗干扰能力强并可以防止多张卡片同时识别15。考虑到安全问题,由于IC卡数据内容可以通过密码进行保护,使其内容不易被伪造和篡改。因此,本设计选用方案二,选用可靠性高,成本低的非接触式S50型IC射频卡。MIFARE S50型IC卡主要参数:(1)工作频率:13.56MHZ;(2)通信速度:106KBPS;(3)读写距离:10CM以内。2.5 数据存储芯片设计本设计的存储芯片采用的是型号为AT24C02的存储芯片。AT24C02是一个2K位串行CMOS EEPROM,芯片内部总容量为256个8位字节,采用CMOS技术,从而减少了元件的功耗。另外AT24C02具备16字节页缓冲器。该器件通过总线接口进行操作,有一个专门的保护功能16。单片机内部的EEPROM,在数据存储的过程中不易操作,AT24C02是专门的数据存储芯片,并且有专门的保护功能。因此,采用AT24C02存储芯片。AT24C02存储芯片主要参数:(1)类型:可擦除只读存储器;(2)次数:1000000次;数据保存:100年。2.6 按键电路设计在矩阵键盘每条行线和列线的交点加入一个按键,采用4条行线,4条列线,这样就有16个按键17。按键部分实现了对电路的控制,K5键为管理键,按下K5键直接进入管理系统界面,此时液晶显示屏第一列显示RFID管理系统;第二行显示注册、修改密码;第三行显示注销、退出管理、第四行显示充值。此时可以根据K9键和K13键切换菜单,分别为切换上一项、切换下一项;K16键为确定输入或确定菜单选项设置;K17键为退出键,按下后可以返回上一级菜单;K15、K2、K3、K4、K6、K7、K8、K11、K12分别为09数字按键,用于输入充值金额、扣费金额和修改密码;K14键为退格键,在输入数字过程中输错时,可以清除输入的最后一位。本设计需要按键较多,矩阵键盘又能够减少I/O口的占用,因此采用矩阵键盘是非常合理的。矩阵键盘电路原理图如图2.7所示。图2.7 矩阵键盘电路原理图3 系统软件设计3.1 软件程序设计在单片机的控制系统中,数据处理包括数据收集、数字处理、数据转换和显示处理;过程控制程序主要通过根据特定方法计算然后输出信号来控制生产。在设计软件以执行上述任务时,整个过程分为几个部分,并将每个部分称为模块。所谓的“模块”本质上是一个执行特定功能的相对独立的程序段。3.2 Keil软件开发Keil uVision4,它同时支持WINXP和WIN7等多种操作系统,内含强大开发工具,可以进行编译、连接、调试以及仿真等所有研发过程Keil提供的开发解决方案具有很强的完整性、实用性,其中包括编译器、宏汇编、链接器、库管理和仿真器调试器18。Keil uVision4软件开发流程图如图3.1所示。图3.1 Keil uVision4软件开发流程图3.3 系统程序流程图系统程序流程图如图3.2所示。图3.2 系统程序流程图系统程序流程:上电初始化,RC522读卡器复位,读卡器读取IC卡,如果进行卡内扣费,按下矩阵键盘中的数字按键输入扣费金额进行扣费,卡内实时余额通过LCD12864液晶显示屏显示;若不进行卡内扣费,进入管理系统选择功能界面,按下矩阵键盘中的功能键并刷卡,可以完成注册、注销、充值、修改密码功能,成功操作后提示语将会通过LCD12864液晶显示屏显示,并将数据信息实时存储在AT24C02中,完成操作后等待IC卡离开读卡器,操作结束。LCD显示流程图如图3.3所示。图3.3 LCD显示流程图LCD显示流程:上电初始化,设置显示位置,显示字符,将实时采集的数据显示在LCD12864液晶显示屏上。MF RC522读卡器流程图如图3.4所示。图3.4 MF RC522读卡器流程图MF RC522读卡器读卡流程:系统初始化,读卡器初始化,读卡器检测IC卡然后进行防冲撞检测也就是防止两张卡一起检测,然后选定该IC卡,再进行该卡密码匹配,如果匹配成功进行读卡操作,如果匹配失败则返回。4 系统调试在整个系统通电之前,观察焊接是否存在问题。如有明显断裂,正负极连接、器件连接、焊接不实等,用万用表检测电源正负电压,是否出现严重的电源问题,如短路等。最后确认并保证系统没有问题。在搭建调试平台后,需要对软件程序进行调试,如果检查程序没有语句错误,则要检测是否能够达到本设计的要求,如果有功能不能正常运行,需要继续对软件程序进行调试,反复进行测试验证,直到所有功能都能正常运行。4.1 软件调试(1)使用Keil 4软件创建项目:单击菜单栏上的“工程”,输入并保存新项目名称“基于单片机的RFID消费管理系统设计”,然后在“Atmel”目录下选择单片机的型号“STC89C52”。(2)新建用户源文件:新建一个空白的文本,在空白文本上编写本设计相关的程序源代码,代码编写完成后,文件拓展名“main.c”,新文件创建完成。(3)程序编译和调试:单击代码运行按钮,在下方有输出文本框,可以看到代码的编译信息,如果在最后一行error()内有数字,则需要按照提示找出错误的代码,并重新编写,直到没有错误为止19。4.2 软件调试中遇到的问题问题一:首次对程序进行编译时,有窗口弹出,显示有错误。解决方法:检查程序中的标点书写格式,检查是否切换中英文角标;检查程序句末尾是否有遗漏的分号。问题二:程序汇编时出现字母数字的混杂。解决方法:输入字母“O”和数字“0”时,注意细节。问题三:提示无asm文件。编译时候提示:F:.XX.asm File has been changed outside the editor,reload?解决方法:重新生成项目,产生examl1.asm即可。 4.3 焊接中遇到的问题由于本设计布线较密,在焊接时需要根据电路图仔细对照,防止焊接位置出现错误。问题一:在焊接过程中,焊锡不够、焊接点不圆润。解决方法:这时需要给焊接处补焊锡,此时一定要注意焊锡量,不能补多,否则会容易连接到其它的引脚20。问题二:在焊接过程中,遇到焊锡过多的问题。解决方法:在焊接处用电烙铁来回滑动,用电烙铁将多余的焊锡带走,也可以使用吸锡器除焊锡。实物焊接图如图4.1所示。图4.1 实物焊接图4.4 实物调试在系统中,对于硬件电路的检测主要是看焊接时是否有毛刺、无光泽,电路是否有短路、开路、一些具有方向的元件是否方向弄错、电路设计错误等情况。对于漏焊、元件方向弄错的检测方法是将手中的电路板对照着原理图,将导线一条一条的对照。如果发现没有导线连接错误或者对不上的情况下,需及时的检查有无漏焊的部位,确定漏焊的部位并进行及时的补焊。检测短路、断路以及虚焊的时候,分别用两支红黑表笔在需要检测的元件或导线的两端连通,如果听到蜂鸣器发出响声,则代表线路正常,如果没有听到蜂鸣器发出响声,则代表着电路有问题21。经过测试,实物电路板与原理图一致,所有元器件的插接、方向均正确,本系统最终实现了所有硬件功能。本设计制作过程图如图4.2所示。图4.2 制作过程图本设计实物图如图4.3所示。图4.3 实物图结 论通过以上分析,本设计经过了硬件以及软件的测试,各部分均达到预期功能。本次设计由STC89C52单片机主控电路、MF RC522读卡器电路、IC射频卡电路、LCD12864液晶显示电路、按键电路、AT24C02存储芯片电路、电源电路七个部分组成。本篇论文针对近几年随着国内手机用户的高速增长,国内三大电信运营商的竞争日渐激烈,联通公司需要办理业务充值的用户也越来越多,传统货币又不能同时满足小额交易消费时间短且安全的问题,设计出了基于单片机的RFID消费管理系统。本设计采用STC89C52单片机作为主控制器,通过MF RC522射频识别模块对IC射频卡进行卡内数据识别,并通过矩阵键盘调控LCD12864液晶显示IC卡的卡号、消费金额、卡内实时余额显示和管理系统界面,并将卡内数据实时存储到AT24C02存储芯片中。其中09数字按键输入充值金额、消费金额及修改密码,功能按键分别为管理键、上下菜单切换键、确认键、返回上一级菜单键、退格清除键。 结果表明,本设计达到了预期功能,采用RFID射频识别技术解决了传统货币进行小额消费时不能快速交易的问题。本设计以电子数据代替传统货币,达到了能够保证小额消费交易安全又能实现快速交易的目的。并在此基础上添加了管理系统设计,能够实现充值、注册、注销、修改密码的功能。参考文献1 赵帅锋, 胡绍海. 基于软件仿真的“RFID原理与应用”课程实践教学初探J. 工业和信息化教育, 2020(01) :75-802 孙永飞. 基于ARM的RFID读卡器设计D. 南京理工大学, 20073 赵大伟. 基于RFID无线射频技术的一卡通控制系统设计与实现D. 齐鲁工业大学, 20174 沈红卫. 基于单片机的智能系统设计与实现M. 北京: 电子工业出版社, 20065 许守成. UHF RFID读写器的设计与实现D. 东南大学,20196 段华伟. 无线射频识别技术(RFID)简述J. 智慧工厂,2019(01) :59-627 刘莹. 基于单片机控制的RFID读写器的设计与实现J. 电子技术与软件工程, 2014(03) :158-1598 程冬冬. 基于RFID和图像处理身份识别采集终端的研究与实现D. 河北工程大学, 20119 陈明月. RFID无线射频识别技术在物联网的应用J. 信息与电脑(理论版),2019(13) :174-17510 孙天泽, 袁文菊, 付晓江. JS500磁卡解码芯片在嵌入式Linux系统中的编程J. 仪器仪表用户, 2004(03) :33-3411 付龙, 胡林林, 彭海涛. 基于STC89C52单片机和RFID的智能考勤系统的设计J. 仪表技术,2019(11) :31-3312 韩勇鹏, 霍利锋. 基于MSP430F169的最小系统设计J. 山西农业大学学报, 2007(S2) :216-21813 杨会宝. 基于51单片机的温度日期显示系统J. 信息化研究, 2009,(4) :61-6314 单莹, 刘旭儒, 史仪凯. 非接触式13.56MHz读卡器的设计J. 工业仪表与自动化装置,2010(03) :27-2915 陈保平, 王月波, 马伯元. 基于MFRC522的Mifare射频卡读写模块开发J. 微计算机信息,2007(32) :230-23116 宋德杰. AT24C02在单片机中的应用J. 电子制作,2005(04) :17-1917 陶有军. 矩阵键盘的一种简捷高效识别算法J. 单片机与嵌入式系统应用,2019,19(09) :43-4518 邓力. 基于Keil时序逻辑和Proteus的电路仿真J. 实验室研究与探索,2017,36(01) :80-8319 侯美. 基于keil4、Proteus和YL-236设备的单片机教学J. 数字通信世界,2020(04) :22620 Wang Miao, Yuan Ming, Wang Chaoming, Ma Ruiting. Abietic acid encapsulated Sn-57Bi alloy nanoparticles as oxidation resistant solder materialJ. Elsevier,2020,602(prepublish)21 王彩霞, 谢兰清. 万用表实操能力强化在电子实训教学过程中的作用研究J. 无线互联科技,2020,17(06) :153-154附录1 原理图附录2 源程序清单#include<reg52.h>/头文件#include<LCD12864.h>#include<AT24C02.h>#include<KEY.h>#include<MFRC522.h>#include<INTERRUPT.h>#define uchar unsigned char/宏定义#define uint unsigned int#define MAX 4/充值和刷卡最多4位数uchar mode=0;/0正常扣费,1进入管理,2管理界面,3注册模式,4撤销模式,5充值模式,6修改密码uchar mode_num=0;uchar g_ucTempbuf4;/存储读回的数据uchar status; /存储操作是否成功,0表示成功uchar IC_num; /总存储的卡片数量uchar ID2; /存储卡号uchar ii; /循环变量uint price=0; /存储输入的金额uchar n=0; /输入的位数uchar TagType2;/函数名称:void display_ID()/函数作用:显示感应区的ID号void display_ID()if(ID0!=0&&ID1!=0)/检测到正确的卡号LCD12864_display_char(3,2,ASCIIID0/16);/显示卡号LCD12864_display_char(4,2,ASCIIID0%16);LCD12864_display_char(5,2,ASCIIID1/16);LCD12864_display_char(6,2,ASCIIID1%16);函数名称:bit chaxun()/函数作用:查询本次刷的卡是否存储参数说明:返回0表示没有,返回1表示有bit chaxun()uchar ID22; /用于读取存储的卡号for(i