论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
MCU 对Mifare1卡操作的命令主要有空操作、装载密码、验证密码、读卡、写卡和关卡等。无论哪种操作都必须先把命令代码写入到Command寄存器, 比如执行验证密码则需要执行WriteRC(RegCommand,0x0c)命令。从操作流程上,可以把Mifare1卡的操作分为以下几项:
1.复位请求:当一张Mifare1卡处在读写器天线的工作范围之内时,读写器向卡发出REQUEST all (或REQUEST std)命令。卡的ATR 将启动,将卡Block 0中的卡类型( TagType) 号共2 个字节传送给读写器,建立卡片与读写器的第一步通信联络。如果不进行复位请求操作,读写器对卡的其它操作将不会进行。
2.反碰撞操作:如果有多张Mifar1e卡处在读写器天线的工作范围之内时, 读写器首先与每一张卡进行通信,取得每一张卡的ID 号。由于每一张Mifare1卡都具有唯一的ID 号,因此读写器根据卡的ID号来保证一次只对一张卡操作。
3.卡选择操作:完成了上述二个步骤之后,读写器必须对卡进行选择操作。执行操作后,返回卡上的SIZE字节。
4.认证操作:经过上述三个步骤,在确认已经选择了一张卡片时,读写器必须对卡上已经设置的密码进行认证。如果匹配,才允许进一步的读写操作。
5.读写操作:对卡的读、写、增值、减值、存储和传送等操作。
七、读卡程序
根据上面的流程,采用基于Keil C的C语言进行编程,程序如下: (科教范文网 fw.nseac.com编辑发布)
char M500Reset(void)
{ char status;
RC500RST = 0; //RC500 在RSTPD 脚由高变低的时候复位
delay_1ms(25); //注意延时的长度,本系统的晶振频率是
//11.0592MHz
RC500RST = 1;
delay_50us(200);
RC500RST = 0;
delay_50us(50);
return status;
}
char M500Config(void) //对RC500的寄存器进行初始化
char M500PiccCommonRequest(unsigned char req_code,unsigned
char*atq) //RC500 发送请求。
req_code是请求模式,一共有requestall和Requeststd两种模式。Requestall指令是非连续性的读卡指令,只读一次。
但有个例外,当某一次Requestall指令读卡片失败时,例如,卡片没能通过密码认证或其它原因而出错时,Requestall 指令将连续地读卡,直到读卡成功才进入非连续性的读卡模式。Re -queststd 指令的使用和Requestall指令刚巧相反。
Requeststd指令是连续性的读卡指令。当某一张卡片在MCM之天线的有效的工作范围(距离)内,Requeststd指令在成功地读取这一张卡片之后,进入MCM对卡片的其它操作。如果其它操作完成之后,程序员又将MCM进入Requeststd 指令操作,则Requeststd指令将连续地再次进行读卡操作,而不管这张卡片是否被拿走。只要有一张卡片进入MCM之天线的有效的工作范围( 距离) 内, Requeststd 指令将始终连续地再次进行读卡操作。对于Mifare1卡,该函数返回值为0004H 。
char M500PiccCascAnticoll (unsigned char bcnt,unsignedchar *snr)
//反碰撞函数, 得到一张卡的序列号// 存入snr 中 (转载自http://www.NSEAC.com中国科教评价网)
char M500PiccCascSelect(unsigned char *snr,unsigned char*sak)
// 选中snr 指定的卡,对于Mifare1 卡返回值为0008H,值存入sak 中
char M500PiccAuthKey( unsigned char auth_mode, unsignedchar *snr,unsigned char *keys,unsigned char block)
// 这是三轮认证函数,整个过程包括:先将所要访问的区密码加密( 如区0 的初始密码为6 个FFH) ,再将加密后的密码通过Loadkey 存入MF RC500 的Key 缓存中,接着进行认证。
char M500PiccRead( unsigned char addr,unsigned char*_data)
// 最后读卡,读到的数据存入_data 中。
结束语
实际应用证明射频卡读写器系统读写非接触式IC卡片迅速、方便、可靠、安全、稳定,深受用户欢迎。可以取代目前仍在使用的磁卡和接触式IC卡读写器,具有巨大的市场竞争力和广阔的发展前景 。本文介绍了PHILIPS公司的MFRC500非接触式IC卡的结构和工作原理,给出了基于MFRC500的嵌入式读写模块的软硬件设计方法。此读写模块的使用使复杂的IC卡技术变得非常简单,因而对非接触式智能卡的推广具有重要意义。目前,该系统已可用于考勤、门禁、售饭等多种系统中。与磁卡、只读射频卡(EM卡)组成的系统相比,该系统的性能大大改善,并且为“一卡通”的实现提供了必备条件。
致谢词
通过此次的设计,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在论文的写作过程中,通过查资料和搜集有关的文献,培养了自学能力和动手能力。在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过毕业论文,我们学会了如何将学到的知识转化为