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

📄 main.lst

📁 AVR下的WG26中断接收函数及相关资料说明
💻 LST
字号:
C51 COMPILER V7.09   MAIN                                                                  09/11/2007 09:30:23 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "typedef.h"
   2          #include "comr6c.h"
   3          #include "time.h"
   4          #include "ll.h" 
   5          
   6          #define US100   18
   7          #define US1500  620
   8          #define SCANEN  20
   9          //#define SCANEN  100
  10          
  11          void testSendIsoCmd(void);
  12          void delay(uint i);
  13          void wg26Output(uchar *p);
  14          
  15          void outputTestData(uchar *p,uchar len )
  16          {
  17   1              uchar i;
  18   1              ES = 0;
  19   1              TI = 0;
  20   1              snt = 1;
  21   1              for(i=0;i<len;i++)
  22   1              {
  23   2                      SBUF = p[i];
  24   2                      while(!TI);
  25   2                      TI = 0;
  26   2              }
  27   1              ES = 0;snt = 0;
  28   1      }
  29          
  30          void main()
  31          {       
  32   1              uint i;
  33   1              uchar j;
  34   1              uchar testdata[5] = {0xaa, 0xbb,0xcc,0xdd,0xee};
  35   1              
  36   1              for(i=0;i<0xfff;i++);
  37   1              initialization();
  38   1              switchon();       for(i=0;i<0xfff;i++);         
  39   1              j = rd_ConReg();
  40   1              outputTestData(testdata,5);
  41   1              wdi = !wdi;
  42   1              while(1)
  43   1              {       
  44   2                      testSendIsoCmd();               
  45   2                      led_spker_out();                
  46   2                      wdi = !wdi;     
  47   2              }
  48   1      }
  49          void delay(uint i)
  50          {
  51   1              uint time;
  52   1              wdi = !wdi;
  53   1              time = i;
  54   1              time = 0xffff-time;
  55   1              TL1 = time&0xff;
C51 COMPILER V7.09   MAIN                                                                  09/11/2007 09:30:23 PAGE 2   

  56   1              TH1 = (time>>8)&0xff;
  57   1              ET1 = 0;
  58   1              TF1 = 0;
  59   1              TR1 = 1;
  60   1              while(!TF1);
  61   1              TF1 = 0;
  62   1              TR1 = 0;
  63   1      }
  64          void wg26Output(uchar *p)
  65          {
  66   1              uchar even_1 = 0;
  67   1              uchar odd_26 = 0;
  68   1              uchar i,j,out[3];
  69   1      
  70   1              bit bit1= 0,bit2 = 0,bit3 = 0;
  71   1              
  72   1              for(i=0;i<3;i++)
  73   1              {
  74   2                      out[i] = *p;
  75   2                      p++;
  76   2              }
  77   1      
  78   1              P = 0;ACC = out[0];     bit1 = P;
  79   1              P = 0;ACC = out[1]&0xf0;bit2 = P;
  80   1              bit3 = bit1^bit2;
  81   1              if(bit3)even_1 = 1; 
  82   1              else even_1 = 0;
  83   1      
  84   1              P = 0;ACC = out[1]&0x0f;bit1 = P;
  85   1              P = 0;ACC = out[2];             bit2 = P;
  86   1              bit3  = bit1^bit2;
  87   1              if(bit3)odd_26 = 0; 
  88   1              else odd_26 = 1;
  89   1      
  90   1              wg_hold = 0;
  91   1              if(even_1)wg_data = 0;
  92   1              else      wg_clk =0;
  93   1              delay(US100);
  94   1              wg_clk = 1;
  95   1              wg_data = 1;
  96   1              delay(US1500);
  97   1              for(j=0;j<3;j++)
  98   1              {
  99   2                      for(i=0;i<8;i++)
 100   2                      {
 101   3                              out[j] = out[j] << 1;
 102   3                              if(CY)wg_data = 0;
 103   3                              else  wg_clk  = 0;
 104   3                              delay(US100);
 105   3                              wg_data = 1;
 106   3                              wg_clk  = 1;
 107   3                              delay(US1500);
 108   3                      }
 109   2              }
 110   1              if(odd_26)wg_data =0;
 111   1              else    wg_clk = 0;
 112   1              delay(US100);
 113   1              wg_clk = 1;
 114   1              wg_data = 1;
 115   1              delay(US1500);
 116   1              wg_hold = 1;
 117   1      }
C51 COMPILER V7.09   MAIN                                                                  09/11/2007 09:30:23 PAGE 3   

 118          void testSendIsoCmd(void)
 119          {
 120   1              uint i;
 121   1              uchar uid[3];
 122   1      //uid[0]:deviceAddr
 123   1      //uid[1]:uid0
 124   1      //uid[2]:uid1
 125   1              if(pwUpScanCnt > SCANEN)        
 126   1              {       
 127   2                      pwUpScanCnt = 0;
 128   2                      switchon();  for(i=0;i<0x03ff;i++);
 129   2                      userCardOk = 0;
 130   2                      send_ISO_cmd(0x01,Get_sysInf_cmd,6,0);
 131   2                      if(userCardOk && (pcdata[3] != 0x01))
 132   2                      {       
 133   3      //                      outputTestData(pcdata+5,8);
 134   3                              uid[0] = deviceAddr;
 135   3                              for(i=0;i<2;i++)
 136   3                                      uid[i+1] = pcdata[6-i];
 137   3                              outputTestData(uid,3);
 138   3                              wg26Output(uid);                        
 139   3                              userCardOk = 0; 
 140   3                              b_spker = 1;
 141   3                      }
 142   2              }       
 143   1      }
 144          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    480    ----
   CONSTANT SIZE    =      5    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      18
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       3
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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