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

📄 mcpu.lst

📁 利用NXP的新一代高集成度的芯片RC500完成Mifare系列卡的读写
💻 LST
字号:
C51 COMPILER V8.08   MCPU                                                                  09/04/2008 10:09:55 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE MCPU
OBJECT MODULE PLACED IN MCPU.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE MCPU.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "normal.h"
   2          #include "mcpu.h"
   3          
   4          unsigned char idata cddat[60];
   5          
   6          
   7          void sound(bit Sond)                        //声音
   8          {
   9   1        uchar i;
  10   1        SOUND = Sond;
  11   1        for(i=0;i<20;i++)
  12   1        {
  13   2              delay_50us(2);
  14   2        }
  15   1        SOUND = 1;
  16   1        for(i=0;i<20;i++)
  17   1        {
  18   2              delay_50us(2);
  19   2        }
  20   1      }
  21          
  22          
  23          void getmifmm(unsigned char *Nkey_a)            //设置密码
  24          {
  25   1              Nkey_a[0]=0xff;
  26   1              Nkey_a[1]=0xff;
  27   1              Nkey_a[2]=0xff;
  28   1              Nkey_a[3]=0xff;
  29   1              Nkey_a[4]=0xff;
  30   1              Nkey_a[5]=0xff;
  31   1      }
  32          
  33          
  34          
  35          
  36          
  37          unsigned char FindCard(unsigned char *serial_num)            //寻卡,得到卡号
  38          {
  39   1              unsigned char st;
  40   1              st=mif_request2(0,&serial_num[0]);
  41   1              if(st!=0) st=mif_request2(1,&serial_num[0]);
  42   1              if(st!=0) return 1;
  43   1              st=mif_anticoll(0,&serial_num[0]);
  44   1              if(st!=0) return 2;
  45   1              st=mif_select(&serial_num[0]);
  46   1              if(st!=0) return 3;
  47   1      
  48   1              return 0;
  49   1      }
  50          
  51          unsigned char ChPwd(unsigned char Snr,unsigned char *serial_num)          
  52          {
  53   1              unsigned char st;
  54   1              unsigned char Nkey_a[6];
  55   1              getmifmm(&Nkey_a[0]);
C51 COMPILER V8.08   MCPU                                                                  09/04/2008 10:09:55 PAGE 2   

  56   1              st=mif_load_key(&Nkey_a[0]);
  57   1              if(st!=0) return 5;
  58   1              st=mif_authentication(1,Snr,&serial_num[0]);
  59   1              if(st!=0) return 6;
  60   1              return 0;
  61   1      }
  62          
  63          
  64          void InitRC500(bit Sond)
  65          {
  66   1              sound(Sond);
  67   1              RFRST=1;
  68   1              sound(Sond);
  69   1              RFRST=0;
  70   1              sound(Sond);
  71   1              mif_config();    //模块初始化
  72   1      }
  73          
  74          
  75          
  76          
  77          void main( )
  78          {
  79   1              unsigned char idata st,s_num;                                                   //返回值和扇区号
  80   1              unsigned char idata serial_num[5];                              //有个校验字节
  81   1      
  82   1      
  83   1              InitRC500(0);
  84   1      
  85   1           while ( 1 )
  86   1         {
  87   2      
  88   2      
  89   2              s_num = 01;//读1号区数据
  90   2              st=FindCard(&serial_num[0x00]);
  91   2              if(st!=0) 
  92   2                {   
  93   3       
  94   3        sound(1);
  95   3        continue;
  96   3                }
  97   2              st=ChPwd(s_num,&serial_num[0x00]);
  98   2              if(st!=0) 
  99   2                {  
 100   3        sound(1);
 101   3        continue;
 102   3                }
 103   2              st=mif_Read((s_num * 4 + 1),&cddat[5]);
 104   2              if(st==0) 
 105   2                {    
 106   3        sound(0);
 107   3        continue;
 108   3                }
 109   2         }
 110   1       
 111   1      }
 112          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    301    ----
   CONSTANT SIZE    =   ----    ----
C51 COMPILER V8.08   MCPU                                                                  09/04/2008 10:09:55 PAGE 3   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      14
   IDATA SIZE       =     60       7
   BIT SIZE         =   ----       2
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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