查看: 3559|回复: 5

扩展库使用说明——RC552

[复制链接]

22

主题

22

帖子

106

积分

注册会员

Rank: 2

积分
106
发表于 2021-3-4 14:44:23 | 显示全部楼层 |阅读模式
1-硬件概述
1.png

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

2-引脚定义

2.png

3.png

3-电路原理图

4.png

4-硬件连接
C296F1D5-92A0-47e2-B1DE-B77148E1B40A.png
2B2331CE-D11F-4ba0-833D-D71629CF89CF.png

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

5.png

2.     RC522写数据

6.png

3.     RC522读取数据。


7.png

6-范例代码
8.png

  1. #define SOFTSPI_SCK_PIN  P2_5
  2. #define SOFTSPI_MISO_PIN P2_4
  3. #define SOFTSPI_MOSI_PIN P2_3
  4. #define RC522_RST P1_0
  5. #define RC522_RST_MODE {P1M1&=~0x01;P1M0&=~0x01;}//P1_0双向IO口
  6. #define RC522_NSS P1_1
  7. #define rc522_NSS_MODE {P1M1&=~0x02;P1M0&=~0x02;}//P1_1双向IO口

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

  14. uint8 key[6]={0xff,0xff,0xff,0xff,0xff,0xff};
  15. uint8 value[16]={0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xff,0x07,0x80,0x69,0xff,0xff,0xff,0xff,0xff,0xff};
  16. uint8 RFID[16];
  17. uint8 key1[6]={0xf7,0xf6,0xf5,0xff,0xff,0xff};

  18. void setup()
  19. {
  20.   oled_init();//OLED初始化
  21.   twen_board_init();//天问51初始化
  22.   rc522_init();//RC522初始化
  23. }

  24. void loop()
  25. {
  26.   rc522_read(key,8,RFID);//RC522读数据
  27.   oled_clear();//OLED清屏
  28.   oled_show_num(0,0,RFID[(int)(0)]);
  29.   oled_show_num(10,0,RFID[(int)(1)]);
  30.   oled_show_num(20,0,RFID[(int)(2)]);
  31.   oled_show_num(30,0,RFID[(int)(3)]);
  32.   oled_show_num(40,0,RFID[(int)(4)]);
  33.   oled_show_num(50,0,RFID[(int)(5)]);
  34.   oled_show_num(60,0,RFID[(int)(6)]);
  35.   oled_show_num(70,0,RFID[(int)(7)]);
  36.   oled_display();//OLED更新显示
  37.   delay(100);
  38. }

  39. void main(void)
  40. {
  41.   setup();
  42.   while(1){
  43.     loop();
  44.   }
  45. }
复制代码


7-测试视频









回复

使用道具 举报

22

主题

25

帖子

271

积分

版主

Rank: 7Rank: 7Rank: 7

积分
271
发表于 2021-7-2 10:36:52 | 显示全部楼层
本帖最后由 dayue 于 2021-7-2 11:55 编辑


单片机型号 IAP15F2K61S2.png

RC522测试.png





回复

使用道具 举报

5

主题

20

帖子

262

积分

中级会员

Rank: 3Rank: 3

积分
262
发表于 2022-3-11 19:53:45 | 显示全部楼层
老师我按照你这个进行编辑的,但是没有找到rc522读数据那个块,然后直接用的c代码,也是没有成功
回复

使用道具 举报

0

主题

3

帖子

12

积分

注册会员

Rank: 2

积分
12
发表于 2022-10-14 16:22:57 | 显示全部楼层
本帖最后由 Youngolo 于 2022-10-14 18:44 编辑

写入失败,返回MI_ERR
回复

使用道具 举报

0

主题

3

帖子

12

积分

注册会员

Rank: 2

积分
12
发表于 2022-10-15 00:47:29 | 显示全部楼层
Youngolo 发表于 2022-10-14 16:22
写入失败,返回MI_ERR

我在定时器中断里面读卡,会复位,然后串口输出乱码,请问这个怎么解决?
1秒读一次卡,找到卡片[16384]准备下一次找卡....
--------------------------
1秒读一次卡,找到卡片[16384]
选择卡片: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

回复

使用道具 举报

0

主题

3

帖子

12

积分

注册会员

Rank: 2

积分
12
发表于 2022-10-15 00:49:09 | 显示全部楼层
好像是重新初始化了,我屏幕会关闭然后重新显示
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-11-1 08:06 , Processed in 0.114633 second(s), 30 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表