谁有:ic卡破解软件 ,给我一下,急用,qq表情谢谢动态图片!348089989 @ qq.com

请问你有没有科密IC卡初始化软件呀,能发给我吗?_百度知道
请问你有没有科密IC卡初始化软件呀,能发给我吗?
我有更好的答案
自己到科密官网去下啊。
参考资料:
科密知识库
其他类似问题
为您推荐:
您可能关注的推广
初始化的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁谁有单片机射频IC卡读写器(低频/高频RFID)代码的,有的发个给我啊,急用了,谢谢了 _百度知道
谁有单片机射频IC卡读写器(低频/高频RFID)代码的,有的发个给我啊,急用了,谢谢了
单片机型号是51单片机
提问者采纳
/***************************************************************************** File :
** COPYRIGHT BY PANY
** Version:
** Created:
18.10.2005
** Last Change:
21.10.2005
** Author:
** Compiler:
KEIL C51 V7.10
** Description:
AT89S52-Firmware for FM1702 Demo Serial Reader
*****************************************************************************/#include &reg52.h&#define __SRC#include &main.h&#undef
__SRC#include &intrins.h&//#include &string.h&//#include &stdio.h&//#include &absacc.h&#include &FM1702.h&#define uchar unsigned char#define uint unsigned int//pin define
mcu控制管脚定义
sbit RF_MISO = P2^3;sbit RF_MOSI = P2^1;sbit RF_SCK
= P2^0;sbit RF_NSS
= P2^2;sbit RF_RST
P2^4;//由高变低时启动内部复位程序 sbit CARD_LED = P1^1;sbit SPEAKER
P1^0; sbit LED
= P2^5;//sbit RF_MISO = P1^0;//sbit RF_MOSI = P1^1;//sbit RF_SCK
= P1^2;//sbit RF_NSS
= P1^3;//sbit RF_RST
P1^4; //由高变低时启动内部复位程序 //sbit LED = P2^4;//sbit SPEAKER
P2^0; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~////名称: spi_byte_transceive
////功能: 该函数实现SPI通讯的数据收发
////~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//char spi_byte_transceive(char sendbyte){
for(i=0;i&8;i++)
if(sendbyte & 0x80)
//位运算,判断最高位是否为1
RF_MOSI=1;
RF_MOSI=0;
sendbyte &&= 1;
temp &&= 1;
if(RF_MISO)
temp |= 0x01;
RF_MOSI=0;
return (temp);}//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~////名称: rc531_register_write
// //功能: 该函数实现通过SPI接口对RC531中一个寄存器写入值
// //输入:
RC531目标寄存器地址和写入值
// //输出:
// //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//void SPIWrite(char reg_ad,char reg_data){
reg_ad &&= 1;
reg_ad &= 0x7F;
spi_byte_transceive(reg_ad);
spi_byte_transceive(reg_data);
RF_NSS=1;}//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~////名称: rc531_register_read
// //功能: 该函数实现通过SPI接口读取RC531中一个寄存器的值
// //输入:
RC531目标寄存器地址
// //输出:
目标寄存器的值
// //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//unsigned char SPIRead(char reg_ad){
reg_ad &&= 1;
reg_ad |= 0x80;
spi_byte_transceive(reg_ad);
temp=spi_byte_transceive(0x00);
return (temp);}///////////////////////////////////////////////////////////////////////// 主函数///////////////////////////////////////////////////////////////////////void main(void){
//设置变量 SPEAKER=0;
InitSystem();
//初始化系统 SPEAKER=1;LED=0;
//检查命令标志
if (CmdValid)
//if LEVEL 1
CmdValid = FALSE;
if(RevBuffer[0]==11)
//if LEVEL 2
RevBuffer[2]=RevBuffer[1];
RevBuffer[0]=1;
RevBuffer[1]=0;
CALL_isr_UART();
//equal to 'SETB TI', defined in main.h
SPEAKER=0;
//开蜂鸣器和指示灯
delay_10ms(RevBuffer[2]);
SPEAKER=1;
else if(RevBuffer[0]==13)
//设置通讯波特率 //if LEVEL 2
switch(RevBuffer[1])
baud=BAUD_9600;
baud=BAUD_14400;
baud=BAUD_19200;
baud=BAUD_28800;
baud=BAUD_38400;
baud=BAUD_57600;
baud=BAUD_115200;
baud=BAUD_19200;
} //switch body
RevBuffer[0]=1;
RevBuffer[1]=0;
CALL_isr_UART();
delay_10ms(5);
delay_10ms(2);
}//if LEVEL 2
cmd_process();
// 进入IC卡处理程序
CALL_isr_UART();
}//while循环体}//main函数///////////////////////////////////////////////////////////////////////// 系统初始化///////////////////////////////////////////////////////////////////////void InitSystem(void){
//Timer 2 disabled T2CON = 0x04; //start Timer 2(internal timer, auto reload)
PCON = 0x80;
//baud rate double
SCON = 0x70;
//UART mode 1, enable receive, if No valid stop bit, RI not activated. //TMOD = 0x22;
TMOD = 0x21;
//Timer 1 8bit auto reload TR1 control
//Timer 0 16bit TR0 control TH1
= BAUD_9600;
//默认波特率 TL1
= TH1; TR1
// 波特率发生器
TH0 = 0x60;
TL0 = 0x60;
TR0 = 0; //Timer 0 doesn't run
ET0=0; ET1=0; EA=1; EX0=1; IT0 = 1;
ES = TRUE;
//enable UART interrupt CmdValid=0;
//flag initiation
//喇叭和指示灯测试delay_10ms(10); delay_10ms(10);
Init_FM1702(0);
}///////////////////////////////////////////////////////////////////////// 串口接收和发送中断///////////////////////////////////////////////////////////////////////void isr_UART(void) interrupt 4 using 1{
uchar len,
unsigned int j=0;
for(i=0;i&i++)
while(!RI)
if(j&1000)
if(j&1000)
RevBuffer[i]=SBUF;
if(i==len)
CmdValid=1;
} } else if(!RI && TI) {
len=RevBuffer[0];
for(i=0;i&len+1;i++)
SBUF=RevBuffer[i];
while(!TI);
REN=1; }}/****************************************************************//*名称: Load_keyE *//*功能: 该函数实现把E2中密码存入FM1702的keyRevBuffer中*//*输入: Secnr: EE起始地址*//*输出: True: 密钥装载成功*//* False: 密钥装载失败*//****************************************************************/uchar Load_key_CPY(uchar *buff){
uchar coded_keys[12]; uchar
M500HostCodeKey(buff,coded_keys);////////////////
temp=Command_Send(0x0c,coded_keys,LoadKey); if(temp == FALSE) {
return FM1702_LOADKEYERR; } status=(SPIRead(ErrorFlag)) & 0x40; if (status==0x40)
return FM1702_AUTHERR;
return FM1702_OK;}///////////////////////////////////////////////////////////////////////// IC卡处理函数///////////////////////////////////////////////////////////////////////void cmd_process(void){
cmd = RevBuffer[0]; switch(cmd) {
// Halt the card
//终止卡的操作
status=MIF_Halt();
RevBuffer[0]=1;
RevBuffer[1]=
status = Request(RF_CMD_REQUEST_ALL); //RF_CMD_REQUEST_STD=0x26, request Idle
if(status != FM1702_OK)
status = Request(RF_CMD_REQUEST_ALL);
if(status != FM1702_OK)
RevBuffer[0] = 1;
RevBuffer[1] = FM1702_REQERR;
if(tagtype[0]==2)
// Mifare Pro 卡
else if(tagtype[0]==4)
cardtype=mifare1;
// Mifare One 卡
else if(tagtype[0]==16)
// Mifare Light 卡
RevBuffer[0]=3;
RevBuffer[1]=
RevBuffer[2]=tagtype[0];
RevBuffer[3]=tagtype[1];
// 防冲突 读卡的系列号 MLastSelectedSnr
status = AntiColl();;
if(status!=FM1702_OK)
RevBuffer[0]=1;
RevBuffer[1]=FM1702_ANTICOLLERR;
//memcpy(MLastSelectedSnr,&RevBuffer[2],4);
RevBuffer[0]=5;
RevBuffer[1]=
RevBuffer[2]=UID[0];
RevBuffer[3]=UID[1];
RevBuffer[4]=UID[2];
RevBuffer[5]=UID[3];
// 选择卡 Select Card
status=Select_Card();
if(status!=FM1702_OK)
RevBuffer[0]=1;
RevBuffer[1]=FM1702_SELERR;
RevBuffer[0]=1;
RevBuffer[1]=
case 5: //下载密钥//
status = Load_keyE2(RevBuffer[2],RevBuffer[1]);
//%40status = Authentication(UID, RevBuffer[2], RevBuffer[1]);
if(status != FM1702_OK)
RevBuffer[0]=1;
RevBuffer[1]=
RevBuffer[0]=1;
RevBuffer[1]=
// Key loading into the MF RC500's EEPROM
// 校验卡密码(E2)
Load_keyE2_CPY(uchar Secnr, uchar Mode)//
RevBuffer[5] = 0//
RevBuffer[6] = 0//
RevBuffer[7] = 0//
RevBuffer[8] = 0//
RevBuffer[9] = 0//
RevBuffer[10] = 0
status = Load_key_CPY(&RevBuffer[3]);//
status = Load_keyE2_CPY(RevBuffer[2],RevBuffer[1]);
if(status != FM1702_OK)//
RevBuffer[0]=1;//
RevBuffer[1]=//
RevBuffer[0]=1;
RevBuffer[1]=
这里不能全部发完,你加我的QQ吧, 我发给你接收完后麻烦采纳下我的答案。谢谢了
其他类似问题
为您推荐:
您可能关注的推广
ic卡读写器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 谢谢qq表情图片大全 的文章

 

随机推荐