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

📄 protocol.lst

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

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

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

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

 242   2                    	Trs_Length=10;
 243   2                      Trs_Buf[6]=Trs_Length;

⌨️ 快捷键说明

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