資源簡介
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個文件信息
- 上一篇:STM32F10x例程源碼
- 下一篇:信息科學與電子工程專業英語(王朔中)原文及翻譯
評論
共有 條評論