欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
RC522模塊原理圖與PCB圖,包括51單片機和430單片機測試程序
[打印本頁]
作者:
happy112
時間:
2016-6-10 07:38
標題:
RC522模塊原理圖與PCB圖,包括51單片機和430單片機測試程序
0.png
(12.51 KB, 下載次數: 334)
下載附件
2016-6-10 07:30 上傳
0.png
(36.7 KB, 下載次數: 193)
下載附件
2016-6-10 07:31 上傳
51單片機測程序:
#include "lpcreg.h"
#include "main.h"
#include "mfrc522.h"
unsigned char code data1[16] = {0x12,0x34,0x56,0x78,0xED,0xCB,0xA9,0x87,0x12,0x34,0x56,0x78,0x01,0xFE,0x01,0xFE};
//M1卡的某一塊寫為如下格式,則該塊為錢包,可接收扣款和充值命令
//4字節金額(低字節在前)+4字節金額取反+4字節金額+1字節塊地址+1字節塊地址取反+1字節塊地址+1字節塊地址取反
unsigned char code data2[4] = {0x12,0,0,0};
unsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
unsigned char g_ucTempbuf[20];
void main( )
{
unsigned char status;
InitializeSystem( );
PcdReset();
PcdAntennaOff(); //關閉天線
PcdAntennaOn(); //開啟天線
while ( 1 )
{
status = PcdRequest(PICC_REQALL, g_ucTempbuf); #define PICC_REQIDL 0x26 //尋天線區內未進入休眠狀態
////////////////////////////////////////////////////////////////////////////////
if (status != MI_OK)
{
LED_GREEN = 1;
continue;
}
/////////////////////////////////////////////////////////////////////
LED_GREEN = 0;
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 = PcdWrite(1, data1);
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;
}
PcdHalt(); //命令卡片進入休眠狀態
}
}
/////////////////////////////////////////////////////////////////////
//系統初始化
/////////////////////////////////////////////////////////////////////
void InitializeSystem()
{
P0M1 = 0x0; P0M2 = 0x0;
P1M1 = 0x0; P1M2 = 0x0;
P3M1 = 0x0; P3M2 = 0xFF;
P0 = 0xFF; P1 = 0xFF; P3 = 0xFF;
}
/////////////////////////////////////////////////////////////////////
//功 能:復位RC522
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdReset(void)
{
MF522_RST=1;
_nop_();
MF522_RST=0;
_nop_();
MF522_RST=1;
_nop_();
WriteRawRC(CommandReg,PCD_RESETPHASE);
_nop_();
WriteRawRC(ModeReg,0x3D); //和Mifare卡通訊,CRC初始值0x6363
WriteRawRC(TReloadRegL,30);
WriteRawRC(TReloadRegH,0);
WriteRawRC(TModeReg,0x8D);
WriteRawRC(TPrescalerReg,0x3E);
return MI_OK;
}
/////////////////////////////////////////////////////////////////////
//功 能:寫RC632寄存器
//參數說明:Address[IN]:寄存器地址
// value[IN]:寫入的值
/////////////////////////////////////////////////////////////////////
void WriteRawRC(unsigned char Address, unsigned char value)
{
unsigned char i, ucAddr;
MF522_SCK = 0;
MF522_NSS = 0;
ucAddr = ((Address<<1)&0x7E);
for(i=8;i>0;i--)
{
MF522_SI = ((ucAddr&0x80)==0x80);
MF522_SCK = 1;
ucAddr <<= 1;
MF522_SCK = 0;
}
for(i=8;i>0;i--)
{
MF522_SI = ((value&0x80)==0x80);
MF522_SCK = 1;
value <<= 1;
MF522_SCK = 0;
}
MF522_NSS = 1;
MF522_SCK = 1;
}
/////////////////////////////////////////////////////////////////////
//功 能:讀RC632寄存器
//參數說明:Address[IN]:寄存器地址
//返 回:讀出的值
/////////////////////////////////////////////////////////////////////
unsigned char ReadRawRC(unsigned char Address)
{
unsigned char i, ucAddr;
unsigned char ucResult=0;
MF522_SCK = 0;
MF522_NSS = 0;
ucAddr = ((Address<<1)&0x7E)|0x80;
for(i=8;i>0;i--)
{
MF522_SI = ((ucAddr&0x80)==0x80);
MF522_SCK = 1;
ucAddr <<= 1;
MF522_SCK = 0;
}
for(i=8;i>0;i--)
{
MF522_SCK = 1;
ucResult <<= 1;
ucResult|=(bit)MF522_SO;
MF522_SCK = 0;
}
MF522_NSS = 1;
MF522_SCK = 1;
return ucResult;
}
復制代碼
430單片機測試程序:
#include <msp430x41x.h>
#include "main.h"
#include "mfrc522.h"
#pragma memory = constseg(TAB)
unsigned char data1[16] = {0x12,0x34,0x56,0x78,0xED,0xCB,0xA9,0x87,0x12,0x34,0x56,0x78,0x01,0xFE,0x01,0xFE};
//M1卡的某一塊寫為如下格式,則該塊為錢包,可接收扣款和充值命令
//4字節金額(低字節在前)+4字節金額取反+4字節金額+1字節塊地址+1字節塊地址取反+1字節塊地址+1字節塊地址取反
unsigned char data2[4] = {0x12,0,0,0};
unsigned char DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
#pragma memory=default
unsigned char g_ucTempbuf[20];
void main(void)
{
unsigned char status;
InitializeSystem();
PcdReset();
PcdAntennaOff();
PcdAntennaOn();
while ( 1 )
{
status = PcdRequest(PICC_REQALL, g_ucTempbuf);
if (status != MI_OK)
{
LED_GREEN_OFF;
continue;
}
LED_GREEN_ON; //檢測到有卡存在
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 = PcdWrite(1, data1);
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; }
PcdHalt();
}
}
/////////////////////////////////////////////////////////////////////
//功能:系統初始化
/////////////////////////////////////////////////////////////////////
void InitializeSystem(void)
{
WDTCTL = WDTPW + WDTHOLD; //Stop watchdog timer
_DINT();
P1DIR = 0xE8;
P1OUT = 0xFF;
P6DIR = 0x08;
P6OUT = 0xFF;
}
復制代碼
全部資料(壓縮包)下載:
M112120_FSpec_RC522_20050801.pdf
(1.3 MB, 下載次數: 214)
2016-6-10 07:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
SL016.rar
(10.92 KB, 下載次數: 254)
2016-6-10 07:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
SL106.rar
(3.11 KB, 下載次數: 160)
2016-6-10 07:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
源代碼.zip
(66.11 KB, 下載次數: 129)
2016-6-10 07:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
robinxiong
時間:
2016-7-19 14:05
供應13.56M非接芯片,兼容CV520,RC522,RC523,FM17520,FM17522.具有絕對成本優勢。有意者可加QQ458231727
作者:
Tliang
時間:
2016-8-5 08:35
圖好小
作者:
一線光輝
時間:
2016-8-9 09:49
樓主522和51通信能不能只接TX,RX,不接DTRQ,MX呢?
作者:
zg1519126168
時間:
2016-11-16 22:29
不能用
作者:
lehigh
時間:
2016-12-1 22:36
感謝分享,費用有用
作者:
605891789
時間:
2017-5-6 15:13
很好的資料,謝謝分享
作者:
clementa
時間:
2017-5-10 18:45
沒發現原理圖,,,??
作者:
armauk
時間:
2017-5-29 17:57
資料不錯
作者:
Lgsa88
時間:
2017-6-21 18:29
正找呢 可是沒有黑幣啊
作者:
Lgsa88
時間:
2017-6-21 18:30
新手發不了貼?
作者:
psven
時間:
2017-7-11 14:31
不錯,學習了。
作者:
djk0125
時間:
2017-9-13 14:05
研究研究!拿來主義!3Q啦
作者:
hcrdi
時間:
2017-9-19 21:47
不錯,學習了。
作者:
firegod01cn
時間:
2017-9-26 18:24
多謝 好東西
作者:
lishaoyu2012
時間:
2017-10-18 14:06
好東西 收藏收藏
作者:
a125327964
時間:
2017-11-15 10:43
這么小的圖,看得到么?
作者:
fanglei2583
時間:
2017-11-24 22:43
好東西 收藏收藏
作者:
guoxiao69
時間:
2018-4-1 21:58
非常感謝樓主的無私分享精神。
作者:
pengzhangjun
時間:
2018-6-6 15:34
學習了
作者:
wwwwheihei
時間:
2018-6-7 15:50
帖子不錯不過沒有黑比
作者:
wwwwheihei
時間:
2018-6-7 16:39
希望發我qq郵箱一份,
2906905479@qq.com
作者:
mengtao689
時間:
2018-6-8 10:43
贊一個~~~
作者:
hai1980
時間:
2018-6-12 14:08
剛好用上
作者:
hai1980
時間:
2018-6-12 14:08
謝謝分享
作者:
dd774975175
時間:
2018-7-17 17:59
沒把參數放出來
作者:
hbsun2007
時間:
2018-8-10 21:51
謝謝樓主貢獻
作者:
d379751428
時間:
2018-8-11 20:51
非常感謝 、正愁PCB天線怎么畫
作者:
LUXIAN
時間:
2018-8-29 11:22
不錯,學習了。
作者:
375582624
時間:
2018-8-29 11:42
不錯,學習了。
作者:
luodato
時間:
2018-11-21 11:22
很有幫助
作者:
keyvan
時間:
2018-12-12 17:46
謝謝樓主分享好東西!
作者:
mitosis
時間:
2019-2-17 17:28
謝謝分享!
作者:
X3814072
時間:
2019-3-25 09:30
研究一下,再來回復
作者:
zhuhanliang
時間:
2019-5-11 13:11
參考
作者:
xiong2088
時間:
2019-7-23 10:31
不錯,很有用。
作者:
gugou
時間:
2019-9-2 14:59
謝謝分享
作者:
okwe
時間:
2019-12-19 13:43
好東西 收藏收藏
作者:
Robust_Gao
時間:
2020-3-1 22:48
不錯挺好的
作者:
漫影
時間:
2020-5-26 14:02
不錯不錯,學習了!
作者:
onono
時間:
2020-5-29 13:38
最近正準備調這個,只是天線還不會畫。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1