精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RC522刷卡模塊原理簡介

武漢芯源半導體 ? 來源:武漢芯源半導體 ? 2023-11-21 09:12 ? 次閱讀

一、實驗簡介

1. RC522 刷卡模塊是應用于13.56MHz 非接觸式通信中高集成度讀寫卡系列芯片中的一員,是NXP 公司針對“三表”應用推出的一款低電壓、低成本、體積小的非接觸式讀寫卡芯片。

非接觸式IC卡又稱射頻卡,由IC芯片、感應天線組成,常被用于智能儀表和便攜式手持設備中,如“三表”(水表、電表、燃氣表)應用。其射頻卡技術,將射頻識別技術和IC卡技術結合,結束了無源(卡中無電源)和免接觸這一難題,為電子器件領域帶來突破。卡片在一定距離范圍(通常為5—10cm)靠近讀寫器表面,通過無線電波的傳遞來完成數據的讀寫操作。

二、實驗器材

本實驗使用到了CW32-48F大學計劃開發板、TTS語音播報模塊、RC522刷卡模塊、IC鑰匙扣卡及Keil5開發環境。

24fec1d0-8791-11ee-939d-92fbcf53809c.png
CW32-48F大學計劃板

TTS語音播報模塊
25223a5c-8791-11ee-939d-92fbcf53809c.png
RC522刷卡模塊

IC鑰匙扣卡
253a4ffc-8791-11ee-939d-92fbcf53809c.png
實物圖


【RC522刷卡模塊與單片機接線】:

3.3V -- 3.3V

RST -- PB15

GND -- GND

IRQ 懸空

MISO -- PB14

MOSI -- PB13

SCK -- PB12

SDA -- PA6

(注:采用SPI通信方式)

【TTS語音播報模塊與單片機接線】:

黑線 -- GND

紅線 -- 3.3V

黃線 -- PA9

白線 -- PA10

三、原理簡介

RC522模塊(射頻讀寫器)向IC卡發一組固定頻率的電磁波,卡片內有一個LC串聯諧振電路,其頻率與讀寫器發射的頻率相同,這樣在電磁波激勵下,LC諧振電路產生共振,從而使電容內有了電荷;在這個電荷的另一端,接有一個單向導通的電子泵,將電容內的電荷送到另一個電容內存儲,當所積累的電荷達到2V時,此電容可作為電源為其它電路提供工作電壓,將卡內數據發射出去或接受讀寫器的數據。

非接觸性IC卡與讀卡器之間通過無線電波來完成讀寫操作。二者之間的通訊頻率為13.56MHZ。非接觸性IC卡本身是無源卡,當讀寫器對卡進行讀寫操作時,讀寫器發出的信號由兩部分疊加組成:一部分是電源信號,該信號由卡接收后,與本身的L/C產生一個瞬間能量來供給芯片工作。另一部分則是指令和數據信號,指揮芯片完成數據的讀取、修改、儲存等,并返回信號給讀寫器,完成一次讀寫操作。

四、核心代碼

main.c:
#include "main.h"
#include "Uart.h"
#include "stdio.h"
#include "Delay.h"
#include "RC522.h"
#include "Buzzer.h"
#include "Lcd_Driver.h"
#include "LCD_calculate.h"


#define MONRY 100    //IC卡初始金額


uint8_t RecPcd[2]={0};  //存放IC卡類型
uint8_t uid[4]={0};     //存放IC唯一序列號
uint8_t read[16]={0};   //存放讀出的數據
uint8_t write[16]={0};  //存放寫入的數據
uint8_t DefaultKey[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};//密鑰(出廠默認)


void Card_Refresh(void)     //刷新卡的余額,僅在第一次使用IC卡或者IC金額刷光后使用
{
  write[0]=MONRY;   //將初始金額存進要寫入IC卡的數組中
  RC522_PcdWrite(0x01,write);//將數據寫入塊1
}


int main()
{
  char str[16]="";   //存放顯示在屏幕上的字符串
  Lcd_Init();        //TFT屏幕初始化
  UART3_Init();      //串口3初始化,通過串口進行語音播報
  Buzzer_Init();     //初始化板載蜂鳴器
  RC522_Init();       //初始化RC522刷卡模塊
  Gui_DrawFont_GBK16(0,0,BLUE,WHITE,"      BUS       ");  //顯示界面
  TFTShowString(2,0,"price: 1 RMB  ");  //單次刷卡金額
  while(1)
  {  
    TFTShowString(4,0,"Waiting card...");
    if(RC522_PcdRequest(PICC_REQALL,RecPcd)==MI_OK) //尋卡,有卡就認
    {  
      GPIO_WritePin(CW_GPIOB,GPIO_PIN_3,GPIO_Pin_SET);  //尋卡成功則蜂鳴器發出“滴”的一聲
      Delay_ms(100);
      GPIO_WritePin(CW_GPIOB,GPIO_PIN_3,GPIO_Pin_RESET);
      if(RC522_PcdAnticoll(uid)==MI_OK)//防沖突,應對同時有多張卡的情況,將被選中卡片的序列號保存到uid中
      {  
        if(RC522_PcdSelect(uid)==MI_OK) //選定序列號為uid的卡片
        {
          if(RC522_PcdAuthState(PICC_AUTHENT1A,0x01,DefaultKey,uid)==MI_OK)//驗證該卡片第一扇區A密鑰
          {      
//            Card_Refresh();  //刷新卡的余額        
            if(RC522_PcdRead(0x01,read)==MI_OK)     //1.讀取塊1(16字節)數據
            {
              write[0]=read[0]-1;                   //2.讀出數據的第一字節減去(車)票價,存到寫入數據的第一字節中
              if(RC522_PcdWrite(0x01,write)==MI_OK) //3.寫入數據到塊1
              {
                if(RC522_PcdRead(0x01,read)==MI_OK) //4.讀出刷卡后塊1的數據,進行播報和顯示
                {  
                  printf("刷卡成功");//語音播報刷卡成功
                  TFTShowString(4,0,"Brushing card...");
                  sprintf(str,"  balance:%d",read[0]);
                  TFTShowString(6,0,str);//顯示卡中余額  
                }
              }
            }
          }
        }
      }
    }
    Delay_s(1); //刷卡間隔
    TFTShowString(6,0,"                "); //覆蓋余額顯示
  }
}

五、效果演示

25478488-8791-11ee-939d-92fbcf53809c.png
等待刷卡
256649a4-8791-11ee-939d-92fbcf53809c.png
正在刷卡

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2674

    瀏覽量

    47350
  • 射頻
    +關注

    關注

    104

    文章

    5551

    瀏覽量

    167579
  • 天線
    +關注

    關注

    68

    文章

    3184

    瀏覽量

    140712
  • 智能儀表
    +關注

    關注

    1

    文章

    160

    瀏覽量

    23874
  • CW32
    +關注

    關注

    1

    文章

    196

    瀏覽量

    592

原文標題:基于CW32的RC522 刷卡模塊的應用

文章出處:【微信號:武漢芯源半導體,微信公眾號:武漢芯源半導體】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    紅外遙控RC522芯片RFID公交卡、飯卡刷卡系統應用(附源碼)

    庫液晶3.RFID讀卡模塊RC522,+ S50卡4.紅外遙控038接收頭,CARMP3遙控器,不同遙控器鍵值不同,若用不同品牌遙控器需修改鍵值5.LED指示燈(或為蜂鳴器)RC522接法
    發表于 06-16 12:46

    求大神幫忙通過SPI總線和RC522模塊進行通信,實現RFID刷卡

    求大神幫忙做下這個題目,實在不會通過SPI總線和RC522模塊進行通信,實現RFID刷卡 功能要求: 1、學習RC522的電路圖、工作原理、工作方式。 2、? 學習SPI通信協議和ST
    發表于 12-23 14:49

    請問怎么用Arduino控制RC522刷卡生成坐標?

    我有一個RC522模塊,用Arduino做控制器,怎樣實現刷卡就能自動生成一個坐標,坐標的生成可以隨機不定。
    發表于 04-02 19:14

    RC522刷卡如果實現貼一次刷一次?

    原來用的是韋根協議, 第一次用RC522刷卡識別,識別倒是沒問題,但卡放上去會一直識別,很占資源。看了下RC522的手冊命令,也沒有看到關于此類的介紹和方法,參考了網友的辦法,讀卡模式改為0x26
    發表于 08-06 16:42

    如何通過Arduino對RC522刷卡控制舵機轉動開門?

    如何通過Arduino對RC522刷卡控制舵機轉動開門?
    發表于 01-24 07:06

    RC522速成教程

    RFID RC522速成教程,簡單易學,實測可用。
    發表于 03-28 16:00 ?58次下載

    rc522舉例程序

    快速應用rc522
    發表于 01-05 14:42 ?36次下載

    RC522讀卡器模塊的PCB文件

    RC522讀卡器模塊的PCB文件
    發表于 11-28 14:57 ?0次下載

    RFID模塊RC522的程序和電路圖等詳細資料合集免費下載

    本文檔的主要內容詳細介紹的是RFID模塊RC522的程序和電路圖等詳細資料合集免費下載,里面有相關的STM32,51單片機,Na1000的源程序,RC522 mini 尺寸圖,RC522
    發表于 03-10 08:00 ?123次下載
    RFID<b class='flag-5'>模塊</b><b class='flag-5'>RC522</b>的程序和電路圖等詳細資料合集免費下載

    RC522 RFID 射頻模塊原廠代碼免費下載

    這是關于RC522飛利浦的原廠代碼,由于其他內容較大,所以只能分開來上傳,需要的小伙伴可以發的其他資料,包含RC522 RFID 射頻模塊的硬件電路部分和相關參考資料,以及天線計算工具。
    發表于 11-03 11:49 ?95次下載
    <b class='flag-5'>RC522</b> RFID 射頻<b class='flag-5'>模塊</b>原廠代碼免費下載

    RC522 RFID 射頻模塊天線計算工具

    這是RC522 RFID 射頻模塊的參考設計資料
    發表于 11-03 14:01 ?169次下載
    <b class='flag-5'>RC522</b> RFID 射頻<b class='flag-5'>模塊</b>天線計算工具

    Arduino使用RFID模塊來儲存卡信息實現智能門鎖(MF RC522

    Arduino的RFID模塊的使用(MF RC522)文章目錄Arduino的RFID模塊的使用(MF RC522)前言一、RFID是什么?1.RFID
    發表于 12-16 16:47 ?26次下載
    Arduino使用RFID<b class='flag-5'>模塊</b>來儲存卡信息實現智能門鎖(MF <b class='flag-5'>RC522</b>)

    基于MF RC522的RFID讀寫器的設計

    本設計采用 STM32F103ZET6 為微控制器,結合 MIAFER 1 卡、MF RC522 模塊、LCD 等部分設計并實現了基于 MF RC522 的 RFID 讀寫器的設計。其主要 功能
    發表于 03-06 10:57 ?8次下載

    基于CW32的RC522刷卡模塊的應用

    基于CW32的RC522刷卡模塊的應用
    的頭像 發表于 11-02 14:53 ?1058次閱讀
    基于CW32的<b class='flag-5'>RC522</b><b class='flag-5'>刷卡</b><b class='flag-5'>模塊</b>的應用

    rc522射頻模塊的工作原理

    RC522射頻模塊是一種基于射頻識別技術的讀卡器模塊,廣泛應用于門禁系統、智能家居、智能卡類應用等領域。它具備快速、穩定、安全的特點,能夠讀取和寫入射頻卡上的信息。下面將詳細介紹RC522
    的頭像 發表于 12-28 16:27 ?5250次閱讀