RC522 射频读卡器模块(MINI型)

RC522 射频读卡器模块(MINI型)一、硬件:二、[主芯片介绍]MFRC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,是NXP公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表

大家好,又见面了,我是你们的朋友全栈君。

一、硬件:

二、[主芯片介绍]
MF RC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,是NXP公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。 MF RC522利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。支持14443A兼容应答器信号。数字部分处理ISO14443A帧和错误检测。此外,还支持快速CRYPTO1加密算法,用语验证MIFARE系列产品。MFRC522支持MIFARE系列更高速的非接触式通信,双向数据传输速率高达424kbit/s。 作为13.56MHz高集成度读写卡系列芯片家族的新成员,MF RC522与MF RC500和MF RC530有不少相似之处,同时也具备许多特点和差异。它与主机间通信采用连线较少的串行通信,且可根据不同的用户需求,选取SPI、IIC或串行UART模式之一,有利于减少连线,缩小PCB板体积,降低成本。

三、[WMFRC522模块介绍]
WMFRC522模块采用Philips MFRC522原装芯片设计读卡电路,使用方便,成本低廉,适用于设备开发、读卡器开发等高级应用的用户、需要进行射频卡终端设计/生产的用户。本模块可直接装入各种读卡器模具。模块采用电压为3.3V,通过SPI接口简单的几条线就可以直接与用户任何CPU主板相连接通信,可以保证模块稳定可靠的工作、读卡距离远;
注:模块接口座可以按客户需求更改:

目前提供UART TTL、RX232和RS485三种接口

1、RC522接口芯片电路

1

 

2、通信电路

image

 

 

3、PCB效果

image

 

4、焊接完后的效果图:

PCB

PCB6

 

PCB2

 PCB3

PCB4

PCB5

 

4、固件:

/********************************************************************************
  * @Brief  : 测试522读写M1卡, 完成操作后PC6的LED闪烁一下,并打印到USART2上
  * @Param  : None
  * @Retval : None
  */
u8 MFRC522Test(void)
{
    u8 i;
    static u8 WriteFlag;
    u8 CardType[2], CardSN[4];
                          //0   1    2    3    4    5    6    7    8    9    10   11  12   13   14    15
    u8 DefaultData[16] = {0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x01,0xFE,0x01,0xFE};
    u8 DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; 
    u8 DataD[4]  = {0,0,0,0×01};
    u8 BlockData[16];

  LED0_OFF();
  BEEP_OFF();
    if(MI_OK != PcdRequest(PICC_REQALL, CardType))   //扫描卡
    {
        printf(“IC Card Type: %x\n”, *((u16 *)CardType));
        return 1;
    }
    if(MI_OK != PcdAnticoll(CardSN))                 //防冲撞
    {
        printf(” IC Card SN: %x\n”, *((u32 *)CardSN));
        return 2;
    }

    if(MI_OK != PcdSelect(CardSN))                    //选定卡片
        return 3;
     if(MI_OK != PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, CardSN))//验证卡片密码
    return 4;   
    if(MI_OK != PcdRead(1, BlockData))               //读块
    return 5;
    for(i = 0; i < 4; i++)  
        printf(“%x”, BlockData[i]);
    if(!WriteFlag)
    {
        if(MI_OK != PcdWrite(1, DefaultData))         //写块
         return 6;
        WriteFlag = 1;
        printf(“First Write Value\n”);
    }   
    if(MI_OK != PcdValue(PICC_DECREMENT, 1, DataD))  //扣款
    return 7;   
    if(MI_OK != PcdRead(1, BlockData))               //读块
    return 8;
    printf(“IC Card Type: %x\n”, *((u16 *)CardType));
    printf(” IC Card SN: %x\n”, *((u32 *)CardSN));
    printf(“Select Card!\n”);
    printf(“Check Pass Word Ok!\n”);
    printf(“Data Value decrease!\n”);

    for(i = 0; i < 4; i++)  
        printf(“%x”, BlockData[i]);
    printf(“\n”);
    LED0_ON();                   
    BEEP_ON();                   

    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154561.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 接口测试之Postman使用全指南(原来使用 Postman测试API接口如此简单)

    接口测试之Postman使用全指南(原来使用 Postman测试API接口如此简单)Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中。旨在简化测试和开发中的API工作流,如:使用Newman运行Postman集合Postman工具有Chrome扩展和独立客户端,推荐安装独立客户端。Postman有个Workspace的概念,workspace分personal和team类型。Personalworkspace只能自己查看。

  • 计算机网络常用端口号大全「建议收藏」

    计算机网络常用端口号大全「建议收藏」一、概述:计算机端口号总数:65535,一般用到的是1~65535,0一般不使用0-1023:系统端口,也叫公认端口,这些端口只有系统特许的进程才能使用; 1024~65535为用户端口:1024-5000:临时端口,一般的应用程序使用1024到4999来进行通讯; 5001-65535:服务器(非特权)端口,用来给用户自定义端口。二、常用端口号:以下均为默认端口号,即未…

    2022年10月21日
  • 背句子,记单词1「建议收藏」

    背句子,记单词1「建议收藏」7000词汇这么背我比较可以接受,连续看20天足以过八级!!(16天完整版)16天记住7000考研词汇(第一天)1.WithmyownearsIclearlyheardtheheartbeatofthenuclearbomb.我亲耳清楚地听到原子弹的心脏的跳动。2.Nextyearthebeardedbearwillbear…

  • MySQL安装及配置详细教程

    MySQL安装及配置超详细教程首先下载安装包[网址](https://dev.mysql.com/downloads/file/?id=476233)进入页面后可以不登录。后点击底部”Nothanks,juststartmydownload.”即可开始下载。安装:直接把压缩包解压到你想安装的路径即可,相当于不用安装,可以看到我的解压路径在D盘的ROUTE文件夹下的mysq…

  • 查找(二)简单清晰的B树、Trie树具体解释

    查找(二)简单清晰的B树、Trie树具体解释

    2021年11月13日
  • matlab插值计算

    matlab插值计算0,说明关于插值,官网有个小总结,可以直接去参考(从1维到多维),下面是我举的例子。1,一维插值interp1(x,y,X1,method)x=linspace(0,10,11)y=sin(x)plot(x,y,’-ro’)插值方法有如下:method=‘nearest’,‘linear’,‘spline’,‘pchip’,‘cubic’比如使用三次条样插值spline,则x=linspace(0,10,11)y=sin(x)plot(x,y,’-ro’)x

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号