注:本程序已验证可用,但只对本店模块做过适配测试,其他模块我们没法保证一定能用
实物参考链接 直戳跳转
一、资源说明
二、基本参数
参数
读写器 :支持 ISO 14443A/MIFARE
通信方式 :SPI 通信
工作电流:13—26mA/直流3.3V
空闲电流:10-13mA/直流3.3V
休眠电流:<80uA
峰值电流:<30mA
工作频率:13.56MHz
数据传输速率:≤10Mbit/s
引脚说明
三、驱动说明
时序:
对应程序:
以51为例
/
//功 能:读RC522寄存器
//参数说明:Address[IN]:寄存器地址
//返 回:读出的值
/
unsigned char ReadRawRC(unsigned char Address)
{
unsigned char i, ucAddr;
unsigned char ucResult=0;
MF522_SCK = 0;
MF522_SDA = 0;
ucAddr = ((Address<<1)&0x7E)|0x80;
for(i=8;i>0;i--)
{
MF522_MOSI = ((ucAddr&0x80)==0x80);
MF522_SCK = 1;
ucAddr <<= 1;
MF522_SCK = 0;
}
for(i=8;i>0;i--)
{
MF522_SCK = 1;
ucResult <<= 1;
ucResult|=(bit)MF522_MISO;
MF522_SCK = 0;
}
MF522_SDA = 1;
MF522_SCK = 1;
return ucResult;
}
/
//功 能:写RC522寄存器
//参数说明:Address[IN]:寄存器地址
// value[IN]:写入的值
/
void WriteRawRC(unsigned char Address, unsigned char value)
{
unsigned char i, ucAddr;
MF522_SCK = 0;
MF522_SDA = 0;
ucAddr = ((Address<<1)&0x7E);
for(i=8;i>0;i--)
{
MF522_MOSI = ((ucAddr&0x80)==0x80);
MF522_SCK = 1;
ucAddr <<= 1;
MF522_SCK = 0;
}
for(i=8;i>0;i--)
{
MF522_MOSI = ((value&0x80)==0x80);
MF522_SCK = 1;
value <<= 1;
MF522_SCK = 0;
}
MF522_SDA = 1;
MF522_SCK = 1;
}
四、部分代码说明
接线引脚定义
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1.1、STC89C52RC+RC522射频模块
//RC522射频卡模块引脚定义
sbit MF522_SDA = P1^7 ; //SDA
sbit MF522_SCK = P1^6; //SCK
sbit MF522_MOSI = P1^5; //MOSI
sbit MF522_MISO = P1^4; //MISO
sbit MF522_RST = P1^3; //RST
1.2、STM32F103C8T6+RC522射频模块
//RC522射频卡模块引脚定义
/*********************************** RC522 引脚定义 *********************************************/
#define macRC522_GPIO_SDA_CLK_FUN RCC_APB2PeriphClockCmd
#define macRC522_GPIO_SDA_CLK RCC_APB2Periph_GPIOA
#define macRC522_GPIO_SDA_PORT GPIOA
#define macRC522_GPIO_SDA_PIN GPIO_Pin_4
#define macRC522_GPIO_SDA_Mode GPIO_Mode_Out_PP
#define macRC522_GPIO_SCK_CLK_FUN RCC_APB2PeriphClockCmd
#define macRC522_GPIO_SCK_CLK RCC_APB2Periph_GPIOA
#define macRC522_GPIO_SCK_PORT GPIOA
#define macRC522_GPIO_SCK_PIN GPIO_Pin_5
#define macRC522_GPIO_SCK_Mode GPIO_Mode_Out_PP
#define macRC522_GPIO_MOSI_CLK_FUN RCC_APB2PeriphClockCmd
#define macRC522_GPIO_MOSI_CLK RCC_APB2Periph_GPIOA
#define macRC522_GPIO_MOSI_PORT GPIOA
#define macRC522_GPIO_MOSI_PIN GPIO_Pin_7
#define macRC522_GPIO_MOSI_Mode GPIO_Mode_Out_PP
#define macRC522_GPIO_MISO_CLK_FUN RCC_APB2PeriphClockCmd
#define macRC522_GPIO_MISO_CLK RCC_APB2Periph_GPIOA
#define macRC522_GPIO_MISO_PORT GPIOA
#define macRC522_GPIO_MISO_PIN GPIO_Pin_6
#define macRC522_GPIO_MISO_Mode GPIO_Mode_IN_FLOATING
#define macRC522_GPIO_RST_CLK_FUN RCC_APB2PeriphClockCmd
#define macRC522_GPIO_RST_CLK RCC_APB2Periph_GPIOB
#define macRC522_GPIO_RST_PORT GPIOB
#define macRC522_GPIO_RST_PIN GPIO_Pin_0
#define macRC522_GPIO_RST_Mode GPIO_Mode_Out_PP
五、基础知识学习
STC89C52RC程序下载 直戳跳转
STM32F103C8T6程序下载
1、串口下载 直戳跳转
2、ST-LINK下载 直戳跳转
3、J-LINK下载 直戳跳转
4、DAP-LINK下载 直戳跳转
OLED0.96程序说明 直戳跳转
串口助手下载与使用
1、安信可调试助手使用 直戳跳转
2、 sscom33串口调试助手使用 直戳跳转
3、STC-ISP串口调试助手使用 直戳跳转
六、视频效果展示与程序资料获取
实物参考链接 直戳跳转
七、注意事项
1、VCC GND请勿接反,接反易烧
2、OLED显示异常时,排除接线接触不良
八、接线说明
可参考程序main.c最上面接线说明