欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機與FM1702SL交互讀寫IC卡,CPU卡的源代碼
[打印本頁]
作者:
lvxiangbei
時間:
2020-8-5 16:30
標題:
51單片機與FM1702SL交互讀寫IC卡,CPU卡的源代碼
FM1702SL交互讀寫IC卡,CPU卡的源代碼。
大家自行測試,讀寫M1卡,還有復旦的CPU卡
單片機源程序如下:
/*************************************************************/
/*===========================================================*/
#include "at89x52.h"
#include "intrins.h"
#include "pin.h"
#include "fm17xx.h"
#include "psam.h"
#include <string.h>
unsigned char mac_data[4];
unsigned char dat,add,i,len,initdata[8],insdata[64],mac_key[16];
void timer_uart_init();
void io_init();
void timer0_int();
void beep(unsigned char beep_time);
unsigned int time1,time2;
void main()
{
io_init();
timer_uart_init();
while(1)
{
while(serial_receive_finish_flag==1)
{
serial_receive_finish_flag=0;
switch(serial_data_buffer[0])
{
case 0x0://版本確認
serial_data_buffer[1]=0x46;//F
serial_data_buffer[2]=0x4D;//M
serial_data_buffer[3]=0x31;//1
serial_data_buffer[4]=0x37;//7
serial_data_buffer[5]=0x58;//X
serial_data_buffer[6]=0x58;//X
serial_data_buffer[7]=0x20;//
serial_data_buffer[8]=0x76;//V
serial_data_buffer[9]=0x31;//1
serial_data_buffer[10]=0x2E;//.
serial_data_buffer[11]=0x30;//0
serial_data_length=11;
uart_send();
break;
case 0x1://FM17XX 初始化
serial_data_buffer[1]=FM17XX_Init();
serial_data_buffer[2]=SPI_Init();
Rf_On();
PCB=0x00;
serial_data_length=2;
uart_send();
break;
case 0x2://PC讀取FM17XX所有地址
for(i=0;i<0x3f;i++)
{
serial_data_buffer[i+1]=SPIRead(i);
}
serial_data_length=63;
uart_send();
break;
case 0x3://PC讀取FM17XX地址
add=serial_data_buffer[1];
serial_data_buffer[1]=SPIRead(add);
serial_data_length=1;
uart_send();
break;
case 0x4://PC寫入FM17XX地址
add=serial_data_buffer[1];
dat=serial_data_buffer[2];
SPIWrite(add,dat);
serial_data_length=1;
uart_send();
break;
case 0x5://關射頻
Rf_Off();
serial_data_length=1;
uart_send();
break;
case 0x6://尋卡,防沖突,選卡
// serial_data_buffer[1]=Halt();
Rf_On();
if(serial_data_buffer[1]==0x0)
serial_data_buffer[2]=Request(Req_Std);//尋卡 Standard
else
serial_data_buffer[2]=Request(Req_Wakeup);//尋卡 Wakeup
serial_data_buffer[3]=tagtype[0];
serial_data_buffer[4]=tagtype[1];
for(i=0;i<4;i++)
UID[i]=0;
serial_data_buffer[5]=AntiColl();
serial_data_buffer[6]=UID[0];
serial_data_buffer[7]=UID[1];
serial_data_buffer[8]=UID[2];
serial_data_buffer[9]=UID[3];
serial_data_buffer[10]=Select_Card();
serial_data_buffer[11]=SAK;
serial_data_length=11;
uart_send();
break;
case 0x7://Mifare 認證
for(i=0;i<12;i++)
temp[i]=serial_data_buffer[i+1]; //12字節 key
serial_data_buffer[1]=mifare_loadkey(temp);
serial_data_buffer[2]=mifare_auth(serial_data_buffer[13],serial_data_buffer[14]);
serial_data_length=2;
uart_send();
break;
case 0x8://Mifare 讀塊
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
本人初學,僅供參考,存在錯誤和不足之處,請大家回帖多多指教,切勿照搬,文件下載:
fm1702_cpu_des.rar
(198.58 KB, 下載次數: 79)
2020-8-5 16:29 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
jnlylrabbit
時間:
2022-9-28 07:50
,不是stm32的,是89x52的
作者:
清風吹斜陽
時間:
2023-6-29 09:49
如果可以讀CPU卡 那很牛逼了
作者:
xysds
時間:
2023-12-4 18:02
研究研究
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1