C51 COMPILER V9.01 PORSELFTEST 02/19/2025 10:42:28 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE PORSELFTEST OBJECT MODULE PLACED IN .\output\PorSelfTest.obj COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\PorSelfTest.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\PorSelfTest.lst) OBJECT(.\ou -tput\PorSelfTest.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 BOOL bPorSelfTestFlg; 12 U8 ucPorSelfTestDelayCnt; 13 14 /************************************************************************************************* 15 * º¯ÊýÃû: PorProtectOV 16 * ²Î Êý: ÎÞ 17 * ·µ»ØÖµ: ÎÞ 18 * Ãè Êö: µ¥½Úµç³Ø¹ýѹ±£»¤¼ì²â£¬¹ýѹºóÖÃλbOVΪ1 19 *************************************************************************************************/ 20 void PorProtectOV(void) 21 { 22 1 if(!bOV) 23 1 { 24 2 if(uiCellVmax > E2uiOVvol) 25 2 { 26 3 if(++uiOVDelayCnt >= TIME_50mS_50mS) 27 3 { 28 4 bOV = 1; 29 4 uiOVDelayCnt = 0; 30 4 } 31 3 } 32 2 else if(uiCellVmax < E2uiOVRvol) 33 2 { 34 3 uiOVDelayCnt = 0; 35 3 } 36 2 } 37 1 } 38 39 40 /************************************************************************************************* 41 * º¯ÊýÃû: PorProtectUV 42 * ²Î Êý: ÎÞ 43 * ·µ»ØÖµ: ÎÞ 44 * Ãè Êö: µ¥½ÚµçоǷѹ±£»¤¼ì²â£¬±£»¤ºóÖÃλbUVΪ1 45 *************************************************************************************************/ 46 void PorProtectUV(void) 47 { 48 1 if(!bUV) 49 1 { 50 2 if(uiCellVmin < E2uiUVvol) 51 2 { 52 3 if(++uiUVDelayCnt >= TIME_50mS_50mS) C51 COMPILER V9.01 PORSELFTEST 02/19/2025 10:42:28 PAGE 2 53 3 { 54 4 bUV = 1; 55 4 uiUVDelayCnt = 0; 56 4 } 57 3 } 58 2 else if(uiCellVmin > E2uiUVRvol) 59 2 { 60 3 uiUVDelayCnt = 0; 61 3 } 62 2 } 63 1 } 64 65 66 /************************************************************************************************* 67 * º¯ÊýÃû: PorProtectOTC 68 * ²Î Êý: ÎÞ 69 * ·µ»ØÖµ: ÎÞ 70 * Ãè Êö: ³äµç¸ßα£»¤¼ì²â£¬±£»¤ºóÖÃλbOTCΪ1 71 *************************************************************************************************/ 72 void PorProtectOTC(void) 73 { 74 1 if(!bOTC) 75 1 { 76 2 if(uiTempeMax > E2uiTempOTC) 77 2 { 78 3 if(++uiOTCDelayCnt >= TIME_50mS_50mS) 79 3 { 80 4 bOTC = 1; 81 4 uiOTCDelayCnt = 0; 82 4 } 83 3 } 84 2 else if(uiTempeMax < E2uiTempOTCR) 85 2 { 86 3 uiOTCDelayCnt = 0; 87 3 } 88 2 } 89 1 } 90 91 92 /************************************************************************************************* 93 * º¯ÊýÃû: PorProtectUTC 94 * ²Î Êý: ÎÞ 95 * ·µ»ØÖµ: ÎÞ 96 * Ãè Êö: ³äµçµÍα£»¤¼ì²â£¬±£»¤ºóÖÃλbUTCΪ1 97 *************************************************************************************************/ 98 void PorProtectUTC(void) 99 { 100 1 if(!bUTC) 101 1 { 102 2 if(uiTempeMin < E2uiTempUTC) 103 2 { 104 3 if(++uiUTCDelayCnt >= TIME_50mS_50mS) 105 3 { 106 4 bUTC = 1; 107 4 uiUTCDelayCnt = 0; 108 4 } 109 3 } 110 2 else if(uiTempeMin > E2uiTempUTCR) 111 2 { 112 3 uiUTCDelayCnt = 0; 113 3 } 114 2 } C51 COMPILER V9.01 PORSELFTEST 02/19/2025 10:42:28 PAGE 3 115 1 } 116 117 118 /************************************************************************************************* 119 * º¯ÊýÃû: PorProtectOTD 120 * ²Î Êý: ÎÞ 121 * ·µ»ØÖµ: ÎÞ 122 * Ãè Êö: ·Åµç¸ßα£»¤¼ì²â£¬±£»¤ºóÖÃλbOTDΪ1 123 *************************************************************************************************/ 124 void PorProtectOTD(void) 125 { 126 1 if(!bOTD) 127 1 { 128 2 if(uiTempeMax > E2uiTempOTD) 129 2 { 130 3 if(++uiOTDDelayCnt >= TIME_50mS_50mS) 131 3 { 132 4 bOTD = 1; 133 4 uiOTDDelayCnt = 0; 134 4 } 135 3 } 136 2 else if(uiTempeMax < E2uiTempOTDR) 137 2 { 138 3 uiOTDDelayCnt = 0; 139 3 } 140 2 } 141 1 } 142 143 144 /************************************************************************************************* 145 * º¯ÊýÃû: PorProtectUTD 146 * ²Î Êý: ÎÞ 147 * ·µ»ØÖµ: ÎÞ 148 * Ãè Êö: ·ÅµçµÍα£»¤¼ì²â£¬±£»¤ºóÖÃλbUTDΪ1 149 *************************************************************************************************/ 150 void PorProtectUTD(void) 151 { 152 1 if(!bUTD) 153 1 { 154 2 if(uiTempeMin < E2uiTempUTD) 155 2 { 156 3 if(++uiUTDDelayCnt >= TIME_50mS_50mS) 157 3 { 158 4 bUTD = 1; 159 4 uiUTDDelayCnt = 0; 160 4 } 161 3 } 162 2 else if(uiTempeMin > E2uiTempUTDR) 163 2 { 164 3 uiUTDDelayCnt = 0; 165 3 } 166 2 } 167 1 } 168 169 170 /************************************************************************************************* 171 * º¯ÊýÃû: ProtectProcess 172 * ²Î Êý: ÎÞ 173 * ·µ»ØÖµ: ÎÞ 174 * Ãè Êö: µÚÒ»´ÎÉϵçʱµÄ×Լ죬³ÖÐø100mS£¬Éϵç×Ô¼ì×î¿ìÍê³Éʱ¼äΪ50mS 175 *************************************************************************************************/ 176 void PorSelfTest(void) C51 COMPILER V9.01 PORSELFTEST 02/19/2025 10:42:28 PAGE 4 177 { 178 1 if(bPorSelfTestFlg) 179 1 { 180 2 AfeCalcuVol(); //µÚÒ»´ÎÉϵç50mSºó×Ô¶¯¶ÁÈ¡µçѹÊý¾ÝºÍζÈÊý¾Ý 181 2 AfeCalcuTempe(); 182 2 PorProtectOV(); //¼ì²â¹ýѹ±£»¤¼°ÆäÊÍ·Å 183 2 PorProtectUV(); //¼ì²âǷѹ±£»¤¼°ÆäÊÍ·Å 184 2 185 2 PorProtectOTC(); //¼ì²â³äµç¸ßα£»¤¼°ÆäÊÍ·Å 186 2 PorProtectUTC(); //¼ì²â³äµçµÍα£»¤¼°ÆäÊÍ·Å 187 2 PorProtectOTD(); //¼ì²â·Åµç¸ßα£»¤¼°ÆäÊÍ·Å 188 2 PorProtectUTD(); //¼ì²â·ÅµçµÍα£»¤¼°ÆäÊÍ·Å 189 2 190 2 if(++ucPorSelfTestDelayCnt >= TIME_50mS_100mS) //Èç¹ûÐèÒª×î¿ì×Ô¼ìÍê³É£¬Ôò½«TIME_50mS_100mSÐÞ¸ÄÎ -ªTIME_50mS_50mS 191 2 { 192 3 bPorSelfTestFlg = 0; //1S×Ô¼ì½áÊøºó¸ù¾Ýµ±Ç°×´Ì¬È·¶¨ÊÇ·ñ½øÈëPD»òÕßÊÇ·ñ¿ª¹ -ØMOS 193 3 if(bAfeErr || bE2PRErr || bRTCErr || bMcuFlashErr) 194 3 { 195 4 bPDFlg = 1; 196 4 } 197 3 else 198 3 { 199 4 GasGaugeInit(); //¼ÆËãµçÁ¿Öµ 200 4 } 201 3 } 202 2 } 203 1 } 204 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 519 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = 1 ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = 1 ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)