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

📄 zlg500.lst

📁 ZLG500A读卡模块使用指南、函数库及示范程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 317          #if mifs_load_key_en
 318          uchar mifs_load_key(uchar _Mode,uchar _SecNr,uchar *_Nkey)
 319          {
 320   1              spi_buffer[SEQNR]=0;
 321   1              spi_buffer[COMMAND]=0x4C;
 322   1              spi_buffer[LENGTH]=0x08;
 323   1              spi_buffer[MODE]=_Mode;
 324   1              spi_buffer[SECNR]=_SecNr;
 325   1              memcpy(&spi_buffer[NKEY],_Nkey,6);
 326   1              
 327   1              if(zlg500cmd(11)!=SPI_OK)
 328   1                      return SPI_ERR;
 329   1              
 330   1              return spi_buffer[STATUS];
 331   1      }
 332          #endif
 333          
 334          #if mifs_reset_en
              uchar mifs_reset(uchar _Msec)
              {
                      spi_buffer[SEQNR]=0;
                      spi_buffer[COMMAND]=0x4E;
                      spi_buffer[LENGTH]=1;
                      spi_buffer[TIME]=_Msec;
                      
                      if(zlg500cmd(4)!=SPI_OK)
                              return SPI_ERR;
                      
                      return spi_buffer[STATUS];
              }
              #endif
 348          
 349          #if mifs_get_info_en
 350          uchar mifs_get_info(uchar idata *_Info)
 351          {
 352   1              spi_buffer[SEQNR]=0;
 353   1              spi_buffer[COMMAND]=0x4F;
 354   1              spi_buffer[LENGTH]=0;
 355   1              
 356   1              if(zlg500cmd(3)!=SPI_OK)
 357   1                      return SPI_ERR;
 358   1                      
 359   1              if(spi_buffer[STATUS]==MI_OK)
 360   1              {
 361   2                      memcpy(_Info,&spi_buffer[INFO],spi_buffer[LENGTH]);
 362   2              }
 363   1              return spi_buffer[STATUS];      
 364   1      }
 365          #endif
C51 COMPILER V7.50   ZLG500                                                                04/23/2009 14:41:45 PAGE 7   

 366          
 367          #if mifs_close_en
              uchar mifs_close(void)
              {
                      spi_buffer[SEQNR]=0;
                      spi_buffer[COMMAND]=0x3F;
                      spi_buffer[LENGTH]=0;
                      
                      if(zlg500cmd(3)!=SPI_OK)
                              return SPI_ERR;
                      
                      return spi_buffer[STATUS];
              }
              #endif
 380          
 381          #if mifs_config_en
 382          uchar mifs_config(void)
 383          {
 384   1              spi_buffer[SEQNR]=0;
 385   1              spi_buffer[COMMAND]=0x52;
 386   1              spi_buffer[LENGTH]=0;
 387   1              
 388   1              if(zlg500cmd(3)!=SPI_OK)
 389   1                      return SPI_ERR;
 390   1              
 391   1              return spi_buffer[STATUS];
 392   1      }
 393          #endif
 394          
 395          #if mifs_check_write_en
              uchar mifs_check_write(uchar idata *_SNR,uchar _Authmode,uchar _Adr,uchar idata *_Data)
              {
                      spi_buffer[0]=0;
                      spi_buffer[COMMAND]=0x53;
                      spi_buffer[LENGTH]=22;
                      memcpy(&spi_buffer[SERNR],_SNR,4);
                      spi_buffer[AUTHMODE]=_Authmode;
                      spi_buffer[ADRCHKWR]=_Adr;
                      memcpy(&spi_buffer[DATACHKWR],_Data,16);
                      
                      if(zlg500cmd(25)!=SPI_OK)
                              return SPI_ERR;
                      
                      return spi_buffer[STATUS];
              }
              #endif
 412          
 413          #if mifs_set_control_bit_en
 414          uchar mifs_set_control_bit()
 415          {
 416   1              spi_buffer[0]=0;
 417   1              spi_buffer[COMMAND]=0x50;
 418   1              spi_buffer[LENGTH]=0;
 419   1                              
 420   1              if(zlg500cmd(3)!=SPI_OK)
 421   1                      return SPI_ERR;
 422   1              
 423   1              return spi_buffer[STATUS];
 424   1      }
 425          #endif
 426          
 427          #if mifs_clr_control_bit_en
C51 COMPILER V7.50   ZLG500                                                                04/23/2009 14:41:45 PAGE 8   

 428          uchar mifs_clr_control_bit()
 429          {
 430   1              spi_buffer[0]=0;
 431   1              spi_buffer[COMMAND]=0x51;
 432   1              spi_buffer[LENGTH]=0;
 433   1                              
 434   1              if(zlg500cmd(3)!=SPI_OK)
 435   1                      return SPI_ERR;
 436   1              
 437   1              return spi_buffer[STATUS];
 438   1      }
 439          #endif
 440          
 441          #if mifs_buzzer_en
 442          uchar mifs_buzzer(uchar _Frquence,uchar _10ms)
 443          {
 444   1              spi_buffer[0]=0;
 445   1              spi_buffer[COMMAND]=0x60;
 446   1              spi_buffer[LENGTH]=2;
 447   1              spi_buffer[3]=_Frquence;
 448   1              spi_buffer[4]=_10ms;
 449   1                      
 450   1              if(zlg500cmd(5)!=SPI_OK)
 451   1                      return SPI_ERR;
 452   1              
 453   1              return spi_buffer[STATUS];
 454   1      }
 455          #endif
 456          
 457          #if mifs_read_E2_en
 458          uchar mifs_read_E2(uchar _Adr,uchar _Length,uchar idata *_Data)
 459          {
 460   1              spi_buffer[0]=0;
 461   1              spi_buffer[COMMAND]=0x61;
 462   1              spi_buffer[LENGTH]=2;
 463   1              spi_buffer[ADR]=_Adr;
 464   1              spi_buffer[4]=_Length;
 465   1                      
 466   1              if(zlg500cmd(5)!=SPI_OK)
 467   1                      return SPI_ERR;
 468   1                      
 469   1              if(spi_buffer[STATUS]==MI_OK)
 470   1              {
 471   2                      memcpy(_Data,&spi_buffer[INFO],_Length);
 472   2              }
 473   1              return spi_buffer[STATUS];
 474   1      }
 475          #endif
 476          
 477          #if mifs_write_E2_en
              uchar mifs_write_E2(uchar _Adr,uchar _Length,uchar idata *_Data)
              {
                      spi_buffer[0]=0;
                      spi_buffer[COMMAND]=0x62;
                      spi_buffer[LENGTH]=_Length+2;
                      spi_buffer[ADR]=_Adr;
                      spi_buffer[4]=_Length;
                      memcpy(&spi_buffer[5],_Data,_Length);
                              
                      if(zlg500cmd(_Length+5)!=SPI_OK)
                              return SPI_ERR;
                              
C51 COMPILER V7.50   ZLG500                                                                04/23/2009 14:41:45 PAGE 9   

                      return spi_buffer[STATUS];
              }
              #endif
 493          
 494          #if mifs_value_en
 495          uchar mifs_value(uchar _Mode,uchar _Adr,long idata *_Value,uchar _Trans_Adr)
 496          {
 497   1              uchar *temp=(uchar *)_Value;
 498   1      
 499   1              spi_buffer[SEQNR]=0;
 500   1              spi_buffer[COMMAND]=0x70;
 501   1              spi_buffer[LENGTH]=7;
 502   1              spi_buffer[DATA]=_Mode;
 503   1              spi_buffer[DATA+1]=_Adr;
 504   1              spi_buffer[DATA+2]=*(temp+3);
 505   1              spi_buffer[DATA+3]=*(temp+2);
 506   1              spi_buffer[DATA+4]=*(temp+1);
 507   1              spi_buffer[DATA+5]=*temp;
 508   1              spi_buffer[DATA+6]=_Trans_Adr;
 509   1                      
 510   1              if(zlg500cmd(10)!=SPI_OK)
 511   1                      return SPI_ERR;
 512   1              
 513   1              return spi_buffer[STATUS];
 514   1      }  
 515          #endif
 516          
 517          #if mifs_cascanticoll_en
 518          uchar mifs_cascanticoll(uchar _Select_code,uchar _Bcnt,uchar *_SNR)
 519          {
 520   1              spi_buffer[SEQNR]=0;
 521   1              spi_buffer[COMMAND]=0x74;
 522   1              spi_buffer[LENGTH]=0x02;
 523   1              spi_buffer[DATA]=_Select_code;
 524   1              spi_buffer[DATA+1]=_Bcnt;
 525   1              
 526   1              if(zlg500cmd(5)!=SPI_OK)
 527   1                      return SPI_ERR;
 528   1                      
 529   1              if(spi_buffer[STATUS]==MI_OK)
 530   1              {
 531   2                      memcpy(_SNR,&spi_buffer[DATA],4);
 532   2              }
 533   1              return spi_buffer[STATUS];
 534   1      }
 535          #endif
 536          
 537          #if mifs_cascselect_en
 538          uchar mifs_cascselect(uchar _Select_code,uchar *_SNR,uchar *_Sak)
 539          {
 540   1              spi_buffer[SEQNR]=0;
 541   1              spi_buffer[COMMAND]=0x75;
 542   1              spi_buffer[LENGTH]=0x05;
 543   1              spi_buffer[DATA]=_Select_code;
 544   1              memcpy(&spi_buffer[DATA+1],_SNR,4);
 545   1                      
 546   1              if(zlg500cmd(8)!=SPI_OK)
 547   1                      return SPI_ERR;
 548   1                      
 549   1              if(spi_buffer[STATUS]==MI_OK)
 550   1              {
 551   2                      *_Sak=spi_buffer[DATA];
C51 COMPILER V7.50   ZLG500                                                                04/23/2009 14:41:45 PAGE 10  

 552   2              }
 553   1              return spi_buffer[STATUS];      
 554   1      }
 555          #endif
 556          
 557          #if mifs_ULwrite_en
 558          uchar mifs_ULwrite(uchar _Adr,uchar *_Data)
 559          {
 560   1              spi_buffer[SEQNR]=0;
 561   1              spi_buffer[COMMAND]=0x76;
 562   1              spi_buffer[LENGTH]=0x05;
 563   1              spi_buffer[DATA]=_Adr;
 564   1              memcpy(&spi_buffer[DATA+1],_Data,4);
 565   1                      
 566   1              if(zlg500cmd(8)!=SPI_OK)
 567   1                      return SPI_ERR;
 568   1              
 569   1              return spi_buffer[STATUS];
 570   1      }
 571          #endif
 572          
 573          #if mifs_valuedebit_en
 574          uchar mifs_valuedebit(uchar _Mode,uchar _Adr,long idata *_Value)
 575          {
 576   1              uchar *temp=(uchar *)_Value;
 577   1      
 578   1              spi_buffer[SEQNR]=0;
 579   1              spi_buffer[COMMAND]=0x77;
 580   1              spi_buffer[LENGTH]=6;
 581   1              spi_buffer[DATA]=_Mode;
 582   1              spi_buffer[DATA+1]=_Adr;
 583   1              spi_buffer[DATA+2]=*(temp+3);
 584   1              spi_buffer[DATA+3]=*(temp+2);
 585   1              spi_buffer[DATA+4]=*(temp+1);
 586   1              spi_buffer[DATA+5]=*temp;
 587   1                      
 588   1              if(zlg500cmd(9)!=SPI_OK)
 589   1                      return SPI_ERR;
 590   1              
 591   1              return spi_buffer[STATUS];
 592   1      }
 593          #endif
 594          
 595          #if mifs_write_reg_en
 596          uchar mifs_write_reg(uchar _Reg,uchar _Value)
 597          {
 598   1              spi_buffer[SEQNR]=0;
 599   1              spi_buffer[COMMAND]=0x3d;
 600   1              spi_buffer[LENGTH]=2;
 601   1              spi_buffer[DATA]=_Reg;
 602   1              spi_buffer[DATA+1]=_Value;
 603   1                              
 604   1              if(zlg500cmd(5)!=SPI_OK)
 605   1                      return SPI_ERR;
 606   1              
 607   1              return spi_buffer[STATUS];
 608   1      }
 609          #endif
 610          
 611          #if mifs_read_reg_en
 612          uchar mifs_read_reg(uchar _Reg,uchar *_Value)
 613          {
C51 COMPILER V7.50   ZLG500                                                                04/23/2009 14:41:45 PAGE 11  

 614   1              spi_buffer[SEQNR]=0;
 615   1              spi_buffer[COMMAND]=0x3e;
 616   1              spi_buffer[LENGTH]=1;
 617   1              spi_buffer[DATA]=_Reg;
 618   1                                      
 619   1              if(zlg500cmd(5)!=SPI_OK)
 620   1                      return SPI_ERR;
 621   1              
 622   1              *_Value = spi_buffer[DATA];
 623   1              return spi_buffer[STATUS];
 624   1      }
 625          #endif


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1148    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      24
   IDATA SIZE       =     26    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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