应电智能卡技术7读卡器编程课件

上传人:我*** 文档编号:141676072 上传时间:2020-08-11 格式:PPT 页数:21 大小:120.50KB
返回 下载 相关 举报
应电智能卡技术7读卡器编程课件_第1页
第1页 / 共21页
应电智能卡技术7读卡器编程课件_第2页
第2页 / 共21页
应电智能卡技术7读卡器编程课件_第3页
第3页 / 共21页
应电智能卡技术7读卡器编程课件_第4页
第4页 / 共21页
应电智能卡技术7读卡器编程课件_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《应电智能卡技术7读卡器编程课件》由会员分享,可在线阅读,更多相关《应电智能卡技术7读卡器编程课件(21页珍藏版)》请在金锄头文库上搜索。

1、第三章 3.3 任务三 M1卡数据读写程序的编写,编程练习一,记录自己的卡号 用Keil 51创建工程文件 test.prj 包括: test.c、REG516.H、M500A.h、rc500.lib 单片机芯片型号: STC89C516RD+ 编译、链接 将生成的.HEX 写入读卡器 用M1卡测试,读写器与M1卡交换数据的过程: 1)由读写器MCU(微控制器)发送指令给MCM(读写器模块) 2)MCM执行指令并将其转换为射频信号发送给卡; 3)卡接收到来自MCM的指令后,按指令完成其内部的各种处理,并回送应答信号/数据给MCM; 4)MCM接收卡回送的射频信号并将其转换为数字信号输出给MCU

2、,读写器MCU读取MCM接收到的应答/数据,即可完成与M1卡的数据交换。,M C M 基 本 通 信 指 令 集 p97,MCM 内 核 特 殊 寄 存 器,MIFARE卡的读写操作步骤,激活MCM MCM软复位 向MCM下载密码(LOAD KEY),校验传输密码正确后可向MCM的KEY-RAM写入用户自己设定的密码,以上操作与卡无关。M500PcdConfig() 请求应答(ANSWER TO REQUEST):寻卡 防冲突(ANTICOLLISION):选择唯一一张卡 选择标记(SELECT):激活所选择的卡 认证 (AUTHENTICATION):安全性 读写操作(读、写、加值、减值):

3、交换数据 (READ/WRITE/INCREAMENT/DECREMENT) 停止(HALT):置卡为停止模式,防止重复操作。,LOAD KEY,REQUEST,ANTICOLLISION,READ/WRITE/INC/DEC,HALT,MIFARE 卡操作步骤,AUTHENTICATION,SELECT,卡应答:TAGTYPE(2B),卡应答:SN(4B)+校验码(1B),卡应答:SIZE(1B),卡应答:AE位,while(1) if(M500PiccRequest(PICC_REQALL,card_type)!=0) continue; / 寻卡 if(M500PiccAnticoll(

4、0,card_sn)!=0) continue; / 防碰撞 if(M500PiccSelect(card_sn,card_type)!=0) continue; / 选卡 if(M500PiccAuth(PICC_AUTHENT1A, card_sn, 0,13)!=0) continue; /密钥认证 if(M500PiccRead(13,data_buf)!=0) continue; if(M500PiccWrite(13,temp)!=0) continue; if(M500PiccRead(13,data_buf)!=0) continue; Beep(200); ,void sio

5、_init() TMOD=0 x20; /设定定时器1的工作方式为方式2 TH1=0 xfd; /设置串行口波特率为9600 TL1=0 xfd; SCON=0 x50; /设置串行口的工作方式为方式1,允许接收 PCON=0 x00; TR1=1; ET1=0; TI=0; RI=0;ES=0; void tran_chr(BYTE chr) TI=0; SBUF=chr; while(!TI); void sio_str(char * str,BYTE len) BYTE i; for(i=0;ilen;i+) tran_chr(stri); ,库函数 RC300.LIB,为保护开发成果,

6、仅向客户提供目标代码 而不提供源代码;或只提供部分源程序,而将关键部分以库函数的方式提供。 C51标准库函数 .lib 用户库函数 头文件中对库函数内函数的名称、功能、调用值、返回值等进行说明。,接口函数介绍,char M500PcdConfig(void) /* 函 数 名:M500PcdConfig 功 能:配置RC500 说 明: 入口参数:无 返 回 值:成功时为0 */,char M500PiccRead( unsigned char addr, unsigned char *_data) 功 能:读值 说 明:从指定的的块号读出数据。 入口参数:addr : 块号0.63 *_da

7、ta : 读出的数据 返 回 值:成功时为0,char M500PiccRequest(unsigned char req_code, unsigned char *atq); 功 能:寻卡 说 明:Request 指令将通知MCM在天线有效的工作范围(距离)内寻找MIFARE 1卡片。如果有MIFARE 1卡片存在,这一指令将分别与MIFARE 1进行通信,读取MIFARE 1卡片上的卡片 类型号TAGTYPE(2个字节),由MCM传递给 MCU,进行识别处理。 程序员可以根据TAGTYPE来区别卡片的不同类型。 入口参数:req_code : 寻卡方式 PICC_REQALL,PICC_R

8、EQSTD 返 回 值:成功时为0,char M500PiccAnticoll (unsigned char bcnt, unsigned char *snr) 功 能:防碰撞 说 明:如果有多于一张的Mifare 1卡片在MCM之天线的有效的工作范围(距离)内 ,必须使用AntiCollision指令,使MCM能够在这一叠 Mifare 1卡片中选择个别的一张卡片。 入口参数:bcnt : 默认为0,已知位 *snr : 卡序列号 返 回 值:成功时为0,char M500PiccSelect(unsigned char *snr, unsigned char *sak) 功 能:选卡 说

9、明:在一个成功的AntiCollision指令之后,或在任何时候当程序员想实际地与已知序列号卡片进行通信时,必须使用Select指令,以建立与所选卡的通信。为了允许在Select指令以后对卡片能进行Read/Write等指令的操作,Select指令是很重要的,必须首先被使用。被选择的卡片将给出其自己的存储器容量-已编码的一个BYTE(字节) 如果有多于一张的Mifare 1卡片在MCM之天线的有效的工作范围(距离)内 ,必须使用AntiCollision指令,使MCM能够在这一叠 Mifare 1卡片 中选择个别的一张卡片。 入口参数:snr : 卡序列号,4B sak : 返回参数的存储容量

10、,1B 返 回 值:成功时为0,char M500PiccAuth( unsigned char keyAB, unsigned char *snr, unsigned char key_addr, unsigned char block) 功 能:密钥认证 说 明:希望能读取Mifare 1 卡片上的数据之前,程序员必须证明他的读/写请求操作是被允许的。 入口参数:keyAB : KEYA or KEYB snr : 卡序列号 key_addr:密码数组序号 block:绝对块号 返 回 值:成功时为0,char M500PiccWrite( unsigned char addr, unsi

11、gned char *_data) 功 能:写值 说 明:讲数据写入指定的块号。 入口参数:addr : 块号0.63 *_data : 要写入的数据 返 回 值:成功时为0,char M500PiccHalt(void) 功 能:终止 说 明:终止操作。 入口参数: 返 回 值:成功时为0,char M500PiccValue(unsigned char dd_mode, unsigned char addr, unsigned char *value, unsigned char trans_addr); 功 能:块值操作 说 明:从指定的块进行增值或减值操作(电子钱包)。 入口参数:dd

12、_mode : 操作方式 PICC_DECREMENT(减值) PICC_INCREMENT(增值) addr : 块号 *value : 操作的块值 trans_addr: 卡块地址 返 回 值:成功时为0,如何把卡序列号、锁死扇区号等信息显示出来?,实训 非接触式IC卡的读写控制,编写程序:实现M1卡基本功能的测试,以判断某一M1卡是否有扇区被锁死。 一般测试方法:分别对M1卡015扇区的块12写入数据16*0 xFF,然后读取写入的数据。如读写都顺利通过,则认定该M1卡基本正常;否则,认定该卡有扇区被锁死。 建议采用安全的测试方法:分别对M1卡015扇区的块1或2进行读操作。如读取成功,则认定该M1卡基本正常;否则,认定该卡有扇区被锁死。 两人一组,下课前交作业,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号