C51 COMPILER V9.01   CHARGERLOAD                                                           02/22/2025 15:36:21 PAGE 1   


C51 COMPILER V9.01, COMPILATION OF MODULE CHARGERLOAD
OBJECT MODULE PLACED IN .\output\ChargerLoad.obj
COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\ChargerLoad.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore
                    -_Load.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;
                    -.\code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\ChargerLoad.lst) OBJECT(.\ou
                    -tput\ChargerLoad.obj)

line level    source

   1          /********************************************************************************
   2          Copyright (C), Sinowealth Electronic. Ltd.
   3          Author:         Sino
   4          Version:        V0.0
   5          Date:           2020/04/26
   6          History:
   7                  V2.0    2020/04/26               Preliminary
   8          ********************************************************************************/
   9          #include "Main.h"
  10          
  11          
  12          //充电器和负载检测
  13          BOOL    bChgerStartCheckFlg;
  14          BOOL    bChgerChkingFlg;
  15          BOOL    bLoadStartCheckFlg;
  16          BOOL    bLoadChkingFlg;
  17          U8      xdata   ucChgerRCnt;
  18          U8      xdata   ucLoadRCnt;
  19          
  20          /*************************************************************************************************
  21          * 函数名: LoadCheck
  22          * 参  数: 无
  23          * 返回值: 无
  24          * 描  述: 负载检测，欠压和过流保护后，需启动负载锁定功能
  25          *************************************************************************************************/
  26          void LoadCheck(void)
  27          {
  28   1          if(bLoadStartCheckFlg)                                          //如果发生欠压保护，且电压已经恢复；如果已经发生过流保护
  29   1          {
  30   2                      bLoadStartCheckFlg = 0;
  31   2                      bLoadChkingFlg = 1;
  32   2                      ucLoadRCnt = 0;
  33   2                      AFELoadCheckEn();                                           //开启AFE负载检测
  34   2          }
  35   1          else if(bLoadChkingFlg)
  36   1          {
  37   2                      AFERdStatus();
  38   2              if(!bAfeLoad)                                               //检测到负载释放
  39   2              {
  40   3                  if(++ucLoadRCnt >= LOAD_DELAY_CNT)
  41   3                  {
  42   4                                      bLoadChkingFlg = 0;
  43   4                                      ucLoadRCnt = 0;
  44   4                                      AFELoadCheckDis();                          //关闭负载检测
  45   4                                      if(bUVLock)
  46   4                                      {
  47   5                                              bUV = 0;                                    //释放欠压、过流
  48   5                                      }
  49   4                                      bOCD1 = 0;
  50   4                                      bOCD2 = 0;
  51   4                                      if(bAFE_SC)
  52   4                                      {
C51 COMPILER V9.01   CHARGERLOAD                                                           02/22/2025 15:36:21 PAGE 2   

  53   5                                              bAFE_SC = 0;
  54   5                                              AFEClrFlg();                        //清除短路保护标志
  55   5                                      }
  56   4                              }
  57   3                      }
  58   2              }
  59   1      }
  60          
  61          
  62          /*************************************************************************************************
  63          * 函数名: ChgerCheck
  64          * 参  数: 无
  65          * 返回值: 无
  66          * 描  述: 检测充电器，当发生欠压后检测充电器是否连接；当发生充电过流后检测充电器是否移除
  67          *************************************************************************************************/
  68          void ChgerCheck(void)
  69          {
  70   1              if(bChgerStartCheckFlg)
  71   1              {
  72   2                      bChgerStartCheckFlg = 0;
  73   2                      bChgerChkingFlg = 1;
  74   2                      ucChgerRCnt = 0;
  75   2                      AFEChgerCheckEn();                                          //开启充电器检测
  76   2              }
  77   1              else if(bChgerChkingFlg)
  78   1              {
  79   2                      AFERdStatus();
  80   2                      if(!bAfeChger)                                              //充电器移除
  81   2                      {
  82   3                              if(++ucChgerRCnt >= CHGER_DELAY_CNT)
  83   3                              {
  84   4                                      bChgerChkingFlg = 0;
  85   4                                      ucChgerRCnt = 0;
  86   4                                      AFEChgerCheckDis();                         //关闭充电器检测
  87   4                                      if(bOVLock)
  88   4                                      {
  89   5                                              bOV = 0;                                    //释放过压
  90   5                          bAFE_OV = 0;
  91   5                          AFEClrFlg();
  92   5                                      }
  93   4                                      bOCC = 0;
  94   4                              }
  95   3                      }
  96   2              }
  97   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    151    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      2    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      4    ----
END OF MODULE INFORMATION.


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