MFRC522電路原理圖:
天線部分:
單片機+MFRC522測試源程序如下:
/**********************RC522實驗開發(fā)板例程************************
* CPU:STC89C52RC
* 晶振:11.0592MHZ
******************************************************************/
//實驗?zāi)康模?p>/*-----------------------------------------------
名稱:MF RC522
內(nèi)容:通過標(biāo)準(zhǔn)程序靜態(tài)顯示字符
引腳定義如下:
sbit MF522_NSS = P1^7; //SDA
sbit MF522_SCK = P1^6;
sbit MF522_SI = P1^5;
sbit MF522_SO = P1^4;
sbit MF522_RST = P1^3;
//蜂鳴器OR指示燈
sbit LED_GREEN = P2^3;
------------------------------------------------*/
#include "lpcreg.h"
#include "main.h"
#include "mfrc522.h"
#include #include unsigned char code data1[16] = {0x12,0x34,0x56,0x78,0xED,0xCB,0xA9,0x87,0x12,0x34,0x56,0x78,0x01,0xFE,0x01,0xFE}; //M1卡的某一塊寫為如下格式,則該塊為錢包,可接收扣款和充值命令 //4字節(jié)金額(低字節(jié)在前)+4字節(jié)金額取反+4字節(jié)金額+1字節(jié)塊地址+1字節(jié)塊地址取反+1字節(jié)塊地址+1字節(jié)塊地址取反 unsigned char code data2[4] = {0,0,0,0x01}; unsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; unsigned char g_ucTempbuf[20]; void delay1(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void main( ) { unsigned char status,i; unsigned int temp; InitializeSystem( ); PcdReset(); PcdAntennaOff(); PcdAntennaOn(); while ( 1 ) { status = PcdRequest(PICC_REQALL, g_ucTempbuf);//尋卡 if (status != MI_OK) { InitializeSystem( ); PcdReset(); PcdAntennaOff(); PcdAntennaOn(); continue; } printf("卡的類型:"); for(i=0;i<2;i++) { temp=g_ucTempbuf[i]; printf("%X",temp); } status = PcdAnticoll(g_ucTempbuf);//防沖撞 if (status != MI_OK) { continue; } ////////以下為超級終端打印出的內(nèi)容//////////////////////// printf("卡序列號:"); //超級終端顯示, for(i=0;i<4;i++) { temp=g_ucTempbuf[i]; printf("%X",temp); } /////////////////////////////////////////////////////////// status = PcdSelect(g_ucTempbuf);//選定卡片 if (status != MI_OK) { continue; } status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, g_ucTempbuf);//驗證卡片密碼 if (status != MI_OK) { continue; } status = PcdWrite(1, data1);//寫塊 if (status != MI_OK) { continue; } while(1) { status = PcdRequest(PICC_REQALL, g_ucTempbuf);//尋卡 if (status != MI_OK) { InitializeSystem( ); PcdReset(); PcdAntennaOff(); PcdAntennaOn(); continue; } status = PcdAnticoll(g_ucTempbuf);//防沖撞 if (status != MI_OK) { continue; } status = PcdSelect(g_ucTempbuf);//選定卡片 if (status != MI_OK) { continue; } status = PcdAuthState(PICC_AUTHENT1A, 1, DefaultKey, g_ucTempbuf);//驗證卡片密碼 if (status != MI_OK) { continue; } status = PcdValue(PICC_DECREMENT,1,data2);//扣款 if (status != MI_OK) { continue; } status = PcdBakValue(1, 2);//塊備份 if (status != MI_OK) { continue; } status = PcdRead(2, g_ucTempbuf);//讀塊 if (status != MI_OK) { continue; } printf("卡讀塊:"); //超級終端顯示, for(i=0;i<16;i++) { temp=g_ucTempbuf[i]; printf("%X",temp); } printf("n"); LED_GREEN = 0; delay1(100); LED_GREEN = 1; delay1(100); LED_GREEN = 0; delay1(200); LED_GREEN = 1;
上一篇:數(shù)碼管顯示時鐘可設(shè)置斷電記憶
下一篇:簡單做的基于51單片機的數(shù)碼管時鐘
推薦閱讀
史海拾趣
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- 上汽大眾:汽車網(wǎng)絡(luò)安全漏洞防護
- 恩智浦推出全新電池控制IC系列 助力新能源解決方案發(fā)展
- 全球首條GWh級新型固態(tài)電池生產(chǎn)線樣件下線
- 總投資455億元!三大動力電池項目齊刷進度條
- 現(xiàn)代汽車韓國建氫燃料電池廠,2028年投產(chǎn)
- 6月融資一覽:智能汽車芯片、第三代半導(dǎo)體、機器人成資本焦點
- 艙駕一體“點燃”新戰(zhàn)事
- 汽車智能化2.0引爆「萬億蛋糕」,誰在改寫游戲規(guī)則?
- 2025研華智能系統(tǒng)產(chǎn)業(yè)伙伴峰會成功舉辦
- 意法半導(dǎo)體公布2025年第二季度財報和電話會議時間安排
- 【DIY數(shù)控電源】入圍方案及后續(xù)活動安排!
- Vicor 白皮書下載有禮 | 在48V架構(gòu)中使用高密度功率轉(zhuǎn)換器構(gòu)建更好的機器人
- ST直播主題:高度靈活的、易用的、可定制化的協(xié)議棧--BlueNRG-LP 協(xié)議棧介紹
- 下載有好禮!羅姆帶您學(xué)習(xí)電源設(shè)計應(yīng)用小技巧(功率器件篇)
- 3月21日有獎直播:ADI新一代高阻抗輸入SAR ADC的優(yōu)勢與應(yīng)用
- 4小時實戰(zhàn)+剖析:TI工程師教你快速上手 各種無線產(chǎn)品開發(fā) (限量$14售CC1352R1無線開發(fā)板,助你參與動手實驗)
- 逆襲新機會!來EEWorld 下載中心,做任務(wù)賺200積分,輕松實現(xiàn)積分自由
- 【說出你的故事】跨平臺轉(zhuǎn)換——你做?還是不做?
- max6675是在上升沿還是下降沿讀取數(shù)據(jù)?
- 為什么在加了外部數(shù)據(jù)存儲器62256的程序后,總程序不能運行?
- 出一塊 NuTiny-SDK-M451 有效期到170607
- 求助msp430驅(qū)動3.5吋tft液晶。。。
- 請問function register和control register是什么意思,有什么區(qū)別
- 基于串口的數(shù)字萬用表創(chuàng)意進度帖+電阻、電壓、電流測量方法
- 1個IO口線來實現(xiàn)單機之間的串行數(shù)據(jù)通訊
- 【原創(chuàng)】有沒有單獨學(xué)習(xí)430每一塊資源的方法或是書籍
- 曬WEBENCH設(shè)計的過程+LM5122 Asynchronous BOOST
- 可愛的香版主,我想用STM32的DAC輸出直接驅(qū)動光耦,不知如何