• 大小: 23.7MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-22
  • 语言: 其他
  • 标签: RC522  CPU卡  ISO7816  

资源简介

RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡,RC522开发的完整的代码和原理图,可以直接使用

资源截图

代码片段和文件信息

#include 


#define uchar unsigned char 

sbit IO  = P1^0;
//sbit VCC = P3^5;
sbit RST = P1^3;
sbit CLK = P1^7;
//sbit FUS = P1^6;
//sbit SW  = P1^7;


//
/*
sbit CS=P1^1;
sbit SCK=P1^2;
sbit SI=P1^3;
sbit BUSYREADY=P1^5;
sbit SO=P1^6;
sbit PGM=P1^3;
//
sbit CLK1_SEL=P3^3; //
sbit CLK2_SEL=P3^4; //

//-----------------
 */

void  _CardSetReset(uchar Level)
{
if(Level){
RST = 1;
}
else{
RST = 0;
}
}

void _CardSetClock(uchar Level)
{
if(Level){
CLK = 0;
}
else{
CLK = 1;
}
}

uchar _CardReadIO()
{
uchar ctemp;
IO=1;
ctemp = IO;
return ctemp;
}
//
void _CardPutIO(uchar IOData)
{
IO=IOData;
}

void delay10us(unsigned int i)   //while i=0 is 80us
{
do{i--;}while(i>0);
return;
}

void clock()
{
_CardSetClock(1);//CLK=1;
delay10us(1);
_CardSetClock(0);//CLK=0;
delay10us(1);
}

uchar inb42()
{
uchar indata=0j;
    for(j=0;j<8;j++){
    indata>>=1;
indata+=(/*SIO*/_CardReadIO()==1?0x80:0x00);
clock();
}
return indata;
}

void outb42(uchar outdata)
{
uchar i;
for(i=0;i<8;i++){
     if(outdata&0x01)/*SIO=1*/_CardPutIO(1);else _CardPutIO(0);//SIO=0;
outdata>>=1;
clock();
}
return ;
}

// 4442
void start4442()
{
_CardPutIO(1);//SIO=1;
delay10us(1);
_CardSetClock(1);//CLK=1;
delay10us(1);
_CardPutIO(0);//SIO=0;
delay10us(1);
_CardSetClock(0);//CLK=0;
}
//
void stop4442()
{
_CardPutIO(0);//SIO=0;
delay10us(1);
_CardSetClock(1);//CLK=1;
delay10us(1);
_CardPutIO(1);//SIO=1;
delay10us(1);
_CardSetClock(0);//CLK=0;
}
//

//
void reset4442()
{
unsigned char ij;
i=0;
startreset:
_CardSetReset(0);//RST=0;
_CardSetClock(0);//CLK=0;
delay10us(1);
_CardSetReset(1);//RST=1;
delay10us(1);
_CardSetClock(1);//CLK=1;
delay10us(3);
_CardSetClock(0);//CLK=0;
delay10us(1);
_CardSetReset(0);//RST=0;
j=inb42();
if((j!=0xa2)&&(i++<3)){
j=inb42();
j=inb42();
j=inb42();
goto startreset;
}else{
j=inb42();
j=inb42();
j=inb42();
}
return;
}
//
unsigned char process4442(void)
{
int i;
_CardPutIO(1);//SIO=1;
for(i=0;i<1024;i++){
     clock();
if(/*SIO*/_CardReadIO()==1?1:0)return 0;
}
return 1;
}
// Read 4442
void Read4442(unsigned char addressint lenunsigned char  *buff)
{
int i;
reset4442();
start4442();
outb42(0x30);
outb42(address);
outb42(0xff);
stop4442();
for(i=0;i buff[i]=inb42();
  }
stop4442();
return;
}
void Readcount(unsigned char  *buff)
{
unsigned char i;
reset4442();
start4442();
outb42(0x31);
outb42(0xff);
outb42(0xff);
stop4442();
for(i=0;i<4;i++){
buff[i]=inb42()&0x07;
}
stop4442();
return;
}
//
unsigned char Verify4442(unsigned char *pinunsigned char  *buff)
{
unsigned char i;
reset4442();
start4442();
outb42(0x31);
outb42(0xff);
outb42(0xff);
stop4442();
i=inb42();
    i=i&0x07;         //2004-11-27 修改
if(i==0x0){

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1559659  2012-10-18 10:34  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\COS资料\COS专用参考手册.pdf

     文件       3455  2012-10-18 10:39  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\COS资料\CPU卡及其应用领域简介.txt

     文件     424640  2012-10-18 10:37  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\COS资料\CPU卡的接口特性传输协议与读写程序.pdf

     文件     556242  2009-03-27 10:34  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\COS资料\ISO7816-1234.PDF

     文件     220822  2009-03-27 11:25  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\COS资料\双接口智能卡COS软件的设计与实现.pdf

     文件     274039  2009-03-27 11:28  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\COS资料\智能卡操作系统_COS_仿真器系统设计与实现.pdf

     文件     158808  2009-03-27 11:30  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\COS资料\智能卡操作系统_COS_编程语言及编译器系统设计与实现.pdf

     文件     123976  2009-03-27 11:31  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\COS资料\智能卡操作系统研究和实例分析.pdf

     文件      74026  2005-11-08 10:06  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\ISO1443协议资料\ISO14443-1.pdf

     文件      54625  2005-08-21 01:57  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\ISO1443协议资料\ISO14443-2.pdf

     文件     275778  2005-08-21 01:58  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\ISO1443协议资料\ISO14443-3.pdf

     文件     131726  2005-08-21 08:41  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\ISO1443协议资料\ISO14443-4.pdf

     文件       5370  2006-02-17 18:04  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\4442SUB.c

     文件      13755  2012-02-25 11:23  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\4442SUB.LST

     文件      19691  2012-02-25 11:23  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\4442SUB.OBJ

     文件       3841  2005-03-14 13:41  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\AT24X.C

     文件       8899  2012-03-21 16:00  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\AT24X.LST

     文件      17190  2012-03-21 16:00  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\AT24X.OBJ

     文件         15  2005-03-15 02:42  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\auto.bat

     文件       2517  2012-03-21 16:20  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\cmdfun.c

     文件       5369  2012-03-21 16:20  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\cmdfun.LST

     文件     240744  2012-03-22 16:46  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\Cmnd.c

     文件     575450  2012-03-27 10:12  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\Cmnd.LST

     文件      94035  2012-03-27 10:12  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\Cmnd.OBJ

     文件      12351  2008-05-16 21:58  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\COMM.C

     文件      22290  2012-03-21 16:05  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\COMM.LST

     文件      18205  2012-03-21 16:05  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\COMM.OBJ

     文件      94292  1999-05-06 13:22  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\COMMAND.COM

     文件       7101  2005-01-28 00:56  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\CPU.a51

     文件      46993  2012-03-27 10:12  RC522操作非接触式CPU卡和支持ISO7816协议的SIM卡\RC522 C51源代码操作CPU和SIM卡\CPU.LST

............此处省略388个文件信息

评论

共有 条评论