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

📄 gy33485.lst

📁 红外抄表系统的源代码。利用非电信号传送控制信息和数据信息
💻 LST
📖 第 1 页 / 共 5 页
字号:
 276   1          if(Ic_fault_flag && !preIc_fault_flag)
 277   1          {
 278   2               disnum[0]++;
 279   2               wr_s_eeprom(disnum, Num_EEPROM, sizeof(disnum[0]));
 280   2               disnum[6]++;
 281   2               wr_s_eeprom(disnum+6, 70, sizeof(disnum[6]));
 282   2          }
 283   1          if(Ip_fault_flag && !preIp_fault_flag)
 284   1          {
 285   2               disnum[0]++;
 286   2               wr_s_eeprom(disnum, Num_EEPROM, sizeof(disnum[0]));
 287   2               disnum[7]++;
 288   2               wr_s_eeprom(disnum+7, 71, sizeof(disnum[7]));
 289   2          }
 290   1      /*    if(UX_fault_flag && !preUX_fault_flag)
 291   1          {
 292   1               disnum[0]++;
 293   1               wr_s_eeprom(disnum, Num_EEPROM, sizeof(disnum[0]));
 294   1               disnum[8]++;
 295   1          }*/
 296   1          preUa_fault_flag = Ua_fault_flag;
 297   1          preUb_fault_flag = Ub_fault_flag;
 298   1          preUc_fault_flag = Uc_fault_flag;
 299   1          preIa_fault_flag = Ia_fault_flag;
 300   1      //    preIb_fault_flag = Ib_fault_flag;
 301   1          preIc_fault_flag = Ic_fault_flag;
 302   1          preIp_fault_flag = Ip_fault_flag;
 303   1      //    preUX_fault_flag = UX_fault_flag;
C51 COMPILER V6.00i GY33485                                                                08/16/2007 20:55:35 PAGE 6   

 304   1          for(i=0;i<9;i++)
 305   1          {
 306   2              if(*(disnum+i) > 9)*(disnum+i) = 0;
 307   2          }
 308   1      }
 309          
 310          void loop(void)
 311          {
 312   1      	  uint i;
 313   1          Curtime[5]=R1302(0x83);
 314   1          Curtime[4]=R1302(0x85);
 315   1          Curtime[3]=R1302(0x87);
 316   1          Curtime[2]=R1302(0x89);
 317   1          Curtime[1]=R1302(0x8B);
 318   1          Curtime[0]=R1302(0x8D);
 319   1          for(i=0;i<6;i++)
 320   1              Curtime[i] = hex_to_dec(Curtime[i]);
 321   1          if(a_start)
 322   1              DispIC2_time(S12,Curtime);
 323   1          else if(a_stop)
 324   1              DispIC2_time(S14,Curtime);
 325   1          else
 326   1              DispIC2_time(S13,Curtime);
 327   1      }
 328          
 329          void gzsmdy(void)
 330          {
 331   1          uint i;
 332   1          Ua_in=1;
 333   1          if(!Ua_in)  //Ua fault processing
 334   1          {
 335   2               Ua_fault.sec=Ua_fault.sec + 1;
 336   2               if(Ua_fault.sec>=60)
 337   2               {
 338   3                    Ua_fault.sec = 0;
 339   3                    Ua_fault.min++;
 340   3                    if(Ua_fault.min>=60)
 341   3                    {
 342   4                         Ua_fault.min = 0;
 343   4                         Ua_fault.hour++;
 344   4                         if(Ua_fault.hour>=10000)
 345   4                         {
 346   5                              Ua_fault.hour = 9999;
 347   5                         }
 348   4                    }
 349   3               }
 350   2               wr_s_eeprom((uchar idata *)(&Ua_fault), Ua_EEPROM, sizeof(Ua_fault));
 351   2      //----------------------------//
 352   2               if(UaStartEeprom > 194)
 353   2                   UaStartEeprom = 80;
 354   2      //----------------------------//
 355   2               if(!PreUaIn)
 356   2               {
 357   3                   IntervalUaFlag = 1;
 358   3                   // start Ua_fault  ,read start time,read Ua_fault.min
 359   3                   Ua_start_min = Ua_fault.min;
 360   3                   Ua_start_hour = Ua_fault.hour;
 361   3                   for(i=2;i<6;i++)
 362   3                       FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 363   3                   FaultTime[1] = Curtime[0];
 364   3                   FaultTime[0] = Ua;
 365   3      
C51 COMPILER V6.00i GY33485                                                                08/16/2007 20:55:35 PAGE 7   

 366   3                   wr_s_eeprom(FaultTime,UaStartEeprom,sizeof(FaultTime));
 367   3                   UaStartEeprom += 6;
 368   3               }
 369   2               if(IntervalUaFlag)
 370   2                    Ua_interval_min = Ua_fault.min +(Ua_fault.hour-Ua_start_hour)*60 - Ua_start_min;
 371   2               if(Ua_interval_min >= 1)      //10
 372   2               {
 373   3                    Ua_fault_flag = 1;
 374   3                    IntervalUaFlag = 0;
 375   3                    Ua_enable = 1;
 376   3               }
 377   2               PreUaIn = !Ua_in;
 378   2      
 379   2          }
 380   1          else    //Ua no fault processing
 381   1          {
 382   2               if(PreUaIn) //fault stop processing
 383   2               {
 384   3                    Ua_interval_min = 0;
 385   3                    for(i=2;i<6;i++)
 386   3                        FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 387   3                    FaultTime[1] = Curtime[0];
 388   3                    FaultTime[0] = Ua;
 389   3                    wr_s_eeprom(FaultTime,UaStartEeprom,sizeof(FaultTime));
 390   3                    UaStartEeprom += 6;
 391   3                    if(!Ua_enable) UaStartEeprom -= 12;
 392   3                    else Ua_enable = 0;
 393   3               }
 394   2               Ua_fault_flag = 0;
 395   2               PreUaIn = !Ua_in;
 396   2          }
 397   1      ///////////////////////////////////////////////////////////////////
 398   1          Ub_in=1;
 399   1          if(!Ub_in)    //Ub fault processing
 400   1          {
 401   2               Ub_fault.sec=Ub_fault.sec+1;
 402   2               if(Ub_fault.sec>=60)
 403   2               {
 404   3                    Ub_fault.sec = 0;
 405   3                    Ub_fault.min++;
 406   3      
 407   3                    if(Ub_fault.min>=60)
 408   3                    {
 409   4                         Ub_fault.min = 0;
 410   4                         Ub_fault.hour++;
 411   4                         if(Ub_fault.hour>=10000)
 412   4                         {
 413   5                              Ub_fault.hour = 9999;
 414   5                         }
 415   4                    }
 416   3               }
 417   2               wr_s_eeprom((uchar idata *)(&Ub_fault), Ub_EEPROM, sizeof(Ub_fault));
 418   2      //----------------------------//
 419   2               if(UbStartEeprom > 314)
 420   2                   UbStartEeprom = 200;
 421   2      //----------------------------//
 422   2               if(!PreUbIn)
 423   2               {
 424   3                    IntervalUbFlag = 1;
 425   3                    // start Ub_fault  ,read start time,read Ub_fault.min
 426   3                    Ub_start_min = Ub_fault.min;
 427   3                    Ub_start_hour = Ub_fault.hour;
C51 COMPILER V6.00i GY33485                                                                08/16/2007 20:55:35 PAGE 8   

 428   3                    for(i=2;i<6;i++)
 429   3                        FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 430   3                    FaultTime[1] = Curtime[0];
 431   3                    FaultTime[0] = Ub;
 432   3      
 433   3                    wr_s_eeprom(FaultTime,UbStartEeprom,sizeof(FaultTime));
 434   3                    UbStartEeprom += 6;
 435   3                }
 436   2                if(IntervalUbFlag)
 437   2                    Ub_interval_min = Ub_fault.min +(Ub_fault.hour-Ub_start_hour)*60 - Ub_start_min;
 438   2                if(Ub_interval_min >= 1)      //10
 439   2                {
 440   3                    Ub_fault_flag = 1;
 441   3                    IntervalUbFlag = 0;
 442   3                    Ub_enable = 1;
 443   3                }
 444   2                PreUbIn = !Ub_in;
 445   2           }
 446   1           else
 447   1           {
 448   2                if(PreUbIn) //fault stop processing
 449   2                {
 450   3                    Ub_interval_min = 0;
 451   3                    for(i=2;i<6;i++)
 452   3                        FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 453   3                    FaultTime[1] = Curtime[0];
 454   3                    FaultTime[0] = Ub;
 455   3                    wr_s_eeprom(FaultTime,UbStartEeprom,sizeof(FaultTime));
 456   3                    UbStartEeprom += 6;
 457   3                    if(!Ub_enable) UbStartEeprom -= 12;
 458   3                    else Ub_enable = 0;
 459   3                }
 460   2                Ub_fault_flag = 0;
 461   2                PreUbIn = !Ub_in;
 462   2          }
 463   1      ///////////////////////////////////////////////////////////////////
 464   1          Uc_in=1;
 465   1          if(!Uc_in)        //Uc fault processing
 466   1          {
 467   2               Uc_fault.sec=Uc_fault.sec+1;
 468   2               if(Uc_fault.sec>=60)
 469   2               {
 470   3                    Uc_fault.sec = 0;
 471   3                    Uc_fault.min++;
 472   3      
 473   3                    if(Uc_fault.min>=60)
 474   3                    {
 475   4                         Uc_fault.min = 0;
 476   4                         Uc_fault.hour++;
 477   4                         if(Uc_fault.hour>=10000)
 478   4                         {
 479   5                              Uc_fault.hour = 9999;
 480   5                         }
 481   4                    }
 482   3               }
 483   2               wr_s_eeprom((uchar idata *)(&Uc_fault), Uc_EEPROM, sizeof(Uc_fault));
 484   2      //----------------------------//
 485   2      
 486   2               if(UcStartEeprom > 434)
 487   2                   UcStartEeprom = 320;
 488   2      //----------------------------//
 489   2               if(!PreUcIn)
C51 COMPILER V6.00i GY33485                                                                08/16/2007 20:55:35 PAGE 9   

 490   2               {
 491   3                    IntervalUcFlag = 1;
 492   3                    // start Uc_fault  ,read start time,read Uc_fault.min
 493   3                    Uc_start_min = Uc_fault.min;
 494   3                    Uc_start_hour = Uc_fault.hour;
 495   3                    for(i=2;i<6;i++)
 496   3                        FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 497   3                    FaultTime[1] = Curtime[0];
 498   3                    FaultTime[0] = Uc;
 499   3      
 500   3                    wr_s_eeprom(FaultTime,UcStartEeprom,sizeof(FaultTime));
 501   3                    UcStartEeprom += 6;
 502   3                }
 503   2                if(IntervalUcFlag)
 504   2                    Uc_interval_min = Uc_fault.min +(Uc_fault.hour-Uc_start_hour)*60 - Uc_start_min;
 505   2                if(Uc_interval_min >= 1)      //10
 506   2                {
 507   3                    Uc_fault_flag = 1;
 508   3                    IntervalUcFlag = 0;
 509   3                    Uc_enable = 1;
 510   3                }
 511   2                PreUcIn = !Uc_in;
 512   2           }
 513   1           else
 514   1           {
 515   2               if(PreUcIn) //fault stop processing
 516   2               {
 517   3                    Uc_interval_min = 0;
 518   3                    for(i=2;i<6;i++)
 519   3                        FaultTime[i] = Curtime[i];  //fault start time(include month,date,hour,minute)
 520   3                    FaultTime[1] = Curtime[0];
 521   3                    FaultTime[0] = Uc;
 522   3                    wr_s_eeprom(FaultTime,UcStartEeprom,sizeof(FaultTime));
 523   3                    UcStartEeprom += 6;
 524   3                    if(!Uc_enable) UcStartEeprom -= 12;
 525   3                    else Uc_enable = 0;
 526   3                }
 527   2                Uc_fault_flag = 0;
 528   2                PreUcIn = !Uc_in;
 529   2          }
 530   1      ///////////////////////////////////////////////////////////////////
 531   1          Ia_in=1;
 532   1          if(!Ia_in)   //Ia fault processing
 533   1          {
 534   2               Ia_fault.sec=Ia_fault.sec+1;
 535   2               if(Ia_fault.sec>=60)
 536   2               {
 537   3                    Ia_fault.sec = 0;
 538   3                    Ia_fault.min++;
 539   3                    if(Ia_fault.min>=60)
 540   3                    {
 541   4                         Ia_fault.min = 0;
 542   4                         Ia_fault.hour++;
 543   4                         if(Ia_fault.hour>=10000)
 544   4                         {
 545   5                              Ia_fault.hour = 9999;
 546   5                         }
 547   4                    }
 548   3                }
 549   2                wr_s_eeprom((uchar idata *)(&Ia_fault), Ia_EEPROM, sizeof(Ia_fault));
 550   2      //----------------------------//
 551   2               if(IaStartEeprom > 554)
C51 COMPILER V6.00i GY33485                                                                08/16/2007 20:55:35 PAGE 10  

 552   2                   IaStartEeprom = 440;
 553   2      //----------------------------//
 554   2               if(!PreIaIn)
 555   2               {
 556   3                   IntervalIaFlag = 1;
 557   3                   // start Ia_fault  ,read start time,read Ia_fault.min

⌨️ 快捷键说明

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