📄 zlg500.lst
字号:
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 + -