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

📄 main.lst

📁 fm1702 13.56m rfid 读卡程序
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  03/03/2006 13:09:36 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c COMPACT OPTIMIZE(0,SPEED) BROWSE MODP2 DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #include <absacc.h>
   3          #include "FM1715.h"
   4          #include "FM1715_fun.h"
   5          #include "FM1715_reg.h"
   6          
   7          void init_serialcomm(void);
   8          void send_char_com(uchar ch);
   9          uchar idata test[16]={0x00,0x00,0x00,0x00,0,0,0,0,0,0,0,0,0,0,0,0};
  10          void main()
  11          {
  12   1              init_serialcomm();  //
  13   1              while(1)
  14   1              {PCON=0x01;}
  15   1      }
  16          
  17          void init_serialcomm(void)
  18          {
  19   1          SCON  = 0x50;       //SCON: serail mode 1, 8-bit UART, enable ucvr 
  20   1          TMOD |= 0x20;       //TMOD: timer 1, mode 2, 8-bit reload 
  21   1          PCON |= 0x00;       //SMOD=1; 
  22   1          TH1   = 0xFD;       //Baud:4800  fosc=11.0592MHz 
  23   1          IE   |= 0x90;       //Enable Serial Interrupt 
  24   1          TR1   = 1;          // timer 1 run 
  25   1      //    TI=1; 
  26   1      }
  27          
  28          //
  29          void send_char_com(uchar ch)  
  30          {
  31   1          SBUF=ch;
  32   1          while(TI==0);
  33   1          TI=0;
  34   1      }
  35          
  36          /*
  37          void send_string_com(uchar *str,uint strlen)
  38          {
  39              uint k=0;
  40              do 
  41              {
  42                  send_char_com(*(str + k));
  43                  k++;
  44              } while(k < strlen);
  45          }
  46          */
  47          
  48          
  49          void serial() interrupt 4 using 0 
  50          {
  51   1              uchar i,sec,temp;
  52   1              PCON=0x00;
  53   1        if(RI)
  54   1        {
  55   2      /*    uchar ch1,ch2;
C51 COMPILER V7.50   MAIN                                                                  03/03/2006 13:09:36 PAGE 2   

  56   2          RI = 0;
  57   2          ch1=SBUF;
  58   2              while(RI==0);
  59   2              RI = 0;
  60   2              ch2=SBUF;
  61   2      */
  62   2          uchar ch;
  63   2          RI = 0;
  64   2          ch=SBUF;
  65   2          if(ch==0x7F) //输入密码
  66   2          {
  67   3                              Init_FM1715(0);
  68   3                              temp = HL_Active(0, 0);
  69   3      
  70   3                              send_char_com(temp);
  71   3                              send_char_com(tagtype[0]);
  72   3                              send_char_com(tagtype[1]);
  73   3      
  74   3                              for(i=0;i<5;i++)
  75   3                              {
  76   4                                      send_char_com(UID[i]);
  77   4                              }
  78   3                              MFRST=1;                //Reset FM1715
  79   3                      }
  80   2          if(ch==0x80)//验证激活
  81   2          {
  82   3                              Init_FM1715(0);
  83   3                              temp = HL_Active(0, 0);
  84   3      
  85   3                              send_char_com(temp);
  86   3                              send_char_com(tagtype[0]);
  87   3                              send_char_com(tagtype[1]);
  88   3      
  89   3                              for(i=0;i<5;i++)
  90   3                              {
  91   4                                      send_char_com(UID[i]);
  92   4                              }
  93   3                              MFRST=1;                //Reset FM1715
  94   3                      }
  95   2          else if(ch==0x81)//读一个扇区16字节
  96   2          {
  97   3                              while(RI==0);
  98   3                              RI = 0;
  99   3                              sec=SBUF;
 100   3                              Init_FM1715(0);
 101   3              
 102   3                              temp =HL_Read(test,sec,0);
 103   3      
 104   3                              send_char_com(temp);
 105   3                              send_char_com(tagtype[0]);
 106   3                              send_char_com(tagtype[1]);
 107   3      
 108   3                              for(i=0;i<5;i++){send_char_com(UID[i]);}
 109   3      
 110   3                              for(i=0;i<16;i++){send_char_com(test[i]);}
 111   3                              MFRST=1;                //Reset FM1715
 112   3          }
 113   2              else if(ch==0x82)//写一个扇区16字节
 114   2              {
 115   3                              while(RI==0);
 116   3                              RI = 0;
 117   3                              sec=SBUF;
C51 COMPILER V7.50   MAIN                                                                  03/03/2006 13:09:36 PAGE 3   

 118   3                              for(i=0;i<16;i++)
 119   3                              {
 120   4                                      while(RI==0);
 121   4                                      RI = 0;
 122   4                                      test[i]=SBUF;
 123   4                              }
 124   3                              Init_FM1715(0);
 125   3                              temp =HL_Write(test,sec,0);
 126   3      
 127   3                              send_char_com(temp);
 128   3                              send_char_com(tagtype[0]);
 129   3                              send_char_com(tagtype[1]);
 130   3      
 131   3                              for(i=0;i<5;i++)
 132   3                              {
 133   4                                      send_char_com(UID[i]);
 134   4                              }
 135   3                              MFRST=1;                //Reset FM1715
 136   3                      
 137   3                      }
 138   2                      else if(ch==0x83)//电子钱包赋初值04字节高位在前低位在后
 139   2                      {
 140   3                              while(RI==0);
 141   3                              RI = 0;
 142   3                              sec=SBUF;
 143   3                              for(i=0;i<4;i++)
 144   3                              {
 145   4                                      while(RI==0);
 146   4                                      RI = 0;
 147   4                                      test[i]=SBUF;
 148   4                              }
 149   3                              Init_FM1715(0);
 150   3                              temp =MIF_Initival(test,sec);
 151   3      
 152   3                              send_char_com(temp);
 153   3                              send_char_com(tagtype[0]);
 154   3                              send_char_com(tagtype[1]);
 155   3      
 156   3                              for(i=0;i<5;i++)
 157   3                              {
 158   4                                      send_char_com(UID[i]);
 159   4                              }
 160   3                              MFRST=1;                //Reset FM1715
 161   3                      }
 162   2                      else if(ch==0x84)//电子钱包加
 163   2                      {
 164   3                              while(RI==0);
 165   3                              RI = 0;
 166   3                              sec=SBUF;
 167   3                              for(i=0;i<4;i++)
 168   3                              {
 169   4                                      while(RI==0);
 170   4                                      RI = 0;
 171   4                                      test[i]=SBUF;
 172   4                              }
 173   3                              Init_FM1715(0);
 174   3                              temp =HL_add(test,sec,0);
 175   3      
 176   3                              send_char_com(temp);
 177   3                              send_char_com(tagtype[0]);
 178   3                              send_char_com(tagtype[1]);
 179   3      
C51 COMPILER V7.50   MAIN                                                                  03/03/2006 13:09:36 PAGE 4   

 180   3                              for(i=0;i<5;i++)
 181   3                              {
 182   4                                      send_char_com(UID[i]);
 183   4                              }
 184   3                              MFRST=1;                //Reset FM1715
 185   3                      }
 186   2                      else if(ch==0x85)//电子钱包减
 187   2                      {
 188   3                              while(RI==0);
 189   3                              RI = 0;
 190   3                              sec=SBUF;
 191   3                              for(i=0;i<4;i++)
 192   3                              {
 193   4                                      while(RI==0);
 194   4                                      RI = 0;
 195   4                                      test[i]=SBUF;
 196   4                              }
 197   3                              Init_FM1715(0);
 198   3                              temp =HL_dec(test,sec,0);
 199   3      
 200   3                              send_char_com(temp);
 201   3                              send_char_com(tagtype[0]);
 202   3                              send_char_com(tagtype[1]);
 203   3      
 204   3                              for(i=0;i<5;i++)
 205   3                              {
 206   4                                      send_char_com(UID[i]);
 207   4                              }
 208   3                              MFRST=1;                //Reset FM1715
 209   3                      }
 210   2                      else if(ch==0x90)//设置验证密码06字节
 211   2                      {
 212   3                              for(i=0;i<6;i++)
 213   3                              {
 214   4                                      while(RI==0);
 215   4                                      RI = 0;
 216   4                                      keybuffer[i]=SBUF;
 217   4                              }
 218   3                              Init_FM1715(0);
 219   3                              temp =HL_dec(test,sec,0);
 220   3      
 221   3                              send_char_com(temp);
 222   3                              send_char_com(tagtype[0]);
 223   3                              send_char_com(tagtype[1]);
 224   3      
 225   3                              for(i=0;i<5;i++)
 226   3                              {
 227   4                                      send_char_com(UID[i]);
 228   4                              }
 229   3                              MFRST=1;                //Reset FM1715
 230   3                      }
 231   2                      else
 232   2                      {
 233   3                              MFRST=1;                //Reset FM1715
 234   3                      }
 235   2              }
 236   1      }
 237          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1069    ----
C51 COMPILER V7.50   MAIN                                                                  03/03/2006 13:09:36 PAGE 5   

   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =      5    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =     16    ----
   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 + -