打印

最经在尝试做基于89c52+RC500的读卡器程序,请教

[复制链接]
3491|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liugen21cn|  楼主 | 2012-5-12 16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最经在尝试做基于89c52+RC500的读卡器程序,请教,第一次写不知道思路,按照网上流程,网上的RC500函数库调用,不知道写的十分正确,请各位指教下,第一次写。我估计都是错误的,有可能思路就不对。呵呵。
#include "reg52.h"
#include "rc500.h"
#define uchar unsigned char
#define uint  unsigned int


//变量定义区域
uchar Snr_RC500[4];    //用来存放读取的RC500序列号
#define req_code 0x26   //0x26是未进入休眠状态的卡,0x52寻天线区内所有符合14443A标准的卡
uchar status;           //用来接收寻卡得到的结果
uchar status2[4];          //用来接收反重装得到的卡号
code uchar Nkey_a[6]    = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5}; //定义密钥A
code uchar Nkey_b[6]    = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; //定义密钥B
uchar Nkey_c[12];                 //定义用来转换后12字节的密钥
uchar Read_data[16];
uchar KuaiN=0;
//函数声明区域
void init();  //用来初始化系统



void main()
{
init();//初始化系统
PcdReset(); //初始化RC500
PcdReadE2(8,4,Snr_RC500);//读取RC500序列号。

while(1)
{
  status=PcdRequest(req_code);  //寻找未进入休眠的卡
  if(status==MI_OK)
  {
      status=PcdAnticoll(status2);  //反冲撞得到一个卡号,以后所有命令针对该卡,直到该卡被释放
    if(status==MI_OK)
    {
       status=PcdSelect(status2);//选择卡
       if(status==MI_OK)  //开始验证该卡
       {
          status=ChangeCodeKey(Nkey_a,Nkey_c);     //将密钥转换为RC500接收格式,
          if(status==MI_OK)
          {
              status=PcdAuthKey(Nkey_c);            //将已转换格式后的密钥送到RC500的FIFO中
            if(status==MI_OK)
            {
             /* 用存放RC500的FIFO中的密钥和卡上的密钥进行验证 ,0x60:验证A密钥,0x61:验证B密钥
             */
             status=PcdAuthState(0x60,KuaiN,status2);   //这块有问题,等会解决    kuaiN不是很明白?先找个0代替
             if(status==MI_OK)
             {
                  status=PcdRead(KuaiN,Read_data);    //读取一个块号中16个字节的数据            //读卡上一块(block)数据(16字节)
               if(status==MI_OK)
               {
                PcdHalt();      //命令卡进入休眠状态
               }
             }
            }
          }
       }

    }
  }

}
}

相关帖子

沙发
liugen21cn|  楼主 | 2012-5-12 16:31 | 只看该作者
请各位指点下思路。谢谢啊

使用特权

评论回复
板凳
r207| | 2012-5-12 17:34 | 只看该作者
我在以前公司做过 可是做了一半 项目搁置了
只记得好像RC500芯片 特别容易热 都烫手
忘的差不多了 帮顶一下!!

使用特权

评论回复
地板
tyw| | 2012-5-12 19:22 | 只看该作者
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

41

帖子

0

粉丝