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

📄 protocol.lst

📁 实用的空调计费系统
💻 LST
📖 第 1 页 / 共 4 页
字号:
 514   4                         }
 515   3                      break;
 516   3                     case (0x31):
 517   3                      if(Rcv_Buf[Rcv_Rp+7]==Station)
 518   3                         {
 519   4                          House_R=Rcv_Buf[Rcv_Rp+9];
 520   4                          Alarm_Check=1;
 521   4                          if(House_R!=0xff)
 522   4                            {
 523   5                              if(Rcv_Buf[Rcv_Rp+10]!=0xff)
 524   5                              {
 525   6                                Hdd_En=Read1B(250+(House_R-1)/8);
 526   6                                Short_Bak=Read1B(170+(House_R-1)/8);
 527   6                                Break_Bak=Read1B(175+(House_R-1)/8);
 528   6                                if (Rcv_Buf[Rcv_Rp+10]&0x80)
 529   6                                 {
 530   7                                  Hdd_En|=(1<<((House_R-1)%8));
 531   7                                 }
 532   6                                 else
 533   6                                 {
 534   7                                  Hdd_En&=~(1<<((House_R-1)%8));
 535   7                                  Short_Bak&=~(1<<((House_R-1)%8));
 536   7                                  Break_Bak&=~(1<<((House_R-1)%8));
 537   7                                  Short_New[(House_R-1)/8]=0;
 538   7                                  Break_New[(House_R-1)/8]=0;
 539   7                                 }
 540   6                                Write1B(Hdd_En,250+(House_R-1)/8);
 541   6                                Write1B(Short_Bak,170+(House_R-1)/8);
 542   6                                Write1B(Break_Bak,175+(House_R-1)/8);
 543   6                                     //Type
 544   6                                 Rcv_Tmp=Rcv_Buf[Rcv_Rp+10]&0x0f;
 545   6                                 i=Read1B((House_R-1)+200);
 546   6                                 i&=0xf0;
 547   6                                 Rcv_Tmp|=i;
 548   6                                 Write1B(Rcv_Tmp,(House_R-1)+200);
 549   6                              }
 550   5                              if(Rcv_Buf[Rcv_Rp+11]!=0xff)
 551   5                                {
C51 COMPILER V7.50   PROTOCOL                                                              07/20/2005 09:16:48 PAGE 10  

 552   6                                 Write1B(Rcv_Buf[Rcv_Rp+11],(House_R-1)*3+0x100);
 553   6                                }
 554   5                              if(Rcv_Buf[Rcv_Rp+12]!=0xff)
 555   5                                {
 556   6                                  Write1B(Rcv_Buf[Rcv_Rp+12],(House_R-1)*3+1+0x100);
 557   6                                }
 558   5                              if(Rcv_Buf[Rcv_Rp+13]!=0xff)
 559   5                                {
 560   6                                 Write1B(Rcv_Buf[Rcv_Rp+13],(House_R-1)*3+2+0x100);
 561   6                                }
 562   5                                 //Point
 563   5                              if(Rcv_Buf[Rcv_Rp+16]!=0xff)
 564   5                                {
 565   6                                 Rcv_Tmp=Rcv_Buf[Rcv_Rp+16];
 566   6                                 Rcv_Tmp<<=4;
 567   6                                 i=Read1B((House_R-1)+200);
 568   6                                 i&=0x0f;
 569   6                                 Rcv_Tmp|=i;
 570   6                                 Write1B(Rcv_Tmp,(House_R-1)+200);
 571   6                                }
 572   5      
 573   5                                  //CONST
 574   5                              if(Rcv_Buf[Rcv_Rp+14]!=0xff)
 575   5                              {
 576   6                               Rcv_Tmp=Rcv_Buf[Rcv_Rp+14];
 577   6                               Rcv_Tmp<<=4;
 578   6                               i=Read1B((House_R-1)+120+0x100);
 579   6                               i&=0x0f;
 580   6                               Rcv_Tmp|=i;
 581   6                                Write1B(Rcv_Tmp,(House_R-1)+120+0x100);
 582   6                               }
 583   5                                 //RANGE
 584   5                               if(Rcv_Buf[Rcv_Rp+15]!=0xff)
 585   5                                {
 586   6                                 Rcv_Tmp=Rcv_Buf[Rcv_Rp+15]&0x0f;
 587   6                                 i=Read1B((House_R-1)+120+0x100);
 588   6                                 i&=0xf0;
 589   6                                 Rcv_Tmp|=i;
 590   6                                 Write1B(Rcv_Tmp,(House_R-1)+120+0x100);
 591   6                                }
 592   5                              Rcv_Tmp=Rcv_Buf[Rcv_Rp+17];
 593   5                              if(Rcv_Tmp!=0xff)
 594   5                              {
 595   6                                Short_En=Read1B(240+(House_R-1)/8);
 596   6                                Short_Bak=Read1B(170+(House_R-1)/8);
 597   6                                if (Rcv_Tmp&0x04)
 598   6                                 {
 599   7                                   Short_En|=(1<<((House_R-1)%8));
 600   7                                 }
 601   6                                 else
 602   6                                 {
 603   7                                  Short_En&=~(1<<((House_R-1)%8));
 604   7                                  Short_Bak&=~(1<<((House_R-1)%8));
 605   7                                  Short_New[(House_R-1)/8]=0;
 606   7                                 }
 607   6                                 Write1B(Short_En,240+(House_R-1)/8);
 608   6                                 Write1B(Short_Bak,170+(House_R-1)/8);
 609   6      
 610   6                                 Break_En=Read1B(245+(House_R-1)/8);
 611   6                                 Break_Bak=Read1B(175+(House_R-1)/8);
 612   6                                 if (Rcv_Tmp&0x10)
 613   6                                  {
C51 COMPILER V7.50   PROTOCOL                                                              07/20/2005 09:16:48 PAGE 11  

 614   7                                    Break_En|=(1<<((House_R-1)%8));
 615   7                                  }
 616   6                                  else
 617   6                                  {
 618   7                                    Break_En&=~(1<<((House_R-1)%8));
 619   7                                    Break_Bak&=~(1<<((House_R-1)%8));
 620   7                                    Break_New[(House_R-1)/8]=0;
 621   7                                  }
 622   6                                  Write1B(Break_En,245+(House_R-1)/8);
 623   6                                  Write1B(Break_Bak,175+(House_R-1)/8);
 624   6      
 625   6                                  Power_En=Read1B(160+(House_R-1)/8+0x100);
 626   6                                  if (Rcv_Tmp&0x40)
 627   6                                  {
 628   7                                   Power_En|=(1<<((House_R-1)%8));
 629   7                                  }
 630   6                                  else  Power_En&=~(1<<((House_R-1)%8));
 631   6                                  Write1B(Power_En,160+(House_R-1)/8+0x100);
 632   6                              }
 633   5                           }
 634   4                           else   //0xff
 635   4                            {
 636   5                             if(Rcv_Buf[Rcv_Rp+10]!=0xff)
 637   5                              {
 638   6                               if (Rcv_Buf[Rcv_Rp+10]&0x80) //Hdd_En
 639   6                                 {
 640   7                                  for(i=0;i<5;i++)
 641   7                                  {
 642   8                                   Write1B(0xff,250+i);
 643   8                                  }
 644   7                                 }
 645   6                               else
 646   6                                 {
 647   7                                  for(i=0;i<5;i++)
 648   7                                  {
 649   8                                   Write1B(0x0,250+i);
 650   8                                  }
 651   7                                 }
 652   6                                 //Type
 653   6                                 Rcv_Tmp=Rcv_Buf[Rcv_Rp+10]&0x0f;
 654   6                                 for(i=0;i<40;i++)
 655   6                                  {
 656   7                                   Tmp=Read1B(200+i);
 657   7                                   Tmp&=0xf0;
 658   7                                   Rcv_Tmp|=Tmp;
 659   7                                   Write1B(Rcv_Tmp,200+i);
 660   7                                  }
 661   6                              }
 662   5      
 663   5                              if(Rcv_Buf[Rcv_Rp+16]!=0xff)          //Point
 664   5                                {
 665   6                                 Rcv_Tmp=Rcv_Buf[Rcv_Rp+16];
 666   6                                 Rcv_Tmp<<=4;
 667   6                                 for(i=0;i<40;i++)
 668   6                                  {
 669   7                                   Tmp=Read1B(200+i);
 670   7                                   Tmp&=0x0f;
 671   7                                   Rcv_Tmp|=Tmp;
 672   7                                   Write1B(Rcv_Tmp,200+i);
 673   7                                  }
 674   6                                }
 675   5                                   //CONST
C51 COMPILER V7.50   PROTOCOL                                                              07/20/2005 09:16:48 PAGE 12  

 676   5                               if(Rcv_Buf[Rcv_Rp+14]!=0xff)
 677   5                               {
 678   6                                Rcv_Tmp=Rcv_Buf[Rcv_Rp+14];
 679   6                                Rcv_Tmp<<=4;
 680   6                                for(i=0;i<40;i++)
 681   6                                 {
 682   7                                  Tmp=Read1B(120+i+0x100);
 683   7                                  Tmp&=0x0f;
 684   7                                  Rcv_Tmp|=Tmp;
 685   7                                  Write1B(Rcv_Tmp,120+i+0x100);
 686   7                                 }
 687   6                               }
 688   5                                 //RANGE
 689   5                               if(Rcv_Buf[Rcv_Rp+15]!=0xff)
 690   5                                {
 691   6                                 Rcv_Tmp=Rcv_Buf[Rcv_Rp+15]&0x0f;
 692   6                                 for(i=0;i<40;i++)
 693   6                                  {
 694   7                                   Tmp=Read1B(120+i+0x100);
 695   7                                   Tmp&=0xf0;
 696   7                                   Rcv_Tmp|=Tmp;
 697   7                                   Write1B(Rcv_Tmp,120+Tmp+0x100);
 698   7                                  }
 699   6                                }
 700   5                               Rcv_Tmp=Rcv_Buf[Rcv_Rp+17];
 701   5                              if(Rcv_Tmp!=0xff)
 702   5                              {
 703   6                                  //Short_En
 704   6                                for(i=0;i<5;i++)
 705   6                                 {
 706   7                                  if (Rcv_Tmp&0x04)
 707   7                                   {
 708   8                                    Short_En=0xff;
 709   8                                   }
 710   7                                   else  Short_En=0;
 711   7                                   Write1B(Short_En,240+i);
 712   7                                 }
 713   6                                 //Break_En
 714   6                                 for(i=0;i<5;i++)
 715   6                                 {
 716   7                                  if (Rcv_Tmp&0x10)
 717   7                                   {
 718   8                                    Break_En=0xff;
 719   8                                   }
 720   7                                   else  Break_En=0;
 721   7                                   Write1B(Break_En,245+i);
 722   7                                  }
 723   6                                  //Power_En
 724   6                                 for(i=0;i<5;i++)
 725   6                                  {
 726   7                                   if (Rcv_Tmp&0x40)
 727   7                                   {
 728   8                                    Power_En=0xff;
 729   8                                   }
 730   7                                   else  Power_En=0;
 731   7                                   Write1B(Power_En,160+i+0x100);
 732   7                                  }
 733   6                              }
 734   5      
 735   5                            }
 736   4                          Trs_Comm=0xbb;
 737   4                          Trs_Comm_Bak=0xb1;
C51 COMPILER V7.50   PROTOCOL                                                              07/20/2005 09:16:48 PAGE 13  

 738   4                          Trs_Flag=1;
 739   4                          HddEn_Count=1;
 740   4                        /*  HddEn_Sum=0;
 741   4                          for (i=0;i<5;i++)
 742   4                           {
 743   4                            Hdd_En=Read1B(250+i);
 744   4                            for(j=0;j<8;j++)
 745   4                             {
 746   4                              if((Hdd_En&(1<<j))!=0)
 747   4                                {
 748   4                                  HddEn_Sum++;
 749   4                                  House_Max=i*8+j+1;
 750   4                                }
 751   4                             }
 752   4                           }   */
 753   4                         }
 754   3                      break;
 755   3                    case (0x32):
 756   3                       if(Rcv_Buf[Rcv_Rp+7]==Station)
 757   3                         {
 758   4                          Trs_Comm=0xb2;
 759   4                          House_R=Rcv_Buf[Rcv_Rp+9];
 760   4                          Trs_Flag=1;
 761   4                          B3=0;
 762   4                         }
 763   3                      break;
 764   3                   case (0x33):
 765   3                       if(Rcv_Buf[Rcv_Rp+7]==Station)
 766   3                         {
 767   4                          House_R=Rcv_Buf[Rcv_Rp+9];
 768   4                          Hdd_Str.Hdd_B[3]=Rcv_Buf[Rcv_Rp+10];
 769   4                          Hdd_Str.Hdd_B[2]=Rcv_Buf[Rcv_Rp+11];
 770   4                          Hdd_Str.Hdd_B[1]=Rcv_Buf[Rcv_Rp+12];
 771   4                          Hdd_Str.Hdd_B[0]=Rcv_Buf[Rcv_Rp+13];
 772   4                          if(House_R==0xff)
 773   4                            {
 774   5                              for(i=0;i<40;i++)

⌨️ 快捷键说明

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