打印
[51单片机]

天问Block扩展库使用说明——RC552

[复制链接]
4139|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
twen51|  楼主 | 2021-7-9 10:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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_PIN  P2_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[6]={0xff,0xff,0xff,0xff,0xff,0xff};
  • uint8 value[16]={0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xff,0x07,0x80,0x69,0xff,0xff,0xff,0xff,0xff,0xff};
  • uint8 RFID[16];
  • uint8 key1[6]={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();
  •   }
  • }


[color=rgb(51, 102, 153) !important]复制代码



7-测试视频

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

42

帖子

2

粉丝