2007.5 www.ecda.cn
ElectronicComponent&DeviceApplications
Vol.9No.5
May.2007
第9卷 第5期
2007年5月
6 读卡程序
根据上面的流程袁 便可采用基于KeilC的C语
言进行编程袁 程序如下院
charM500Reset(void)
{charstatus;
RC500RST=0;//RC500在RSTPD脚由高变低的时
候复位
delay_1ms(25);//注意延时的长度袁 本系统的晶
振频率是11.0592MHz
RC500RST=1曰
delay_50us(200);
RC500RST=0;
delay_50us(50);
.returnstatus;
}
charM500Config(void)//对RC500的寄存器进行
初始化
char M500PiccCommonRequest(unsigned char
req_code,unsignedchar*atq)
RC500发送请求时袁 req_code是请求模式袁
一共有requestall和Requeststd两种模式遥 Request
all指令是非连续性读卡指令袁 只读一次遥 但有一
个例外袁 即当某一次Requestall指令读卡失败时袁
如卡片没能通过密码认证或其它原因而出错时袁
Requestall指令将连续地读卡袁 直到读卡成功才
进入非连续性的读卡模式遥 Requeststd指令的使
用和Requestall指令刚巧相反遥 Requeststd指令是
连续性的读卡指令遥 当某一张卡片在MCM天线的
有效工作范围 (距离) 内时袁 Requeststd指令在成
功地读取这一张卡片之后袁 将进入MCM对卡片的
其它操作遥 如果其它操作完成袁 程序员又将MCM
进入Requeststd指令操作袁 那么袁 Requeststd指令
将连续地再次进行读卡操作袁 而不管这些片卡是
否被拿走遥 只要有一张卡片进入MCM之天线有效
工作范围 (范围) 内袁 Requeststd指令将始终连续
地再次进行读卡操作遥 对于Mifare1卡袁 该函数反
回值为0004H遥 其程序如下院
charM500PiccCascAnticoll(unsignedcharbcnt,un鄄
signed
char*snr)//反碰撞函数袁 得到一张卡的序列号
//存入snr中
charM500PiccCascSelect(unsignedchar*snr,un鄄
signedchar*sak)//选中snr指定的卡袁 对于Mifarel
卡返回值为0008H袁 值存入sak中
charM500PiccAuthKey(unsignedcharauth_mode,
unsignedchar*snr,unsignedchar*keys,unsigned
charblock)
这是三轮认证函数袁 整个过程是先将所要访
问的区密码加密 (如区0的初始密码为6个FFH)袁
再将加密后的密码通过Loadkey存入MFRC500的
Key缓存中袁 接着进行认证遥
CharM500PiccRead(unsignedcharaddr,unsigned
char*_data) //最后读卡袁 读到的数据存入_data
中遥
7 结束语
IC卡以其高度的信息集成及安全性已经融入
当今信息技术的主流袁 并越来越受到人们的青
睐遥 本文介绍了PHILIPS公司的MFICS50非接触
式IC 卡的内部结构和工作原理袁 给出了基于
MFRC500的嵌入式读写模块的软硬件设计方法遥
此读写模块的使用使复杂的IC卡技术变得非常简
单袁 因而对非接触式智能卡的推广具有重要意
义遥 目前袁 该系统已可用于考勤尧 门禁尧 售饭等
多种系统中遥 与磁卡尧 只读射频卡 (EM卡) 组成
的系统相比袁 该系统的性能大大改善袁 并且为
野一卡通冶 的实现提供了必备条件遥
参考文献
[1] KlausFinkenzeller.射频识别渊RFID冤技术[M].陈大才,
译.北京院电子工业出版社,2001.
[2] 李朝青.无线发送/接收IC芯片及其数据通信技术选编
[M].北京院北京航空航天大学出版社,2004
.
本文涉及主要器件联系方式如下院
器件院 MFRC500 生产院 philips
经销院 北京芯力振天科技公司
电话院 010-62105971/72
器件院 AT89C52 生产院 Atmel
经销院 北京艾高利半导体公司
电话院 010-51661162/63
4
PDF 文件使用 "pdfFactory" 试用版本创建 炣 www.fineprint.cn
- 1
- 2
- 3
- 4
- 5
- 6
前往页