亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
MFRC522電路原理圖與單片機測試程序
[打印本頁]
作者:
jgfuykgtfbbi
時間:
2018-1-14 19:25
標題:
MFRC522電路原理圖與單片機測試程序
MFRC522電路原理圖:
0.png
(58.83 KB, 下載次數(shù): 108)
下載附件
2018-1-15 01:39 上傳
天線部分:
0.png
(28.6 KB, 下載次數(shù): 94)
下載附件
2018-1-15 01:39 上傳
單片機+MFRC522測試源程序如下:
/**********************RC522實驗開發(fā)板例程************************
* CPU:STC89C52RC
* 晶振:11.0592MHZ
******************************************************************/
//實驗目的:
/*-----------------------------------------------
名稱:MF RC522
內(nèi)容:通過標準程序靜態(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 <STDIO.H>
#include <string.h>
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;
PcdHalt();
}
}
}
/////////////////////////////////////////////////////////////////////
//系統(tǒng)初始化
/////////////////////////////////////////////////////////////////////
void InitializeSystem()
{
P0M1 = 0x0; P0M2 = 0x0;
P1M1 = 0x0; P1M2 = 0x0;
P3M1 = 0x0; P3M2 = 0xFF;
P0 = 0xFF; P1 = 0xFF; P3 = 0xFF;P2 = 0xFF;
TMOD=0x21; //設(shè)T0為方式1,GATE=1;
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
MFRC522測試程序.rar
(104.75 KB, 下載次數(shù): 225)
2018-1-14 19:24 上傳
點擊文件名下載附件
MFRC522測試程序
下載積分: 黑幣 -5
作者:
liuyingzheng
時間:
2018-5-12 20:21
咱,謝分享學習了
作者:
Ray_96
時間:
2018-5-16 19:50
感謝分享1234
作者:
為了丶夢想
時間:
2018-9-1 16:04
為什么扣款不成功啊 求回復 謝謝
作者:
ccccc12388
時間:
2018-12-17 21:18
支持呀 先看著 希望自己能做好
作者:
jp_chen
時間:
2019-3-4 16:16
多謝了。。。先看著 希望自己能做好。。。
作者:
zero1118
時間:
2019-3-14 08:59
請問CV520與RC522的程序一樣嗎
作者:
KevinL
時間:
2019-4-6 17:00
請問一下,為什么用兩個while(1)循環(huán)?
作者:
zhenjiang006
時間:
2019-5-6 09:10
謝謝分享,學習了
作者:
popo425
時間:
2019-9-26 17:17
謝謝分享
作者:
tips123
時間:
2020-6-13 20:31
感謝分享
作者:
xiaoshigua
時間:
2020-8-6 09:27
為什么if (status != MI_OK)才往下走,不是應(yīng)該ok才往下走的嗎
作者:
xiaoshigua
時間:
2020-8-6 09:28
為什么if (status != MI_OK)后才往下走,不是應(yīng)該OK后往下走嗎?
作者:
robter
時間:
2021-12-28 09:11
這個很好,正在找這方面的資料,謝謝
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1