- 1、本文档共96页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
小结 通过本章的学习,学生应该能够掌握: Mifare是NXP(前身为飞利浦半导体)所拥有的13.56MHz非接触性辨识技术 Mifare MF1是符合ISO/IEC 14443A的非接触智能卡 1024*8bit EEPROM存储器分为16区,每区4块,每块16字节 读写控制位管理着使用密钥A和B读写存储器的权限 MF RC522是应用于13.56MHz非接触式通信中高集成度读写卡系列芯片中的一员 MF RC522包含一64*8位的FIFO缓冲区。它用来缓存主机MCU和MFRC522的内部状态机之间的输入和输出数据流 RC522的操作由可执行一系列命令的内部状态机来决定。 谢谢 当MFAuthent命令有效时,任何FIFO访问都被禁止。 只要访问FIFO的操作发生,ErrorReg寄存器的WrErr位就置位。 该命令在Mifare卡被认证且Status2Reg寄存器的MFCrypto1On位置位时自动终止。 当卡未响应时该命令不会自动终止,因此,定时器必须初始化成自动模式。 这时,除IdleIRQ外,TimerIRQ也可用作终止的标准。 在认证过程中,RxIRQ和TxIRQ被禁止。 认证命令结束后(处理完协议后或将IDLE写入命令寄存器后)只有Crypto1On位有效。 如果认证过程中有错误出现,则ErrorReg寄存器的ProtocolErr位置位。 Status2Reg寄存器的Crypto1On位清零。 5.3 RC522基本操作-RC522命令 当MFAuthent命令有效时,任何FIFO访问都被禁止。只要访问FIFO的操作发生,ErrorReg寄存器的WrErr位就置位。 该命令在Mifare卡被认证且Status2Reg寄存器的MFCrypto1On位置位时自动终止。 当卡未响应时该命令不会自动终止,因此,定时器必须初始化成自动模式。 这时,除IdleIRQ外,TimerIRQ也可用作终止的标准。 在认证过程中,RxIRQ和TxIRQ被禁止。 5.3 RC522基本操作-RC522命令 认证命令结束后(处理完协议后或将IDLE写入命令寄存器后)只有Crypto1On位有效。 如果认证过程中有错误出现,则ErrorReg寄存器的ProtocolErr位置位。Status2Reg寄存器的Crypto1On位清零。 9. SoftReset命令 该命令用来执行一次器件复位。内部缓冲区的配置数据保持不变。 所有寄存器都设置成复位值。 命令完成后自动终止。 由于SerialSpeedReg寄存器被复位,串行数据速率被设置成9600kbps。 5.3 RC522基本操作-RC522命令 RC522有14种基本指令集,实现不同方式的数据传输,其指令代码及含义如表5- 11所示。 基本指令 指令代码 含义 Request Std 0x26 寻天线区内未进入休眠状态的卡 Request All 0x52 寻天线区内全部卡 AntiCollision2 0x95 防冲撞 AntiCollision1 0x93 防冲撞 Authentication_A 0x60 验证A密钥 Authentication_B 0x61 验证B密钥 Read 0x30 读块 Write 0xa0 写块 Write4 0xa2 写四字节 Increment 0xc1 加 Destore 0xc0 减 Restore 0xc2 调快数据到缓冲区 Transfer 0xb0 传送数据 No Command 0x50 休眠 5.3 RC522基本操作-RC522基本指令 5.4 高频RFID阅读器程序设计 高频RFID阅读器程序,主要工作是能够操作RC522按照Mifare卡的规则和流程对MF1卡进行读写和验证 本例一般分为三部分:初始化程序、驱动程序和主程序。 5.4 高频RFID阅读器程序设计-初始化程序 初始化程序用于各种管脚和器件的初始化,以便能够正常进行解码。 下述内容用于实现任务描述5.D.1,编写RC522的初始化程序。 基于模块化和移植的考虑,可将本例中初始化子程序单独封装成为子函数InitAll(),具体源码如下所示: 【描述5.D.1】 InitAll() //初始化子函数 void InitAll(void) { InitPort(); InitRc522(); INT_Init(); TIMER_init(); //液晶屏显示初始化 LCD_init(); loc(1,0); LCD_display(高频HF读卡器:); loc(4,0); LCD_display(请刷卡); //参数,标志位初始化 bWarn=0; bPass=0; SysTime=0; KeyNum
您可能关注的文档
最近下载
- 市场营销原理(第13版) 科特勒 课件 中文版.ppt
- 陕西省全省性社会团体章程示范文本(陕西省2022版).pdf VIP
- 2025学年高一下学期期中考试物理试卷 Word版含答案 .pdf VIP
- 2023高考语文新课标I卷现代文阅读II《给儿子》小说精读及试题详解.docx
- 2025年许昌电气职业学院单招职业适应性测试题库往年题考.docx VIP
- 寿盒(骨灰盒)供应及售后服务方案.pdf VIP
- 适老化全场景技术规范 第2部分:既有居住建筑适老化改造技术标准 .pdf VIP
- 生态系统多样性及保护.pptx VIP
- (高清版)ZT 0331-2020 地热资源评价方法及估算规程.pdf VIP
- T∕CBMCA 057.1-2024 适老化全场景技术规范 第1部分:居住建筑适老化基本要求.pdf
文档评论(0)