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

📄 main.lst

📁 RFID实现代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
 399   3                                          cStatus =IicReadHY502(cp);            // 读取并存入到cP
 400   3                                              if((cStatus==SUCCESS)&&(cp[1]==SOFTDOWN))
 401   3                                                      {
 402   4                                                      SendBuffer[0]=0x02;
 403   4                                                              SendBuffer[1]=cmd;
 404   4                                              
 405   4                                                      }
 406   3                              
 407   3                              }                               
 408   2                              else
 409   2                              {
 410   3                                      SendBuffer[0]=0x02;
 411   3                                      SendBuffer[1]=~cmd;
 412   3                                      cStatus=1;
 413   3                              }
 414   2                          break;
 415   2      
 416   2                      case 0x12:     // Halt the card     //终止卡的操作       
 417   2                  
 418   2                      
 419   2                                               cStatus =IicSendHY502(CardHalt);                           
 420   2                                       cStatus =IicReadHY502(cp);               // 保存到数组cP
 421   2                                           if((cStatus==SUCCESS)&&(cp[1]==HALT_CARD))
 422   2                                        {
 423   3                                              SendBuffer[0]=0x02;
 424   3                                                                      SendBuffer[1]=cmd;                                                      
 425   3                                                                                                                  
 426   3                                          }
C51 COMPILER V8.02   MAIN                                                                  01/26/2007 15:08:37 PAGE 8   

 427   2                                
 428   2                                                       else
 429   2                                                      {
 430   3                                                              SendBuffer[0]=0x02;
 431   3                                                              SendBuffer[1]=~cmd;
 432   3                                                      }
 433   2                              
 434   2                              break;
 435   2      
 436   2                      case 0x13:    // 自动寻卡 ,1字节数据,0x01 开启自动寻卡,0x00关闭      
 437   2                              if(g_cReceBuf[2]==0x01)
 438   2                              {
 439   3                      
 440   3                                  cStatus =IicSendHY502(AutoCard);      // 发送命令                     
 441   3                                  cStatus =IicReadHY502(cp);            // 读取并存入到cP
 442   3                                      if((cStatus==SUCCESS)&&(cp[1]==AUTOSEARCH))
 443   3                                              {
 444   4                                              SendBuffer[0]=0x02;
 445   4                                                      SendBuffer[1]=cmd;       
 446   4                                              
 447   4                                                      Cardinner=1;                                            
 448   4                                                      cStatus=0;
 449   4                                              }
 450   3                                              else
 451   3                                              {
 452   4                                                      SendBuffer[0]=0x02;
 453   4                                                      SendBuffer[1]=~cmd;
 454   4                                                      cStatus=1;
 455   4                                               }                              
 456   3                                      }
 457   2                              
 458   2                               else if(g_cReceBuf[2]==0)
 459   2                               {                                      
 460   3                                  cStatus =IicSendHY502(AutoOff);       // 发送命令                    
 461   3                                  cStatus =IicReadHY502(cp);            // 读取并存入到cP
 462   3                                      if((cStatus==SUCCESS)&&(cp[1]==AUTOSEARCH))
 463   3                                              {
 464   4                                              SendBuffer[0]=0x02;
 465   4                                                      SendBuffer[1]=cmd;                                      
 466   4                                              
 467   4                                                      Cardinner=1;                                            
 468   4                                                      cStatus=0;
 469   4                                              }
 470   3                                              else
 471   3                                              {
 472   4                                                      SendBuffer[0]=0x02;
 473   4                                                      SendBuffer[1]=~cmd;
 474   4                                                      cStatus=1;
 475   4                                               }                              
 476   3                               
 477   3                               }
 478   2                               else
 479   2                              {
 480   3                                      SendBuffer[0]=0x02;
 481   3                                      SendBuffer[1]=~cmd;
 482   3                                      cStatus=1;
 483   3                              }
 484   2                              break; 
 485   2                              
 486   2      
 487   2                      case 0x14:    // 蜂鸣器操作 ,1字节数据,0x1y 开启并使蜂鸣器响y声,0x0y关闭
 488   2                              g_cBeeps=g_cReceBuf[2];
C51 COMPILER V8.02   MAIN                                                                  01/26/2007 15:08:37 PAGE 9   

 489   2                              SendBuffer[0]=0x02;
 490   2                              SendBuffer[1]=cmd;
 491   2                              break;
 492   2      
 493   2                      case 0x15:    // 蜂鸣器操作 ,设置蜂鸣器间隔,1字节数据 ,0.01s
 494   2                              sp_freq=~g_cReceBuf[2];
 495   2                              SendBuffer[0]=0x02;
 496   2                              SendBuffer[1]=cmd;
 497   2                              break;
 498   2                              
 499   2                              
 500   2                      case 0x19://读卡类型  //无数据    返回卡类型(2 bytes)       
 501   2                      
 502   2                                  cStatus =IicSendHY502(ComCardType);   // 发送命令                           
 503   2                                  cStatus =IicReadHY502(cp);            // 读取并存入到cP
 504   2                                      if((cStatus==SUCCESS)&&(cp[1]==CARD_TYPE))      
 505   2                                      {              
 506   3                                              SendBuffer[0]=4;
 507   3                                                      SendBuffer[1]=cmd;
 508   3                                                      SendBuffer[2]=cp[2];
 509   3                                                      SendBuffer[3]=cp[3];    
 510   3                                      
 511   3                                      }
 512   2                                                      
 513   2                                  else
 514   2                                  {
 515   3                                                      SendBuffer[0]=0x02;
 516   3                                                      SendBuffer[1]=~cmd;
 517   3                                                              cStatus=1;
 518   3                                      }
 519   2                      
 520   2                          break;              
 521   2         
 522   2      
 523   2                      case 0x20:     // Request,Anticoll,Select,return CardSerialNo(4 bytes)
 524   2                                      // 寻卡,防冲突,选择卡    返回卡系列号(4 bytes)
 525   2              
 526   2                                  cStatus =IicSendHY502(ComSearchCard);         // 发送寻卡命令                        
 527   2                                  cStatus =IicReadHY502(cp);            // 读取卡号并存入到cP
 528   2                                      if((cStatus==SUCCESS)&&(cp[1]==CARD_SN))
 529   2                                      
 530   2                                                      {                                     
 531   3                                                                              SendBuffer[0]=6;
 532   3                                                                              SendBuffer[1]=cmd;
 533   3                                                                              memcpy(&SendBuffer[2],&cp[2],4);
 534   3                                         
 535   3                                          }           
 536   2                            
 537   2                              else
 538   2                              {
 539   3                                      SendBuffer[0]=0x02;
 540   3                                      SendBuffer[1]=~cmd;
 541   3                                      cStatus=1;
 542   3                              }
 543   2              
 544   2                              break;     
 545   2               
 546   2                      case 0x21:              //读块                     读写块时建议关闭自动寻卡功能可以提高读写的成功率!
 547   2                                                      //数据内容  1 字节密钥标识+1 块号+6 字节密钥                                  
 548   2                      
 549   2                                  cStatus =IicSendHY502(ComSearchCard);         // 发送寻卡命令                                 
 550   2                                  cStatus =IicReadHY502(cp);            // 读取卡号并存入到cP
C51 COMPILER V8.02   MAIN                                                                  01/26/2007 15:08:37 PAGE 10  

 551   2                                      if((cStatus==SUCCESS)&&(cp[1]==CARD_SN))                                 
 552   2      
 553   2                                      {     
 554   3                                              SendBuffer[0]=0x12;
 555   3                                                      SendBuffer[1]=cmd;        
 556   3                                                              memcpy(&SendBuffer[2],&cp[2],16);                                       
 557   3                                      
 558   3                                      }
 559   2                              
 560   2                                  else
 561   2                                  {
 562   3                                                      SendBuffer[0]=0x02;
 563   3                                                      SendBuffer[1]=~cmd;
 564   3                                                              cStatus=1;
 565   3                                      }
 566   2                      
 567   2                      break;  
 568   2       
 569   2                      case 0x22 :             //写块      
 570   2                                                      //1 字节密钥标识+1 块号+6 字节密钥+16 字节写入数据
 571   2              
 572   2                                  cStatus =IicSendHY502(g_cReceBuf);    // 发送命令                
 573   2                                  cStatus =IicReadHY502(cp);            // 读取并存入到cP
 574   2                                      if((cStatus==SUCCESS)&&(cp[1]==WRITE_BLOCK))    
 575   2                                      {              
 576   3                                              SendBuffer[0]=0x02;
 577   3                                                      SendBuffer[1]=cmd;                                              
 578   3                                                      
 579   3                                      }
 580   2                                                      
 581   2                                  else
 582   2                                  {
 583   3                                                      SendBuffer[0]=0x02;
 584   3                                                      SendBuffer[1]=~cmd;
 585   3                                                              cStatus=1;
 586   3                                      }                               
 587   2                      
 588   2                              break;
 589   2      
 590   2                      case 0x23 :             //初始化钱包           
 591   2                                                      //数据内容“1 字节密钥标识+1 块号+6 字节密钥+4 字节钱包”
 592   2              
 593   2                                  cStatus =IicSendHY502(g_cReceBuf);    // 发送命令                                   
 594   2                                  cStatus =IicReadHY502(cp);            // 读取并存入到cP
 595   2                                      if((cStatus==SUCCESS)&&(cp[1]==INIT_PURSE))     
 596   2                                      {              
 597   3                                              SendBuffer[0]=0x02;
 598   3                                                      SendBuffer[1]=cmd;                                              
 599   3                                              
 600   3                                      }
 601   2                                                      
 602   2                                  else

⌨️ 快捷键说明

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