基于单片机的RFID消费管理系统设计毕业论文.docx
《基于单片机的RFID消费管理系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的RFID消费管理系统设计毕业论文.docx(34页珍藏版)》请在冰豆网上搜索。
![基于单片机的RFID消费管理系统设计毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-1/9/f9ba6088-2bcc-4d1c-abce-a4c3fe921fa5/f9ba6088-2bcc-4d1c-abce-a4c3fe921fa51.gif)
基于单片机的RFID消费管理系统设计毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印---
摘要
为了解决小面值传统货币流通频繁对人体健康带来的隐患,又不能同时满足小额交易消费时间短而安全的要求,且需要办理业务充值的手机用户总体又趋于饱和状态的问题。
利用单片机STC89C52为核心控制器,本文设计了一款基于单片机的RFID消费管理系统。
采用无线射频识别方式对IC卡进行数据采集,通过无线射频方式进行非接触双向数据通信。
其中,MFRC522射频识别模块对IC射频卡进行卡内数据信息识别,4×4矩阵键盘调控LCD12864液晶器显示IC卡的卡号、消费金额、卡内实时余额和管理系统界面,并将卡内数据信息实时存储到AT24C02存储芯片中。
其中0~9数字按键用于输入充值金额、消费金额及密码,功能按键分别为管理键、上下菜单切换键、确认键、返回上一级菜单键以及退格清除键。
结果表明,本设计制造成本低、结构简单且性能优良。
通过软件与硬件方面的调试,预期功能可以全部实现,在技术上完全可行。
它能够同时满足小额消费货币流动频繁,消费次数大的特色以及消费时间短且安全的特点。
本设计可以大量节省小面额的交易时间,并且能够杜绝传统货币流通对人体健康带来的隐患。
关键词:
RFID技术;单片机;IC卡;电子数据;液晶显示屏
Abstract
Inordertosolvethehiddendangerbroughtbythefrequentcirculationoftraditionalcurrencyofsmalldenominationtohumanhealth,traditionalcurrencycannotmeettherequirementsofshortandsafeconsumptionofsmallamountofmoneyatthesametime,andmobilephoneuserswhoneedtohandlebusinessrechargetendtobesaturatedonthewhole.
UsingSTC89C52asthecorecontroller,thispaperdesignsaRFIDconsumptionmanagementsystembasedonMCU.TheICcardiscollectedbymeansofradiofrequencyidentification,andthenon-contacttwo-waydatacommunicationiscarriedoutbymeansofradiofrequencyidentification.Amongthem,MFRC522modulecarriesoutdataidentificationonICcard.4×4matrixkeyboardregulatesthecardnumber,consumptionamount,real-timebalanceandmanagementsysteminterfaceofLCD12864ICcard,andstoresreal-timedatainthecardtoAT24C02memorychip.Amongthem,0~9digitalkeysareusedforenteringrechargeamount,consumptionamountandpasswordmodification.Thefunctionkeysaretoenterthemanagementsystem,switch,confirm,returntotheuppermenuandbackspacerespectively.
Theresultsshowthatthedesignhastheadvantagesoflowcost,simplestructureandexcellentperformance.Throughthedebuggingofsoftwareandhardwareandthesimulationexperiment,itisfeasibleintechnology.Theexpectedfunctionscanbefullyrealized,whichcansimultaneouslymeetthecharacteristicsoffrequentflowofsmallconsumptionmoney,largeconsumptiontimesandtherequirementofconsumptiontimeasshortaspossibleandsafe.Thisdesigncansavealotofsmalldenominationtradingtime,andcanputanendtothetraditionalcurrencycirculationtohumanhealth.
Keywords:
RFIDtechnology;singlechip;ICcard;electronicdata;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]。
本设计将重点解决系统的硬件设计,选择合适的单片机、液晶显示屏、读卡器、矩阵键盘等;系统能够通过MFRC522射频识别模块对IC射频卡进行卡内数据识别;4×4矩阵键盘能够调控LCD12864液晶显示IC卡的卡号、消费金额、卡内实时余额和管理系统界面,并将卡内数据实时存储到AT24C02存储芯片中。
其中0~9数字按键用于输入充值金额、消费金额及修改密码,功能按键分别为管理键、上下菜单切换键、确认键、返回上一级菜单键,退格清除键。
本篇文章共分为四个章节,主要内容如下。
第一章重点说明了系统的方案设计,主要阐述了系统的功能和设计要求,并根据设计目的选择合适的数据识别方式,做出了系统的总体方案设计框图。
第二章介绍了基于单片机的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个按键,其中包含0~9数字按键、管理、上下菜单切换、返回上一级菜单、确认和退格6个功能按键;
(5)需要简单操作的存储芯片,能够实时存储卡内数据信息。
1.3功能设计
(1)4×4矩阵键盘能够调控LCD12864液晶显示IC卡的卡号、扣费金额、卡内实时余额和管理系统界面;
(2)将卡靠近读卡器,液晶显示屏显示该卡卡号、卡内余额;
(3)刷卡输入相应的消费金额,实时显示消费后的余额,若是余额不足会提示并显示余额;
(4)进入注册界面,刷卡可以直接注册,会提示注册成功并显示该卡卡号;如果该卡已经注册过,则会提示该卡已是会员卡;
(5)进入注销界面,刷卡可以直接注销,会提示注销成功并显示该卡卡号;若该卡不是会员卡,则会提示不是会员卡;
(6)进入充值界面,刷卡并输入相应的充值金额,即可成功充值并实时显示充值后的余额;
(7)进入修改密码界面,修改密码之前需要输入旧密码,并且需要输入两次新密码,防止输入错误;
(8)卡内的数据信息实时存储在AT24C02芯片中。
实现以上功能,本设计要由电源、单片机、RFID射频卡、读卡器、液晶显示屏、按键、存储芯片七部分组成。
单片机主控模块驱动MFRC522读卡器,将IC卡初始化,并对卡号进行数据采集,当MFRC522读卡器检测到有卡靠近,读取IC卡数据信息送至单片机,等待单片机处理。
当扫描到有按键按下时,通过LCD显示模块显示卡内数据信息及管理系统界面,并通过AT24C02存储模块对卡内数据信息进行实时存储。
其中矩阵键盘包括0~9数字按键及管理键、上下切换菜单、确认、返回上一级菜单、退格6个功能键。
系统总体设计框图如图1.1所示。
图1.1系统总体设计框图
总电源通电后,单片机通过驱动MFRC522读卡器读取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.1STC89C52单片机实物图
STC89C52单片机主要参数:
(1)工作电压:
3.3V~5.5V;
(2)工作频率范围:
0~40MHz;
(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.0
RXD
串行通信接收
P3.1
TXD
串行通信发送
P3.2
INT0
外部中断0
P3.3
INT1
外部中断1
P3.4
T0
定时/计数器0
P3.5
T1
定时/计数器1
P3.6
WR
外部写选通信号
P3.7
RD
外部读选通信号
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.5LCD12864电路原理图
2.3读卡器设计
MFRC522是非接触式、低电压、低成本以及体积小的13.56MHz读写卡芯片。
MFRC522读卡器能够很好的与STC89C52单片机融合。
MFRC522是一种高度集成的射频模块,它的识别过程包括识别、由防冲撞检测循环读取卡号、激活IC卡、对指定的区域进行认证(通常为3次)、能够对卡进行读写操作、对数据的加减值操作、将模块中的数据传至数据寄存器中储存、将数据寄存器中的数据转至模块中,让模块进入休眠状态或工作进入暂停状态等[14]。
MFRC522具有低电压、低成本、体积小以及非接触的优点,符合设计方案的实际需求,因此采用MFRC522读卡器作为射频识别系统的读写模块。
MFRC522读卡器电路原理图如图2.6所示。
图2.6MFRC522读卡器电路原理图
2.4RFID射频卡设计
接触式射频卡在七八年前使用较多,接触式射频卡的芯片通常都在表面,所以很容易损坏。
而非接触式射频卡,则是将芯片和线圈封装在卡内,不容易损坏,所以在当今颇受欢迎,且可靠性高。
方案一:
选用ID射频卡。
ID卡只可读不可修改,芯片内的数据是预先写入的唯一序列编号,且不可修改。
因此使用ID卡识别数据只是读取ID卡内的序列编号进行身份识别,其使用原理和磁条卡的差异不大。
方案二:
选用MIFARES50型IC射频卡。
IC卡可以搭载复杂的信息精准的传送识别。
可根据用户需求设置权限,卡内记录内容可反复修改擦写。
每张卡内都有唯一的32位序列号,能保证卡内数据信息的安全性,抗干扰能力强并可以防止多张卡片同时识别[15]。
考虑到安全问题,由于IC卡数据内容可以通过密码进行保护,使其内容不易被伪造和篡改。
因此,本设计选用方案二,选用可靠性高,成本低的非接触式S50型IC射频卡。
MIFARES50型IC卡主要参数:
(1)工作频率:
13.56MHZ;
(2)通信速度:
106KBPS;
(3)读写距离:
10CM以内。
2.5数据存储芯片设计
本设计的存储芯片采用的是型号为AT24C02的存储芯片。
AT24C02是一个2K位串行CMOSEEPROM,芯片内部总容量为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分别为0~9数字按键,用于输入充值金额、扣费金额和修改密码;K14键为退格键,在输入数字过程中输错时,可以清除输入的最后一位。
本设计需要按键较多,矩阵键盘又能够减少I/O口的占用,因此采用矩阵键盘是非常合理的。
矩阵键盘电路原理图如图2.7所示。
图2.7矩阵键盘电路原理图
3系统软件设计
3.1软件程序设计
在单片机的控制系统中,数据处理包括数据收集、数字处理、数据转换和显示处理;过程控制程序主要通过根据特定方法计算然后输出信号来控制生产。
在设计软件以执行上述任务时,整个过程分为几个部分,并将每个部分称为模块。
所谓的“模块”本质上是一个执行特定功能的相对独立的程序段。
3.2Keil软件开发
KeiluVision4,它同时支持WINXP和WIN7等多种操作系统,内含强大开发工具,可以进行编译、连接、调试以及仿真等所有研发过程Keil提供的开发解决方案具有很强的完整性、实用性,其中包括编译器、宏汇编、链接器、库管理和仿真器调试器[18]。
KeiluVision4软件开发流程图如图3.1所示。
图3.1KeiluVision4软件开发流程图
3.3系统程序流程图
系统程序流程图如图3.2所示。
图3.2系统程序流程图
系统程序流程:
上电初始化,RC522读卡器复位,读卡器读取IC卡,如果进行卡内扣费,按下矩阵键盘中的数字按键输入扣费金额进行扣费,卡内实时余额通过LCD12864液晶显示屏显示;若不进行卡内扣费,进入管理系统选择功能界面,按下矩阵键盘中的功能键并刷卡,可以完成注册、注销、充值、修改密码功能,成功操作后提示语将会通过LCD12864液晶显示屏显示,并将数据信息实时存储在AT24C02中,完成操作后等待IC卡离开读卡器,操作结束。
LCD显示流程图如图3.3所示。
图3.3LCD显示流程图
LCD显示流程:
上电初始化,设置显示位置,显示字符,将实时采集的数据显示在LCD12864液晶显示屏上。
MFRC522读卡器流程图如图3.4所示。