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

📄 main.lst

📁 ZLG522S的功能、硬件接口和ZLG500S相同
💻 LST
字号:
C51 COMPILER V8.02   MAIN                                                                  03/16/2009 15:23:02 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #define main_GLOBALS
   2          #include "config.h"
   3          #include "main.h"
   4          #include "delay.h"
   5          #include "zlg500s.h"
   6          #include "zlg500S_comm.h"
   7          
   8          static void main_init();
   9          INT8U DataBfr[16];
  10          INT8U Card_Snr[4];
  11          INT8U TxMode;
  12          INT8U Atq[2];
  13          INT8U Sak;
  14          
  15          sbit BEEN = P2^5;
  16          #define BEEN_ON {BEEN=0;delayMs(50);BEEN=1;}
  17          
  18          void delayMs(unsigned int a)
  19          {
  20   1          unsigned int i, j;
  21   1          for(i = a; i > 0; i--)
  22   1              for(j = 100; j > 0; j--);
  23   1      }
  24          main()
  25          {
  26   1              INT8U temp;
  27   1              BEEN=1;
  28   1              main_init();  //定时器2设置
  29   1              GetDvcInfo(DataBfr); //验证MCU与zlg500s通信
  30   1              BEEN_ON;
  31   1              DataBfr[0] = 0xff;
  32   1              DataBfr[1] = 0xff;
  33   1              DataBfr[2] = 0xff;
  34   1              DataBfr[3] = 0xff;
  35   1              DataBfr[4] = 0xff;
  36   1              DataBfr[5] = 0xff;
  37   1              PCDLoadKey(KEYA,0,DataBfr);
  38   1              BEEN_ON;
  39   1              while(1)
  40   1              {
  41   2                      if(PiccRequest(REQSTD,DataBfr) != OK)   continue;
  42   2                      if(PiccAnticoll(SELCODE1,0,Card_Snr)!=OK)       continue;
  43   2                      if(PiccSelect(SELCODE1,Card_Snr,DataBfr)!=OK)   continue;
  44   2                      if(PiccAuthE2(KEYA,Card_Snr,0,4)!=OK)   continue;
  45   2                      if(PiccRead(4,DataBfr)!=OK)     continue;
  46   2                      DataBfr[0] = 0x10;      DataBfr[4] = 0xef;      DataBfr[8] = 0x10;
  47   2                      DataBfr[1] = 0x0;       DataBfr[5] = 0xff;      DataBfr[9] = 0x0;
  48   2                      DataBfr[2] = 0x0;       DataBfr[6] = 0xff;      DataBfr[10] = 0x0;
  49   2                      DataBfr[3] = 0x0;       DataBfr[7] = 0xff;      DataBfr[11] = 0x0;
  50   2                      DataBfr[12] = 0x04;     DataBfr[13] = 0xfb;     DataBfr[14] = 0x04;     DataBfr[15] = 0xfb;
  51   2                      if(PiccWrite(4,DataBfr)!=OK)    continue;
  52   2                      DataBfr[0] = 0x0;
  53   2                      if(PiccRead(4,DataBfr)!=OK)             continue;
  54   2                      DataBfr[0] = 0x01;
  55   2                      DataBfr[1] = 0x0;
C51 COMPILER V8.02   MAIN                                                                  03/16/2009 15:23:02 PAGE 2   

  56   2                      DataBfr[2] = 0x0;
  57   2                      DataBfr[3] = 0x0;
  58   2                      if(PiccValue(DECREMENT,4,DataBfr,5)!=OK)        continue;
  59   2                      if(PiccValue(INCREMENT,4,DataBfr,6)!=OK)        continue;
  60   2                      if(PiccRead(5,DataBfr)!=OK)             continue;
  61   2                      if(PiccRead(6,DataBfr)!=OK)             continue;
  62   2                      PiccHalt();
  63   2      
  64   2                 BEEN_ON;
  65   2      
  66   2                      //测试卡自动检测----串口主动发送回数据,TX交替,E2密码验证,密钥A,读4块
  67   2                      DataBfr[0] = 0;
  68   2                      while(PiccAutoDetect(ADSERIALOUT | ADINTENABLE, ADTXALERT, REQSTD, 'E', KEYA, DataBfr, 4) != 0);
  69   2                      while(PiccADRcv(&TxMode,Atq,&Sak,Card_Snr,DataBfr) != 0);       
  70   2                      DataBfr[0] = 0x10;      DataBfr[4] = 0xef;      DataBfr[8] = 0x10;
  71   2                      DataBfr[1] = 0x0;       DataBfr[5] = 0xff;      DataBfr[9] = 0x0;
  72   2                      DataBfr[2] = 0x0;       DataBfr[6] = 0xff;      DataBfr[10] = 0x0;
  73   2                      DataBfr[3] = 0x0;       DataBfr[7] = 0xff;      DataBfr[11] = 0x0;
  74   2                      DataBfr[12] = 0x04;     DataBfr[13] = 0xfb;     DataBfr[14] = 0x04;     DataBfr[15] = 0xfb;
  75   2                      if(PiccWrite(4,DataBfr)!=OK)    continue;
  76   2                      DataBfr[0] = 0x0;
  77   2                      if(PiccRead(4,DataBfr)!=OK)             continue;
  78   2                      DataBfr[0] = 0x01;
  79   2                      DataBfr[1] = 0x0;
  80   2                      DataBfr[2] = 0x0;
  81   2                      DataBfr[3] = 0x0;
  82   2                      if(PiccValue(DECREMENT,4,DataBfr,5)!=OK)        continue;
  83   2                      if(PiccValue(INCREMENT,4,DataBfr,6)!=OK)        continue;
  84   2                      if(PiccRead(5,DataBfr)!=OK)             continue;
  85   2                      if(PiccRead(6,DataBfr)!=OK)             continue;
  86   2                      PiccHalt();
  87   2      
  88   2                      BEEN_ON;
  89   2      
  90   2                      //测试卡自动检测----串口主动发送回数据,发回后继续检测,检测后将卡挂起,TX全发送,直接密码验证,密钥A,

⌨️ 快捷键说明

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