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

📄 gy33485.lst

📁 红外抄表系统的源代码。利用非电信号传送控制信息和数据信息
💻 LST
📖 第 1 页 / 共 5 页
字号:
 558   3                   Ia_start_min = Ia_fault.min;
 559   3                   Ia_start_hour = Ia_fault.hour;
 560   3      
 561   3                   for(i=2;i<6;i++)
 562   3                        FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 563   3                   FaultTime[1] = Curtime[0];
 564   3                   FaultTime[0] = Ia;
 565   3      
 566   3                   wr_s_eeprom(FaultTime,IaStartEeprom,sizeof(FaultTime));
 567   3                   IaStartEeprom += 6;
 568   3               }
 569   2               if(IntervalIaFlag)
 570   2                    Ia_interval_min = Ia_fault.min +(Ia_fault.hour-Ia_start_hour)*60 - Ia_start_min;
 571   2               if(Ia_interval_min >= 10)      //10
 572   2               {
 573   3                    Ia_fault_flag = 1;
 574   3                    IntervalIaFlag = 0;
 575   3                    Ia_enable = 1;
 576   3               }
 577   2               PreIaIn = !Ia_in;
 578   2          }
 579   1          else    //Ua no fault processing
 580   1          {
 581   2               if(PreIaIn) //fault stop processing
 582   2               {
 583   3                    Ia_interval_min = 0;
 584   3                    for(i=2;i<6;i++)
 585   3                        FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 586   3                    FaultTime[1] = Curtime[0];
 587   3                    FaultTime[0] = Ia;
 588   3                    wr_s_eeprom(FaultTime,IaStartEeprom,sizeof(FaultTime));
 589   3                    IaStartEeprom += 6;
 590   3      
 591   3                    if(!Ia_enable) IaStartEeprom -= 12;
 592   3                    else Ia_enable = 0;
 593   3      
 594   3               }
 595   2          	   Ia_fault_flag = 0;
 596   2          	   PreIaIn = !Ia_in;
 597   2          }
 598   1      //////////////////////////////////////////////////////////////////////////
 599   1      /*     Ib_in=1;
 600   1           if(!Ib_in)   //Ib fault processing  shiji
 601   1           {
 602   1                   Ib_fault.sec=Ib_fault.sec+1;
 603   1                   if(Ib_fault.sec>=60)
 604   1                   {
 605   1                       Ib_fault.sec = 0;
 606   1                       Ib_fault.min++;
 607   1      
 608   1                       if(Ib_fault.min>=60)
 609   1                       {
 610   1                            Ib_fault.min = 0;
 611   1                            Ib_fault.hour++;
 612   1                            if(Ib_fault.hour>=10000)
 613   1                            {
C51 COMPILER V6.00i GY33485                                                                08/16/2007 20:55:35 PAGE 11  

 614   1                                Ib_fault.hour = 9999;
 615   1                            }
 616   1                       }
 617   1                  }
 618   1                  wr_s_eeprom((uchar idata *)(&Ib_fault), Ib_EEPROM, sizeof(Ib_fault));
 619   1      	       if(!PreIbIn) //??????????
 620   1      	       {
 621   1      	       	   // start Ib_fault  ,read start time,read Ib_fault.min
 622   1      	       	   Ib_start_min = Ib_fault.min;
 623   1      	       	   IbDis5Start = 1;
 624   1                   for(i=0;i<2;i++)
 625   1      	       	       IbFault_start_time[i] = Curtime[i+4];  //fault start time(include month,date,hour,minute)
 626   1      	       }
 627   1      	       if(Ib_start_min > Ib_fault.min)
 628   1      	           Ib_interval_min = Ib_fault.min + 60 - Ib_start_min;
 629   1      	       else if(Ib_start_min < Ib_fault.min)
 630   1      	       	   Ib_interval_min = Ib_fault.min - Ib_start_min;
 631   1      	       if(Ib_interval_min >= 1)      //10
 632   1      	       	   Ib_fault_flag = 1;
 633   1               PreIbIn = !Ib_in;
 634   1      
 635   1          }
 636   1          else    //Ib no fault processing
 637   1          {
 638   1          	   if(PreIbIn) //??????????fault stop processing
 639   1          	   	{
 640   1          	   		 // IbDis5Stop = 1;
 641   1          	   		  Ib_interval_min = 0;
 642   1          	   		  for(i=0;i<2;i++)
 643   1      	       	       IbFault_stop_time[i] = Curtime[i+4];  //fault start time(include month,date,hour,minute)
 644   1          	   	}
 645   1          	   Ib_fault_flag = 0;
 646   1          	   PreIbIn = !Ib_in;//9999999999
 647   1          }*/
 648   1      //////////////////////////////////////////////////////////////////////////
 649   1            Ic_in=1;
 650   1            if(!Ic_in)  //Ic fault processing
 651   1            {
 652   2               Ic_fault.sec=Ic_fault.sec+1;
 653   2               if(Ic_fault.sec>=60)
 654   2               {
 655   3                    Ic_fault.sec = 0;
 656   3                    Ic_fault.min++;
 657   3                    if(Ic_fault.min>=60)
 658   3                    {
 659   4                         Ic_fault.min = 0;
 660   4                         Ic_fault.hour++;
 661   4                         if(Ic_fault.hour>=10000)
 662   4                         {
 663   5                              Ic_fault.hour = 9999;
 664   5                         }
 665   4                    }
 666   3               }
 667   2               wr_s_eeprom((uchar idata *)(&Ic_fault), Ic_EEPROM, sizeof(Ic_fault));
 668   2      //----------------------------//
 669   2               if(IcStartEeprom > 674)
 670   2                   IcStartEeprom = 560;
 671   2      //----------------------------//
 672   2               if(!PreIcIn)
 673   2               {
 674   3                   IntervalIcFlag = 1;
 675   3                   // start Ic_fault  ,read start time,read Ic_fault.min
C51 COMPILER V6.00i GY33485                                                                08/16/2007 20:55:35 PAGE 12  

 676   3                   Ic_start_min = Ic_fault.min;
 677   3                   Ic_start_hour = Ic_fault.hour;
 678   3                   for(i=2;i<6;i++)
 679   3                        FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 680   3                   FaultTime[1] = Curtime[0];
 681   3                   FaultTime[0] = Ic;
 682   3      
 683   3                   wr_s_eeprom(FaultTime,IcStartEeprom,sizeof(FaultTime));
 684   3                   IcStartEeprom += 6;
 685   3               }
 686   2               if(IntervalIcFlag)
 687   2                   Ic_interval_min = Ic_fault.min +(Ic_fault.hour-Ic_start_hour)*60 - Ic_start_min;
 688   2               if(Ic_interval_min >= 10)      //10
 689   2               {
 690   3                   Ic_fault_flag = 1;
 691   3                   IntervalIcFlag = 0;
 692   3                   Ic_enable = 1;
 693   3               }
 694   2               PreIcIn = !Ic_in;
 695   2          }
 696   1          else    //Ic no fault processing
 697   1          {
 698   2               if(PreIcIn) //fault stop processing
 699   2               {
 700   3                   Ic_interval_min = 0;
 701   3                   for(i=2;i<6;i++)
 702   3                       FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 703   3                   FaultTime[1] = Curtime[0];
 704   3                   FaultTime[0] = Ic;
 705   3                   wr_s_eeprom(FaultTime,IcStartEeprom,sizeof(FaultTime));
 706   3                   IcStartEeprom += 6;
 707   3                   if(!Ic_enable) IcStartEeprom -= 12;
 708   3                   else Ic_enable = 0;
 709   3               }
 710   2               Ic_fault_flag = 0;
 711   2               PreIcIn = !Ic_in;
 712   2          }
 713   1      //==================================================
 714   1          Ip_in=1;
 715   1          if(Ip_in)  //Ip fault processing
 716   1          {
 717   2              if(Ua_in&Ub_in&Uc_in)
 718   2              {
 719   3                   Ip_fault.sec=Ip_fault.sec+1;
 720   3                   if(Ip_fault.sec>=60)
 721   3                   {
 722   4                        Ip_fault.sec = 0;
 723   4                        Ip_fault.min++;
 724   4                        if(Ip_fault.min>=60)
 725   4                        {
 726   5                             Ip_fault.min = 0;
 727   5                             Ip_fault.hour++;
 728   5                             if(Ip_fault.hour>=10000)
 729   5                             {
 730   6                                  Ip_fault.hour = 9999;
 731   6                             }
 732   5                        }
 733   4                   }
 734   3                   wr_s_eeprom((uchar idata *)(&Ip_fault), Ip_EEPROM, sizeof(Ip_fault));
 735   3      //----------------------------//
 736   3               if(IpStartEeprom > 794)
 737   3                   IpStartEeprom = 680;
C51 COMPILER V6.00i GY33485                                                                08/16/2007 20:55:35 PAGE 13  

 738   3      //----------------------------//
 739   3                   if(!PreIpIn)
 740   3                   {
 741   4                        IntervalIpFlag = 1;
 742   4                        // start Ip_fault  ,read start time,read Ip_fault.min
 743   4                        Ip_start_min = Ip_fault.min;
 744   4                        Ip_start_hour = Ip_fault.hour;
 745   4                        for(i=2;i<6;i++)
 746   4                            FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 747   4                        FaultTime[1] = Curtime[0];
 748   4                        FaultTime[0] = Ip;
 749   4      
 750   4                        wr_s_eeprom(FaultTime,IpStartEeprom,sizeof(FaultTime));
 751   4                        IpStartEeprom += 6;
 752   4                    }
 753   3                    if(IntervalIpFlag)
 754   3                        Ip_interval_min = Ip_fault.min +(Ip_fault.hour-Ip_start_hour)*60 - Ip_start_min;
 755   3                    if(Ip_interval_min >= 10)      //10
 756   3                    {
 757   4                        Ip_fault_flag = 1;
 758   4                        IntervalIpFlag = 0;
 759   4                        Ip_enable = 1;
 760   4                    }
 761   3                    PreIpIn = Ip_in;
 762   3                }
 763   2            }
 764   1            else    //Ip no fault processing
 765   1            {
 766   2                 if(PreIpIn) //fault stop processing
 767   2                 {
 768   3                     Ip_interval_min = 0;
 769   3                     for(i=2;i<6;i++)
 770   3                         FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 771   3                     FaultTime[1] = Curtime[0];
 772   3                     FaultTime[0] = Ip;
 773   3                     wr_s_eeprom(FaultTime,IpStartEeprom,sizeof(FaultTime));
 774   3                     IpStartEeprom += 6;
 775   3                     if(!Ip_enable) IpStartEeprom -= 12;
 776   3                     else Ip_enable = 0;
 777   3                 }
 778   2          	   Ip_fault_flag = 0;
 779   2          	   PreIpIn = Ip_in;
 780   2            }
 781   1      //=============================================
 782   1      /*      UX_in=1;
 783   1            //if(!UX_in)  //UX fault processing
 784   1            if(UX_in)  //UX fault processing
 785   1            {
 786   1               UX_fault.sec=UX_fault.sec+1;
 787   1               if(UX_fault.sec>=60)
 788   1               {
 789   1                    UX_fault.sec = 0;
 790   1                    UX_fault.min++;
 791   1                    if(UX_fault.min>=60)
 792   1                    {
 793   1                         UX_fault.min = 0;
 794   1                         UX_fault.hour++;
 795   1                         if(UX_fault.hour>=10000)
 796   1                         {
 797   1                              UX_fault.hour = 9999;
 798   1                         }
 799   1                    }
C51 COMPILER V6.00i GY33485                                                                08/16/2007 20:55:35 PAGE 14  

 800   1               }
 801   1               wr_s_eeprom((uchar idata *)(&UX_fault), UX_EEPROM, sizeof(UX_fault));
 802   1      	       if(!PreUXIn)
 803   1      	       {
 804   1      	       	   // start UX_fault  ,read start time,read UX_fault.min
 805   1      	       	   UX_start_min = UX_fault.min;
 806   1      	       	   UXDis5Start = 1;
 807   1                   for(i=0;i<2;i++)
 808   1      	       	       UXFault_start_time[i] = Curtime[i+4];  //fault start time(include month,date,hour,minute)
 809   1      	       }
 810   1      	       if(UX_start_min > UX_fault.min)
 811   1      	           UX_interval_min = UX_fault.min + 60 - UX_start_min;
 812   1      	       else if(UX_start_min < UX_fault.min)
 813   1      	       	   UX_interval_min = UX_fault.min - UX_start_min;
 814   1      	       if(UX_interval_min >= 1)      //10
 815   1      	       	   UX_fault_flag = 1;
 816   1               PreUXIn = UX_in;
 817   1           }
 818   1           else
 819   1          {
 820   1          	   if(PreUXIn)   //fault stop processing
 821   1          	   	{
 822   1          	   		  //UXDis5Stop = 1;
 823   1          	   		  UX_interval_min = 0;
 824   1          	   		  for(i=0;i<2;i++)
 825   1      	       	       UXFault_stop_time[i] = Curtime[i+4];  //fault start time(include month,date,hour,minute)
 826   1          	   	}
 827   1          	   UX_fault_flag = 0;
 828   1          	   PreUXIn = UX_in;
 829   1          }
 830   1      */
 831   1            mail_box_flag = 0;
 832   1      }
 833          
 834          void xx(void)
 835          {
 836   1          Ua_fault_flag = 0;
 837   1          Ub_fault_flag = 0;
 838   1          Uc_fault_flag = 0;
 839   1          Ia_fault_flag = 0;
 840   1          Ib_fault_flag = 0;
 841   1          Ic_fault_flag = 0;

⌨️ 快捷键说明

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