pcb和sch工程文件:
rc522.zip
(15.4 KB, 售价: 10 E币)
51和430单片机源码:
源代码.zip
(66.11 KB, 售价: 5 E币)
RC522数据手册(英文版):
RC522_data sheet.pdf
(1.3 MB, 售价: 10 E币)
pcb和sch图片:工程文件见附件
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)
- { //////////////////////////////////
复制代码
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; }
复制代码
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|
|