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

📄 alm.lst

📁 STC12C5410AD模拟串口再现多串口通讯
💻 LST
📖 第 1 页 / 共 3 页
字号:
 340   4                                                if(i ==  5)C_06_UV_Alarm = 0;
 341   4                                                if(i ==  6)C_07_UV_Alarm = 0;
 342   4                                                if(i ==  7)C_08_UV_Alarm = 0;
 343   4                                                if(i ==  8)C_09_UV_Alarm = 0;
 344   4                                                if(i ==  9)C_10_UV_Alarm = 0;
 345   4                                                if(i == 10)C_11_UV_Alarm = 0;
 346   4                                                if(i == 11)C_12_UV_Alarm = 0;
 347   4                                                if(i == 12)C_13_UV_Alarm = 0;
 348   4                                                if(i == 13)C_14_UV_Alarm = 0;
 349   4                                                if(i == 14)C_15_UV_Alarm = 0;
 350   4                                       }
 351   3                      }               
 352   2                      TV += buf[i];    //计算总电压
 353   2              }               
 354   1              if(WorkMode == ChargeStep)
 355   1              {
 356   2                      C_TV_UV_Alarm   = 0;                                                     //消除电池组欠压告警
 357   2                      Pack_D_OC_Alarm = 0;                                                     //消除放电过流告警
 358   2                      if(TV > ModeSysConfig[2])C_TV_OV_Alarm = 1;                              //PackOV产生电池组过压告警
 359   2                      if(ChargeCurrent > ModeSysConfig[4])Pack_C_OC_Alarm = 0; //ChargeOC产生充电过流告警     
 360   2              }
 361   1              else if(WorkMode == DisChargeStep)
 362   1                       {       
 363   2                           C_TV_OV_Alarm   = 0;                                                //消除电池组过压告警
 364   2                               Pack_C_OC_Alarm = 0;                        //消除充电过流告警 
 365   2                           if(TV < ModeSysConfig[3])C_TV_UV_Alarm = 1; //PackUV放电欠压告警
C51 COMPILER V7.06   ALM                                                                   10/30/2008 13:20:05 PAGE 7   

 366   2                               if(DisChargeCurrent > ModeSysConfig[5])Pack_D_OC_Alarm = 0; //DisChargeOC产生放电过流告警                       
 367   2                       }
 368   1          if(TV > 50000)              //100%电量指示灯全亮
 369   1              {
 370   2                      SocLed0 = 0; SocLed2 = 0;
 371   2                      SocLed1 = 0; SocLed3 = 0;                               
 372   2              }
 373   1              else if(TV > 48000) //75%
 374   1                       {
 375   2                               SocLed0 = 0; SocLed2 = 0;
 376   2                               SocLed1 = 0; SocLed3 = 1;
 377   2                       }                                                                 
 378   1                       else if(TV > 46000) //50%
 379   1                                {
 380   2                                        SocLed0 = 0; SocLed2 = 1;
 381   2                                        SocLed1 = 0; SocLed3 = 1;                       
 382   2                                }
 383   1                                else if(TV > 45000) //25%
 384   1                                     {
 385   2                                                 SocLed0 = 0; SocLed2 = 1;
 386   2                                                 SocLed1 = 1; SocLed3 = 1;                                       
 387   2                                         }
 388   1              if(TV == NoVoltage)                      //判断电压传感器失效
 389   1              {
 390   2                      VSensorBroken = 1;
 391   2              }
 392   1              else 
 393   1              {
 394   2                      VSensorBroken = 0;
 395   2              }
 396   1      } 
 397                                  
 398          /*********************************************************************************************************
 399          ** 函数名称: void ChargeAndDisChargeEnable(uint8 WorkMode)
 400          ** 功能描述: 
 401          ** 输   入: 无
 402          ** 输   出: 无
 403          ** 全局变量: 
 404          ** 调用模块: 
 405          **
 406          ** 作   者: 李伟
 407          ** 日   期: 2008年12月15日
 408          **-------------------------------------------------------------------------------------------------------
 409          ** 修 改 人:
 410          ** 日   期:
 411          **-------------------------------------------------------------------------------------------------------
 412          ********************************************************************************************************/
 413          void ChargeAndDisChargeEnable(uint8 WorkMode)
 414          {
 415   1              if(WorkMode == ChargeStep)
 416   1              {
 417   2                      if(((AlarmVh0   & 0xFF) != 0x00)  //1~ 8单只充电过压告警存在
 418   2                      || ((AlarmVh1   & 0xFF) != 0x00)  //9~15单只充电过压、16(为组)充电过压告警存在
 419   2                      || ((AlarmScCTh & 0xFF) != 0x00)  //1~15单只充电过温告警存在
 420   2                      || ((AlarmScCTl & 0xFF) != 0x00)  //1~15单只充电欠温告警存在
 421   2                      || ((AlarmET    & 0x1D) != 0x00)) //组充电过流、环境欠温、环境过温、组充电过温          
 422   2                      {
 423   3                      ChargeEn = ChargeDisable;         //禁止充电
 424   3                              ArmLed   = AlarmLedON;            //点亮告警灯
 425   3                      }
 426   2                      else 
 427   2                      {
C51 COMPILER V7.06   ALM                                                                   10/30/2008 13:20:05 PAGE 8   

 428   3                              ChargeEn    = ChargeEnable;       //使能充电
 429   3                              DisChargeEn = DisChargeEnable;//使能放电
 430   3                              ArmLed      = AlarmLedOFF;        //熄灭告警灯
 431   3                      }
 432   2              }
 433   1              else if(WorkMode == DisChargeStep)
 434   1                       {
 435   2                           if(((AlarmVl0   & 0xFF) != 0x00)   //1~ 8单只放电欠压告警存在
 436   2                               || ((AlarmVl1   & 0xFF) != 0x00)   //9~15单只放电欠压、16(为组)放电欠压告警存在
 437   2                               || ((AlarmSDcTh & 0xFF) != 0x00)   //1~15单只放电过温告警存在
 438   2                               || ((AlarmSDcTl & 0xFF) != 0x00)   //1~15单只放电欠温告警存在
 439   2                               || ((AlarmET    & 0x2D) != 0x00))  //组放电过流、环境欠温、环境过温、组放电过温        
 440   2                               {
 441   3                                       DisChargeEn = DisChargeDisable;//禁止放电
 442   3                                       ArmLed   = AlarmLedON;                 //点亮告警灯
 443   3                               }
 444   2                               else
 445   2                               {
 446   3                                       DisChargeEn = DisChargeEnable; //使能放电
 447   3                                       ChargeEn    = ChargeEnable;    //使能充电
 448   3                                       ArmLed      = AlarmLedOFF;             //熄灭告警灯
 449   3                               }
 450   2                       }
 451   1              ComAlarmET    = AlarmET;          //综合告警
 452   1              ComAlarmVh0   = AlarmVh0;         //1~ 8只电池过压告警
 453   1              ComAlarmVh1   = AlarmVh1;         //9~15只电池过压告警
 454   1              ComAlarmVl0   = AlarmVl0;         //1~ 8只电池欠压告警
 455   1              ComAlarmVl1   = AlarmVl1;         //9~15只电池欠压告警
 456   1              ComAlarmScCTh = AlarmScCTh;   //1~15只电池充电过温
 457   1              ComAlarmScCTl = AlarmScCTl;       //1~15只电池充电欠温
 458   1              ComAlarmSDcTh = AlarmSDcTh;   //1~15只电池放电过温
 459   1              ComAlarmSDcTl = AlarmSDcTl;       //1~15只电池放电欠温
 460   1      }
 461          /*********************************************************************************************************
 462          ** 函数名称: uint8 WorkModeJudge(void)
 463          ** 功能描述: 工作模式判断
 464          ** 输   入: 无
 465          ** 输   出: 无
 466          ** 全局变量: 
 467          ** 调用模块: 
 468          **
 469          ** 作   者: 李伟
 470          ** 日   期: 2008年12月09日
 471          **-------------------------------------------------------------------------------------------------------
 472          ** 修 改 人:
 473          ** 日   期:
 474          **-------------------------------------------------------------------------------------------------------
 475          ********************************************************************************************************/
 476          uint8 WorkModeJudge(void)
 477          {
 478   1          uint8 workmode;
 479   1              if(ChargeCurrent > 0 && DisChargeCurrent == 0)
 480   1              {
 481   2                      workmode = ChargeStep;
 482   2              }       
 483   1              if(ChargeCurrent == 0 && DisChargeCurrent > 0)
 484   1              {
 485   2                      workmode = DisChargeStep;
 486   2              }
 487   1              if((ChargeCurrent > 0) && (DisChargeCurrent > 0))//电流传感器失效告警
 488   1              {
 489   2                      CurrentSensorBr = 1;
C51 COMPILER V7.06   ALM                                                                   10/30/2008 13:20:05 PAGE 9   

 490   2              }
 491   1              else CurrentSensorBr= 0;
 492   1              return workmode;
 493   1      }
 494          /********************************************************************************************************
 495                                                         End of file
 496          ********************************************************************************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2040    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11      20
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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