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

📄 protocol.lst

📁 实用的空调计费系统
💻 LST
📖 第 1 页 / 共 4 页
字号:
 253   2                      i=Read1B(240+(House_R-1)/8);
 254   2                      if(i & (1<<((House_R-1)%8)) )
 255   2                        Trs_Buf[13]|=0x04;     //Short
 256   2                      i=Read1B(245+(House_R-1)/8);
 257   2                      if(i & (1<<((House_R-1)%8)) )
 258   2                        Trs_Buf[13]|=0x10;     //Break
 259   2                      i=Read1B(160+(House_R-1)/8+0x100);
 260   2                      if(i & (1<<((House_R-1)%8)) )
 261   2                        Trs_Buf[13]|=0x40;     //Power
 262   2                      Trs_Buf[14]=0;
 263   2                      Trs_Buf[15]=0;
 264   2                      if(Alarm_Select&0x04)
 265   2                       {
 266   3                        i=Short_New[(House_R-1)/8];
 267   3                        if(i & (1<<((House_R-1)%8)) )
 268   3                        Trs_Buf[15]|=0x04;     //Short
 269   3                        i=Read1B(170+(House_R-1)/8);
 270   3                        if(i & (1<<((House_R-1)%8)) )
 271   3                        Trs_Buf[15]|=0x08;     //Short_Bak
 272   3                       }
 273   2                      if(Alarm_Select&0x10)
 274   2                       {
 275   3                        i=Break_New[(House_R-1)/8];
 276   3                        if(i & (1<<((House_R-1)%8)) )
 277   3                        Trs_Buf[15]|=0x10;     //Break
 278   3                        i=Read1B(175+(House_R-1)/8);
 279   3                        if(i & (1<<((House_R-1)%8)) )
 280   3                        Trs_Buf[15]|=0x20;     //Break
 281   3                       }
 282   2                      Trs_Buf[16]=0;
 283   2                      Trs_Check=0;
 284   2                      for(i=8;i<17;i++)
 285   2                       {
 286   3                         Trs_Check+=Trs_Buf[i];
 287   3                       }
 288   2                   Trs_Buf[17]=Trs_Check;
 289   2                   Trs_Wp=18;
 290   2      
 291   2                break;
 292   2      
 293   2               case (0xc0):
 294   2                      eb90();
 295   2                      Trs_Length=7;
 296   2                      Trs_Buf[6]=Trs_Length;
 297   2                      Trs_Buf[7]=0;
 298   2                      Trs_Buf[8]=Trs_Comm;
 299   2                      Trs_Buf[9]=Station;
 300   2                      Trs_Buf[10]=0;
 301   2                      Trs_Buf[11]=Relay_Station;
 302   2                      Trs_Buf[12]=0;
 303   2                      Trs_Buf[13]=Start;
C51 COMPILER V7.50   PROTOCOL                                                              07/20/2005 09:16:48 PAGE 6   

 304   2                      Trs_Check=0;
 305   2                      for(i=8;i<14;i++)
 306   2                       {
 307   3                         Trs_Check+=Trs_Buf[i];
 308   3                       }
 309   2                   Trs_Buf[14]=Trs_Check;
 310   2                   Trs_Wp=15;
 311   2      
 312   2                break;
 313   2      
 314   2      
 315   2      
 316   2        case (0xc1):
 317   2                eb90();
 318   2                      Trs_Length=5;
 319   2                      Trs_Buf[6]=Trs_Length;
 320   2                      Trs_Buf[7]=0;
 321   2                      Trs_Buf[8]=Trs_Comm;
 322   2                      Trs_Buf[9]=Station;
 323   2                      Trs_Buf[10]=0;
 324   2                      Trs_Buf[11]=Trs_Comm_Bak;
 325   2                      Trs_Check=0;
 326   2                      for(i=8;i<12;i++)
 327   2                       {
 328   3                         Trs_Check+=Trs_Buf[i];
 329   3                       }
 330   2                   Trs_Buf[12]=Trs_Check;
 331   2                   Trs_Wp=13;
 332   2      
 333   2                break;
 334   2        case (0xc4):
 335   2                eb90();
 336   2                      //Trs_Length=5;
 337   2                      //Trs_Buf[6]=Trs_Length;
 338   2                      Trs_Buf[7]=0;
 339   2                      Trs_Buf[8]=Trs_Comm;
 340   2                      Trs_Buf[9]=Station;
 341   2                      Trs_Buf[10]=0;
 342   2                      Trs_Buf[11]=House_R;
 343   2                      if(Start&0x80)
 344   2                           {
 345   3                            Trs_Length=12;
 346   3                            Trs_Buf[6]=Trs_Length;
 347   3                            Trs_Buf[12]=0x81;
 348   3                            Trs_Buf[13]=Read1B(159+House_R*2+0x100);
 349   3                            Trs_Buf[14]=Read1B(158+House_R*2+0x100);
 350   3                            Trs_Buf[15]=Read1B(79+House_R*2+0x100);
 351   3                            Trs_Buf[16]=Read1B(78+House_R*2+0x100);
 352   3                            Trs_Buf[17]=Read1B(House_R*2-1+0x100);
 353   3                            Trs_Buf[18]=Read1B(House_R*2-2+0x100);
 354   3                            Trs_Check=0;
 355   3                            for(i=8;i<19;i++)
 356   3                              {
 357   4                               Trs_Check+=Trs_Buf[i];
 358   4                              }
 359   3                            Trs_Buf[19]=Trs_Check;
 360   3                            Trs_Wp=20;
 361   3                           }
 362   2                      else
 363   2                          {
 364   3                            Trs_Length=6;
 365   3                            Trs_Buf[6]=Trs_Length;
C51 COMPILER V7.50   PROTOCOL                                                              07/20/2005 09:16:48 PAGE 7   

 366   3                            Trs_Buf[12]=0x80 ;
 367   3                            for(i=8;i<13;i++)
 368   3                              {
 369   4                               Trs_Check+=Trs_Buf[i];
 370   4                              }
 371   3                            Trs_Buf[13]=Trs_Check;
 372   3                             Trs_Wp=14;
 373   3                          }
 374   2      
 375   2      
 376   2                      //Trs_Check=0;
 377   2                      //for(i=8;i<18;i++)
 378   2                      // {
 379   2                      //   Trs_Check+=Trs_Buf[i];
 380   2                      // }
 381   2                   //Trs_Buf[18]=Trs_Check;
 382   2                   //Trs_Wp=19;
 383   2      
 384   2                break;
 385   2        case (0xc5):
 386   2                      eb90();
 387   2                      Trs_Length=5;
 388   2                      Trs_Buf[6]=Trs_Length;
 389   2                      Trs_Buf[7]=0;
 390   2                      Trs_Buf[8]=Trs_Comm_Bak;
 391   2                      Trs_Buf[9]=Station;
 392   2                      Trs_Buf[10]=0;
 393   2                      Trs_Buf[11]=House_R;
 394   2      
 395   2                      Trs_Check=0;
 396   2                      for(i=8;i<12;i++)
 397   2                       {
 398   3                         Trs_Check+=Trs_Buf[i];
 399   3                       }
 400   2                   Trs_Buf[12]=Trs_Check;
 401   2                   Trs_Wp=13;
 402   2      
 403   2        case (0xe0):
 404   2      
 405   2                        eb90();
 406   2                        Trs_Length=6;
 407   2                        Trs_Buf[6]=Trs_Length;
 408   2                        Trs_Buf[7]=0;
 409   2                        Trs_Buf[8]=Trs_Comm;
 410   2                        Trs_Buf[9]=Station;
 411   2                        Trs_Buf[10]=0;
 412   2                        Trs_Buf[11]=House_R;
 413   2                        Trs_Buf[12]=Read1B(200+(House_R-1)+0x100);
 414   2                        Trs_Check=0;
 415   2                        for(i=8;i<13;i++)
 416   2                         {
 417   3                           Trs_Check+=Trs_Buf[i];
 418   3                         }
 419   2                       Trs_Buf[13]=Trs_Check;
 420   2                       Trs_Wp=14;
 421   2      
 422   2      
 423   2              default:
 424   2                break;
 425   2             }
 426   1             DIR485=0;
 427   1             if(Trs_Buf[0]==0xeb && Trs_Buf[1]==0x90)
C51 COMPILER V7.50   PROTOCOL                                                              07/20/2005 09:16:48 PAGE 8   

 428   1              {
 429   2               SBUF=0xfe;
 430   2               Trs_Rp=0;
 431   2              }
 432   1              else
 433   1              {
 434   2               SBUF=Trs_Buf[0];
 435   2               Trs_Rp=1;
 436   2              }
 437   1      }
 438          
 439          void Rcv_Pro(void)
 440          {
 441   1        BYTE i;//,YkNo,YkHf;
 442   1        BYTE Rcv_Check,Rcv_Length,Rcv_Tmp,Tmp;
 443   1        if((Rcv_Wp-Rcv_Rp)>(Rcv_Buf[Rcv_Rp+4]+5) && Rcv_Wp>11)
 444   1         {
 445   2              Rcv_Flag=0;
 446   2              Rcv_Wp=0;
 447   2              Rcv_Length=Rcv_Buf[Rcv_Rp+4];
 448   2              Rcv_Check=0;
 449   2              for(i=Rcv_Rp+6;i<Rcv_Rp+Rcv_Length+5;i++)
 450   2               {
 451   3                      Rcv_Check+=Rcv_Buf[i];
 452   3               }
 453   2               Rcv_Comm=0;
 454   2              if(Rcv_Check==Rcv_Buf[Rcv_Rp+5+Rcv_Length])
 455   2               {
 456   3                      Rcv_Comm=Rcv_Buf[Rcv_Rp+6];
 457   3      
 458   3               }
 459   2              switch (Rcv_Comm)
 460   2               {
 461   3                      case (0x20):
 462   3                       if(Rcv_Buf[Rcv_Rp+7]==Station
 463   3                          ||(Rcv_Buf[Rcv_Rp+7]==0xff&&Rcv_Buf[Rcv_Rp+8]==0xff)&&(!Key))
 464   3      
 465   3                         {
 466   4      
 467   4                           Trs_Comm=0xaa;
 468   4                           Trs_Comm_Bak=0xa0;
 469   4                           Trs_Flag=1;
 470   4      
 471   4                         }
 472   3                      break;
 473   3                     case (0x21):
 474   3                       if(!Key)
 475   3                         {
 476   4                          Station=Rcv_Buf[Rcv_Rp+7];
 477   4                          Write1B(Station,164);
 478   4                          Trs_Comm=0xaa;
 479   4                          Trs_Comm_Bak=0xa1;
 480   4                          Trs_Flag=1;
 481   4                         }
 482   3                      break;
 483   3                     case (0x24):
 484   3                      if(Rcv_Buf[Rcv_Rp+7]==Station
 485   3                          ||(Rcv_Buf[Rcv_Rp+7]==0xff&&Rcv_Buf[Rcv_Rp+8]==0xff))
 486   3                         {
 487   4                          Start=Rcv_Buf[Rcv_Rp+9];
 488   4                          if((Start&0x80)==0x80)
 489   4                            Write1B(0x80,255);
C51 COMPILER V7.50   PROTOCOL                                                              07/20/2005 09:16:48 PAGE 9   

 490   4                            else
 491   4                            Write1B(0x00,255);
 492   4                            Flash=0;
 493   4                            for(i=0;i<5;i++)
 494   4                             {
 495   5                              Short_New[i]=0;
 496   5                              Break_New[i]=0;
 497   5                             }
 498   4                           Alarm_Check=1;
 499   4                         }
 500   3                       if(Rcv_Buf[Rcv_Rp+7]==Station)
 501   3                        {
 502   4                           Trs_Comm=0xaa;
 503   4                           Trs_Comm_Bak=0xa4;
 504   4                           Trs_Flag=1;
 505   4                        }
 506   3      
 507   3                      break;
 508   3                     case (0x30):
 509   3                       if(Rcv_Buf[Rcv_Rp+7]==Station)
 510   3                         {
 511   4                          Trs_Comm=0xb0;
 512   4                          House_R=Rcv_Buf[Rcv_Rp+9];
 513   4                          Trs_Flag=1;

⌨️ 快捷键说明

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