⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 card.lst

📁 此程序为13.56MHz的RFID底层读写卡程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 312   2         }
 313   1      
 314   1         return Status;
 315   1      }
 316          
 317          
 318          
 319          uchar CheckMad(uchar *sec_no)
 320          {
 321   1         uchar i,buf[2];
 322   1         W_DOG();
 323   1         if(GPB==0x69)
C51 COMPILER V4.01,  CARD                                                                  19/08/04  14:33:21  PAGE 6   

 324   1         {  /* non-personalized card */
 325   2            SendResponse(0x84,1,buf);
 326   2            return MI_GPB_ERROR;
 327   2         }
 328   1      
 329   1         if((GPB&&0x01)==0x00)
 330   1         {	    /* not MAD */
 331   2           SendResponse(0x83,1,buf);
 332   2           return MI_NO_MAD;
 333   2         }
 334   1      
 335   1         for(i=2;i<32;i=i+2)
 336   1         {
 337   2            if(memcmp(ComBuffer+3,MADMessage+i,2)==0)
 338   2            break;
 339   2         }
 340   1      
 341   1         if(i<32)
 342   1         {
 343   2            *sec_no=i>>1;
 344   2            return MI_OK;
 345   2         }
 346   1      
 347   1         SendResponse(0x85,1,buf);
 348   1         return MI_MAD_ERROR;
 349   1      }
 350          
 351          //"检测同一文件名的多个扇区
 352          uchar CheckMad2(uchar *s_array)
 353          {
 354   1         uchar i,buf[2];
 355   1         uchar j;
 356   1         W_DOG();
 357   1         if(GPB==0x69)
 358   1         {                                          // non-personalized card
 359   2            SendResponse(0x84,1,buf);
 360   2            return MI_GPB_ERROR;
 361   2         }
 362   1      
 363   1         if((GPB&&0x01)==0x00)
 364   1         {	                                      // not MAD
 365   2           SendResponse(0x83,1,buf);
 366   2           return MI_NO_MAD;
 367   2         }
 368   1      
 369   1         j=0;
 370   1         for(i=2;i<32;i=i+2)
 371   1         {
 372   2            if(memcmp(ComBuffer+3,MADMessage+i,2)==0)
 373   2            {
 374   3            	j++;
 375   3            	s_array[j]=(i>>1);
 376   3            }
 377   2         }
 378   1      
 379   1         if(j>0)
 380   1         {
 381   2      
 382   2            s_array[0]=j;
 383   2            return MI_OK;
 384   2         }
 385   1      
 386   1         SendResponse(0x85,1,buf);
 387   1         return MI_MAD_ERROR;
 388   1      }
 389          
C51 COMPILER V4.01,  CARD                                                                  19/08/04  14:33:21  PAGE 7   

 390           //"使用于对认证码区的定位
 391          uchar CheckMad3(uchar *sec_no)
 392          {
 393   1         uchar i;
 394   1         W_DOG();
 395   1         if(GPB==0x69)
 396   1         {                                                    // non-personalized card
 397   2            SendResponse(0x84,6,snr);
 398   2            return MI_GPB_ERROR;
 399   2         }
 400   1      
 401   1         if((GPB&&0x01)==0x00)
 402   1         {	                                              // not MAD
 403   2           SendResponse(0x83,6,snr);
 404   2           return MI_NO_MAD;
 405   2         }
 406   1      
 407   1         for(i=2;i<32;i=i+2)
 408   1         {
 409   2            if(memcmp(ComBuffer+3,MADMessage+i,2)==0)
 410   2            break;
 411   2         }
 412   1      
 413   1         if(i<32)
 414   1         {
 415   2            *sec_no=i>>1;
 416   2            return MI_OK;
 417   2         }
 418   1      
 419   1         SendResponse(0x85,6,snr);
 420   1         return MI_MAD_ERROR;
 421   1      }
 422          
C51 COMPILER V4.01,  CARD                                                                  19/08/04  14:33:21  PAGE 8   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


ComBuffer. . . . . . . . . . . . . . .  EXTERN   XDATA  ARRAY    -----  220
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
IRQPD. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
_MF1_authkey . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  key_type . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0000H  1
  key. . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0001H  3
  block_n. . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0004H  1
  Status . . . . . . . . . . . . . . .  STATIC   IDATA  U_CHAR   0000H  1
  buf4 . . . . . . . . . . . . . . . .  STATIC   IDATA  ARRAY    0001H  12
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
_CheckMad2 . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  s_array. . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  3
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0003H  1
  buf. . . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0004H  2
  j. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0006H  1
_CheckMad3 . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  sec_no . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  3
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0003H  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
RSTPD. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
_Mf500PiccSelect . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
P1_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
W_DOG. . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
P1_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
P1_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
P3_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
P1_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
P3_1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
P1_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
P3_2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
P1_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
P3_3 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
P1_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
P3_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
P1_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
P3_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
P3_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
_Mf500PiccRequest. . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
P3_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
SI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
MADMessage . . . . . . . . . . . . . .  EXTERN   XDATA  ARRAY    -----  32
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
SO . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
_MF1_read. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  keytype_set. . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  block_n. . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  databuf. . . . . . . . . . . . . . .  AUTO     DATA   PTR      0002H  3
C51 COMPILER V4.01,  CARD                                                                  19/08/04  14:33:21  PAGE 9   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  Status . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
  sector_n . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0006H  1
  i2 . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0007H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
_Mf500PiccRead . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
RST1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A1H  1
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
_MF1_write . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  keytype_set. . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  block_n. . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  databuf. . . . . . . . . . . . . . .  AUTO     DATA   PTR      0002H  3
  Status . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
  sector_n . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0006H  1
  i3 . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0007H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
Open_next. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  Status . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  buf. . . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0001H  4
  i5 . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
_MF1_auth. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  keytype_set. . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  sector_no. . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  block_no . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0002H  1
  Status . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0003H  1
_Mf500PiccWrite. . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
_Mf500PiccAuth . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_SendResponse. . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
Block_Index. . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
IO1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A0H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
_MF1_read_key. . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  keytype_set. . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  block_n. . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  databuf. . . . . . . . . . . . . . .  AUTO     DATA   PTR      0002H  3
  key. . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0005H  3
  Status . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0008H  1
  sector_n . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0009H  1
  i2 . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   000AH  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
C51 COMPILER V4.01,  CARD                                                                  19/08/04  14:33:21  PAGE 10  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
_CheckMad. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  sec_no . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  3
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0003H  1
  buf. . . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0004H  2
snr. . . . . . . . . . . . . . . . . .  EXTERN   IDATA  ARRAY    -----  5
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
Mf500PiccHalt. . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
BEP. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
MfCmdInfo. . . . . . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  9
  cmd. . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  status . . . . . . . . . . . . . . .  MEMBER   -----  CHAR     0001H  1
  nBytesSent . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  nBytesToSend . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  nBytesReceived . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  nBitsReceived. . . . . . . . . . . .  MEMBER   -----  U_INT    0005H  2
  irqSource. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  collPos. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
GPB. . . . . . . . . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
_MF1_write_key . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  keytype_set. . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  block_n. . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  databuf. . . . . . . . . . . . . . .  AUTO     DATA   PTR      0002H  3
  key. . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0005H  3
  Status . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0008H  1
  sector_n . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0009H  1
  i3 . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   000AH  1
CSI. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
_picc_b_rats . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
SCK. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
_Mf500PiccAnticoll . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
_Mf500PiccAuthKey. . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
_OpenCard. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
  ins_type . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  Status . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  buf. . . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0002H  4
  i0 . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0006H  1
  ins_mark . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0007H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
_Mf500HostCodeKey. . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1505    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V4.01,  CARD                                                                  19/08/04  14:33:21  PAGE 11  

   DATA SIZE        =      1      78
   IDATA SIZE       =   ----      13
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -