找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2272|回复: 0
打印 上一主题 下一主题
收起左侧

RC522飞利浦原厂代码下载

[复制链接]
跳转到指定楼层
楼主
RC522飞利浦原厂代码 提供给有需要的朋友下载



单片机源程序如下:
  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <absacc.h>
  4. #include <intrins.h>

  5. #include "RegCtrl.h"
  6. #include "reg52.h"
  7. #include "main.h"
  8. #include "Mifare.h"
  9. #include "Rc522Reg.h"
  10. #include "OpCtrl.h"

  11. /*Initialize the processor and RC522*/
  12. void SysInit(void)
  13. {
  14.         T2CON = 0x04;
  15.     PCON = 0x80;
  16.     SCON = 0x70;
  17.     TMOD = 0x22;
  18.         TH1   = BAUD_9600;  //set serial port baudrate to 9600bps
  19.         TL1   = TH1;
  20.         TR1   = 1;
  21.         EA=0;           //disable all interrupt
  22.         Rc522Init();
  23. }

  24. //Just for test
  25. void main(void)
  26. {
  27.     short status;
  28.     unsigned char idata tmp[16],i,key[6];
  29.     SysInit();
  30.     memset(key,0xff,6);

  31.     /* Request */
  32.     status = Request(ISO14443_3_REQALL, tmp);
  33.     if(status)
  34.       goto end;

  35.     /*anticollision and select the card*/
  36.     status = AnticollSelect(0, tmp);
  37.     if(status)
  38.       goto end;

  39.     /*authenticaiton the key A of sector 1 (block 4~block 7)*/
  40.     status = Authentication(MIFARE_AUTHENT_A,key, tmp, 6);
  41.     if(status)
  42.       goto end;

  43.     /*if passed authenticaiton you can read the data in this sector*/
  44.     status = Read(6, tmp);
  45.     if(status)
  46.       goto end;
  47.     memset(tmp,0x33,16);

  48.     /*write function test*/
  49.     status = Write(6, tmp);
  50.     if(status)
  51.       goto end;
  52.     memset(tmp,0,16);

  53.     /*to check if the data has been writen successfully*/
  54.     status = Read(6, tmp);
  55.     if(status)
  56.       goto end;

  57.     /*Initialize a block value, then you can do increment and decrement operation*/
  58.     memset(tmp,0xff,4);
  59.     status = InitBlock(6,tmp);
  60.     if(status)
  61.       goto end;

  62.     /*to check if the data has been initialized successfully*/
  63.     status = Read(6, tmp);
  64.     if(status)
  65.       goto end;

  66.     /*decrement operation test*/
  67.     tmp[0]=2;
  68.     tmp[1]=0;
  69.     tmp[2]=0;
  70.     tmp[3]=0;
  71.     status = ValueOper(MIFARE_DECREMENT, 6, tmp, 6);
  72.     if(status)
  73.       goto end;

  74.     /*check if the decrement operation is ok*/
  75.     status = Read(6, tmp);
  76.     if(status)
  77.       goto end;

  78.     /*Increment operation test*/
  79.     tmp[0]=2;
  80. ……………………

  81. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
RC522飞利浦原厂代码.zip (23.25 KB, 下载次数: 29)




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表