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

📄 cmdr6c.lst

📁 15693 hf reader 伟根26接口
💻 LST
📖 第 1 页 / 共 2 页
字号:
 177                  
 178                          while((DOUT)&&(!TIMERINT)); 
 179                          _stopBit();
C51 COMPILER V7.09   CMDR6C                                                                09/11/2007 09:30:23 PAGE 4   

 180                  //      while((DOUT)); _stopBit();
 181                  //      DOUT = 1; 
 182                          while((DOUT)); 
 183                          _trans1();
 184                  //      _clrTimer();
 185                          if(0==i)
 186                          {
 187                                  TH0 = 0xeA; 
 188                                  TL0 = 0x66;                      //16ms
 189                                  clrTimer(); 
 190                                  _setTimer(2);
 191                                  while ((!ERR)&&(!TIMERINT));
 192                                  if (ERR) 
 193                                  {
 194                                          while ((ERR)&&(!TIMERINT));
 195                                          if (!ERR)
 196                                          {                                       //err pulse (typ. 18us) detected
 197                                                  ASICRDY = 1;
 198                                                  TH0 = 0xeA; TL0 = 0x66;                      //16ms
 199                                                  _setTimer(2);
 200                                          }
 201                                  }
 202                          }
 203                          else
 204                          {
 205                                  ASICRDY = 1; 
 206                                  TH0 = 0xeA; TL0 = 0x66;                      //16ms
 207                                  _setTimer(2);
 208                          }
 209                          if(ASICRDY)
 210                          {
 211                                  while((!TAGRDY)&&(!TIMERINT))
 212                                  {
 213                                          if (_findS2())
 214                                          {
 215                                                  TAGRDY=1;
 216                                                  TH0 = 0xdc; TL0 = 0x80;                      //16ms
 217                                                  _setTimer(4);
 218                                                  break;
 219                                          }
 220                                  }
 221                          }
 222                          if(TAGRDY)
 223                          {
 224                                  TAGDONE=0;
 225                                  bitcnt=0;
 226                                  Bytecnt = 3;
 227                          //            Bytecnt=pcdata[0];                      //Bytecounter keeps track of nr of bytes stored .
 228                          //It's value is nr of bytes -1 (i.e. the value in [o])
 229                                  m = 0;
 230                                  while ((!TAGDONE)&&(!TIMERINT))
 231                                  {
 232                                          bitval =_readbit();
 233                                          switch (bitval)
 234                                          {
 235                                                  case 0x02:
 236                                                          b_col = 1; 
 237                                                          push(i); 
 238                                                          n++;
 239                                                  break;
 240                                          
 241                                                  case 0x03:
C51 COMPILER V7.09   CMDR6C                                                                09/11/2007 09:30:23 PAGE 5   

 242                                                          TAGDONE =1;             //received ES2          
 243                                                          pcdata[Bytecnt] = m;
 244                                                          pcdata[0] = Bytecnt;
 245                                                          pcdata[1] = bitcnt;
 246                                                          if(chkCRC(pcdata+3,Bytecnt-3))
 247                                                          {
 248                                                                  temp = num_card*10 + 25;
 249                                                                  pcdata[temp] = 0x03;   temp++;     //ISO兼容卡
 250                                                                  k = temp+9;
 251                                                                  l = 4;
 252                                                                  for(;temp<k;temp++)
 253                                                                  { 
 254                                                                          pcdata[temp] = pcdata[l];
 255                                                                          l++;
 256                                                                          if(temp>125) { break;}
 257                                                                  }
 258                                                                  num_card ++;
 259                                                                  userCardOk = 1;                 
 260                                                          }
 261                                                  break;
 262          
 263                                                  case 0x04: //timeout
 264                                                  break;
 265          
 266                                                  default:
 267                                                          if (bitcnt==8) //start new byte
 268                                                          {
 269                                                                  if(Bytecnt <25) 
 270                                                                  {
 271                                                                          pcdata[Bytecnt] = m;
 272                                                                          m=0;
 273                                                                          bitcnt =0;
 274                                                                          Bytecnt++; 
 275                                                                  }
 276                                                          }
 277                                                          bitcnt++;
 278                                                          m = m*2 + bitval;
 279                                                  }
 280                                                  if(b_col) 
 281                                                  {
 282                                                          b_col=0; 
 283                                                          for(k=0;k<(15-mask_len/4);k++) 
 284                                                          {
 285                                                                  for(crc_val=0;crc_val<150;crc_val++);         //1.2ms
 286                                                          }
 287                                                          break;
 288                                                  }
 289                                          }
 290                                          for(k=0;k<25;k++) {pcdata[k] = 0;}
 291          
 292                                          for(k=0;k<0xff;k++);
 293                                          for(k=0;k<0xff;k++);
 294                                  }
 295          //      DOUT = 1; 
 296                                  _setTimer(2);
 297                                  while((DOUT)&&(!TIMERINT));  
 298                                  _trans2();
 299          //      while((DOUT));  _trans2();
 300                                  _clrTimer();
 301                          }
 302          
 303                          if(n==0)
C51 COMPILER V7.09   CMDR6C                                                                09/11/2007 09:30:23 PAGE 6   

 304                          {
 305                                  if(nb_col==0) {return;}
 306                                  else
 307                                  {                       
 308                                          temp = mask_len/4;
 309                                          temp --; 
 310                                          if(temp%2) { mask[temp/2] &= 0x0f; }
 311                                          else       { mask[temp/2] &= 0xf0; }
 312                                          mask_len -= 4;
 313                                          
 314                                          lev_col[nb_l-1] --;
 315                                          if(lev_col[nb_l-1] ==0)
 316                                          {
 317                                                  nb_l --; 
 318                                                  lev_col[nb_l-1] --;
 319                                                  //            mask >>= 4;
 320                                                  temp = mask_len/4;
 321                                                  temp --; 
 322                                                  if(temp%2) { mask[temp/2] &= 0x0f; }
 323                                                  else       { mask[temp/2] &= 0xf0; }
 324                                                  mask_len -= 4;
 325                                          }
 326                                  }
 327                          }
 328                          else
 329                          {               
 330                                  lev_col[nb_l] = n; nb_l ++;
 331                          }
 332                          return;   
 333          }
 334          
 335          void inventory(void)
 336          {
 337                  init_inventory();
 338                  do
 339                  {
 340                          poll_loop();
 341                  }while(nb_col);   
 342          }
 343          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    116    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       5
   IDATA SIZE       =   ----    ----
   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 + -