Sound 发表于 2021-3-4 14:44:23

扩展库使用说明——RC552

1-硬件概述


RC522是应用于13.56MHz非接触式通信中高集成度的读写卡芯片,“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。MFRC522利用了先进的调制和解调概念,集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。支持14443A兼容应答器信号。数字部分处理ISO014443A帧和错误检测。

2-引脚定义





3-电路原理图



4-硬件连接



5-图形化模块
1.   RC522初始化,RST引脚,NSS引脚,SCK引脚,MISO引脚、MOSI引脚

2.   RC522写数据

3.   RC522读取数据。



6-范例代码


#define SOFTSPI_SCK_PINP2_5
#define SOFTSPI_MISO_PIN P2_4
#define SOFTSPI_MOSI_PIN P2_3
#define RC522_RST P1_0
#define RC522_RST_MODE {P1M1&=~0x01;P1M0&=~0x01;}//P1_0双向IO口
#define RC522_NSS P1_1
#define rc522_NSS_MODE {P1M1&=~0x02;P1M0&=~0x02;}//P1_1双向IO口

#include <STC8HX.h>
uint32 sys_clk = 24000000;//设置PWM、定时器、串口、EEPROM频率参数
#include "lib/oled.h"
#include "lib/twen_board.h"
#include "mylib/rc522.h"
#include "lib/delay.h"

uint8 key={0xff,0xff,0xff,0xff,0xff,0xff};
uint8 value={0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xff,0x07,0x80,0x69,0xff,0xff,0xff,0xff,0xff,0xff};
uint8 RFID;
uint8 key1={0xf7,0xf6,0xf5,0xff,0xff,0xff};

void setup()
{
oled_init();//OLED初始化
twen_board_init();//天问51初始化
rc522_init();//RC522初始化
}

void loop()
{
rc522_read(key,8,RFID);//RC522读数据
oled_clear();//OLED清屏
oled_show_num(0,0,RFID[(int)(0)]);
oled_show_num(10,0,RFID[(int)(1)]);
oled_show_num(20,0,RFID[(int)(2)]);
oled_show_num(30,0,RFID[(int)(3)]);
oled_show_num(40,0,RFID[(int)(4)]);
oled_show_num(50,0,RFID[(int)(5)]);
oled_show_num(60,0,RFID[(int)(6)]);
oled_show_num(70,0,RFID[(int)(7)]);
oled_display();//OLED更新显示
delay(100);
}

void main(void)
{
setup();
while(1){
    loop();
}
}


7-测试视频
http://www.haohaodada.com/video/new/bbs/RC522.mp4








dayue 发表于 2021-7-2 10:36:52

本帖最后由 dayue 于 2021-7-2 11:55 编辑

//player.bilibili.com/player.html?bvid=BV1Ag411u7Rv






Laoguo0607 发表于 2022-3-11 19:53:45

老师我按照你这个进行编辑的,但是没有找到rc522读数据那个块,然后直接用的c代码,也是没有成功

Youngolo 发表于 2022-10-14 16:22:57

本帖最后由 Youngolo 于 2022-10-14 18:44 编辑

写入失败,返回MI_ERR

Youngolo 发表于 2022-10-15 00:47:29

Youngolo 发表于 2022-10-14 16:22
写入失败,返回MI_ERR
我在定时器中断里面读卡,会复位,然后串口输出乱码,请问这个怎么解决?
1秒读一次卡,找到卡片准备下一次找卡....
--------------------------
1秒读一次卡,找到卡片
选择卡片:16384
卡片验证成功!]]]]]]]]]]]]]]]]]]]]]]]]]]a冇n仮sl PC\m}P \ ancpl  AP \CrancplP \⊙ Lc qNGA]]]]]]]]]]]]]]]]]]]]Y]]]]]a冇n仮sl PC\m}P \ ancpl  AP \CrancplP \⊙ Lc qNCA

Youngolo 发表于 2022-10-15 00:49:09

好像是重新初始化了,我屏幕会关闭然后重新显示
页: [1]
查看完整版本: 扩展库使用说明——RC552