一、硬件:

二、[主芯片介绍]
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接口芯片电路

 

2、通信电路

 

 

3、PCB效果

 

4、焊接完后的效果图:

 

 

 

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,0x01};
    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;
}

RC522 射频读卡器模块(MINI型)的更多相关文章

  1. 动手实操丨RC522射频卡模块与IC卡完成充值消费查询的技术实现思路

    摘要:一文手把手教你利用RC522射频卡模块与IC卡完成充值消费查询的技术实现思路. 本文分享自华为云社区<​​​​​​​​​​​​​​RC522射频卡模块与IC卡完成充值消费查询的技术实现思路 ...

  2. 基于ARM、linux的MF RC522射频读卡器

    摘要:本设计将ARM.linux的嵌入式技术与RFID技术相结合,对于实现移动支付终端的低功耗.便携式和网络化具有特别的意义.首先是采用MF RC522芯片设计与制作读写器,实现对Mifare卡的读写 ...

  3. RC522射频卡读写模块驱动(仅读取)

    目录 说明 测试结果 main RC522.h RC522.c 说明 更改了网上的源代码,仅保留了读取序列号并通过串口回传的功能.版本号:V1 感谢 https://blog.csdn.net/qq_ ...

  4. 2-移远GSM/GPRS M26 模块 Mini板 开发板(M26入门)

    https://www.cnblogs.com/yangfengwu/p/11214553.html 资料获取,首先说一下....很多东西需要自己悟,没有QQ群,没有微信群,论坛也寥寥无几!!!! 估 ...

  5. 1-移远GSM/GPRS M26 模块 Mini板 开发板(使用说明)

    板子预览 引脚说明 供电 关于串口电压匹配引脚: 上面一版朋友测试反应的问题 (上面的内容不删除,因为已经出售了1套) 1,源码开发完以后,烧录完成 PWRKEY按键不能使用了,需要断电上电,那么就需 ...

  6. USB 2.0 A型、B型、Mini和Micro接口定义及封装

    USB全称Universal Serial Bus(通用串行总线),目前USB 2.0接口分为四种类型A型.B型.Mini型还有后来补充的Micro型接口,每种接口都分插头和插座两个部分,Micro还 ...

  7. STM32F407使用MFRC522射频卡调试及程序移植成功

    版权声明:转载请注明出处,谢谢 https://blog.csdn.net/Kevin_8_Lee/article/details/88865556 或  https://www.cnblogs.co ...

  8. OrCAD 仿真与仿真模块库介绍

    PSpice A/D9.1个别时候可能会出现异常现象,例如:某一步后,突然电路图的电源极性被自动改变了!造成直流电压和直流电流不正常,输出无波形.所以应该趁正常的时候做好备份是明智的. PSpice ...

  9. 读取GY-951模块数据(Linux)

    参考:https://github.com/Razor-AHRS/razor-9dof-ahrs/wiki/Tutorial#sensor-calibration 链接中使用的硬件是SparkFun“ ...

随机推荐

  1. Linux中的栈:用户态栈/内核栈/中断栈

    http://blog.chinaunix.net/uid-14528823-id-4136760.html Linux中有多种栈,很容易弄晕,简单说明一下: 1.用户态栈:在进程用户态地址空间底部, ...

  2. Servlet课程0426(九)Servlet服务器端创建Cookie和客户端读取Cookie

    服务器端创建Cookie: Win7默认Cookie位置 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies Cookie ...

  3. CentOS7.1 安装关键步骤 记录下来

    SecureCRT下载地址 https://yunpan.cn/cS9W94kuvhXPb  访问密码 08cd[这里GNOME桌面 下的 要全选,截屏有误]

  4. 微信支付开发1 微信支付URL配置

    本文介绍微信支付申请时如何设置授权目录及URL. 一.选择支付类型 目前有两种支付类型 JS API网页支付 Native原生支付 如果没有特殊要求,两种都勾选. 二.支付授权目录 目前可以选择htt ...

  5. 23.allegro中钻孔[原创]

    1.钻孔: NC Parameters,NC Drill, Dill Legend, NC Route ----------------------- ------ ----- ------- --- ...

  6. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)5-----Assembly.Unload

    http://www.blogcn.com/user8/flier_lu/index.html?id=2164751&run=.04005F8 CLR 产品单元经理(Unit Manager) ...

  7. GPRS连接失败问题

    备注:采用的是SIMCOM的SIM900模块 1. GPRS连接失败问题 2013.08.06测试9台C2000两次,两次之间是机器拿开电池,间隔40分钟左右,每次都出现一台(但不是同一台): ⑴9台 ...

  8. 【HDOJ】4370 0 or 1

    挺有意思的题目.注意等式的条件.等式1实际表示点1的出度为1,等式2实际表示点2的入度为1,等式表示其它点为中间点,入度和出度相等.很容易转换成一条最短路.spfa直接可求,C即为邻接矩阵.同时,可能 ...

  9. Complete The Pattern #6 - Odd Ladder

    Complete The Pattern #6 - Odd Ladder Task: You have to write a function pattern which creates the fo ...

  10. The Impact of Garbage Collection on Application Performance

    As we’ve seen, the performance of the garbage collector is not determined by the number of dead obje ...