网站地图| 免费获取|
毕业论文网
  • 网站首页|
  • 论文范文|
  • 论文降重|
  • 职称论文发表|
  • 合作期刊|
  • 论文下载|
  • 计算机论文|
  • 外文翻译|
  • 免费论文|
  • 论文资料|
  • 论文开题报告
搜索

当前位置:毕业论文网 -> 免费论文 -> 电子专业 -> 免费资料文档--基于单片机的IC卡读写器设计(七)
自动化论文范文| 电子机电论文| 测控技术论文| 通信专业论文| 电气工程论文| 通信工程论文| 电子信息工程论文| 免费自动化论文| 免费电子论文| 免费电气论文| 免费通信论文

免费资料文档--基于单片机的IC卡读写器设计(七)

最新活动:微信集50个赞就可获取任意一篇钻石会员文档。详情见微信集赞换文档
免费资料文档--基于单片机的IC卡读写器设计(七) ;PReset=0;} // 给复位脉冲
 while (ReadRC(RegPage) ! = 0x80);
 do{WriteRC(RegPage,0x0);}
 while(ReadRC(RegCommand) ! = 0x00);
 if (ReadRC(RegCommand) ! = 0x00)
 status=MI_INTERFACEERR;//接口初始化错误
 elsestatus = 0;//接口初始化成功
 
Mifare1 卡的操作

 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语言进行编程,程序如下:
 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 中
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卡)组成的系统相比,该系统的性能大大改善,并且为“一卡通”的实现提供了必备条件。

 

致谢词
 通过此次的毕业文档设计,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在文档的写作过程中,通过查资料和搜集有关的文献,培养了自学能力和动手能力。在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过毕业文档,我们学会了如何将学到的知识转化为

首页 上一页 4 5 6 7 8 下一页 尾页 7/8/8

免费资料文档--基于单片机的IC卡读写器设计(七)由毕业论文网(www.huoyuandh.com)会员上传。
原创论文资料流程 相关论文
上一篇:免费资料文档--电动车无刷直流电.. 下一篇:免费资料文档--一种输出电压4~16..
推荐论文 本专业最新论文
Tags:免费 资料文档 基于 单片机 读写器 设计 2010-03-19 18:29:56【返回顶部】
精彩推荐
发表论文

联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士论文资料


毕业论文网提供论文范文,论文代发,原创论文资料

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2020 毕业论文网 版权所有