RC522 射频读卡器模块(MINI型)
一、硬件:
二、[主芯片介绍]
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型)的更多相关文章
- 动手实操丨RC522射频卡模块与IC卡完成充值消费查询的技术实现思路
摘要:一文手把手教你利用RC522射频卡模块与IC卡完成充值消费查询的技术实现思路. 本文分享自华为云社区<RC522射频卡模块与IC卡完成充值消费查询的技术实现思路 ...
- 基于ARM、linux的MF RC522射频读卡器
摘要:本设计将ARM.linux的嵌入式技术与RFID技术相结合,对于实现移动支付终端的低功耗.便携式和网络化具有特别的意义.首先是采用MF RC522芯片设计与制作读写器,实现对Mifare卡的读写 ...
- RC522射频卡读写模块驱动(仅读取)
目录 说明 测试结果 main RC522.h RC522.c 说明 更改了网上的源代码,仅保留了读取序列号并通过串口回传的功能.版本号:V1 感谢 https://blog.csdn.net/qq_ ...
- 2-移远GSM/GPRS M26 模块 Mini板 开发板(M26入门)
https://www.cnblogs.com/yangfengwu/p/11214553.html 资料获取,首先说一下....很多东西需要自己悟,没有QQ群,没有微信群,论坛也寥寥无几!!!! 估 ...
- 1-移远GSM/GPRS M26 模块 Mini板 开发板(使用说明)
板子预览 引脚说明 供电 关于串口电压匹配引脚: 上面一版朋友测试反应的问题 (上面的内容不删除,因为已经出售了1套) 1,源码开发完以后,烧录完成 PWRKEY按键不能使用了,需要断电上电,那么就需 ...
- USB 2.0 A型、B型、Mini和Micro接口定义及封装
USB全称Universal Serial Bus(通用串行总线),目前USB 2.0接口分为四种类型A型.B型.Mini型还有后来补充的Micro型接口,每种接口都分插头和插座两个部分,Micro还 ...
- STM32F407使用MFRC522射频卡调试及程序移植成功
版权声明:转载请注明出处,谢谢 https://blog.csdn.net/Kevin_8_Lee/article/details/88865556 或 https://www.cnblogs.co ...
- OrCAD 仿真与仿真模块库介绍
PSpice A/D9.1个别时候可能会出现异常现象,例如:某一步后,突然电路图的电源极性被自动改变了!造成直流电压和直流电流不正常,输出无波形.所以应该趁正常的时候做好备份是明智的. PSpice ...
- 读取GY-951模块数据(Linux)
参考:https://github.com/Razor-AHRS/razor-9dof-ahrs/wiki/Tutorial#sensor-calibration 链接中使用的硬件是SparkFun“ ...
随机推荐
- http://www.linuxidc.com/Linux/2007-09/7399.htm
http://www.linuxidc.com/Linux/2007-09/7399.htm
- 一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础
来历 本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来. 一日,LZ在群里发话,“招人啦.” 然某群友曰,“群主,俺想去.” LZ回之,“你年几何?” 群友曰,“两年也.” LZ憾言之,“惜 ...
- hadoop博客 oschina
http://my.oschina.net/Xiao629/blog?catalog=449279
- POJ2892Tunnel Warfare (线段树)
http://poj.org/problem?id=2892 记录每个区间端点的左连续及右连续 都是单点更新 用不着向下更新 还简单点 找错找了N久 最后发现将s[w<<1|1]写成s[w ...
- 函数lock_rec_get_nth_bit
/*********************************************************************//** Gets the nth bit of a rec ...
- vijos p1071新年趣事之打牌
描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:“这副牌少了几张!”众人一数,果然是少了.于是 ...
- JSOI2008 最小生成树计数
题解: 最小生成树的两个性质: 1.边权相等的边的个数一定. 2.做完边权为w的所有边时,图的连通性相同. 证明: 1.边权相等的边的个数不一样的话就不会都同时是最小生成树了. 2.假设每种方法的做完 ...
- 关于 tomcat 集群中 session 共享的三种方法
前两种均需要使用 memcached 或redis 存储 session ,最后一种使用 terracotta 服务器共享. 建议使用 redis,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单 ...
- Linux 模拟 鼠标 键盘 事件
/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...
- webstorm使用教程--主题设置
1. 代码字体设置 :注意需要另存为 Scheme name一个才可以修改Editor Font. 字体设置:Editor->Color & Fonts->Font 2. 界面字体 ...