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

📄 protocol.lst

📁 这是一个
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V6.12  PROTOCOL                                                               01/10/2005 07:10:30 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE PROTOCOL
OBJECT MODULE PLACED IN D:\TEST\PROTOCOL.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\TEST\PROTOCOL.C DB SB OE

stmt level    source

   1          #include "P89C60X2.h"
   2          #include "hicj6.h"
   3          #include "fram.h"
   4          #include "hd7279.h"
   5          extern void TrsRelay(BYTE YkNo,BYTE YkHf);
   6          
   7          extern BYTE xdata Trs_Buf[25];
   8          extern BYTE xdata Rcv_Buf[30];
   9          extern bit Trs_Flag,Rcv_Flag;
  10          BYTE data House_Max,Station;
  11          BYTE data Trs_Wp,Trs_Rp,Rcv_Wp,Rcv_Rp;
  12          extern BYTE data Start;
  13          extern union hdd_long {BYTE Hdd_B[4];unsigned long Hdd_L;} Hdd_Str;
  14          //extern union Full_Str {BYTE Full_B[4];unsigned long Full_L;} Full;
  15          BYTE data Short_New[5],Break_New[5];
  16          extern BYTE data Hdd_En,Short_En,Break_En;
  17          extern BYTE data HddEn_Sum,Flash;
  18          extern BYTE data Short_Bak,Break_Bak;
  19          //extern BYTE xdata RelayOffTimes[40];
  20          //extern BYTE code Relay_Station;
  21          extern bit Alarm_Flag,Alarm_Check,HddEn_Count;
  22          BYTE data Trs_Comm;
  23          BYTE data Rcv_Comm,Trs_Check;
  24          BYTE data House_R;
  25          BYTE data B3;
  26          BYTE data Power_En,Alarm_Select,Trs_Comm_Bak;
  27          
  28          bit All_Hdd;
  29          
  30          void eb90(void)
  31          {
  32   1        Trs_Buf[0]=0xeb;
  33   1        Trs_Buf[1]=0x90;
  34   1        Trs_Buf[2]=0x00;
  35   1        Trs_Buf[3]=0x00;
  36   1        Trs_Buf[4]=0x00;
  37   1        Trs_Buf[5]=0x00;
  38   1      }
  39          
  40          void Trs_Edit(void)
  41          {
  42   1         BYTE i,Trs_Length;
  43   1         Trs_Flag=0;
  44   1         switch (Trs_Comm)
  45   1             {
  46   2              case (0xaa):
  47   2                      eb90();
  48   2                    	Trs_Length=5;
  49   2                      Trs_Buf[6]=Trs_Length;
  50   2                      Trs_Buf[7]=0;
  51   2                      Trs_Buf[8]=Trs_Comm_Bak;
  52   2                      Trs_Buf[9]=Station;
  53   2                      Trs_Buf[10]=0;
  54   2                      Trs_Buf[11]=Start&0x80;
  55   2                      Trs_Check=0;
C51 COMPILER V6.12  PROTOCOL                                                               01/10/2005 07:10:30 PAGE 2   

  56   2                      for(i=8;i<12;i++)
  57   2                       {
  58   3                         Trs_Check+=Trs_Buf[i];
  59   3                       }
  60   2                   Trs_Buf[12]=Trs_Check;
  61   2                   Trs_Wp=13;
  62   2      
  63   2                break;
  64   2      
  65   2      
  66   2               case (0xb0):
  67   2                      i=Read1B(250+(House_R-1)/8);
  68   2                      if(i & (1<<((House_R-1)%8)) )
  69   2                        Start|=1;
  70   2                        else Start&=0x80;
  71   2                      eb90();
  72   2                    	Trs_Length=15;
  73   2                      Trs_Buf[6]=Trs_Length;
  74   2                      Trs_Buf[7]=0;
  75   2                      Trs_Buf[8]=Trs_Comm;
  76   2                      Trs_Buf[9]=Station;
  77   2                      Trs_Buf[10]=0;
  78   2                      Trs_Buf[11]=House_R;
  79   2                      Trs_Buf[12]=Start;
  80   2                      i=Read1B(200+House_R-1);
  81   2                      Trs_Buf[13]=i&0x0f;// Type
  82   2                      Trs_Buf[14]=Read1B((House_R-1)*3+0x100);
  83   2                      Trs_Buf[15]=Read1B((House_R-1)*3+1+0x100);
  84   2                      Trs_Buf[16]=Read1B((House_R-1)*3+2+0x100);
  85   2                      i=Read1B(House_R-1+120+0x100);
  86   2                      Trs_Buf[17]=i>>4;          //Constant
  87   2                      Trs_Buf[18]=i&0x0f;
  88   2                      i=Read1B(200+House_R-1);
  89   2                      Trs_Buf[19]=i>>4;  //Point
  90   2                      Trs_Buf[20]=0;
  91   2                      i=Read1B(240+(House_R-1)/8);
  92   2                      if(i & (1<<((House_R-1)%8)) )
  93   2                      Trs_Buf[20]|=0x04;     //Short
  94   2                      i=Read1B(245+(House_R-1)/8);
  95   2                      if(i & (1<<((House_R-1)%8)) )
  96   2                      Trs_Buf[20]|=0x10;     //Break
  97   2                      i=Read1B(160+(House_R-1)/8+0x100);
  98   2                      if(i & (1<<((House_R-1)%8)) )
  99   2                      Trs_Buf[20]|=0x40;     //Power
 100   2                      Trs_Buf[21]=0;
 101   2                      Trs_Check=0;
 102   2                      for(i=8;i<22;i++)
 103   2                       {
 104   3                         Trs_Check+=Trs_Buf[i];
 105   3                       }
 106   2                   Trs_Buf[22]=Trs_Check;
 107   2                   Trs_Wp=23;
 108   2      
 109   2                break;
 110   2               case (0xbb):
 111   2                      i=Read1B((250+(House_R-1)/8));
 112   2                      if((1<<((House_R-1)%8))&i)
 113   2                       {
 114   3                         Start|=0x01;
 115   3                       }
 116   2                       else Start&=0x80;
 117   2                      eb90();
C51 COMPILER V6.12  PROTOCOL                                                               01/10/2005 07:10:30 PAGE 3   

 118   2                    	Trs_Length=6;
 119   2                      Trs_Buf[6]=Trs_Length;
 120   2                      Trs_Buf[7]=0;
 121   2                      Trs_Buf[8]=Trs_Comm_Bak;
 122   2                      Trs_Buf[9]=Station;
 123   2                      Trs_Buf[10]=0;
 124   2                      Trs_Buf[11]=House_R;
 125   2                      Trs_Buf[12]=Start;
 126   2                      Trs_Check=0;
 127   2                      for(i=8;i<13;i++)
 128   2                       {
 129   3                         Trs_Check+=Trs_Buf[i];
 130   3                       }
 131   2                   Trs_Buf[13]=Trs_Check;
 132   2                   Trs_Wp=14;
 133   2      
 134   2                break;
 135   2               case (0xb2):
 136   2                      if(House_R!=0xff)                    // One Hdd
 137   2                      {
 138   3                          Hdd_Str.Hdd_L=Read_Hdd(House_R-1);
 139   3                          i=Read1B(250+((House_R-1)/8));
 140   3                          if((1<<((House_R-1)%8))&i)
 141   3                           {
 142   4                             Start|=0x01;
 143   4                           }
 144   3                           else Start&=0x80;
 145   3                        eb90();
 146   3                    	  Trs_Length=10;
 147   3                        Trs_Buf[6]=Trs_Length;
 148   3                        Trs_Buf[7]=0;
 149   3                        Trs_Buf[8]=Trs_Comm;
 150   3                        Trs_Buf[9]=Station;
 151   3                        Trs_Buf[10]=0;
 152   3                        Trs_Buf[11]=House_R;
 153   3                        Trs_Buf[12]=Start;
 154   3                        Trs_Buf[13]=Hdd_Str.Hdd_B[3];
 155   3                        Trs_Buf[14]=Hdd_Str.Hdd_B[2];
 156   3                        Trs_Buf[15]=Hdd_Str.Hdd_B[1];
 157   3                        Trs_Buf[16]=Hdd_Str.Hdd_B[0];
 158   3                        Trs_Check=0;
 159   3                        for(i=8;i<17;i++)
 160   3                         {
 161   4                           Trs_Check+=Trs_Buf[i];
 162   4                         }
 163   3                       Trs_Buf[17]=Trs_Check;
 164   3                       Trs_Wp=18;
 165   3                      }
 166   2                      else                             //All Hdd
 167   2                      {
 168   3                       if(B3==0)     // B3==0
 169   3                        {
 170   4                      	eb90();
 171   4                      	Trs_Length=HddEn_Sum*6+4;
 172   4                              if(HddEn_Sum==0) Trs_Length=10;
 173   4                              Trs_Buf[6]=Trs_Length;
 174   4                              Trs_Buf[7]=0;
 175   4                              Trs_Buf[8]=Trs_Comm;
 176   4                              Trs_Buf[9]=Station;
 177   4                              Trs_Buf[10]=0;
 178   4                              Trs_Check=0;
 179   4                              for(i=8;i<11;i++)
C51 COMPILER V6.12  PROTOCOL                                                               01/10/2005 07:10:30 PAGE 4   

 180   4                               {
 181   5                                Trs_Check+=Trs_Buf[i];
 182   5                               }
 183   4                              Trs_Wp=11;
 184   4                              B3=1;
 185   4                              Trs_Flag=1;
 186   4                         }
 187   3                         else   //B3>0
 188   3                         {
 189   4                         B3Inc:
 190   4                              i=Read1B(250+((B3-1)/8));
 191   4                              if(HddEn_Sum)
 192   4                              {
 193   5                                if((1<<((B3-1)%8))&i)
 194   5                                 {
 195   6                                   Start|=0x01;
 196   6                                 }
 197   5                                 else
 198   5                                 {
 199   6                                   Start&=0x80;
 200   6                                   B3++;
 201   6                                  goto B3Inc;
 202   6                                 }
 203   5                               }
 204   4                              Hdd_Str.Hdd_L=Read_Hdd(B3-1);
 205   4                              if(HddEn_Sum==0)
 206   4                               {
 207   5                                Hdd_Str.Hdd_L=0xffffffff;
 208   5                                B3=0xff;
 209   5      
 210   5                               }
 211   4                      	Trs_Buf[0]=B3;
 212   4                      	Trs_Buf[1]=Start;
 213   4                      	Trs_Buf[2]=Hdd_Str.Hdd_B[3];
 214   4                       	Trs_Buf[3]=Hdd_Str.Hdd_B[2];
 215   4                      	Trs_Buf[4]=Hdd_Str.Hdd_B[1];
 216   4                      	Trs_Buf[5]=Hdd_Str.Hdd_B[0];
 217   4                      	for(i=0;i<6;i++)
 218   4                      	 {
 219   5                      	    Trs_Check+=Trs_Buf[i];
 220   5                      	 }
 221   4                      	 Trs_Wp=6;
 222   4                               Trs_Flag=1;
 223   4                      	 if(B3==House_Max||HddEn_Sum==0)
 224   4                      	  {
 225   5                      	  	Trs_Buf[Trs_Wp]=Trs_Check;
 226   5                      	  	Trs_Wp++;
 227   5                      	  	Trs_Flag=0;
 228   5                       	  }
 229   4                      	 B3++;
 230   4                         }
 231   3                      }
 232   2      
 233   2                break;
 234   2      
 235   2              case (0xb4):
 236   2                      i=Read1B(250+((House_R-1)/8));
 237   2                      if((1<<((House_R-1)%8))&i)
 238   2                       {
 239   3                         Start|=0x01;
 240   3                       }
 241   2                       else Start&=0x80;
C51 COMPILER V6.12  PROTOCOL                                                               01/10/2005 07:10:30 PAGE 5   

 242   2                      eb90();
 243   2                    	Trs_Length=10;

⌨️ 快捷键说明

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