一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CW32的RC522刷卡模塊的應(yīng)用

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2023-11-02 14:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、實(shí)驗(yàn)簡介

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

非接觸式IC卡又稱射頻卡,由IC芯片、感應(yīng)天線組成,常被用于智能儀表和便攜式手持設(shè)備中,如“三表”(水表、電表、燃?xì)獗恚?yīng)用。其射頻卡技術(shù),將射頻識別技術(shù)和IC卡技術(shù)結(jié)合,結(jié)束了無源(卡中無電源)和免接觸這一難題,為電子器件領(lǐng)域帶來突破??ㄆ谝欢ň嚯x范圍(通常為5—10cm)靠近讀寫器表面,通過無線電波的傳遞來完成數(shù)據(jù)的讀寫操作。

二、實(shí)驗(yàn)器材

本實(shí)驗(yàn)使用到了CW32-48F大學(xué)計(jì)劃開發(fā)板、TTS語音播報(bào)模塊、RC522刷卡模塊、IC鑰匙扣卡及Keil5開發(fā)環(huán)境。

圖片2.png
CW32-48F大學(xué)計(jì)劃板

圖片3.png
TTS語音播報(bào)模塊

圖片4.png
RC522刷卡模塊

圖片5.png
IC鑰匙扣卡

圖片1.png
實(shí)物圖

【RC522刷卡模塊與單片機(jī)接線】:

3.3V -- 3.3V

RST -- PB15

GND -- GND

IRQ 懸空

MISO -- PB14

MOSI -- PB13

SCK -- PB12

SDA -- PA6

(注:采用SPI通信方式)

【TTS語音播報(bào)模塊與單片機(jī)接線】:

黑線 -- GND

紅線 -- 3.3V

黃線 -- PA9

白線 -- PA10

三、原理簡介

RC522模塊(射頻讀寫器)向IC卡發(fā)一組固定頻率的電磁波,卡片內(nèi)有一個(gè)LC串聯(lián)諧振電路,其頻率與讀寫器發(fā)射的頻率相同,這樣在電磁波激勵(lì)下,LC諧振電路產(chǎn)生共振,從而使電容內(nèi)有了電荷;在這個(gè)電荷的另一端,接有一個(gè)單向?qū)ǖ碾娮颖?,將電容?nèi)的電荷送到另一個(gè)電容內(nèi)存儲,當(dāng)所積累的電荷達(dá)到2V時(shí),此電容可作為電源為其它電路提供工作電壓,將卡內(nèi)數(shù)據(jù)發(fā)射出去或接受讀寫器的數(shù)據(jù)。

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

四、核心代碼

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};   //存放讀出的數(shù)據(jù)
uint8_t write[16]={0};  //存放寫入的數(shù)據(jù)
uint8_t DefaultKey[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};//密鑰(出廠默認(rèn))

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

int main()
{
char str[16]="";   //存放顯示在屏幕上的字符串
Lcd_Init();        //TFT屏幕初始化
UART3_Init();      //串口3初始化,通過串口進(jìn)行語音播報(bào)
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) //尋卡,有卡就認(rèn)
{
GPIO_WritePin(CW_GPIOB,GPIO_PIN_3,GPIO_Pin_SET);  //尋卡成功則蜂鳴器發(fā)出“滴”的一聲
Delay_ms(100);
GPIO_WritePin(CW_GPIOB,GPIO_PIN_3,GPIO_Pin_RESET);
if(RC522_PcdAnticoll(uid)==MI_OK)//防沖突,應(yīng)對同時(shí)有多張卡的情況,將被選中卡片的序列號保存到uid中
{
if(RC522_PcdSelect(uid)==MI_OK) //選定序列號為uid的卡片
{
if(RC522_PcdAuthState(PICC_AUTHENT1A,0x01,DefaultKey,uid)==MI_OK)//驗(yàn)證該卡片第一扇區(qū)A密鑰
{
//            Card_Refresh();  //刷新卡的余額
if(RC522_PcdRead(0x01,read)==MI_OK)     //1.讀取塊1(16字節(jié))數(shù)據(jù)
{
write[0]=read[0]-1;                   //2.讀出數(shù)據(jù)的第一字節(jié)減去(車)票價(jià),存到寫入數(shù)據(jù)的第一字節(jié)中
if(RC522_PcdWrite(0x01,write)==MI_OK) //3.寫入數(shù)據(jù)到塊1
{
if(RC522_PcdRead(0x01,read)==MI_OK) //4.讀出刷卡后塊1的數(shù)據(jù),進(jìn)行播報(bào)和顯示
{
printf("刷卡成功");//語音播報(bào)刷卡成功
TFTShowString(4,0,"Brushing card...");
sprintf(str,"  balance:%d",read[0]);
TFTShowString(6,0,str);//顯示卡中余額
}
}
}
}
}
}
}
Delay_s(1); //刷卡間隔
TFTShowString(6,0,"                "); //覆蓋余額顯示
}
}

五、效果演示

B站演示視頻 :https://www.bilibili.com/video/BV1mG411C7FE/?spm_id_from=333.999.0.0

*附件:基于CW32的RC522刷卡模塊的應(yīng)用源碼.zip
審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44981

    瀏覽量

    650268
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2788

    瀏覽量

    50337
  • 射頻卡
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    21215
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    255

    瀏覽量

    1241
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    RC522刷卡模塊原理簡介

    RC522 刷卡模塊是應(yīng)用于13.56MHz 非接觸式通信中高集成度讀寫卡系列芯片中的一員,是NXP 公司針對“三表”應(yīng)用推出的一款低電壓、低成本、體積小的非接觸式讀寫卡芯片。
    的頭像 發(fā)表于 11-21 09:12 ?8125次閱讀
    <b class='flag-5'>RC522</b><b class='flag-5'>刷卡</b><b class='flag-5'>模塊</b>原理簡介

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

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

    RC522刷卡之后在1602上顯示,程序怎么寫啊?

    大神,RC522刷卡之后,在1602上顯示,程序怎么寫啊,各引腳怎么連接啊 基于51單片機(jī),不要笑我笨,我是真的不會········
    發(fā)表于 08-05 10:45

    求教關(guān)于RC522射頻卡的問題,想將刷卡操作放在51單片機(jī)外部中斷里,不知道怎么操作

    做的項(xiàng)目里,用到了RC522,單片機(jī)是51,刷卡是突發(fā)事件,隨時(shí)可能發(fā)生,主程序里還有其他操作,所以想將刷卡放在中斷里,這樣的話,每次一刷卡程序就轉(zhuǎn)而執(zhí)行
    發(fā)表于 05-22 12:02

    求大神幫忙通過SPI總線和RC522模塊進(jìn)行通信,實(shí)現(xiàn)RFID刷卡

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

    請問怎么用Arduino控制RC522刷卡生成坐標(biāo)?

    我有一個(gè)RC522模塊,用Arduino做控制器,怎樣實(shí)現(xiàn)刷卡就能自動生成一個(gè)坐標(biāo),坐標(biāo)的生成可以隨機(jī)不定。
    發(fā)表于 04-02 19:14

    RC522刷卡如果實(shí)現(xiàn)貼一次刷一次?

    原來用的是韋根協(xié)議, 第一次用RC522刷卡識別,識別倒是沒問題,但卡放上去會一直識別,很占資源??戳讼?b class='flag-5'>RC522的手冊命令,也沒有看到關(guān)于此類的介紹和方法,參考了網(wǎng)友的辦法,讀卡模式改為0x26
    發(fā)表于 08-06 16:42

    如何通過Arduino對RC522刷卡控制舵機(jī)轉(zhuǎn)動開門?

    如何通過Arduino對RC522刷卡控制舵機(jī)轉(zhuǎn)動開門?
    發(fā)表于 01-24 07:06

    RC522速成教程

    RFID RC522速成教程,簡單易學(xué),實(shí)測可用。
    發(fā)表于 03-28 16:00 ?63次下載

    rc522舉例程序

    快速應(yīng)用rc522
    發(fā)表于 01-05 14:42 ?36次下載

    RC522讀卡器模塊的PCB文件

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

    RFID模塊RC522的程序和電路圖等詳細(xì)資料合集免費(fèi)下載

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

    RC522 RFID 射頻模塊原廠代碼免費(fèi)下載

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

    RC522 RFID 射頻模塊天線計(jì)算工具

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

    基于MF RC522的RFID讀寫器的設(shè)計(jì)

    本設(shè)計(jì)采用 STM32F103ZET6 為微控制器,結(jié)合 MIAFER 1 卡、MF RC522 模塊、LCD 等部分設(shè)計(jì)并實(shí)現(xiàn)了基于 MF RC522 的 RFID 讀寫器的設(shè)計(jì)。其主要 功能
    發(fā)表于 03-06 10:57 ?8次下載