一种基于51单片机与RFID的校园一卡通系统的制作方法

文档序号:19529627发布日期:2019-12-27 15:15阅读:2557来源:国知局
一种基于51单片机与RFID的校园一卡通系统的制作方法

本发明涉及通信系统领域,特别涉及一种基于51单片机与rfid的校园一卡通系统。



背景技术:

现在社会上ic卡刷卡消费已经被广泛地接受和使用,在诸多的场合已经完全替代了传统的收费方式。比如,公交车、地铁刷卡乘车,二代身份证刷卡识别身份信息、收费站的etc、学校食堂刷卡消费等。但是,虽然射频识别技术给现在社会带来了巨大的便利和促进,给人们节省了不少时间、人力、物力,它也存在着一些安全隐患上的漏洞和技术标准不统一的等问题。比如曾经就有人破解了公交公司的ic卡充值密码,导致该公司蒙受巨大的损失。也由于各个厂家的技术标准不一致,导致外观相同的卡片,在别的厂家的读卡器上完全无法识别。最重要的问题是集中于射频识别技术的安全隐患问题上。正是因为现在社会上射频识别技术普及性地应用,使得它一旦出现问题造成的后果就会非常严重,特别是它作为虚拟钱包载体功能的时候,卡片内存储的数据就是真实的资金信息,一旦出现问题,就会造成大量的财产损失,所以各国都制定了严格的技术标准来最大限度地减少出问题的风险。



技术实现要素:

本发明所要解决的技术问题是提供一种基于51单片机与rfid的校园一卡通系统,注重系统的数据安全性,卡片和读写器之间相互认证,并且在ic卡片的不同存储区开辟不同的存储信息,这些信息一起作为卡片的识别信息,增强系统的安全性。

为实现上述目的,本发明提供以下的技术方案:一种基于51单片机与rfid的校园一卡通系统,其特征在于:所述基于51单片机与rfid的校园一卡通系统包括stc89c52rc单片机,stc89c52rc单片机与ch340模块、键盘、eeprom、蜂蜜器、继电器、液晶显示器、晶体振荡器、gsm模块、mfrc522读写器模块连接,mfrc522读写器模块与天线连接,且晶体振荡器通过数据线与mfrc522读写器模块连接,该系统具有gsm功能。

优选的,所述键盘使用的是矩阵的检测方式,16个按键只占用8个io口。

优选的,所述eeprom使用atmel公司的at24c02设备。

优选的,所述液晶显示器使用通用的12864液晶显示器。

优选的,所述ch340模块下载器使用基于ch340的rs232转ttl模块。

优选的,所述天线是印制在读写器pcb板上。

采用以上技术方案的有益效果是:该基于51单片机与rfid的校园一卡通系统能够远程控制本地的rfid读卡器,使之能远程充值、远程开门、持卡人离校时自动短信通知家长。特别是持卡人离校时会自动发短信通知家长,这会让家长更加的了解子女,对于学生的安全隐患上,能做到更好,还有远程开门这个功能,就算是忘记带卡了,也能远程开门,这样就不会因为忘记带卡而造成迟到等问题,这些功能无疑都是非常实用的。由于rfid和gsm网络的安全性,使得持卡人能够安全地使用,增加了校园的安全性,减少了学校在安保方面的投入,本系统很实用并且性价比很高。本设计的亮点在于其比较高的数据安全性,使用充值功能和修改密码时都要获得管理员权限,管理员密码存储在eeprom中,掉电也不丢失。整个设计在封闭的数据环境中,能够最大限度保证数据安全性。系统保留串口数据口,可以将系统通过串口与数据库连接,真正实现组网应用。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的描述。

图1是本发明基于51单片机与rfid的校园一卡通系统的原理图;

图2是本发明基于51单片机与rfid的校园一卡通系统的软件流程图;

具体实施方式

下面结合附图详细说明本发明基于51单片机与rfid的校园一卡通系统的优选实施方式。

图1至图2出示本发明基于51单片机与rfid的校园一卡通系统的具体实施方式:该基于51单片机与rfid的校园一卡通系统包括stc89c52rc单片机,stc89c52rc单片机与ch340模块、键盘、eeprom、蜂蜜器、继电器、液晶显示器、晶体振荡器、gsm模块、mfrc522读写器模块连接,mfrc522读写器模块与天线连接,且晶体振荡器通过数据线与mfrc522读写器模块连接,该系统具有gsm功能。

如图1所示,键盘使用的是矩阵的检测方式,16个按键只占用8个io口。eeprom使用atmel公司的at24c02设备。液晶显示器使用通用的12864液晶显示器。ch340模块下载器使用基于ch340的rs232转ttl模块。天线是印制在读写器pcb板上。

系统的可行性中最主要的就是硬件部分的可行性,在选择硬件模块时要做好可行性的分析。选择单片机时,要首先评估代码量和要用到的单片机资源,本设计中需要较多代码支撑的模块就是rc522模块,它需要对较多的寄存器进行配置,经过评估,系统的代码量在6kb以内,使用弘晶公司的stc89c52rc单片机就完全适用。使用的12864液晶,eeprom,mfrc22模块等在51单片机上的开发都有着成熟的案例,所以根据经验是完全可行的。再分析各个模块要用到的io口数量,也是符合该硬件设计要求的。

如图2所示系统的软件流程图。本设计的软件设计方法是基于模块式的开发方法。使用的开发平台是keil4.2,使用的开发语言是c语言。软件开发是根据硬件模块分别开发的,每个硬件功能模块单独置于一个c文件,在工程中分别添加组成一个target,各个文件的函数在主函数中得到调用。其中,核心功能模块rc522的开发是基于直接对寄存器控制的,单片机与rc522模块之间通过spi总线通信,直接对rc522模块中的相关寄存器进行读写。菜单选择的开发使用标志位的方式,触发相应的标志位就触发硬件功能。

软件开发的可行性是基于开发周期和开发难度而言的。在设计软件前必要先对软件的开发进行可行性评估。本设计的软件开发平台和开发语言是固定的,由于选用的是stc89c52rc单片机,因此必须对代码进行必要的优化。rc522的寄存器控制有着完整的方案,所以可以直接借用。其余模块的软件功能开发都是在可控的范围内。

复位电路是非常重要的,在正常供电并晶振启振时,在复位引脚rst脚上如果有超过12个机器周期时间的高电平,则单片机就会执行复位操作。c3电容就是复位储能电容,它一般是10uf的点解电容。它不宜太大,太大了就会导致放电时间过长,从而使复位时间过长,并且还会导致代码下载不稳定。rxd和txd引脚是串口的接收和发送引脚,单片机的代码写入也是通过这两个引脚,只要正确连接下载器并使用相应的下载软件。

该系统刷卡时就会显示出余额和卡号信息,当输入消费金额并且确认时,再次刷卡就会从余额中扣去消费金额。在刷卡时,会在第一次刷卡时地显示出当前卡片的全部卡号信息。每一张卡片都有着全球唯一的id号码,因此可以知道,本设备是能够有效的识别每一张卡片。

在管理者没有输入消费金额的情况下刷卡,就会只得到卡号和余额等信息,但是对卡内的金额信息是没有损害的,这是因为本设计设定了金额的保护机制,这样会更加方便持卡者查询余额等信息,在输入金额时,会在单片机虚拟钱包内自动生成一系列的校验码,校验码与卡片相符合才能执行相应的消费功能。

在输入密码获得管理员权限后,可以使用充值功能。输入充值的金额并按下确认键,就会将金额加在余额上。

在使用充值的功能时,进入充值模式的安全性就很重要,本设计必须输入正确的密码才能进入充值模式。设计的键盘使用的是矩阵键盘,而由于单片机使用的是stc12c5a60s2这样的高速1t指令单片机,使得键盘的检测能够非常迅速的进行,因此按键的输入是很灵敏的。

刷卡时就会触发继电器,并且通过gsm模块发送短信给家长手机。板上插上手机卡的是gsm模块,型号是sim900a,是一款通用的gsm模块,单片机只要简单地通过串口与之通信就行。整个系统的实测功能良好,达到最初的设计要求。

在该系统启功门禁功能时,也同时启动了gsm的短信发送功能。此时,由于gsm模块的耗电量比较大,所以会看见液晶屏显示时出现闪烁现象。gsm模块是通过串口发送at控制的,本设计中的gsm模块的型号是sim900a,可以同时支持移动和联通的sim卡,性能比较稳定,短信发出的延时比较短,操作简单。仅需简单地配置单片机的串口就可以方便地操作该系统。单片机控制gsm模块发短信时的at指令是通过单片机串口发出的字符串,与sim900a能够很好地兼容。

以上的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1