Íâ¹ÒEEPROM±¸·Ý #define _EPCM_EEPROM_EN 0 //BIT7; 0£º²»Ê¹ÄÜÍâ¹ÒEE±¸·Ý¹¦ÄÜ; 1£ºÊ¹ÄÜÍâ¹ÒEE±¸·Ý¹¦ÄÜ //·Åµç¹ýÁ÷MOS¿ØÖÆ @@ -109,7 +109,7 @@ V0.0 2014/09/10 Preliminary //ÐòÁкÅ<0x0000-0xffff> #define _E2_SerialNum 0x0000 // U16 xdata SerialNum // É豸Ãû³Æ -#define _E2_DeviceName "SH39F004" // U8 xdata DeviceName[12] +#define _E2_DeviceName "SH39F003" // U8 xdata DeviceName[12] // µçо²ÄÁÏ #define _E2_DeviceChem "LION" // U8 xdata DeviceChem[12] // µçо»¯Ñ§ID<0x0000-0xffff> diff --git a/code_drv/Calculate.c b/code_drv/Calculate.c index 9b1f8b0..a0da75e 100644 --- a/code_drv/Calculate.c +++ b/code_drv/Calculate.c @@ -68,8 +68,11 @@ U16 CalcuTemp(U16 getdata) i--; } ucTempeMiddle = i; - - Temperature = (U16)(ucTempeMiddle-50)*10+(NTC103AT[i]-Tempcalcu)*10/(NTC103AT[i]-NTC103AT[i+1])+2731; +#if NTC_SL //SLÈÈÃôµç×è + Temperature = (U16)(ucTempeMiddle-20)*10+(NTC103AT[i]-Tempcalcu)*10/(NTC103AT[i]-NTC103AT[i+1])+2731; +#else + Temperature = (U16)(ucTempeMiddle-50)*10+(NTC103AT[i]-Tempcalcu)*10/(NTC103AT[i]-NTC103AT[i+1])+2731; +#endif } return Temperature; } diff --git a/code_drv/Thermistor.c b/code_drv/Thermistor.c index 7809dbb..be55b5b 100644 --- a/code_drv/Thermistor.c +++ b/code_drv/Thermistor.c @@ -351,6 +351,29 @@ U16 code NTC103AT[NTC103AT_ARRAY_LEN]= //103AT 52, //109 50 //110 }; +/************************************************************************************************* +* º¯ÊýÃû: NTC103AT +* ²Î Êý: ÎÞ +* ·µ»ØÖµ: ÎÞ +* Ãè Êö: SLµÄNTC×èÖµ±í£¬µ¥Î»Îª10 ohms +*************************************************************************************************/ +#elif RT_TABLE == NTC_SL +U16 code NTC103AT[NTC103AT_ARRAY_LEN]= +{ //ζÈΪË÷Òý-20 + // -20¡æ~100¡æ¹²121¸öζȵ㣬Ë÷Òý0~120 + 9534, 9006, 8510, 8044, 7607, 7196, 6809, 6445, 6103, 5780, //-20~-11 + 5477, 5191, 4922, 4668, 4429, 4203, 3990, 3789, 3599, 3420, //-10~-1 + 3250, 3090, 2939, 2796, 2661, 2533, 2411, 2297, 2188, 2085, //0~9 + 1987, 1895, 1807, 1724, 1645, 1570, 1499, 1432, 1368, 1307, //10~19 + 1249, 1194, 1142, 1092, 1045, 1000, 957 , 916 , 878 , 841 , //20~29 + 805 , 772 , 740 , 709 , 680 , 653 , 626 , 601 , 577 , 554 , //30~39 + 532 , 511 , 491 , 471 , 453 , 436 , 419 , 403 , 387 , 373 , //40~49 + 359 , 345 , 332 , 320 , 308 , 297 , 286 , 276 , 266 , 256 , //50~59 + 247 , 238 , 230 , 222 , 214 , 206 , 199 , 192 , 186 , 179 , //60~69 + 173 , 167 , 162 , 156 , 151 , 146 , 141 , 137 , 132 , 128 , //70~79 + 124 , 120 , 116 , 112 , 109 , 105 , 102 , 99 , 96 , 93 , //80~89 + 90 , 87 , 85 , 82 , 79 , 77 , 75 , 73 , 70 , 68 , 66 //90~100 +}; #else #error "underfined RT_TABLE!" #endif diff --git a/code_drv/Uart.c b/code_drv/Uart.c index 9265979..03cc110 100644 --- a/code_drv/Uart.c +++ b/code_drv/Uart.c @@ -118,7 +118,7 @@ void InterruptUART0(void) interrupt 4 { RI = 0; RxData = SBUF; - InterruptUart0AppRx(RxData); //ÖÐÓ±ÐÒé + InterruptUart0AppRx(RxData); //ÖÐÓ±ÐÒé } if(TI) diff --git a/header_drv/Calculate.h b/header_drv/Calculate.h index d3a5814..506080b 100644 --- a/header_drv/Calculate.h +++ b/header_drv/Calculate.h @@ -8,19 +8,27 @@ #define REF_RES_VAL 1000 //оƬÄÚ²¿µÄ²Î¿¼µç×èĬÈÏΪ10K=1000*10, µ¥Î»ÊÇ10 ohms #endif -#define NTC_103AT_3435 1 +#define NTC_103AT_3435 0 #define NTC_103AT_3950 0 +#define NTC_SL 1 -#define RT_TABLE NTC_103AT_3435 +#define RT_TABLE NTC_SL #if RT_TABLE == NTC_103AT_3435 #define NTC103AT_ARRAY_LEN 161 #define TEMP_UPPER_LIMIT 110 // 110¡æ #define TEMP_LOWER_LIMIT -50 // -50¡æ + #elif RT_TABLE == NTC_103AT_3950 #define NTC103AT_ARRAY_LEN 161 #define TEMP_UPPER_LIMIT 110 // 110¡æ #define TEMP_LOWER_LIMIT -50 // -50¡æ + +#elif RT_TABLE == NTC_SL +#define NTC103AT_ARRAY_LEN 121 +#define TEMP_UPPER_LIMIT 100 // 100¡æ +#define TEMP_LOWER_LIMIT -20 // -20¡æ + #else #error "underfined RT_TABLE!" #endif diff --git a/output/AFE.lst b/output/AFE.lst index 2b4cbad..a28a65c 100644 --- a/output/AFE.lst +++ b/output/AFE.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 AFE 02/07/2025 10:36:15 PAGE 1 +C51 COMPILER V9.01 AFE 02/08/2025 15:18:20 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE AFE @@ -62,7 +62,7 @@ line level source 50 3 ucAfeI2CErrDelayCnt = TIME_1S_5S; 51 3 } 52 2 } -C51 COMPILER V9.01 AFE 02/07/2025 10:36:15 PAGE 2 +C51 COMPILER V9.01 AFE 02/08/2025 15:18:20 PAGE 2 53 1 else 54 1 { @@ -126,7 +126,7 @@ line level source 112 2 } 113 1 bAfeI2CRWErrFlg = !Result; //±ê¼ÇͨѶÊÇ·ñÕý³£ 114 1 -C51 COMPILER V9.01 AFE 02/07/2025 10:36:15 PAGE 3 +C51 COMPILER V9.01 AFE 02/08/2025 15:18:20 PAGE 3 115 1 return Result; 116 1 } @@ -190,7 +190,7 @@ line level source 174 3 AFEWriteReg(AFE_SCONF1, 1, ®.AFESCONF1); 175 3 } 176 2 } -C51 COMPILER V9.01 AFE 02/07/2025 10:36:15 PAGE 4 +C51 COMPILER V9.01 AFE 02/08/2025 15:18:20 PAGE 4 177 1 } 178 @@ -254,7 +254,7 @@ line level source 233 1 { 234 2 if( AFEWriteReg(AFE_INT_EN, 11, ®.AFEINTEN)) 235 2 { -C51 COMPILER V9.01 AFE 02/07/2025 10:36:15 PAGE 5 +C51 COMPILER V9.01 AFE 02/08/2025 15:18:20 PAGE 5 236 3 for(i=3; i<=11; i=i+2) 237 3 { @@ -318,7 +318,7 @@ line level source 295 2 296 2 if((REG.AFEFLAG2&0x04) != 0) //ÅжÏFLAG2µÄbit2ÊÇ·ñΪ1£¬ÈçΪ1Ôò±íʾAFE·¢Éú¹ýLVR£¬ÐèÒ -ªÖØгõʼ»¯AFE¼Ä´æÆ÷ -C51 COMPILER V9.01 AFE 02/07/2025 10:36:15 PAGE 6 +C51 COMPILER V9.01 AFE 02/08/2025 15:18:20 PAGE 6 297 2 { 298 3 AFEInit(); @@ -382,7 +382,7 @@ line level source 356 void AFEEnterPD(void) 357 { 358 1 REG.AFESCONF10 = 0x33; -C51 COMPILER V9.01 AFE 02/07/2025 10:36:15 PAGE 7 +C51 COMPILER V9.01 AFE 02/08/2025 15:18:20 PAGE 7 359 1 if(AFEWriteReg(AFE_SCONF10, 1, ®.AFESCONF10)) 360 1 { @@ -446,7 +446,7 @@ line level source 418 * ²Î Êý: BalChTemp£ºÆ½ºâ¶ÔÓ¦µÄCELL£¬Èç¹ûÈ«²¿Îª0£¬Ôò¹Ø±Õƽºâ 419 * ·µ»ØÖµ: ÎÞ 420 * Ãè Êö: ¿ªÆôºÍ¹Ø±Õƽºâ -C51 COMPILER V9.01 AFE 02/07/2025 10:36:15 PAGE 8 +C51 COMPILER V9.01 AFE 02/08/2025 15:18:20 PAGE 8 421 *************************************************************************************************/ 422 void AfeBalCtl(U16 BalChTemp) @@ -510,7 +510,7 @@ line level source 480 { 481 1 REG.AFESCONF3 &= ~0xe0; 482 1 AFEWriteReg(AFE_SCONF3, 1, ®.AFESCONF3); -C51 COMPILER V9.01 AFE 02/07/2025 10:36:15 PAGE 9 +C51 COMPILER V9.01 AFE 02/08/2025 15:18:20 PAGE 9 483 1 } 484 diff --git a/output/AFE.obj b/output/AFE.obj index 98d465dc9f80e67c22e43eecb44d63abd4e73395..a7b3ea4926e074365f0826420ee81b38a1295357 100644 GIT binary patch delta 577 zcmaDmmG#Or)(uXK%r>mcH@h-gFtK#8EKi@@$ZW*&hY84dV }e3s#0FBz!~j$*%(!#%AtM!Lpq9xmjbs?BH?tYfWad?6fPnu%5WIPf znTsH=9FkDv=D+TFyn-r7LW~T84BDG(LU%JUZrN-Ru~gXIm4O8)&jb|bM^h(=#ur25 zOC#}5ZWhV8&dDo_BowvzM=3K8uNsn2&}NRN{VcLFNJ1b7Av;iF^OH7fKE}?;3R5pL zUf%p=YGwd0vc+bbv!3+|@oFO(;WNEXj8S~E^v}iYg2*8PGFolwc}8!>Mcbtr88>nB zB3l%){T2_SlLF&}>9V?v@{Cia+k&a>vAT@TjEv{EFVthaE5gUazzDR7%`e0`KGp+{fCj z#W;1clz|>&@McegcqTTGQYHqVVqwPo$%l+on1Na*zci9zytA3jcqTKiECU4m2ZHF$ zYs_2(8HFc5yf3nu)gz5pPzFhskwK6_d2>zZZYIVfn=K-i3QvBU$e}ODz=x(r0F5t# z#An~El5?GtR|rWcbu&j9GY_vEl2FuUiKhK5vVurLAj^>*qrLe{n>8O}$7F-4ml>~Y zW|@{5z>92=#pbGKy+XXoNJfNA?-OGb->m&}F}onLuR%u3O})?P&A4g1HY4LEZeC=I zVz$5HVRTYp?4Pcy%P7w{dAcu{+McV+=*-A?Y5PV!#=9chzdAEku|UIv8_7 E2uiBalanceVol) && (uiCellVmax-uiCellVmin)>=E2uiBalanceVolDiff) && (Info.slCurr>=E2 -siBalCurrent)) @@ -126,7 +126,7 @@ line level source 107 5 bCTOValidFlg = 0; 108 5 ucCtoCnt = 0; 109 5 } -C51 COMPILER V9.01 BALANCE 02/07/2025 10:36:15 PAGE 3 +C51 COMPILER V9.01 BALANCE 02/08/2025 15:18:20 PAGE 3 110 4 } 111 3 } @@ -190,7 +190,7 @@ line level source 168 3 AfeBalCtl(BalChTemp); //¿ªÆôƽºâ 169 3 ucBalanceStep = BALANCE_START; 170 3 bBalancingFlg = 1; -C51 COMPILER V9.01 BALANCE 02/07/2025 10:36:15 PAGE 4 +C51 COMPILER V9.01 BALANCE 02/08/2025 15:18:20 PAGE 4 171 3 } 172 2 break; @@ -254,7 +254,7 @@ line level source 230 4 uiBalanceChannel = 0x03ff; 231 4 } 232 3 } -C51 COMPILER V9.01 BALANCE 02/07/2025 10:36:15 PAGE 5 +C51 COMPILER V9.01 BALANCE 02/08/2025 15:18:20 PAGE 5 233 2 } 234 1 } diff --git a/output/Balance.obj b/output/Balance.obj index 4b3029fc434fd806c13365ab0f75fdfc1874d787..fab26ca83f8b2c635fd66e60c2092af16e1b502c 100644 GIT binary patch delta 543 zcmeyrp5@sFmJNQ4%r>mcHwQ90FtK#8EKi?2mDz~-57Y9^r
y%^=3=pACMl3ACI%tB7!OxR7uTS8m!Pm1M>khJkDZf0NT{#@^#Y|QpJtY1tln%Q zsmRQ$$^ZfXfgpHulFS2cUO6P8$j$y5hj|25kc1c+1R1n9E1T|SV%)O%zWHNecUJ}$ zpga>$oF7e{AR1o`jW3PFKe_p*_jgWSStOyT&3{8BxOml&gn~9JB|Ko3l|d2$ISAQ- z5}V~yl%g2LCg1Ur*c`RbQ-D_+Nwv@B4d-^T3nKd)WPsY_>TBMNi#8v>wuy@u*|d<& zZ4do;7%L`UeJc+nzrHnQoVi)^9k((c4+A66TsFTD=lEcs6_X!Km$VmT;6<_uWG*Qo haC*D3AfqzN |J8t78BF delta 459 zcmaF1f#v^tmJNQ4%<~JEZVqI0U}9nY(ULlODzg!@ed3bMr y&P=3=pACMl3ACI%tB7!OxR7uTS8m!Pm1M>khJkNn9WBvjaddefO0CZA@OWW2N4 zL{gENSC#<+{sTeu<|LU1+`Pg_LMfa5H4gI#${-0bG6*s#Z&o(l&BS {pOMa+ABSc{6U>eEr%cE?#6)V>VBF=*PoY uKKbcec_7L9&X{rbX3KZn%G*~9GAglvJUsoXD5H=pK0k78|02p*!~_6&ZkM9~ diff --git a/output/BootApp.lst b/output/BootApp.lst index 8d3b729..466b55e 100644 --- a/output/BootApp.lst +++ b/output/BootApp.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 BOOTAPP 02/07/2025 10:36:16 PAGE 1 +C51 COMPILER V9.01 BOOTAPP 02/08/2025 15:18:21 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE BOOTAPP diff --git a/output/BootApp.obj b/output/BootApp.obj index bb42ba4f55e3ce29f6a7796c558472ff6c60cd45..1e85683434d447ef65c65ed0a59fc4e390bfda28 100644 GIT binary patch delta 548 zcmdn{pLt0G%LYG2W?Ry$^ZfXfgpG@KOYwluN;z4 GyV$jB5SqTeDv=RMgVKuq^SS^ delta 455 zcmZ3|z_Ry0^9Dag<^_dIHwQ90FtM=yXi1$smDz~dK5@zBQ_R;H8LKugV)bKUES~(4 zU5~MJvjRsllN3l56N8XmjEAeEi)&E4OHf#hqnoRqNB-owTq eT zaOev%@S&*@K;w%b@!2;Q*=* P!Dn=nF!K~&x2f>b^iTe1OTzJlXU<9 diff --git a/output/BootIAP.lst b/output/BootIAP.lst index dd31faf..7682432 100644 --- a/output/BootIAP.lst +++ b/output/BootIAP.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 BOOTIAP 02/07/2025 10:36:16 PAGE 1 +C51 COMPILER V9.01 BOOTIAP 02/08/2025 15:18:21 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE BOOTIAP @@ -62,7 +62,7 @@ line level source 50 0x25,0xF5,0x24,0xF5,0x23,0xE4,0xF5,0x0F,0x30,0x01,0x5E,0x25,0x26,0xF5,0x0E,0xE5, //02D0 51 0x25,0x34,0x10,0xF5,0x0D,0xE4,0x35,0x24,0xF5,0x0C,0xE4,0x35,0x23,0xF5,0x0B,0xE4, //02E0 52 0x25,0x2A,0xFF,0xE5,0x29,0x34,0x0C,0xFE,0xE4,0x35,0x28,0xFD,0xE4,0x35,0x27,0xFC, //02F0 -C51 COMPILER V9.01 BOOTIAP 02/07/2025 10:36:16 PAGE 2 +C51 COMPILER V9.01 BOOTIAP 02/08/2025 15:18:21 PAGE 2 53 0xAB,0x0E,0xAA,0x0D,0xA9,0x0C,0xA8,0x0B,0xC3,0x12,0x07,0x18,0x40,0x40,0xE4,0x25, //0300 54 0x2A,0xFB,0xE5,0x29,0x34,0x0C,0xFA,0xE4,0x35,0x28,0xF9,0xE4,0x35,0x27,0xF8,0xC3, //0310 @@ -126,7 +126,7 @@ line level source 112 0x40,0x04,0xEB,0x99,0xFB,0x0F,0xD8,0xE5,0xE4,0xF9,0xFA,0x22,0x78,0x18,0xEF,0x2F, //06B0 113 0xFF,0xEE,0x33,0xFE,0xED,0x33,0xFD,0xEC,0x33,0xFC,0xC9,0x33,0xC9,0x10,0xD7,0x05, //06C0 114 0x9B,0xE9,0x9A,0x40,0x07,0xEC,0x9B,0xFC,0xE9,0x9A,0xF9,0x0F,0xD8,0xE0,0xE4,0xC9, //06D0 -C51 COMPILER V9.01 BOOTIAP 02/07/2025 10:36:16 PAGE 3 +C51 COMPILER V9.01 BOOTIAP 02/08/2025 15:18:21 PAGE 3 115 0xFA,0xE4,0xCC,0xFB,0x22,0x75,0xF0,0x10,0xEF,0x2F,0xFF,0xEE,0x33,0xFE,0xED,0x33, //06E0 116 0xFD,0xCC,0x33,0xCC,0xC8,0x33,0xC8,0x10,0xD7,0x07,0x9B,0xEC,0x9A,0xE8,0x99,0x40, //06F0 @@ -190,7 +190,7 @@ line level source 174 0x25,0x2B,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0xF5,0x99,0x22,0xE4,0xF5,0x2B, //0A90 175 0x90,0x02,0x02,0xE0,0xFD,0x24,0x08,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0xFE, //0AA0 176 0x74,0x07,0x2D,0xF5,0x82,0xE4,0x34,0x02,0xF5,0x83,0xE0,0x7C,0x00,0x24,0x00,0xFF, //0AB0 -C51 COMPILER V9.01 BOOTIAP 02/07/2025 10:36:16 PAGE 4 +C51 COMPILER V9.01 BOOTIAP 02/08/2025 15:18:21 PAGE 4 177 0xEC,0x3E,0xFE,0xEF,0x65,0x32,0x70,0x03,0xEE,0x65,0x31,0x60,0x03,0x43,0x22,0x80, //0AC0 178 0xE5,0x22,0x60,0x06,0x90,0x02,0x06,0xF0,0x80,0x38,0x90,0x02,0x05,0xE0,0xFE,0xB4, //0AD0 @@ -254,7 +254,7 @@ line level source 236 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E70 237 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E80 238 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0E90 -C51 COMPILER V9.01 BOOTIAP 02/07/2025 10:36:16 PAGE 5 +C51 COMPILER V9.01 BOOTIAP 02/08/2025 15:18:21 PAGE 5 239 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EA0 240 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //0EB0 diff --git a/output/BootIAP.obj b/output/BootIAP.obj index dd651b3a1a5e964cc3f7d75538d37a6c93643ee1..df0685c287e203638efb8f10e8f517fe206429d0 100644 GIT binary patch delta 541 zcmeC0#qx0$%LYG2W?R >D zu|5-EESlUYrpH*ed52gsRJpvQDC5q_rjjbmKn;^)BxM+@H&;q3GV`i3K)`<>2;RJ0 zW&<~`9FkDv<`j*?Jc24nLW~T84BDG5Om{OeZrS|B+*Qckm4O8)&jb|bM^h(=#ur25 zOC#}5ZZ7cJ&dDo_BowvTB!q*DR}D!hXtQVB0cKelBq5N4kR2$oSuN>P2rsf-W}8*F ziwf{+BkA&)Tz^7*bKLR8?1IQ)05VK%ve0>N#zmXs&I@tzBAXntx%Q@yZW<2*BhVl= zzYyp6V4oGqykIWKXpnGU3L-doL4rU43S5xEqy)$5?I+k6g;^&5Pvn~Zl#5Y-7g@8- Kb|G%YAB+ItHldvW delta 447 zcmex3i=}H8%LYG2<^_dIHwQ90FtM=yXi1%{C@DO71+zShed3bz$?=kso1ZZ6Wn>iI zyomLg0Au0gPBA^k^36NMlA+4wB}EzYC!0#DFatGAj**mMytBDdQjwWgmH`6(13~oW z UmN+eHO< zm63FXOzuA+zB%vsVs=4f|AGvYo2+!+n{m_Tyz@d_yvQcUZ0^13qr2UKol%Gd>O*cM RBSCuc`H*XSB{$;_MgaOTkb3|C diff --git a/output/Calculate.lst b/output/Calculate.lst index 400eeb5..5e597c7 100644 --- a/output/Calculate.lst +++ b/output/Calculate.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 CALCULATE 02/07/2025 10:36:15 PAGE 1 +C51 COMPILER V9.01 CALCULATE 02/08/2025 15:18:20 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE CALCULATE @@ -62,7 +62,7 @@ line level source 49 2 if(Tempcalcu > NTC103AT[i]) 50 2 { 51 3 for(i=ucTempeMiddle-1; i>=0; i--) -C51 COMPILER V9.01 CALCULATE 02/07/2025 10:36:15 PAGE 2 +C51 COMPILER V9.01 CALCULATE 02/08/2025 15:18:20 PAGE 2 52 3 { 53 4 if(Tempcalcu <= NTC103AT[i]) //NTC103AT[i+1] 5) //6~10´®Ó¦ÓÃʱ - 119 1 { - 120 2 if(!AFEReadReg(AFE_TEMP2H, 2, (U8 xdata *)&AFE.uiICTempe[1])) - 121 2 { - 122 3 Result = 0; - 123 3 } - 124 2 } - 125 1 - 126 1 return Result; - 127 1 } - 128 - 129 - 130 /************************************************************************************************* - 131 * º¯ÊýÃû: AfeCalcuTempe - 132 * ²Î Êý: ÎÞ - 133 * ·µ»ØÖµ: ÎÞ - 134 * Ãè Êö: ¼ÆËãζȣ¬¸üÐÂuiTempeMax¡¢uiTempeMin - 135 *************************************************************************************************/ - 136 void AfeCalcuTempe(void) - 137 { - 138 1 U16 TempeData; - 139 1 - 140 1 if(AfeGetTempe()) - 141 1 { - 142 2 TempeData = CalcuTemp(AFE.uiTS[0]) + E2siTS0Offset; //¼ÆËãÍⲿζÈ1 - 143 2 #if (UART0_DEFINE != 0) - 144 2 IrqUart0Dis(); - 145 2 #endif - 146 2 #if (UART1_DEFINE != 0) + 114 2 Result = 0; + 115 2 } + 116 1 + 117 1 if(!AFEReadReg(AFE_TEMP1H, 2, (U8 xdata *)&AFE.uiICTempe[0])) + 118 1 { + 119 2 Result = 0; + 120 2 } + 121 1 if(ucCellNum > 5) //6~10´®Ó¦ÓÃʱ + 122 1 { + 123 2 if(!AFEReadReg(AFE_TEMP2H, 2, (U8 xdata *)&AFE.uiICTempe[1])) + 124 2 { + 125 3 Result = 0; + 126 3 } + 127 2 } + 128 1 + 129 1 return Result; + 130 1 } + 131 + 132 + 133 /************************************************************************************************* + 134 * º¯ÊýÃû: AfeCalcuTempe + 135 * ²Î Êý: ÎÞ + 136 * ·µ»ØÖµ: ÎÞ + 137 * Ãè Êö: ¼ÆËãζȣ¬¸üÐÂuiTempeMax¡¢uiTempeMin + 138 *************************************************************************************************/ + 139 void AfeCalcuTempe(void) + 140 { + 141 1 U16 TempeData; + 142 1 + 143 1 if(AfeGetTempe()) + 144 1 { + 145 2 TempeData = CalcuTemp(AFE.uiTS[0]) + E2siTS0Offset; //¼ÆËãÍⲿζÈ1 + 146 2 #if (UART0_DEFINE != 0) + 147 2 IrqUart0Dis(); + 148 2 #endif + 149 2 #if (UART1_DEFINE != 0) IrqUart1Dis(); #endif - 149 2 #if (UART2_DEFINE != 0) + 152 2 #if (UART2_DEFINE != 0) IrqUart2Dis(); #endif - 152 2 Info.uiTS[0] = TempeData; - 153 2 #if (UART0_DEFINE != 0) - 154 2 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï - 155 2 #endif - 156 2 #if (UART1_DEFINE != 0) + 155 2 Info.uiTS[0] = TempeData; + 156 2 #if (UART0_DEFINE != 0) + 157 2 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï + 158 2 #endif + 159 2 #if (UART1_DEFINE != 0) IrqUart1En(); //¿ªÆôuart1ÖÐ¶Ï #endif - 159 2 #if (UART2_DEFINE != 0) + 162 2 #if (UART2_DEFINE != 0) IrqUart2En(); //³õʼ»¯UART2ÖжÏʹÄÜ£¬¸ù¾Ý¾ßÌåʹÓÃUARTÄ£¿éÀ´½øÐÐÑ¡Ôñ #endif - 162 2 TempeData = (U32)AFE.uiICTempe[0]*17/10+31; //¼ÆËãÄÚ²¿Î¶È1 - 163 2 #if (UART0_DEFINE != 0) - 164 2 IrqUart0Dis(); - 165 2 #endif - 166 2 #if (UART1_DEFINE != 0) + 165 2 TempeData = (U32)AFE.uiICTempe[0]*17/10+31; //¼ÆËãÄÚ²¿Î¶È1 + 166 2 #if (UART0_DEFINE != 0) + 167 2 IrqUart0Dis(); + 168 2 #endif + 169 2 #if (UART1_DEFINE != 0) IrqUart1Dis(); #endif - 169 2 #if (UART2_DEFINE != 0) + 172 2 #if (UART2_DEFINE != 0) IrqUart2Dis(); #endif - 172 2 Info.uiICTempe[0] = TempeData; - 173 2 - 174 2 #if (UART0_DEFINE != 0) - 175 2 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï -C51 COMPILER V9.01 CALCULATE 02/07/2025 10:36:15 PAGE 4 + 175 2 Info.uiICTempe[0] = TempeData; +C51 COMPILER V9.01 CALCULATE 02/08/2025 15:18:20 PAGE 4 - 176 2 #endif - 177 2 #if (UART1_DEFINE != 0) + 176 2 + 177 2 #if (UART0_DEFINE != 0) + 178 2 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï + 179 2 #endif + 180 2 #if (UART1_DEFINE != 0) IrqUart1En(); //¿ªÆôuart1ÖÐ¶Ï #endif - 180 2 #if (UART2_DEFINE != 0) + 183 2 #if (UART2_DEFINE != 0) IrqUart2En(); //³õʼ»¯UART2ÖжÏʹÄÜ£¬¸ù¾Ý¾ßÌåʹÓÃUARTÄ£¿éÀ´½øÐÐÑ¡Ôñ #endif - 183 2 - 184 2 if(ucCellNum > 5) //6~10´®Ó¦ÓÃʱ - 185 2 { - 186 3 TempeData = (U32)AFE.uiICTempe[1]*17/10+31; //¼ÆËãÄÚ²¿Î¶È2 - 187 3 #if (UART0_DEFINE != 0) - 188 3 IrqUart0Dis(); - 189 3 #endif - 190 3 #if (UART1_DEFINE != 0) + 186 2 + 187 2 if(ucCellNum > 5) //6~10´®Ó¦ÓÃʱ + 188 2 { + 189 3 TempeData = (U32)AFE.uiICTempe[1]*17/10+31; //¼ÆËãÄÚ²¿Î¶È2 + 190 3 #if (UART0_DEFINE != 0) + 191 3 IrqUart0Dis(); + 192 3 #endif + 193 3 #if (UART1_DEFINE != 0) IrqUart1Dis(); #endif - 193 3 #if (UART2_DEFINE != 0) + 196 3 #if (UART2_DEFINE != 0) IrqUart2Dis(); #endif - 196 3 Info.uiICTempe[1] = TempeData; - 197 3 #if (UART0_DEFINE != 0) - 198 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï - 199 3 #endif - 200 3 #if (UART1_DEFINE != 0) + 199 3 Info.uiICTempe[1] = TempeData; + 200 3 #if (UART0_DEFINE != 0) + 201 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï + 202 3 #endif + 203 3 #if (UART1_DEFINE != 0) IrqUart1En(); //¿ªÆôuart1ÖÐ¶Ï #endif - 203 3 #if (UART2_DEFINE != 0) + 206 3 #if (UART2_DEFINE != 0) IrqUart2En(); //³õʼ»¯UART2ÖжÏʹÄÜ£¬¸ù¾Ý¾ßÌåʹÓÃUARTÄ£¿éÀ´½øÐÐÑ¡Ôñ #endif - 206 3 } - 207 2 - 208 2 uiTempeMin = Info.uiTS[0]; - 209 2 uiTempeMax = Info.uiTS[0]; - 210 2 if(bTempNum) - 211 2 { - 212 3 TempeData = CalcuTemp(AFE.uiTS[1]) + E2siTS1Offset; //¼ÆËãÍⲿζÈ2 - 213 3 #if (UART0_DEFINE != 0) - 214 3 IrqUart0Dis(); - 215 3 #endif - 216 3 #if (UART1_DEFINE != 0) + 209 3 } + 210 2 + 211 2 uiTempeMin = Info.uiTS[0]; + 212 2 uiTempeMax = Info.uiTS[0]; + 213 2 if(bTempNum) + 214 2 { + 215 3 TempeData = CalcuTemp(AFE.uiTS[1]) + E2siTS1Offset; //¼ÆËãÍⲿζÈ2 + 216 3 #if (UART0_DEFINE != 0) + 217 3 IrqUart0Dis(); + 218 3 #endif + 219 3 #if (UART1_DEFINE != 0) IrqUart1Dis(); #endif - 219 3 #if (UART2_DEFINE != 0) + 222 3 #if (UART2_DEFINE != 0) IrqUart2Dis(); #endif - 222 3 Info.uiTS[1] = TempeData; - 223 3 #if (UART0_DEFINE != 0) - 224 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï - 225 3 #endif - 226 3 #if (UART1_DEFINE != 0) + 225 3 Info.uiTS[1] = TempeData; + 226 3 #if (UART0_DEFINE != 0) + 227 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï + 228 3 #endif + 229 3 #if (UART1_DEFINE != 0) IrqUart1En(); //¿ªÆôuart1ÖÐ¶Ï #endif - 229 3 #if (UART2_DEFINE != 0) + 232 3 #if (UART2_DEFINE != 0) IrqUart2En(); //³õʼ»¯UART2ÖжÏʹÄÜ£¬¸ù¾Ý¾ßÌåʹÓÃUARTÄ£¿éÀ´½øÐÐÑ¡Ôñ #endif - 232 3 - 233 3 if(TempeData < uiTempeMin) - 234 3 { - 235 4 uiTempeMin = TempeData; - 236 4 } - 237 3 else -C51 COMPILER V9.01 CALCULATE 02/07/2025 10:36:15 PAGE 5 + 235 3 + 236 3 if(TempeData < uiTempeMin) + 237 3 { +C51 COMPILER V9.01 CALCULATE 02/08/2025 15:18:20 PAGE 5 - 238 3 { - 239 4 uiTempeMax = TempeData; - 240 4 } - 241 3 } - 242 2 } - 243 1 } - 244 - 245 - 246 /************************************************************************************************* - 247 * º¯ÊýÃû: AfeCalcuVol - 248 * ²Î Êý: ÎÞ - 249 * ·µ»ØÖµ: ÎÞ - 250 * Ãè Êö: ¼ÆËãµçѹ£¬Í¬²½¸üÐÂ×î´óÖµ×îСֵuiVadcVmax¡¢uiVadcVmin£¬ÓÃÓÚ¶ÏÏßÅÐ¶Ï - 251 µ±Ã»ÓÐƽºâʱ£¬²Å¸üÐÂuiCellVmax¡¢uiCellVmin£¬ÓÃÓÚ±£»¤ÅÐ¶Ï - 252 *************************************************************************************************/ - 253 void AfeCalcuVol(void) - 254 { - 255 1 U8 i; - 256 1 U32 TempPackVol=0, TempCellVol=0; - 257 1 uiVadcVmax = 0; - 258 1 uiVadcVmin = 6000; - 259 1 - 260 1 if(AfeGetVol()) - 261 1 { - 262 2 for(i=ucCellNumOffset; i<(ucCellNum+ucCellNumOffset); i++) - 263 2 { - 264 3 TempCellVol = (U32)AFE.uiCell[i]*CALIVOL/E2uiVPackGain; - 265 3 - 266 3 if(TempCellVol > uiVadcVmax) //¼ÆËã×î´óÖµ&×îСֵ - 267 3 { - 268 4 uiVadcVmax = TempCellVol; - 269 4 } - 270 3 if(TempCellVol < uiVadcVmin) - 271 3 { - 272 4 uiVadcVmin = TempCellVol; - 273 4 } - 274 3 - 275 3 if(!bBalancingFlg) //if bCellOpenDecFlag this data will throw away - 276 3 { - 277 4 #if (UART0_DEFINE != 0) - 278 4 IrqUart0Dis(); - 279 4 #endif - 280 4 #if (UART1_DEFINE != 0) + 238 4 uiTempeMin = TempeData; + 239 4 } + 240 3 else + 241 3 { + 242 4 uiTempeMax = TempeData; + 243 4 } + 244 3 } + 245 2 } + 246 1 } + 247 + 248 + 249 /************************************************************************************************* + 250 * º¯ÊýÃû: AfeCalcuVol + 251 * ²Î Êý: ÎÞ + 252 * ·µ»ØÖµ: ÎÞ + 253 * Ãè Êö: ¼ÆËãµçѹ£¬Í¬²½¸üÐÂ×î´óÖµ×îСֵuiVadcVmax¡¢uiVadcVmin£¬ÓÃÓÚ¶ÏÏßÅÐ¶Ï + 254 µ±Ã»ÓÐƽºâʱ£¬²Å¸üÐÂuiCellVmax¡¢uiCellVmin£¬ÓÃÓÚ±£»¤ÅÐ¶Ï + 255 *************************************************************************************************/ + 256 void AfeCalcuVol(void) + 257 { + 258 1 U8 i; + 259 1 U32 TempPackVol=0, TempCellVol=0; + 260 1 uiVadcVmax = 0; + 261 1 uiVadcVmin = 6000; + 262 1 + 263 1 if(AfeGetVol()) + 264 1 { + 265 2 for(i=ucCellNumOffset; i<(ucCellNum+ucCellNumOffset); i++) + 266 2 { + 267 3 TempCellVol = (U32)AFE.uiCell[i]*CALIVOL/E2uiVPackGain; + 268 3 + 269 3 if(TempCellVol > uiVadcVmax) //¼ÆËã×î´óÖµ&×îСֵ + 270 3 { + 271 4 uiVadcVmax = TempCellVol; + 272 4 } + 273 3 if(TempCellVol < uiVadcVmin) + 274 3 { + 275 4 uiVadcVmin = TempCellVol; + 276 4 } + 277 3 + 278 3 if(!bBalancingFlg) //if bCellOpenDecFlag this data will throw away + 279 3 { + 280 4 #if (UART0_DEFINE != 0) + 281 4 IrqUart0Dis(); + 282 4 #endif + 283 4 #if (UART1_DEFINE != 0) IrqUart1Dis(); #endif - 283 4 #if (UART2_DEFINE != 0) + 286 4 #if (UART2_DEFINE != 0) IrqUart2Dis(); #endif - 286 4 Info.uiVCell[i] = TempCellVol; - 287 4 #if (UART0_DEFINE != 0) - 288 4 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï - 289 4 #endif - 290 4 #if (UART1_DEFINE != 0) + 289 4 Info.uiVCell[i] = TempCellVol; + 290 4 #if (UART0_DEFINE != 0) + 291 4 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï + 292 4 #endif + 293 4 #if (UART1_DEFINE != 0) IrqUart1En(); //¿ªÆôuart1ÖÐ¶Ï #endif - 293 4 #if (UART2_DEFINE != 0) + 296 4 #if (UART2_DEFINE != 0) IrqUart2En(); //³õʼ»¯UART2ÖжÏʹÄÜ£¬¸ù¾Ý¾ßÌåʹÓÃUARTÄ£¿éÀ´½øÐÐÑ¡Ôñ #endif - 296 4 TempPackVol += TempCellVol; - 297 4 } - 298 3 } - 299 2 -C51 COMPILER V9.01 CALCULATE 02/07/2025 10:36:15 PAGE 6 + 299 4 TempPackVol += TempCellVol; +C51 COMPILER V9.01 CALCULATE 02/08/2025 15:18:20 PAGE 6 - 300 2 if(!bBalancingFlg) - 301 2 { - 302 3 uiCellVmax = uiVadcVmax; - 303 3 uiCellVmin = uiVadcVmin; - 304 3 - 305 3 #if (UART0_DEFINE != 0) - 306 3 IrqUart0Dis(); - 307 3 #endif - 308 3 #if (UART1_DEFINE != 0) + 300 4 } + 301 3 } + 302 2 + 303 2 if(!bBalancingFlg) + 304 2 { + 305 3 uiCellVmax = uiVadcVmax; + 306 3 uiCellVmin = uiVadcVmin; + 307 3 + 308 3 #if (UART0_DEFINE != 0) + 309 3 IrqUart0Dis(); + 310 3 #endif + 311 3 #if (UART1_DEFINE != 0) IrqUart1Dis(); #endif - 311 3 #if (UART2_DEFINE != 0) + 314 3 #if (UART2_DEFINE != 0) IrqUart2Dis(); #endif - 314 3 Info.ulVoltage = TempPackVol; //Calculate the total voltage - 315 3 #if (UART0_DEFINE != 0) - 316 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï - 317 3 #endif - 318 3 #if (UART1_DEFINE != 0) + 317 3 Info.ulVoltage = TempPackVol; //Calculate the total voltage + 318 3 #if (UART0_DEFINE != 0) + 319 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï + 320 3 #endif + 321 3 #if (UART1_DEFINE != 0) IrqUart1En(); //¿ªÆôuart1ÖÐ¶Ï #endif - 321 3 #if (UART2_DEFINE != 0) + 324 3 #if (UART2_DEFINE != 0) IrqUart2En(); //³õʼ»¯UART2ÖжÏʹÄÜ£¬¸ù¾Ý¾ßÌåʹÓÃUARTÄ£¿éÀ´½øÐÐÑ¡Ôñ #endif - 324 3 } - 325 2 } - 326 1 } - 327 - 328 - 329 /************************************************************************************************* - 330 * º¯ÊýÃû: CurTempOffset - 331 * ²Î Êý: ÎÞ - 332 * ·µ»ØÖµ: ÎÞ - 333 * Ãè Êö: ²»Í¬Ð¾Æ¬Î¶ÈÏÂADCµÄ²¹³¥Öµ - 334 *************************************************************************************************/ - 335 S16 code siCurTempOffset[2][13]= - 336 { /**0****1****2****3***4***5***6***7***8***9**10**11**12**/ - 337 {-40, -30, -20, -10, 0, 10, 25, 35, 45, 55, 65, 75, 85}, - 338 { -5, -4, -3, -2, -1, -1, 0, 1, 1, 2, 3, 4, 5}, - 339 }; - 340 - 341 /************************************************************************************************* - 342 * º¯ÊýÃû: OffsetCalculate() - 343 * ²Î Êý: ÎÞ - 344 * ·µ»ØÖµ: ÎÞ - 345 * Ãè Êö: ¸ù¾ÝоƬÄÚ²¿Î¶Èʵʱµ÷Õû0µçÁ÷²¹³¥Öµ£¬ÒÔ±ãÏû³ýζȶÔADC²É¼¯²úÉúµÄÓ°Ïì - 346 *************************************************************************************************/ - 347 S16 OffsetCalculate(void) - 348 { - 349 1 S16 xdata siCadcTempOffset=0; //20220620 - 350 1 U8 xdata i; - 351 1 - 352 1 for(i=0; i<12; i++) - 353 1 { - 354 2 if(Info.uiICTempe[0] <= (((S32)siCurTempOffset[0][i] + siCurTempOffset[0][i+1]) / 2 * 10 + 2731)) - 355 2 { - 356 3 siCadcTempOffset = siCurTempOffset[1][i]; - 357 3 break; - 358 3 } - 359 2 } - 360 1 return siCadcTempOffset; - 361 1 } -C51 COMPILER V9.01 CALCULATE 02/07/2025 10:36:15 PAGE 7 + 327 3 } + 328 2 } + 329 1 } + 330 + 331 + 332 /************************************************************************************************* + 333 * º¯ÊýÃû: CurTempOffset + 334 * ²Î Êý: ÎÞ + 335 * ·µ»ØÖµ: ÎÞ + 336 * Ãè Êö: ²»Í¬Ð¾Æ¬Î¶ÈÏÂADCµÄ²¹³¥Öµ + 337 *************************************************************************************************/ + 338 S16 code siCurTempOffset[2][13]= + 339 { /**0****1****2****3***4***5***6***7***8***9**10**11**12**/ + 340 {-40, -30, -20, -10, 0, 10, 25, 35, 45, 55, 65, 75, 85}, + 341 { -5, -4, -3, -2, -1, -1, 0, 1, 1, 2, 3, 4, 5}, + 342 }; + 343 + 344 /************************************************************************************************* + 345 * º¯ÊýÃû: OffsetCalculate() + 346 * ²Î Êý: ÎÞ + 347 * ·µ»ØÖµ: ÎÞ + 348 * Ãè Êö: ¸ù¾ÝоƬÄÚ²¿Î¶Èʵʱµ÷Õû0µçÁ÷²¹³¥Öµ£¬ÒÔ±ãÏû³ýζȶÔADC²É¼¯²úÉúµÄÓ°Ïì + 349 *************************************************************************************************/ + 350 S16 OffsetCalculate(void) + 351 { + 352 1 S16 xdata siCadcTempOffset=0; //20220620 + 353 1 U8 xdata i; + 354 1 + 355 1 for(i=0; i<12; i++) + 356 1 { + 357 2 if(Info.uiICTempe[0] <= (((S32)siCurTempOffset[0][i] + siCurTempOffset[0][i+1]) / 2 * 10 + 2731)) + 358 2 { + 359 3 siCadcTempOffset = siCurTempOffset[1][i]; + 360 3 break; + 361 3 } +C51 COMPILER V9.01 CALCULATE 02/08/2025 15:18:20 PAGE 7 - 362 - 363 /************************************************************************************************* - 364 * º¯ÊýÃû: AfeCalcuCurr - 365 * ²Î Êý: ÎÞ - 366 * ·µ»ØÖµ: ÎÞ - 367 * Ãè Êö: ¼ÆËãCADC²É¼¯µÄµçÁ÷Êý¾Ý - 368 *************************************************************************************************/ - 369 void AfeCalcuCurr(void) - 370 { - 371 1 U8 i; - 372 1 S32 Tempdata=0; - 373 1 - 374 1 AFEReadReg(AFE_CURH, 2, (U8 xdata *)&AFE.siCurr); //ͨ¹ýTWI¶ÁÈ¡CADC²É¼¯µÄµçÁ÷Öµ - 375 1 - 376 1 if((AFE.siCurr&0x1000) != 0) //¸ù¾Ýbit12ÅжÏÊÇ·ñΪ¸ºÊý(·ÅµçµçÁ÷Ϊ¸ºÖµ)£¬ÈçΪ¸ºÖµ¸ßλ²¹0 - 377 1 { - 378 2 AFE.siCurr|=0xE000; - 379 2 } - 380 1 slCadcCurrent = (S32)CALICUR*(AFE.siCurr-E2siCadcOffset+OffsetCalculate())/E2siCadcGain; - 381 1 - 382 1 slCadcCurBuf[ucCadcCnt] = slCadcCurrent; //¶ÔÁ¬Ðø²É¼¯µÄ16´ÎµçÁ÷ȡƽ¾ùÖµ£¬×÷Ϊµ±Ç°µçÁ÷Öµ - 383 1 if(++ucCadcCnt >= 16) - 384 1 { - 385 2 ucCadcCnt = 0; - 386 2 } - 387 1 for(i=0; i<16; i++) - 388 1 { - 389 2 Tempdata += slCadcCurBuf[i]; - 390 2 } - 391 1 slCadcCurAverage = Tempdata/16; - 392 1 - 393 1 bDSGING = 0; //¸ù¾ÝµçÁ÷Åж¨³ä·Åµç״̬ - 394 1 bCHGING = 0; - 395 1 if(slCadcCurAverage < (-E2siDfilterCur)) - 396 1 { - 397 2 if(++ucDsgingCheckCnt >= TIME_50MS_500MS) //³ä·Åµç״̬¼ì²âÑÓʱ10*50mS - 398 2 { - 399 3 ucDsgingCheckCnt = TIME_50MS_500MS; - 400 3 bDSGING = 1; - 401 3 #if (UART0_DEFINE != 0) - 402 3 IrqUart0Dis(); - 403 3 #endif - 404 3 #if (UART1_DEFINE != 0) + 362 2 } + 363 1 return siCadcTempOffset; + 364 1 } + 365 + 366 /************************************************************************************************* + 367 * º¯ÊýÃû: AfeCalcuCurr + 368 * ²Î Êý: ÎÞ + 369 * ·µ»ØÖµ: ÎÞ + 370 * Ãè Êö: ¼ÆËãCADC²É¼¯µÄµçÁ÷Êý¾Ý + 371 *************************************************************************************************/ + 372 void AfeCalcuCurr(void) + 373 { + 374 1 U8 i; + 375 1 S32 Tempdata=0; + 376 1 + 377 1 AFEReadReg(AFE_CURH, 2, (U8 xdata *)&AFE.siCurr); //ͨ¹ýTWI¶ÁÈ¡CADC²É¼¯µÄµçÁ÷Öµ + 378 1 + 379 1 if((AFE.siCurr&0x1000) != 0) //¸ù¾Ýbit12ÅжÏÊÇ·ñΪ¸ºÊý(·ÅµçµçÁ÷Ϊ¸ºÖµ)£¬ÈçΪ¸ºÖµ¸ßλ²¹0 + 380 1 { + 381 2 AFE.siCurr|=0xE000; + 382 2 } + 383 1 slCadcCurrent = (S32)CALICUR*(AFE.siCurr-E2siCadcOffset+OffsetCalculate())/E2siCadcGain; + 384 1 + 385 1 slCadcCurBuf[ucCadcCnt] = slCadcCurrent; //¶ÔÁ¬Ðø²É¼¯µÄ16´ÎµçÁ÷ȡƽ¾ùÖµ£¬×÷Ϊµ±Ç°µçÁ÷Öµ + 386 1 if(++ucCadcCnt >= 16) + 387 1 { + 388 2 ucCadcCnt = 0; + 389 2 } + 390 1 for(i=0; i<16; i++) + 391 1 { + 392 2 Tempdata += slCadcCurBuf[i]; + 393 2 } + 394 1 slCadcCurAverage = Tempdata/16; + 395 1 + 396 1 bDSGING = 0; //¸ù¾ÝµçÁ÷Åж¨³ä·Åµç״̬ + 397 1 bCHGING = 0; + 398 1 if(slCadcCurAverage < (-E2siDfilterCur)) + 399 1 { + 400 2 if(++ucDsgingCheckCnt >= TIME_50MS_500MS) //³ä·Åµç״̬¼ì²âÑÓʱ10*50mS + 401 2 { + 402 3 ucDsgingCheckCnt = TIME_50MS_500MS; + 403 3 bDSGING = 1; + 404 3 #if (UART0_DEFINE != 0) + 405 3 IrqUart0Dis(); + 406 3 #endif + 407 3 #if (UART1_DEFINE != 0) IrqUart1Dis(); #endif - 407 3 #if (UART2_DEFINE != 0) + 410 3 #if (UART2_DEFINE != 0) IrqUart2Dis(); #endif - 410 3 Info.slCurr = slCadcCurAverage; - 411 3 #if (UART0_DEFINE != 0) - 412 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï - 413 3 #endif - 414 3 #if (UART1_DEFINE != 0) + 413 3 Info.slCurr = slCadcCurAverage; + 414 3 #if (UART0_DEFINE != 0) + 415 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï + 416 3 #endif + 417 3 #if (UART1_DEFINE != 0) IrqUart1En(); //¿ªÆôuart1ÖÐ¶Ï #endif - 417 3 #if (UART2_DEFINE != 0) + 420 3 #if (UART2_DEFINE != 0) IrqUart2En(); //³õʼ»¯UART2ÖжÏʹÄÜ£¬¸ù¾Ý¾ßÌåʹÓÃUARTÄ£¿éÀ´½øÐÐÑ¡Ôñ #endif - 420 3 } - 421 2 } - 422 1 else if(slCadcCurAverage > E2siDfilterCur) - 423 1 { -C51 COMPILER V9.01 CALCULATE 02/07/2025 10:36:15 PAGE 8 + 423 3 } +C51 COMPILER V9.01 CALCULATE 02/08/2025 15:18:20 PAGE 8 - 424 2 if(++ucChgingCheckCnt >= TIME_50MS_500MS) //³ä·Åµç״̬¼ì²âÑÓʱ10*50mS - 425 2 { - 426 3 ucChgingCheckCnt = TIME_50MS_500MS; - 427 3 bCHGING = 1; - 428 3 McuPWM2Set(4000, 100); - 429 3 #if (UART0_DEFINE != 0) - 430 3 IrqUart0Dis(); - 431 3 #endif - 432 3 #if (UART1_DEFINE != 0) + 424 2 } + 425 1 else if(slCadcCurAverage > E2siDfilterCur) + 426 1 { + 427 2 if(++ucChgingCheckCnt >= TIME_50MS_500MS) //³ä·Åµç״̬¼ì²âÑÓʱ10*50mS + 428 2 { + 429 3 ucChgingCheckCnt = TIME_50MS_500MS; + 430 3 bCHGING = 1; + 431 3 McuPWM2Set(4000, 100); + 432 3 #if (UART0_DEFINE != 0) + 433 3 IrqUart0Dis(); + 434 3 #endif + 435 3 #if (UART1_DEFINE != 0) IrqUart1Dis(); #endif - 435 3 #if (UART2_DEFINE != 0) + 438 3 #if (UART2_DEFINE != 0) IrqUart2Dis(); #endif - 438 3 Info.slCurr = slCadcCurAverage; - 439 3 #if (UART0_DEFINE != 0) - 440 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï - 441 3 #endif - 442 3 #if (UART1_DEFINE != 0) + 441 3 Info.slCurr = slCadcCurAverage; + 442 3 #if (UART0_DEFINE != 0) + 443 3 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï + 444 3 #endif + 445 3 #if (UART1_DEFINE != 0) IrqUart1En(); //¿ªÆôuart1ÖÐ¶Ï #endif - 445 3 #if (UART2_DEFINE != 0) + 448 3 #if (UART2_DEFINE != 0) IrqUart2En(); //³õʼ»¯UART2ÖжÏʹÄÜ£¬¸ù¾Ý¾ßÌåʹÓÃUARTÄ£¿éÀ´½øÐÐÑ¡Ôñ #endif - 448 3 } - 449 2 } - 450 1 else - 451 1 { - 452 2 #if (UART0_DEFINE != 0) - 453 2 IrqUart0Dis(); - 454 2 #endif - 455 2 #if (UART1_DEFINE != 0) + 451 3 } + 452 2 } + 453 1 else + 454 1 { + 455 2 #if (UART0_DEFINE != 0) + 456 2 IrqUart0Dis(); + 457 2 #endif + 458 2 #if (UART1_DEFINE != 0) IrqUart1Dis(); #endif - 458 2 #if (UART2_DEFINE != 0) + 461 2 #if (UART2_DEFINE != 0) IrqUart2Dis(); #endif - 461 2 Info.slCurr = 0; - 462 2 #if (UART0_DEFINE != 0) - 463 2 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï - 464 2 #endif - 465 2 #if (UART1_DEFINE != 0) + 464 2 Info.slCurr = 0; + 465 2 #if (UART0_DEFINE != 0) + 466 2 IrqUart0En(); //¿ªÆôuart0ÖÐ¶Ï + 467 2 #endif + 468 2 #if (UART1_DEFINE != 0) IrqUart1En(); //¿ªÆôuart1ÖÐ¶Ï #endif - 468 2 #if (UART2_DEFINE != 0) + 471 2 #if (UART2_DEFINE != 0) IrqUart2En(); //³õʼ»¯UART2ÖжÏʹÄÜ£¬¸ù¾Ý¾ßÌåʹÓÃUARTÄ£¿éÀ´½øÐÐÑ¡Ôñ #endif - 471 2 } - 472 1 } - 473 - 474 - 475 /************************************************************************************************* - 476 * º¯ÊýÃû: AFEInfoProcess - 477 * ²Î Êý: ÎÞ - 478 * ·µ»ØÖµ: ÎÞ - 479 * Ãè Êö: ÿ50mS¶ÁÈ¡AFEÐÅÏ¢£¬²¢¸üеçѹ¡¢µçÁ÷¡¢Î¶ÈÊý¾Ý - 480 *************************************************************************************************/ - 481 void AFEInfoProcess(void) - 482 { - 483 1 AFERdFlg(); - 484 1 - 485 1 bVADCFlg = 0; -C51 COMPILER V9.01 CALCULATE 02/07/2025 10:36:15 PAGE 9 + 474 2 } + 475 1 } + 476 + 477 + 478 /************************************************************************************************* + 479 * º¯ÊýÃû: AFEInfoProcess + 480 * ²Î Êý: ÎÞ + 481 * ·µ»ØÖµ: ÎÞ + 482 * Ãè Êö: ÿ50mS¶ÁÈ¡AFEÐÅÏ¢£¬²¢¸üеçѹ¡¢µçÁ÷¡¢Î¶ÈÊý¾Ý + 483 *************************************************************************************************/ + 484 void AFEInfoProcess(void) + 485 { +C51 COMPILER V9.01 CALCULATE 02/08/2025 15:18:20 PAGE 9 - 486 1 AfeCalcuVol(); - 487 1 AfeCalcuTempe(); - 488 1 - 489 1 if(bCADCFlg) //µ±CADCת»»Íê³Éºó£¬²Å¶ÁÈ¡AFEµçÁ÷ÐÅÏ¢²¢¼ÆËã - 490 1 { - 491 2 bCADCFlg = 0; - 492 2 AfeCalcuCurr(); - 493 2 } - 494 1 } - 495 - 496 + 486 1 AFERdFlg(); + 487 1 + 488 1 bVADCFlg = 0; + 489 1 AfeCalcuVol(); + 490 1 AfeCalcuTempe(); + 491 1 + 492 1 if(bCADCFlg) //µ±CADCת»»Íê³Éºó£¬²Å¶ÁÈ¡AFEµçÁ÷ÐÅÏ¢²¢¼ÆËã + 493 1 { + 494 2 bCADCFlg = 0; + 495 2 AfeCalcuCurr(); + 496 2 } + 497 1 } + 498 + 499 MODULE INFORMATION: STATIC OVERLAYABLE - CODE SIZE = 1760 ---- + CODE SIZE = 1772 ---- CONSTANT SIZE = 52 ---- XDATA SIZE = 2 25 PDATA SIZE = ---- ---- diff --git a/output/Calculate.obj b/output/Calculate.obj index e96fd86dc7b99c259ae1f7fed88240bb5450bf2e..49790745da58a9507fa969ca973c8697199b2a87 100644 GIT binary patch delta 7696 zcmb7}33OCN7KZPA-5o+=Cus=8m^2|Pgb+X!RG>*hSSMkTT}%Q=AS{6dF+l;P6+zr3 zmJH* c4K)t@Tya zdwkR4KJc^q<%!sJkf(8W=UyeX^>qvD>q-jC=U3LxFRz=`tF~eu!az@>tix`W`yO}W zY_Y-B*L~iiA4%DXve~r*ae;Wja~YnOdprXy*RzQ`q&sqkRn{)AFt2#Rq#;%o04Onf zQnA&|7Nb~nCvl0&HnC{x(1M8tR<_PtFm$NZgG3~mCln7IHQCB(RfVI+{U#4YMY-_2 z_{tmfv_Jh+-EmPKlXh(+DM(P*520&(jt>9Ae9+mEbe^S0Q zO5aa$I>n#Z I;&iI7;9Kbm9bx6YV$)!wt#7 za6_(9=`I*V`MDwawxeNo{?T?k!H%cceoJjX6}F#+wx1ix9%M(0=|?8TL5g`9-D5jw zPz5dcvnpu8)3&2cwxf3_e^<)CmtyX~7Zmf#Yf|MAPTTQ?I2X8~sa*sh{Ele{)Bgo7 zq u^%xS`zv0hc(vj+#Ev*Xagbtwn1zEC^N1rcU$H=O zh+-je91bN;#$k%XiDfvFcqR^uIl|Gz-*F5?$=^D3#G)zSqBc%doJO>ugqQ-Qie v7l4{8+`61%_+ zii?O{;YP)JVlFIJyouNwZdP1E><>#7mk|r$7R6hM!(h2$Fh)hU6Gy-b7$Q?Tr&z&z zA(Gm3pW=hWNP4cB4fHPs1ThsJBX)=N#2)YraTGKXi(m_JJiJPr2-}F)!*<0T#HFy4 zcnj @n_;!a7OVL#j}d%z#|hAH=&Przi4^{qrd|(^aysBpIkN;F ;p1U(M60W2kjvVJj6_BN6dvt#r8y6GK$f}Rp2E)4l# 8t8j$kNX1c@9Tx+h=z`(H3JZ!0Crut({Gxo=pO2~8)YYjpGJFt}Q_NeyB8np+ zjn m1%jHBX*~aCB~ xDW0o9->{*3qQhr#FKD8u^Ap &;u>NiHYh$sOh!TMf@_IgaXqmoZXou; zM#bldy>Sz96mC|0o;U$tP<)X%8DAn!#Vy2ge1%wvTZy%}jd%mTjX50cCb0 Y{3dqop~5ni^8m4UCYap`Q9=cA-=M9=B(*67cDlfHI>t4L)LKXGQQAQ(4kk! z$YBLThmD^;bo}HJT86zwZWS%vGhB4d5tn8s<1*PVJJp4mVoJ{x|MPS}@cw&|0@B9( zB56JxS^r&%o|#s_Z6t9PFKPN~EfVXnUvAi|<=I|6F?YS4 r_)x4{>aeh je=6QFT==%bXw%djN#iXd`%u5IncuU*FD}7ljYS#CFte8>fzcYpD3P& z-epGN9Wrvv+b+Cccx#go#EEMMdZX=raHA&6KI7-Qy-SRw?c&+VPX}%?Qn>T1bv3N- zB5lsvJ*2q^I~^xhPbu&oCZ$u3%R^JTVD5O<6gU$*nPn7WO{=T5$Z*;9y5%mBvNS5d zE15&Mn2&}d9JKE2&`E}VUmPlV(_3$(ydyW3UV~nqO>Pc586 xMY)UBj>NVL{9uwEtm&HWVv&(Kc};g%!p2+LNj zE=z{poT_`o-0FP%i||*c1YdBJ3pw;|hu-hdUpw>(hwegM;h@{uy{!(yfVK%R)S(}B zXu43garlNqzva;T9Qv@KqbuZ|`SlnS RygoJY*Ays vntiq8aMpb&{k( >=IDpLDDJ zUnjjP<%&{IP#;R{hU?Wjm-aJm*L*hEf$dszzu3M|8!2YH*4nQ3U(UvMt!?{Y&_|Ze zptW|O4=8Qdn&+@a?z>A^^wJd$Ja# wAO9VT35-M`=sYi&xO_(sG5Bh z@stA~rlPpEd}iUC>bW)Yn|qhLy}D8!?gL`pnq6(qnSi*u;ezeous+u z`Iy%^_RGIDo 3fkKEOt1!)8W7z@mlf2>kHJw={Bn5HD+pF*rw)%ZE9ZF zrZ%?(9z@>qxly{yyu};3jNaGVB+%EIwwfPCvjTlF(hl{-Nb8_cet_%~lCE4{cl6iV zh7}~tVO>dDuZ6)fZrfrMU)EfLJEhp39O)fxG;oOAzPm35oU3$+k%c?G&7sXz{FKaj zH{elEF6B~fIwtEs*lv~bH&YIJzt=ZU*6da9?|RSBn)eL0>-}EawPt&Qd|>}o5njDb z@nG$h2M&&Nd37zE)L-`gEYlruUKCmD@!^Vc9OK8Y81$$5@~v$6@@31 $;cSm>{2Sda9i-Gwk1PkPouN)RrQAQa;^M 1_r@G( z*7`iq`Sp3AwR7ii>;z)@Ij@iX=%b0teJt-g_mnI56Kc0P)F(-Ef3<7A18I9#S@PR7 z3o}IMd^Lt-`h|{`e~Udhl#L!V1g-h>TO%i2%y)-wPQqlw4Ivt=JRGgxJM}tMwNYW# zd=|E|9qRMF$<}&ZYTZI*qSXY1CPZMIrS9C^3f*$PV{_1&@6;T$<~uY8trP8vwB{?a zY3D1ksrd?Q=ooe7)d^Lh(~%f(=klJb(|87)@2 1xE*4f5f)_?RfIN$JG5WIe%Lnim9$9a9ph8iZpG zYbyCRbMwP%YUdflmj~0n)uHvb4IcC(6& ^~$fW&}2{xOl$5< zMCg%t{3b$fs-^`tBD6Lc>)frE4?TSPVbhl (wgt&!O-wj%)+4a!ou3@#terp zC(TXQYiE|B`D8UOI6SPZO@B3Q^ ~KF x;6xVS1`UlFJLM-_x-_Qhk?pFC8X*+ -f3(&y_3 uBn* zki`>iib+h(A1}p;QZ9dVz4J55Uj&Z}JubuY%alvUea9sC0^0T2sl!dzz>kziqB4tH zPfPaLm=S||)ED-5jci}KT-9!g8O+D*9Wg^W-~Qj2$NHV&hsbO7rF^!lV}}OM@Gi(W zJoz5-G9HEAP-ddHkPm@Atjaxf1UduykH|BTzmHt%eHgCymvH`fl=nsXS>#gx+i?B= zgO>VT$fdrQ(OwXLL~(bZI4OX>BAjQUTmlV6E`ffc$~|-~v;-Q5Tmt2V{Y%67lyE)` zcIn_O 0|pai-Lf5?2g2f0k82f_i?LiZ($)*+XQzfzj$nXvv1@-&nm zKrRg(M=rDPuc|)N7va1k)coKLfmdhmL z8^H@)PPX%Pd;*tOk_TO!p?C{u(XC)A-KIDj97k1()!+o01Lo0O#d%;U)q-U-pY}PG ziQ_o9fFcoap<+E~(IPO0?oeC|#?cbRJHZsXOR)h=qq`NCf!VZNu@M|iO^VInwRDf- z3b2q?Dy{;H>0ZUv(JE^JODRZeoumP&R`5~sp-+z~J^}h@o#J{h6|34u>GTvhoVI`? zX**a(JHc|=4Nj+5!Ah(ZAI+xUDE<~)MfE>`P-gV`JuD$RjJ|5(&RoB<@Rz*a!Pk5?SC7 z1nY~}5TO_e-h`Pd^nq)rAGnqJD@K94$gda;9>m-g#)8KwE~v5u@B}3)4ggyz1w2n_ zU {skq)g$0uf zXUwda{ED+Nkk9FIAk4zZ$XQT>Ty}tE$bFPSEy%O%&Xn<7ZfB (A-vk@@EpRCxP&^1O<98GfgN=L?Y~kbJef*K)pZG(2>)?lrKjj#V z*Jp~KgC6=D7(u5&A2!7pES`2Sn!Z##3&zqpFoFJ|c%C1&>xX;<<_*nBtF1|vdrdu4 z;{1lX1#|0`H5=ES`BBcgp(WNJx$syNpHnrdxS*(b`rM-FGpjH$b0#&|{}?_v4cDN0 zi+ |8Y>-IE(Y$0c WZzwcFijZ&R3HLTmH3%SGqH}d )pC 3Rxv)!f7y7UD@e`f!*aY=OsN+ikFA$#7Z(y_4iKz|VSPs1QAh0O!dkYP*X@#~t2xEKw<$HS4&~ E=5(*GVqdyhCAEZEtQrgbmt|W?2}q|!f#-$ zA0_xCt}R%&pm0)Y*?hlqdPN1>uUEx#vR$%j6u;msTlJ*JFRh5DteI>lwq?6l?Nqwx z4QKxY)e%9x$HGyyrFAw&Mf$Qx4B;ew(ORBG?00G-a sN_a{m0NZQ+BXJIQ#-`075&+7hk%q_ysY*1Ad2@=W@D>G9Y45}Ns} z7I$Ri(Y2EsYU&DaU%cop=j`JxUcYWshWn)5yzyYK-7?=Udh*hgM^IDGE@|j-)!^k7 zCugh#ml$Gy!KLNQ)%Itc^_%jexzgVMY-&J{fUa2IJs>L36Hfo )H2UaZSD~Ah}&V8PU#_$4c^e37sYej6!*BudNhOT6J7_=C%o3H;je?% zITJ#TCtD_>E|Pu(A k=JbBm8T)Q-gj&S#Qe*OkbN?UqS)6H4JeHcPH*vj5Xf2zB#MYa-wref+QO=fQ zV znS zUMnDDZdNe|yv@Gjl#?sxpd@Kmg338)>X%$vzA?1@_x5dV2LtZC%-p*kcCP#M2I~j6 zSN(mU8#VWmrOu0=ACACS-`PHjyX^PB9O&$A-_a+|{1}pZY>HjiS %;BcKIBTr1b!!zw&%z?3A|DfLz{9FS)F1eShdXALn|r<+#vgQq%q6C~H{TGeQgf ze3z$sX}C;3wZ0q4MMg$J*O5gdTF vcsb%*v^u!;0;>sP#aOn9RLN};?hY 8|6r# Lc5%u*zj`fz}=9 z3|*7Sb38%$RF u;kie>i_f$n6#wpM?;u8)}>|M8un;)4C{hb zp?O!ak3*-%aJ!Xjq1bHtKZQ2!a<|cumV_d%#Sh{7R~-3KT2gl}|NE~v{X( QCO2n3S=x3gOFZ~hpVHDYf!vPP*{wko2#D3&dDZX zD$GF3CP$0OFjjA_5Hn=vRb_yH|3DDDd7ESy53d}OP~>JwwZlAuDo8?%41x^Wo8KDk zW@6m3d8MhMh`TET3s9a3D9(?jP7sYRhQ^mh;-B2i==GP2R~AVqYBP7J1sAUxl2Fj* zfcOK s{*{*NJjWf7JMnb zS>@bfc0uF-0hz2e`Nmam#zmV|t~qh>B3l!(x%k0q-83EsMxa4#ej(2B!9FXJdBI$e y(IDZz6hzqYf&_s86w)ArNeP?N+hzF}g;^#$Jm-)XWZ;Gvgw-UQ?dd{{TucCT{=@YE delta 541 zcmcbylI7zHmJK0{3iAt>ri Edl$OLeC+1`(6(yFW>g6Y8F*0n6Te7)?QJsl} z^+!wU Np60}yqA%YbMqS3o4ky*liPG_w <~%L3#6A zquor5M>elCRTMEdWnc!%GXcf<(9{W_@kNmM?3)F>{&MjOAqk~!mJYSx;*~=ZirSnI ze}H-N6HftNWJhRkwoSGQWK^D9vBjG)X!DURSsc8`hFfg5-g{MmR~gBqkjaWK#W$Or zTg)zq>}im9 dm-mv&l6lE);8GHa9<5t-F0HAEOWpk~g`Lj0Ne(=S{Bd=Y$x! Fm;j>tte*e? diff --git a/output/ChargerLoad.lst b/output/ChargerLoad.lst index 0b2a931..fad50f1 100644 --- a/output/ChargerLoad.lst +++ b/output/ChargerLoad.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 CHARGERLOAD 02/07/2025 10:36:15 PAGE 1 +C51 COMPILER V9.01 CHARGERLOAD 02/08/2025 15:18:20 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE CHARGERLOAD @@ -62,7 +62,7 @@ line level source 50 4 bOCD2 = 0; 51 4 if(bAFE_SC) 52 4 { -C51 COMPILER V9.01 CHARGERLOAD 02/07/2025 10:36:15 PAGE 2 +C51 COMPILER V9.01 CHARGERLOAD 02/08/2025 15:18:20 PAGE 2 53 5 bAFE_SC = 0; 54 5 AFEClrFlg(); //Çå³ý¶Ì·±£»¤±êÖ¾ diff --git a/output/ChargerLoad.obj b/output/ChargerLoad.obj index c416611aa1d7044f158f49d83e6bf6e7f8ef1be4..df055cd08d73747de793b4c371d223988fed9691 100644 GIT binary patch delta 592 zcmaDendR~nmJLyi%r>mcH^(x1FtK#8EKi^OkzaW79%gywKTOLv-($Yc$oOpYHr9FU zjFpo^dG#3cH@EPnLsh=#7iHWznN>iA4X8GqiDB}6W=Y2C&7J~^%)F`$5bz%ef;X27 zZ{X&YLlTPIY$DIhE2x4b#K<7XpuO2cXEzh$mdz~swydHh%nS_742%qBP*uB`7#KP? zhndv!y1O#400o(VTKLh75JcmPq4A}W_$N1WIc?|Ul|>SY+I-HNgNs)UNhoOZ oR=4Y1^_3L?nUT0un^9yl~5B6D+%nRm%j0Fkzr67WU7bFM-ps)rROiB=( xP7(l{$K~ke8t?4t<74cz6Jpi&cxJ|5%##c1IphTyxFI%RwZdlm1a`(4CIEA~seS+e delta 476 zcmcaSh2_m;mJLyi%<~JEZjNR2U}9nY(ULm(Bfs$EJ 1^K(VNSK zH*oU`BMGH!Hj!uM6_h~|Vq_3xP~PmJvzv+W$YvIOTUOCxW(Edk21W)msH)ve3=CbH z!%S*<%}s$43=B*_EqrK32%zyrkofGIrJS~N@(LjdrEb3G&B4Vhha?oW`E%$2W?4Zb zA&}dU-KxF$LS#`GFS6MdoBcOj5#Uuu(iO7V;NU5CLFAwS86-EE`=mGHrp@6eCvov2 kn;NtE+vP<4?faM+g; LEDÏÔʾ¸öÊý 22 #define _EPCM_LED_NUM 0 //BIT11~12; δµ÷Óà 23 // µçо´®Êý - 24 #define _EPCM_CELL_NUM 10 //BIT8~10; µçо´®Êý£¬6~10´® + 24 #define _EPCM_CELL_NUM 4 //BIT8~10; µçо´®Êý£¬6~10´® 25 // Íâ¹ÒEEPROM±¸·Ý 26 #define _EPCM_EEPROM_EN 0 //BIT7; 0£º²»Ê¹ÄÜÍâ¹ÒEE±¸·Ý¹¦ÄÜ; 1£ºÊ¹ÄÜÍâ¹ÒEE±¸·Ý¹¦ÄÜ 27 //·Åµç¹ýÁ÷MOS¿ØÖÆ @@ -62,7 +62,7 @@ line level source 50 //10%ÈÝÁ¿¶ÔÓ¦µçѹ 51 #define _E2_VOC10 3200 //U16 xdata VOC10 52 // 20%ÈÝÁ¿¶ÔÓ¦µçѹ -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 2 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 2 53 #define _E2_VOC20 3400 //U16 xdata VOC10 54 // 30%ÈÝÁ¿¶ÔÓ¦µçѹ @@ -123,10 +123,10 @@ line level source 109 // ÐòÁкÅ<0x0000-0xffff> 110 #define _E2_SerialNum 0x0000 // U16 xdata SerialNum 111 // É豸Ãû³Æ - 112 #define _E2_DeviceName "SH39F004" // U8 xdata DeviceName[12] + 112 #define _E2_DeviceName "SH39F003" // U8 xdata DeviceName[12] 113 // µçо²ÄÁÏ 114 #define _E2_DeviceChem "LION" // U8 xdata DeviceChem[12] -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 3 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 3 115 // µçо»¯Ñ§ID<0x0000-0xffff> 116 #define _E2_ChemID 0x0000 // U16 xdata ChemID @@ -190,7 +190,7 @@ line level source 174 #define _E2_DSG1PWMRatioL 30 // U8 xdata DSG1PWMRatioL 175 // PWM¸ßµµÕ¼¿Õ±È(%) 176 #define _E2_DSG1PWMRatioH 70 // U8 xdata DSG1PWMRatioH -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 4 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 4 177 #define _E2_ucRamCheckFlg5 _RAM_CHECK_DATA // U8 xdata E2ucRamCheckFlg5 178 // @@ -254,7 +254,7 @@ line level source 236 // AFE²ÎÊý(SubClassID=0x0A length=4) 237 // ±£»¤ÅäÖà 238 #define _E2_AFEProtectConfig 0x74 // U8 xdata AFEProtectConfig -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 5 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 5 239 // Ó²¼þ¹ýѹ±£»¤ãÐÖµ 240 #define _E2_AFEOVvol 4400 // U16 xdata AFEOVvol @@ -318,7 +318,7 @@ line level source 286 unsigned char E2ucChgBKDelay; 287 unsigned int E2siChgBKCur; 288 unsigned char E2ucRTCBKDelay; -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 6 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 6 289 unsigned char E2ucRamCheckFlg0; 290 @@ -382,7 +382,7 @@ line level source 348 unsigned int TempOTDR; 349 unsigned int TempUTD; 350 unsigned int TempUTDR; -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 7 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 7 351 unsigned char E2ucRamCheckFlg7; 352 @@ -446,7 +446,7 @@ line level source 408 _E2_VOC30, //U16 xdata VOC30 409 _E2_VOC40, //U16 xdata VOC40 410 _E2_VOC50, //U16 xdata VOC50 -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 8 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 8 411 _E2_VOC60, //U16 xdata VOC60 412 _E2_VOC70, //U16 xdata VOC70 @@ -510,7 +510,7 @@ line level source 470 //·ÅµçPWM²ÎÊýÇø¿ªÊ¼ SubClassID=0x05 langth=5 471 _E2_DSG1PWMFreq, //U16 xdata DSG1PWMFreq 472 _E2_DSG1PWMRatioL, //U8 xdata DSG1PWMRatioL -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 9 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 9 473 _E2_DSG1PWMRatioH, //U8 xdata DSG1PWMRatioH 474 _E2_ucRamCheckFlg5, //U8 xdata E2ucRamCheckFlg5 @@ -574,7 +574,7 @@ line level source 530 /********************************************************************************************************* -********/ 531 //ϵͳÐÅÏ¢Çø¿ªÊ¼ SubClassID=0x00 langth=48 -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 10 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 10 532 { 533 _E2_PACKCONFIGMAP, //U16 xdata E2uiPackConfigMap @@ -638,7 +638,7 @@ line level source 591 _E2_ucDelayOCD, //U8 xdata E2ucDelayOCD 592 _E2_slOCD2vol, //S32 xdata E2slOCD2vol 593 _E2_ucDelayOCD2, //U8 xdata E2ucDelayOCD2 -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 11 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 11 594 _E2_ucDelayLoadR, //U8 xdata E2ucDelayLoadR 595 _E2_ucRamCheckFlg3, //U8 xdata E2ucRamCheckFlg3 @@ -702,7 +702,7 @@ line level source 653 }; 654 655 //*** <<< end of configuration section >>> *** -C51 COMPILER V9.01 DATAFLASH 01/23/2025 17:20:39 PAGE 12 +C51 COMPILER V9.01 DATAFLASH 02/08/2025 14:58:02 PAGE 12 diff --git a/output/DataFlash.obj b/output/DataFlash.obj index 87c2787266cb0f401583146b0c4f0b63657cd1bd..0f9be96253860e16df3bab2051fad7c24ae4c77b 100644 GIT binary patch delta 102 zcmdl#lX3q{#tF-msu-51i|NJWmzETimc+OumL$66Bo=4r BkpfYFE1c=KGwO^isKjf{-^oBdhmv$2DeGctfRJl-t8v)%y!0}CKJ delta 102 zcmdl#lX3q{#tF-mo^wu07t@Q$FD)r3Es1eSEJ<|BNi5FL%TLN;WQdGvO_iF+CB?XE t;^Q1f^~nK@K8z-t=Q3_$MB;2@WMtgz&pMxt9i*I*0j%NNW&xh{4ggCVAvyp6 diff --git a/output/Eeprom b/output/Eeprom index 05eb8d82c20321bf3dd9f9d1a0c192e6556fdcb8..a7a115d0aef6768dd4490c9a5cca2b01a9d05fb0 100644 GIT binary patch delta 100 zcmex9lkxjZ#tF+5s~DE2i|NJWmzETimc+OumL$66Bo=4r +nc3DolL5 rj8SoN7o!iO@#gD{n;4Ne8yOjeHg~elWn%#=*W!_7e7xC%XT1XeEYl)r delta 100 zcmex9lkxjZ#tF+5pL0%17t@Q$FD)r3Es1eSEJ<|BNi5FL%TLN;WQdGvO`WX6Bh9#K t;^SqE>XW+|eHcwPUuWFJh{V~*$jGv}lXWf|3s|`pk1XT4%^p1K9RPB = TIME_1S_5S) 50 3 { 51 4 bE2PRErr = 1; -C51 COMPILER V9.01 EXTE2PROM 02/07/2025 10:36:15 PAGE 2 +C51 COMPILER V9.01 EXTE2PROM 02/08/2025 15:18:20 PAGE 2 52 4 ucE2PTwiRWErrDelayCnt = TIME_1S_5S; 53 4 } @@ -126,7 +126,7 @@ line level source 111 1 if(!bE2PRErr) 112 1 { 113 2 for(i=0; i<5; i++) -C51 COMPILER V9.01 EXTE2PROM 02/07/2025 10:36:15 PAGE 3 +C51 COMPILER V9.01 EXTE2PROM 02/08/2025 15:18:20 PAGE 3 114 2 { 115 3 #ifdef TWI_Hardware_Module @@ -190,7 +190,7 @@ line level source 173 1 174 1 Result = E2PRomRead(E2PROM_BOOT_ADDR, 8, RdBuf); 175 1 -C51 COMPILER V9.01 EXTE2PROM 02/07/2025 10:36:15 PAGE 4 +C51 COMPILER V9.01 EXTE2PROM 02/08/2025 15:18:20 PAGE 4 176 1 RdBuf[2] = RdBuf[0]+RdBuf[1]; 177 1 RdBuf[6] = RdBuf[4]+RdBuf[5]; @@ -254,7 +254,7 @@ line level source 235 1 WrBuf[5] = WrBuf[1]; 236 1 WrBuf[7] = WrBuf[3]; 237 1 -C51 COMPILER V9.01 EXTE2PROM 02/07/2025 10:36:15 PAGE 5 +C51 COMPILER V9.01 EXTE2PROM 02/08/2025 15:18:20 PAGE 5 238 1 E2PRomWrite(E2PROM_BOOT_ADDR, 8, WrBuf); 239 1 } @@ -318,7 +318,7 @@ line level source 297 2 } 298 1 299 1 E2PRomBKBoot(); -C51 COMPILER V9.01 EXTE2PROM 02/07/2025 10:36:15 PAGE 6 +C51 COMPILER V9.01 EXTE2PROM 02/08/2025 15:18:20 PAGE 6 300 1 } 301 @@ -382,7 +382,7 @@ line level source 356 * º¯ÊýÃû: UartRdRTC 357 * ²Î Êý: ÎÞ 358 * ·µ»ØÖµ: ÎÞ -C51 COMPILER V9.01 EXTE2PROM 02/07/2025 10:36:15 PAGE 7 +C51 COMPILER V9.01 EXTE2PROM 02/08/2025 15:18:20 PAGE 7 359 * Ãè Êö: ¶ÁÈ¡RTCʱ¼ä£ºÃë¡¢·Ö¡¢Ê±¡¢ÈÕ¡¢Ô¡¢Ä꣬²¢·µ»Ø¸øUART 360 *************************************************************************************************/ @@ -446,7 +446,7 @@ line level source 418 2 { 419 3 bE2PErase = 0; 420 3 E2PRomErase(); -C51 COMPILER V9.01 EXTE2PROM 02/07/2025 10:36:15 PAGE 8 +C51 COMPILER V9.01 EXTE2PROM 02/08/2025 15:18:20 PAGE 8 421 3 } 422 2 @@ -510,7 +510,7 @@ line level source 480 3 } 481 2 482 2 if(bE2PBKDsgEnd) -C51 COMPILER V9.01 EXTE2PROM 02/07/2025 10:36:15 PAGE 9 +C51 COMPILER V9.01 EXTE2PROM 02/08/2025 15:18:20 PAGE 9 483 2 { 484 3 bE2PBKDsgEnd = 0; @@ -574,7 +574,7 @@ line level source 542 3 { 543 4 RTCReadTime(&RTC); 544 4 MemoryCopy((U8 xdata *)&RTC, ucRTCBuf, 7); -C51 COMPILER V9.01 EXTE2PROM 02/07/2025 10:36:15 PAGE 10 +C51 COMPILER V9.01 EXTE2PROM 02/08/2025 15:18:20 PAGE 10 545 4 } 546 3 diff --git a/output/ExtE2PRom.obj b/output/ExtE2PRom.obj index dad84d3b1ab9b0a7905f73b3a78ca2070ab32870..ae44b5227c435ed9d6e62a7bcc92b6a5401456e3 100644 GIT binary patch delta 580 zcmdn8m38(u)(s(y%r>mcH-|I2FtK#8EKi?2pV^4{57Y9^SD3FeGIDQT!|GzdICb(z zQ$5Du%?f6zOj00KObkMLF&?gtF0MiGE IF(mph!DA`Z$OB zIEDZfRd0T5p~%du$^ZfXfgpIZpp7;kuN;z4z`Z$IF72VnV*g}z+SC#<+{sTeuW 0~iUJ;vhAu9788QXs`l3_^M_9 ~*kc?DIFgcunF8MHTRS?*?H+_L$Z zHLHlbD+3Eqo(U+ BowuITGS0LUNt14pv~2(ADCrj zkc2=ELUy3U=8nvz5xmHDnQgW@lq$fhjik$G^1j#Nn-5<)%r1x=1|Y-KCQrZR&A4du z<6BAGyvQbpYz}(1M?Z~+fe~mBn_q}?e6Y`oWL_{AWHd;)F9i`CydXg!00l0{U{ZqP f^mbk`#$uMq`ENPo1sS*@24OYHX8U$2MinLi`vIxy delta 465 zcmX@Ki{ 3Uo#Wg72B`7S$(alxQBY*N`X%#l0-gG90$$~7BjCVGR z%g8hH$}&K}e;|n7>@2Uq!z+v=l(M-%dnK=+43ZEdgCK+QW-ZIzOpHf1KeJ{PF*jvk z2Ff!5#re?G383*skofGIjRMlSc!iLJQa3M)y1~UOha?oWxjXd(v#cPJ5Xb?@4$|H{ zBXem4FS6Mdo4pRD3h*i;=?a;A?zQ;l%a;zb3nKd&WSHFK<+r>UH*NlWD~X#I+2okb gNzeA^Z*LW2EMh_OB{!0>ApQ7!$+cZhno)%b0KRUI`Tzg` diff --git a/output/Initial.lst b/output/Initial.lst index be01133..d9852da 100644 --- a/output/Initial.lst +++ b/output/Initial.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 1 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE INITIAL @@ -62,7 +62,7 @@ line level source 50 2 } 51 1 else if(McuFlashCheckFlg(MCUFLASH_BK2_FLG_ADDR)) 52 1 { -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 2 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 2 53 2 McuFlashRead(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR, 512); 54 2 McuFlashWrite(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR); //¸üб¸·ÝÇø1 @@ -126,7 +126,7 @@ line level source 111 1 } 112 113 -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 3 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 3 114 /************************************************************************************************* 115 * º¯ÊýÃû: InitGPIO @@ -190,7 +190,7 @@ line level source - IO״̬:P2.[7,6,5,4,3,2,1,0]ÓÐЧ 156 P2.7CR[1], P2.6CR[0], P2.5CR[1], P2.4CR[1], P2.3CR[1], P2.2CR[0], P2.1CR[1], P2.0CR[1], P2CR = 0xB -B; IO·½Ïò:P2.[7,6,5,4,3,2,1,0]ÓÐЧ,1Êä³ö£¬0ÊäÈë -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 4 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 4 157 P2.7PC[0], P2.6PC[1], P2.5PC[0], P2.4PC[0], P2.3PC[0], P2.2PC[1], P2.1PC[1], P2.0PC[1], P2PCR = 0x -46; ÄÚ²¿ÉÏÀ:1¿ªÆô£¬0¹Ø±Õ @@ -254,7 +254,7 @@ line level source 211 1 #if (UART0_DEFINE == 6) P0 |= 0xC0; P0PCR |= 0x40; -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 5 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 5 #endif 215 1 @@ -318,7 +318,7 @@ line level source 273 1 #if (UART0_DEFINE == 17) P0 |= 0x80; P2 |= 0x20; -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 6 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 6 P0PCR |= 0x80; #endif @@ -382,7 +382,7 @@ line level source P0 |= 0x02; P2 |= 0x20; P2PCR |= 0x20; -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 7 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 7 #endif 339 1 @@ -446,7 +446,7 @@ line level source 397 1 #if (UART1_DEFINE == 9) P1 |= 0x02; P2 |= 0x40; -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 8 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 8 P2PCR |= 0x40; #endif @@ -510,7 +510,7 @@ line level source #endif 460 1 461 1 #if (UART1_DEFINE == 20) -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 9 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 9 P3 |= 0x10; P2 |= 0x80; @@ -574,7 +574,7 @@ line level source P2 |= 0xC0; P2PCR |= 0x40; #endif -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 10 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 10 524 1 525 1 //UART2Ïà¹ØIOÅäÖ㬵±Ç°demo°å´Ë´®¿Ú×öLEDµÆÏÔʾ¹¦ÄÜ£¬²»Ö§³Ö´®¿ÚͨѶ£¬¹Êdemo°åÅäÖÃΪ²»Ê¹ÄÜuart2´®¿Ú¹¦ÄÜ @@ -638,7 +638,7 @@ line level source 583 2 { 584 3 bRTCErr = 1; //ÍâÖÃRTCÄ£¿é³ö´í 585 3 } -C51 COMPILER V9.01 INITIAL 02/07/2025 10:36:14 PAGE 11 +C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 11 586 2 } 587 1 diff --git a/output/Initial.obj b/output/Initial.obj index 1e0fdba8b37c1bda873138155f5e55751b206625..edf2a7b9a701fd9b4bc4ce4c51728b88b3bda71d 100644 GIT binary patch delta 584 zcmaEHkmdX#mJNQ4%r>mcHwQ90FtK#8EKi?2mDz~p4-=3PCn~x53G-e?#(>R>SfBDR z&Ys*Mq{ryHdAm?DlQKvt6N8XmjEAeEi)&E4OHf#hqnoRq$Ie7K24VRRaZC)8*D;H; zZ%$NT0Gc*AT2zLydUJ)SAv3Qk0|fjBg5b^DBzk#x<&cCTHwUO%@(QXT2{AGVGH7p} zWwe`#bxR5>lfvYM(}g$ZnhFTJyE3o<)iD9(`O(x1qVdJh_|i!Hlbg4A*mLp9A_+xp z3YOyLRYMX9+N>T|!Xhh!Bm{C7vO6U?}23%ZqH4+2*MSb_()pBkA&)T<}?ZbJ3-L z?1IQa0WwT&a^o#;#zmXY-U{O4MK(EPv(8gB(=;9iMxa4#ej(2B!9FXJdBI$e(IDZz t6hvt7f&_s86viNfNePY9+XJN-Ggv0)9pIAXh8Tm@9GmSQ pWmJNQ4%<~GDZVqI0U}9nY(ULlODzg!bed3bz$#J5Ro1ZZ6Wn`Sac@gVV z9>!UdJB0KY{WfnGN@h|9DP>|1(u?tMb#!qJigyVLi*a;w)$_ PC;H}BwZns8$OF~Zo2f3 zT@cytAj9M)PrT*LxM}m %y8WaSV>%0xFS(J71?k7 mcH-|I2FtK#8EKi?2pV^4{57Y9^SD3FeGH% 7igVmw?OU0j3WU4p`59Nk>?Ja$gb IF(mph!DA`Z$OB zIEDZfRd3$NtH{i&$^ZfXfgpJEeSwcWymClFk(=+z9_A5LK@wtQ5M ou(vPeQvn^${p;^I|95(?U!6?TAG zRt8B3 H^WMuV_3C*T7=Z?{`Gq*g2m7o@<^^*>MuUX=QV_ww3lanZP@sYg zCM6h7CkcSf;{rxyytAv1kFn2Ah*jI`m>7RCPgaQHlI4b&kJSR3?d#bXe=!08^%b)= delta 477 zcmbO*iDl(PmJK0{%<~JEZVqR3VPawZ(ULlOKC= GjJiNk4LMfZ?${ywsltB_=WDsOf-n>z3HxuKL z&AGa+LX+cPaOev%@S&*@K;w%b@!2>3wBO3jD}*GJx_P(vCN5q%B%!FyRbdC1Wd)Ih zK$asrMtgI3)T}UGWV0 >#$Sv8X>Xh! diff --git a/output/InterruptApp.lst b/output/InterruptApp.lst index e952aab..9130570 100644 --- a/output/InterruptApp.lst +++ b/output/InterruptApp.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 INTERRUPTAPP 02/07/2025 10:36:14 PAGE 1 +C51 COMPILER V9.01 INTERRUPTAPP 02/08/2025 15:18:20 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE INTERRUPTAPP @@ -62,7 +62,7 @@ line level source 50 *************************************************************************************************/ 51 void InterruptTimer3App(void) 52 { -C51 COMPILER V9.01 INTERRUPTAPP 02/07/2025 10:36:14 PAGE 2 +C51 COMPILER V9.01 INTERRUPTAPP 02/08/2025 15:18:20 PAGE 2 53 1 54 1 bTimer5msFlg = 1; //5ms±ê־ΪԤÁô±êÖ¾ diff --git a/output/InterruptApp.obj b/output/InterruptApp.obj index 145663fe30ea39c38fb9fc1fed976832413702e9..6102fb130ef5a67192389084c204626aed7fa9b8 100644 GIT binary patch delta 570 zcmaFR$#T4lWkW0@vkmL=%?XTNOe|e2%hM;XV>V*`!?b+!W9I9Oj5V8gv&ykDmQKFK zrN>yjnUgz%NeZNji9tv>3Uo#Wg72B`7S$(alxQW9Q^ #L?l|vGW-0Us;m`6|rNr;g_kU@L1z1D6f#x0wF z>!b>~yE3o<<(Yuu{AlU~(fDF$d}$>9$<5R4uXFOsA_+xpuJ+X6;#ETu3fjCO_yV)6 z43ZGYLC6l2*gQ9UQYbI7U1pnY)`|-7Y9s0LnVfiAd~@mE#q5H}VE{5rZL;Q3Z^lKN zOOMXt;zc$&WV6hLI=wU=21cMkYgkkKIFz7#}o@PY(^02H_&gGmXF f)0=1h6K0w0(8e)+3lpOdFS1^n?T?ul|1tsqL-ebs delta 487 zcmX@!#qyw&WkW0@^Sr{Pn-dtlm{?eUw4_d6$85x8pE#M3MR@a9=A(>^$2ae0m1AWr znS6^&kFjJkCwB&u6i6WxgOFZ~hpVHDYf!vPP*{wko2#Bj{^V|66$SgmCFx8I5-8Hn zjy}$zK8_(kMRzuz=T&6pm1Tf{|3DDE`LBQ@53ewiP|9X+*~dJBGDt#<41x^Go9(rB zGcg|7{97kg$lR2H87R*L6z4-zCxFHmLE^J-UT%M#lUE2yD0OqUrv?|V9FkDf<^#bO zm}Lc#gg_2Jc98bwwc(ROd6CVw*zB`bRDf3*Nmt0^!rS7TTlX$z7ew|m$S}FdmPfrA rH*Ib`I*W@J+2okbIv48nHVgh2VnOmGH 9)NfVaU diff --git a/output/KeyApp.lst b/output/KeyApp.lst index afaafc0..abc610b 100644 --- a/output/KeyApp.lst +++ b/output/KeyApp.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 KEYAPP 02/07/2025 10:36:14 PAGE 1 +C51 COMPILER V9.01 KEYAPP 02/08/2025 15:18:20 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE KEYAPP @@ -62,7 +62,7 @@ line level source 50 1 { 51 2 bSlowDischarge = 0; 52 2 bMidDischarge = 0; -C51 COMPILER V9.01 KEYAPP 02/07/2025 10:36:14 PAGE 2 +C51 COMPILER V9.01 KEYAPP 02/08/2025 15:18:20 PAGE 2 53 2 bFastDischarge = 0; 54 2 } diff --git a/output/KeyApp.obj b/output/KeyApp.obj index 5bf27c693730ecc5b4d267e44c15bba53acc6da7..3fde843aed26eabe12106c7ff9d114867ebf281c 100644 GIT binary patch delta 536 zcmaFV%W|@hWrH^(vkmL=&3=q_Oe|e2%hM-MU^Zg@!?b+!QReH6jHa9CvKp{4mQ6m# zt;blj`7d`8lN3l56N8XmjEAeEi)&E4OHf#hqnoRq$Ii)>d@3NllNa#GFjjBg%csc9 ztI7ZY|A8QQ^J_r?9$q;lp~%e~a))^YRgi=j83Y-$H{a3P&BVB6^9)^Ap~>>UIP3)( z_|en|qVdJh_|i!Hlbb~xwsZ2zA_+xpzTp|c#jA!S6tvkk p+43ZGYG02XS*lZQy z7{-fim)Yiyby)(u+DN*5CMVt&-z>KOAG;v3|3QYSO;$bb&A4cD;qh5qyvQbpY?ioG zrN_s^zz8&m%`e0`KGo81HP}%csc9 zE6V@@|A8QS^J_r?9$sN2p_I)Wa))^YWsrmz83Y-WH{a3P&BS >%yUUJ;IA zyvSx-Y@V?$OMq7yNmt0^!rS7T)%O2m7ew|m$S}FdrpLV*H*Ib_K8uSN+2okb8kef{ hwsSHv3b8N)eK}o@l~G&}!&8$F%86|EVrBf#2ml0lh^hbp diff --git a/output/KeyScan.lst b/output/KeyScan.lst index ef6fee4..005c2f5 100644 --- a/output/KeyScan.lst +++ b/output/KeyScan.lst @@ -1,4 +1,4 @@ -C51 COMPILER V9.01 KEYSCAN 02/07/2025 10:36:15 PAGE 1 +C51 COMPILER V9.01 KEYSCAN 02/08/2025 15:18:20 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE KEYSCAN @@ -62,7 +62,7 @@ line level source 50 2 else if(!KEY_2_IO_RD) 51 2 { 52 3 ucKeyValueBK = KEYVAL_2; //°´¼ü°´Ïº󣬻ñȡмüÖµ -C51 COMPILER V9.01 KEYSCAN 02/07/2025 10:36:15 PAGE 2 +C51 COMPILER V9.01 KEYSCAN 02/08/2025 15:18:20 PAGE 2 53 3 } 54 2 #endif @@ -126,7 +126,7 @@ line level source 103 4 if(uiKeyValidCnt == KEY_L_TIME) //µ±°´ÏÂʱ¼ä´ïµ½³¤°´Â˲¨Ê±¼äʱ£¬ÈÏΪ´Ë°´¼üΪ³¤°´¼ü 104 4 { 105 5 ucKeyValue = ucKeyOldValue | KEY_STATE_L; -C51 COMPILER V9.01 KEYSCAN 02/07/2025 10:36:15 PAGE 3 +C51 COMPILER V9.01 KEYSCAN 02/08/2025 15:18:20 PAGE 3 106 5 bKeyFlg = 1; 107 5 } diff --git a/output/KeyScan.obj b/output/KeyScan.obj index f9a0a04ff23f01be47f7170b5ea27690f348c1ea..73b15b94a811621b07071d2c00d3f62374b7933e 100644 GIT binary patch delta 519 zcmeC`WBJ&}vcZp$*@kub=0HXVCYCOi<>`~BG8-}fVOqZV6!UdPMuW|ZSZ}g2mQJqW z)?+N*yqY_iNeZNji9tv>3Uo#Wg72B`7S$(alxQW9MWIJ{6GO$^LvYjMbZS_!OCW zRT&`QKM(|Oo+Y?}n^z7=C~|YStTeBn3X%{bgCK+U=4P$kOpIGL+v~m(n!GQZ!(Nbq zA5D!Q8ea^JFO9@MxjDhXor_l%NhoUb7B3DiUNt14pv@;kJ}}G5APIpSgX}no&DSEn zhw&oYWw!a&dQ$;jZ6sYjn`I8{Vi!dAJIEll$i~_vKdTq7~u`>Q( F1OV|sqrw0H delta 445 zcmey^$I{iuvcZp$d4A#2&4G*#Of0NFT2d!ZWj12APh7J36!UdP#;VPWSZ}g2mQ1eU z)?+N$yqY_iNeZNji9tv>3Uo#Wg72B`7S$(alxQBY(06p9+(G;^aa;(aCq1IT-J3 z&f!yJ=9OiDfd4=cy?K`425w$qB%zee;j+@af-*=#j0}Pd%A1?Db~7;^*=(=-N@#Mw zC5OHs10R|i0W`h{5}$o@frC32uMm<@>gFR}99+C|NJ3GYZ-#temK8)20$Gmi812o^ zBEE<5BAaco`PF(;0bXS!T_Kxw4(wtVMD{DlAi2rkk9#w2+U$Jd78ftFsWF?iF0a?! h?!d?>!~*i2vLFLDl5rrt7`~e %7RmJLpf%r>mcH@h-gFtK#8EKi@@$ZW*?hiUodZOqph8Gmo?V?D^mSUov_ zM~^Xgb3IQy6B|es69Z74Fyqe2KloHYswd0y%P>}Nw&7P~=2c~Yfd4=cyg5r~12?Z6 zl2GJkb-6>lf+|Qtj0}Pd+M9oA?`C4$vU!`{F`>!l7jxJPGVr6R5k%vQq4A}W_$N1S zcC_K*l|>SY+Wg0xgNs)UNhoNuVAug>Ss5fDkYkV?C$afmq;5DbvR!7IH8zS0@M x+ov)y3bRbEtLKmxWZ=eQlFjz}Y>X^S0DJbM?EnA( delta 439 zcmX>#iRJM`mJLpf%<~GDZgyp~U}9nY(ULm3k=cmZK5@zBZOqph8QnJbu^wb&tePCa zqsN%Hxt=GUi4CNRi2 zh~Atfw1Jyf7)dB)v%1_NUO^coAw~v42IbAaw0AQx9@)H2@0ieJ` Bm}Y?*)iIi|3&JC^CFvVvDspy zr~t1rlCF@+`=5z#E c|!IYKlAs_KBaDC5q_*ThvoY9}j5h;TZG`Z$KT>UmUemXc6p=2c~Yfd4=cyxBwg z3J z)Cr>T#nAZD zNc@wV*ZSCU@ya3zMQ#2b*2K-Lh9nfUxh=_;MOFq$2;?AS2TE-IkhU^{QEc)AZ;8#D z_O}S}Y9p!knJn;5d~?*L#q5H}eg_$%Hkt31H{+tsQMYDs@gkcTvYGLzl~EcG10&EN zHop+(_+XzE$-H1L$Y_voUkV}^ctL_d018x)!K4Jk>FrkHjLIz2A22d @~ delta 435 zcmeyeo27R*%Z5Nk=J|z7H-|7fF|n}zXi1$si`j_TK5@zB^UT*787nt0XKmzX?4GPC zs>c|+IYKlAs_KBaC}aNQYvL+Q_KB0_B}6%$Lwy`WT=hKeY?hKxWagD+fPnu%5WU$$ z`U(%PFp^NpW=#z_UO^coAw~v42Ib8Wrn{LKk8BpPND`SY!^y~@FUY`$rbqydFM`Bp z-@MnymWx*iNhozQdw3H!uN;z4)aGePzAV#Q#2E#6k)5EuDSc%GFS2 #w}0hG-_gkhV(JsZr-EGr82RBCRi zxi6@<+(om^%FwLLS2341O SeJlTU@ HMf%U8^toH&(fK+ecP;N!1EZ zkLo4udpA7ovks4Z+STfS;KmwH?DEJO*HkUHcvQdJJ*?qAik^>rTF;mJdsSOQBbZ2i z m74(Cmb(E2mb(MAFZUqugzi;c*Lyo` z00YxZd76+Szm#n^YKly@uT14prm{( k$ z02rCp3t&uIAApRsFo4XoaDbe&egKxVfdKhwu>|n|g=q-{i2y}u;{i(2EC9B&2>_GQ zCIU=ND@X>IkyZ%sL|PHR?6hKn5`d@EN(r!Y=B1Sb%uky}FazMlw3z@er#S!?rp*F) zC2cmq; = 4CLhI(x$w=&$Hb~vG1n`Nx$w2g z$I`|$zCrouRrTd(z8)5AEY%rbq P45gtEBqxbiRW8UU48)IQcw~FHJghT${?c-|y_D>hzy~(6CP2VNkUfal}F@ zUm*xRopAoh2R%BOySggu{P iJf_=;Hr}n0)+_;XNU9pXy?6hhR38s zhE{f+{CyZtoaAy-{yJ2uaPdxQ$UTH_^J*E%yKGXcd3^_VOwKS^I@FP!Y{)Q(v;N`+ z`E-o5t-ts!le%|dFDv9RY2k-Fb-N@-ch*_O&wZiEkm{0Et^&VPqg6|7!kO8fpZZxd zO?o?leV~?0 &pu(|%QycIr9N=*an6LCz4m+iCLi!{h)ZMYtiW$n?YS#znDb1F4 zyfn4-aJEv4|J+!s gdgdY!_^JH5dAO6QgdISri`FP;C@xJ4m1D~|iGRxIY@ zB27A<0gW|nY7UaChUQ?KoTa1%teajg6D=K5m=YK--J{S*XO}ZyowEU3k9`n7B04iA z_D#Oc&&?YLIdU5Lpr-$WLH?n{-trArNF6sbGvkT3H99_ZMN1=d<^Fw4?tIKAhHUBi z5^X-?A%jF6_pMPl^Q=@)B`?{=@`VLu{L5|3?&4SIuO3!Bv3z7UlI5EvJbgRs;iAcF zE1#U0Z3VcJ$d_(sVO?X4IuO*u;)jhGIUxC ?k!f}-#F-pk*aA6Jp%=2G z!j=FDg*cm&3R?q=D#ZCZrVy!ZdZ8accA-DK&!<*1v*Svl klA@83Bn<+X+&c;1!sMhO0Mn9&0!&XD z1~4b-F@oU$&m l@2(Tx=;rD!Hw!1hjnePUb7%;Nd%2 z=k&|wQFy 1;F;G>0N=ch0+{o9<_Qp(*IR%td7%Py%L@~r zcV1tDZ~;Q|A_)2k5S|w)Kz~#u5C#Ykoi~smT7W@$F$9AJh|e2BFjRoVykP{75yT3R zk{2gD#r-Ab&ld9mN0nVzoMe+&?mv-nIto(8UZ!Dx7H*z5{H@Tk8ReG@7af07P#dJ; zkJu^g-%Ba&-Tq&ga~0#p7d#H}gL4%+e$dtFuvA&k+NhgzXO7%?Ecf$P>Uf7wwFarn z4YpSIXNJ6sZ$6{-lC~;@HIL-TuB$!5goegF ?J%lIzpixS*4hp{rf58;oj|e>kR>+4Q70lsQVEUX9 z6N@aiZuY@eoa!!RX4A0Za*NG2skB_a&|^SpDJYA8IW=VL6;ec5ck$Inh2DO-ijX{S zc|z7&%-42AImu_#O=md& H9N9-15=Xx>B#xcSkT`ZOL*f`* zhQzUJ*+7CAfbM03pu*?@qG?$C2=4lx(2>76!o8bR_?|G~pG_q0IO22T&+{l<;IA)r zR!awu3+J@|d`h{T6)OJ2lo~Edl|C+>Osf3QThFAv@3-!$tcu#B<5BN;?UPbJZoO0? zW!)6Ah5z}?a}oHo&rQavv>%*#*tf3ki=x#^X`G-aQ#PNG_vPgp>66yZgG8QqQ>l@n zoE1le<`YvwN%{CAry~l;RxRJ(*IUCUw>CIS6>Sv8*k&{F`5``~N~uopd|DwBh(+%i zW29qt#pVA?@vz$|*Kj2-dd|}z`OH d4QB(-@OIJgTPFlBsoRT+ z4}$(z^An{sH|1YU#Z3nlzcZn&mA_e|m@=>om@X&QGCpRaJQbBTnsN>4fmVw=JFnTy zIy^IAQh7;29&+bnnQbYJB}%Q?)0Xh;!-{rvzj=ohkq)K#DV$DitteKtwR#h@1PHRC zY!zfh*{Z7*Wvi}Ml&wOoz62;>g WLi<$$<|s?+{w0fhs`|kh@yS+HCsrTOQqOfp7rBt z*4LDo73MIk<24&j>T5Qf)YokN0DiXN%>LPiGyAp;XZCFy&g{E3oY~BdvJbQ4^k()! zs5`xXMA1L&SY}8k_ewFMk+|qD*00=I{qoKVp=M`@&8brCCtnbwgp2hdWkHof&$>IS z>h7AXZE;>H%nsW%U!ww)@SRFT6Hb;n)@)=7>{yhRj%6khi~#r~GnHT@!0F6U1fv1Y zWTMD)J`+Wz^O-0zUC2a{=|bi>fJ>Q~1la)JX66v&0{oIWp1^{VVJ1@9>zVlkC{Q`B zXQD85Jrjkg8<`~pr6?q2l@XvwuE;7Um;|87noKa2U>XWeS9hhQ!e&8%kt%vtkLqRM)fpxtwX^9f!cc#+^Gf+~WA z)F+GJW&ZS0g&&*IAdVDCr;aKz{~;CK`=R1tDthRcVyphIN$1Rb_dKOE`>bN0`fp?q zr|%R;P5*OB*ik9ft5nZ3>AX^DVSi2i3N*@})PE* YPmPjQrpTl$U&;QFeX=(VMG~ z&c38{>HPnLz%4tZbQXjGC49?arI(PI!QVfuY|EbKR~wV+BT9c^loRiCMA^zQ$|+i6 z=8KhzyY;m}l`v19r j*Y^AqNcNHa1s+>z2`co29Zp~*lMGB*Qh zoh1WlU491Ay8H~Jb;TJ->xwgw)|F-;t+Qnyt$Q-V50#`0q;*ecAgy~o18Lp!V=|D~ zRc0WudpQG%-LecMb}KWG*saPyI=3nV>D-$cNaxmPAf4Nt(FI^%1`@k{8A$B*XP{QM zKLZ7qgBd8e)MWGmIFf n8*WKFcFmX)q-eP%NYN}M$pCpJNY?U7Qn8mx zkgOG!AXzIcL9$j S&%!kT{Xah$xY)4-4i-$&f@tE@5-&2VimE_#hHRnIrQy&tm zrd(5giRO_1-mv&c-394}UoV#;p*h89&|vQPdNgV<`<3D)ZF8zYCPjZ<>7i=Lx0bb3 z^3vliG}3R*;;WAmo;d0<$9dg18Vx_?f%csFB(iKy5j4^&H*t7sGfHxKqUd-8CE3aN zj{)9lsmly;%-<+9XFWVWP?GfJ#m5-k{di=QyH2WqT6{rluFy0}QK+P8cw)ZJ#J7&n zDtY~UG?aIJK|J;UMT(LRh|vPe<$oL!!;{5gKbMqg_Hs)RYB41#R*MDs>8KQcr`VDy zi6v7kw&;9IZXqbglW>(7J&07D#28t)x=?6#Y08yoE6KIk?KtlX`7sma6n{%yU3nI`tG-B`P+_G3q>$u`PlKWMVY%a>NwS1NwP{~P%Kd%ZbAmgQCz zI*_cbBJ 4kwT ^nyRF_FwyG+vBWt7(7J3A7o zAM8k AF1*2JnO ?g1@>^EvYPLZAn>8Pw-jiTIY zxvOfn)NHKTbn*HZjtaB@)owAB_e2TOfkaX)M*1ZdBmEMKQ6f_pBmL4ABk3{}Bk6J} zMv2V580nX1G14#ZVx(WKi;;e{E*_79QLzOe!moG&ibusLmzj$v5)`25Q)~t3SX_)M zX7OZHF^i`FgcPF))~gsrus+2z0Qwd`4jXu{cf_EeQ7Iwgo&BO!elZF(xz>zFVjkk@ zUJ0G*?pBK5)uHaYEUMsIJ)ZU} 30? =;Ej~k0DDu`5Ud6GAmvShbvU|G)&qQ;vVmYD4zZNY1Y2;NrEDeG z2BC=C0X|FFL9i3YUCJ&LuTvy~w*dZ?vYTKJj=+??02fpC5$p$lv@M81jthl;dF}ji z+tzGZIn6fRR${Z*Vr@k>YZS`<-`9;dWr;LUI@E5da0|)R)s~PG)qc4`6_Teg6^o|A zRpxQ#={STg6uyfBeBpZp@8fVS{D9y?9J7VTPzJYtMDQ^VFzY8MgIkXie2Pq2XRXCy zW<7z!%zBdGGc;OQPvL;Geh$#W`UMU+>z6pztfvXS0`Rq-AvlYp%z6&K;orO~c4G4z z_-BSR;5~8tKjfc5ABhj~PpR9-;>o|U^r39sMk#$#CuaYhY>i&XeS)<6s<_(qf6gge z2xQXJNT-yl+Ygx+_?EpbBBa(j)nNT2n52YEGD!I-u^PEzM@7S3bv~-8&H3PTyK1%T z|D8mQh69wS$qOk<)UivPTT9Qrq drqZ@2%UXnj)A zV7lyjSTORsA2bH;^RcSqqwNV?+rw=DuivP@vFMOEq`})$a9rghjLYZqj;n?;yBr9? zzdNp)>i EFh)POAC}$0qP4Csp3UhecdE zsR|Nijpmn5s`A*=JoYn{SK=I7rBbLX)zmDR^lDn|ax;D2#m|*8ubX2-)-cB=->wvC zrLBy>h8lzoMTaWeB!bCEI&H`}Ub9VwK)&NM)zBWZMpp`N{Ybu~LbN?FxMJ1 Af`i zZFFdjM$&tAG*aEGqmk (Q*lqyZ=JeH66Toox`{W8CIZksvuekEQU zi@p`I=XM^8!DyYwY6$cUdX6;^I5Frw)|tSC!N9Rb0#^ou#+n$68tcX&W2`%a%&{H} zW{hpY;Ki|C>>_XRg{p_?*n~fIPR19ic8>8i(GT^BIl-KbH8?gQjUl8HWH7ioVJyKo z2G=KK5@a#>V?s8A+Y@pau>4$t@eCCC7J@tmVm`*581nNOIOStRqf>q%1NVF@K@qDn zdV%PXI)HcoLgmKYzf`p`wJiEm4P(Akbsl(A_O-Pv+R1Q!?IMscPOs=Kg0~q&7wy3w zDB8;)wrC%NxS|6D2N{egIz&*zYWcP=RihoxgjXsV+ORq}g`Z*JXN2%Gitsba@H1lg z8CCchb@&-g_!({Z8D02QefVudgy 0(sAC*eA^-a9i&b~ZS=HT2VV68pC?B GvRj$&}DxnoDm2F3IQBv!j<$@ zBv28k2{Z&+0-XR?!u0}N4R<1N7U0)#7Xhw^yAqfLxE1au!0m7k0#5;y5iJA|BfJUF z%V>x|FQZe04*_}^-6MPj@QCmyK!0QF2uE81d?Eq~+6fR4(H{Mc5$JjhjOZjlP()_| zf+K G3V1CinIJ_m-{{6~{!7)xabxhqm205WG#-`LXV;ZvDTE=_l}csZ-HW$w z- V+u%fP1SXGy0kkd(5;^Gq;I2LiL+J-JO{;A7a%3XG2@L~nr7`%jFsRCLL zd7WS-cFK@9u-QXa6Rc6diXm$iuyV*cgrFho74XK84GP#WWTOJM57|VpSpn5Uwi0Yp z!0sX2391!QJo%ieyW_(@5ya*_wo~oeSWmw{)iYiunjaSJQox5r62V&-b5Zm*!EOco zShPn0*NgTk;8xLo1>7z=NN@;E`o%Q_hZRLeuBcN52NqlY!)q%IsGY`B>r|bFd}EFV z1xhpBlnC7kdMM#VOHYDcN_ffATM2Ji`Y2(8B}@t1Eq#?xZHXZ0r-a>>{sfWA*Z9#o zRfoVm|LD1H=kd7< bwMkMCEb*)Ol53)8aqRq2uROA#56FU#mRFr`{)$Kj&clXfn2Van431!X|>P zO4ysTjbOVH_T^L)>`=mIIXjhbI%gMFDMwPmg`BsP@O{qPO86mX55Zm~{G79oV88Mf zpYgRS$? QG}2LR|1m=JrdkR=$YV7;2}bv1c#>xp$RPryhI33@D?E=p%p=E5h4?O zM2JdgL*OgIxCB2DvJ?D8$Vo60v=yNuAwY!L34tO!mC&A`g9y(hbR_5`!t)88MR+kG zNQ6ZR!6NX4t^^?>yq?gFpu4C?>_K09ij2>?s2WcK^EVe&MO^}CR4Q)P-Q6L&5)m7( zE>#G9ebF#~v)+7dyb7sXU*AflST|lJU*Jz(QY{ezXK=sEs;-V-?{}(iU-NYH5ahj5 z=xz~V55YbW_J f=^U1F8R0$vXVblK~C}s1V{2o6^u{*Oa*z#rwBe* zL4NWVDkx3 LeL^7_Gds%pmq^E)`zzm5ep0wX}(>*rVnfl>|nIFUf52A4Rs8eHQv zYH*9ws-Z=kP7U61dNs6)GpNBQ&Pffvan5S+k24aus-b K44F5-*7Szo)PX1V!!b5|nj zw(e?#9t1tru*TMlptl;{wDnQLMq8*Fw%Wo7`l@&E{XeJz*h>w@s8N#Xis~Q6o$*`s zs)vnH>}OREr$0M-nfu@PbzMBwA9?<_Rws^u-`~iVAU^pIrL$!0qCTVlvrpz6->Y)b zNOgVHj~o7MX-ek@|3H_@u_5X>@h{9x! w_?U=7XJ0;o_P%n{>rZg%h&C;luG)tpu(kzX-NwYL6C(Y8RoHR?L zc0z{(njVPyiF`DrQ9)^zMh&G|8da2LY1C1grBO*~mPQ?;SsGOfJh1iixziPOTeeK< zc11nEB^p-ut2B}9Ietf_@nui&Hfqf(_L=lk5BD*QJEx-u?eaSGrFGM4e)4~=vGb6b z%SSKP(3!~1<>Lt+t<%hA!94p_jLnpXNr7H-%Je@n_;C#8TOrl8(fso0h#@atze2#c zsRN?36cwQ9>%v}dn5d6Q>w9Saq1RQy1u!8G1&ET{)t|Ra)|j}a2;-$(`f6PN+KS9^ zk;_GC>rhRI)89 n=s}XR3rb zsr<)D+Wx^~fN64~2gF3nzRPmEzh*$51(So&Bze|q)(#jvDB5b1FGkw !U;Q{ zJz3j!cp5Nu4(1+&rb=Zx-DhOeeO6dIYp^65W+@nSlr7khNw>9T+lnyA48tt!U9@;& zRLlrUDl_;`leO-qZMG0yCKih;u}7Dq%j}??x0s@B>vqH5Lw~P4RV?1l F_pGefhQ?_TEOSaQ=iw2d#WI#~O;a&9e;5w$g3c93fnRxzLnqkDyvmak{Hu@8{C2 zG@Yy*+h30-le3E&JiZWakEC3&CE4RSo2vDVSy~#c!xN1zV1PR#V$_(X %@ymUT(sEHDFg zwcLZ$r>t5Kb(1EJ%pRXRvS?!QBBL`1@`FYViyk^Cdbp%&Lk|zhaIF-!$t+!r($}Vy zi}mOV6t>lyZ^}z40&SfsTM$7oKnGhFgl@L3xO%`ALV%|CUN*G0huV4&^aKdA^(N>8 z(BBqH5C)fd$u#Yl;mZ;#g+tfsS6!`N^?m)SAL`>!geRl4AJRPK2w ^d*z7gmorw5n0{Y#7?x=6E6Zrh5~Aq|F$DPHw z_zS)E^1Zmiw#B^j)LLz#Gg~V~_ z%u7Viur4tRz$p(++kR=>{c&v%NB8umo<7{Xrz@%(dv)^tUi~HAJV$nQ&P#uS z?&Kh-0C+Wh7J7EmXQL}O{V9SuxW*&>X#(^xf0jNU;EVL<30^?wZ2F7nmrZ|(;AI?d z=hCat9h<%Y;G6V?0N {7gJG>SJ%#D4y7q!8J!v7c<_vQf|+bHXRWJ=&Y{2gtaUB= zXszgP{=vEqLkg_u^SEwBpT{lhMvMd~+JqsJMVrwHTeO8>D{5HYMcZIIe|@GloXF`{ zGqpvI4m~c;2%OG-zhP?EXOnuP>Pn@snH)5)-|s%%NVDBM51&0J6}=*JQqdtjCl&o6 z&!!##cp>#5z)Puza1Co}4X&L@J&a^3^$7aOQ{TZjvecs(sFC_Ex?fV!!MrK;1B}r~ z{gB`ofRy?X&d>K#KPLDDUFNCB2|filky?wMnA8(ET1TG5#*9SYvTo!lg3sYS{>KyA z7)Qzj6Z9a?%7Plzvqa2lQ!0gn<%)X5y1VZ6*RpKbuWM%N9k?8ASz<<|a6rCzpziL8 z1^UEzytr?sfG-3u)ZKjoX0U)&zyH`%xM>Rb<94O6uWqO4R{loUrc-E_-;ah)L!|?= zk5^|YYf>uoR5U=SuUKD`5|Z*vg;4R-%9PCe9r#o#Qm>`hfp SbIL zl=>}Bz0~grzQ+ld`UAlgjJim@O7J5thf1vn7@ztR!OsBJ)L#%1Qh!CiW9oH)($s$w z{6=sC*F>fMPVfi8EnJbDdYj-5hCQU-B|s8ak;(`JT Kuw6}afg94(KN6;^a> zt+1k7YlRivTAQtI1nAb Pz6q z;6tlFgO99cg0>7kwFVFbGB{zy1;Qt+9T=Rpb|mP;;9u6x1VIGBOu?tj(#9l4()-^% zQ*h8rPSjNjyKzO^>iX;L4%~l3BW-5AIS}7aq^&nY=tB^O{wP~tf^Y^SZ4m_h*e$Mq zQXA{299t>ul?T$^hJlpW@DzC<;i*3jq}_iWNPBP~8SyqWjx@Ap%YZR5l%}z?X4L)a z)sHnlEju )QnLPP5BS!0F4SQ)R zx(k< YNDudm&X$;=6O=myzmQQIr_7v=Lby&0NWSU!H zal!r+LzqMGGy|=DE_y2M*mw%2V2|Jw4=-BknXS87Y_aus_GZ!# 9i ;W0hYZT?#|S<`x3~Rc22a~RVQqN)Tr4?P zE;&NotmJ;V H4tM*fD312lA+xc3 283v4M*d`8=@ z=fQ?&YMPZ?AeTI7zr;{QxJ>X3gLm!UGN`qG$Nc#EXK-MjXn5vt%}PEgmpoy=g0#+l zmEcFDb@povF4^l*3s%q5hWEIECD+u+6KV~1E%7;Xu3Yej{dWd8>^BMiU~tEN3#Uc- zZMK?Eny2k6jI!}<^R(_}%x{+SkFwpxFa#TVhez4aJDg(^1Sqm8gg5v%^R#BRs6p#a zmcpLZ{-bpeHTeo^?c%0~x!#my38o1v8 zosvh{TPmgZS8882{FUl0?ifEu=pea%r%(&rxT%ejZz 8}m&|gq(`AuSF00C2DHUYuQq;|j0}lj6OBfWrw+*Z0PIGm> zYyl6JKcu+1x@g8ekzRU6_b>PVkpY4B19(p$BaV@`TkP%3|436CrQGGZIe)c1z%wg# zn*}zG_gSqovrL}0TIVA~mGfzu4NK1sm-5e6>pHM(erL6= > w?jM?s%2NL@g1)Gs^baS9zzE{Vegyqd433N>hyoZLIRMvk zL=Gf~# ++*a`m;I73!KC?DEk1l_{(4_fbi)`QLK< zc{oK`hf|bwc<~s3eiUULRh&UE79g5Jt)q*_X5!M6;w%DeaVo`Hrxxd;F^OWWbBZkl zc__kDy!CjBx6Y$b>%8JZ>{g1mE-Ee}C?+T&s33R}ySjKbT;&JX=^}*=v7D{P36;bB z*XulWvFH6V6(LzOLbCaQ^}6m3YYy#9A=KB7Gt(DEz1dV89u;yCw|r>0q^#ebEuT}< zb+oNC>|}u_8@|+J)@0R;d+vT0oR2lHkt44=#8#rEB^K4+4zZ}|4vs}lcW^9fx GBW{BfyO{vh*A1~-Q7ez#PEd{8FU0O3*oi7+>@FN_u@Y{l68n~e@NG21 z#qJ^43-C_tK7#!KAI2U)-7@wNK@C7{>|wN)#G;;hGWH$R^<&>9cn_liW8cT1>(~!) zxW;~nOB`d55qw1OF)TAWfv6ieAhvOl!)2o@2+laMN2DglC&csm4LY6UaA}BW_Ve_u z6#K{nEI7)&Jh 1AADS^5pZw*=o2d=D5bJ8h$`b4XOVslTtO^sp(m z1ImdcTSt|n>KIjys$*0+YL3z6s5A~Pzk#-z^50<_Ke Ub{xS-3|KE#i4+l4j_+b$$lxf}WM)#!S (J2%{yGU>%p`j4C*GR6OgEq`#a<96Mjxh<|~JUT=F zu7*wJFFd99#gENT>3gtOrETS{UKXVCx%z2-|3fx=T;Ru#F%7X<7yf*zR?S0v+%(eH z>-E8Z#cQ{0)cXp;>0*9-v%V)A+YpG|dW*idurQ8~*rM+td=bRwZPB;sd%C!-i+v(S zGmo$omEtOIyQLiMo4o=IWbw|n=1!tOXI$ bv=e zPUt{J@*$RT`SQl-j!sSa>CToMp0-urPW?sDi%-5V`xu|QRo}yivhkUqClrovH$Ay= zwy8r8{=rs#D@VINX#c@Lvx^Sh9b&Thz2JnY-OVT;`FqmgYYTLDe_Q}}t}cMvR~A4+ z7O8UJ?#9R)jDl+@g{=7|uFDYilxuPFU#J(ld{`O1{^4A7??gG5Gv=yt$k~L)QSsYd zk8z*7Db8--y#UdBH VP?iPl>-p0CX z@3oj`Zr6Kzwd=D%y &W;9#}w TtO @O zOsq{o_5M|~wVBZl7A4eBaxo?Y?kAUGvRz~HlG}*|Vw4MJT83vkG@f0V^4|R_U(LsL z&$LWwO@2N-VIn~RF8s^4f(3Tw7hybqKFUl|KFUl|ekm^S%P%89QgJljPB00(E`Kt? z6lC)GQwgTwkjS4-FauXR w(69f)|Ss47E|0FEtvv%qSdTfj~<*$iS2r+0U zezjpIg`h9^7d!O |NQ7IOf{Pz;JPU1Ly+=@#=T!3kWe6>}2#d`$djxba@hDT2?Dkj8w8>*iw4 zqb)h+0-BOzuArSb<|@ID02MLU@KwkBMDR0u{9=9~K*3>N%yoi)!xmm5=`*_KMj}}= zwLgQk0knfRenX!f)ZU(z4Qe(}Ym$y{OmtO-b)NGOFw j)jp-ns`sx#W#qJjv58I(nJMN3*#2thY|dQ^9OdQ>k4&qnoQ@Jdu9+PtEM z5DX<4#t!gfZ|jqZAN%dryBp#oiEo^y-YMo$yY=29&&c2JF`fpU6Z`1m41s8Q!I^tR z{aV0=KYr|~yLqwS?-wI(R0 *{Me-P`bu z#x>rju}tkoGo8TV@|3LI==DIq_A#fLZ(+Z_+p8Q6kiF2_{%$Wcw13)b8VW$YX5eV- z^*F&y20!(Bg22HX5Y>AYgS6gHGO+ZXP4E -b)$$(t8;$N$S0p;7tbq z?!AtIvCn#hggzT^#ZaG(1e+N6^x4e7x6c+dxcAw{pi`f>@um0K!yvTJVS*zJ!ulK~ zcn>Y>eU9VGqCRLP9?}QRyhHkY#opw?etoCWU)fC76*cLm$XrwO#*i^$%@|X!cg-Kl zG525DE;9Jac8LJ3wP$VLVx4W@VV!N?qX)%yg~4~Ws|09_{lRvP!H>3jf}hx2{uJIF zKWP6teRg(hc{_4+L(qogEc2gk+3T-hfxPQiEqr~j?fAZ$g6GiajA@}Uy_+`gMMY_u zkEf2izpFR$In^d(uoGs%zs7hw+&K7wBDlm0kSN@{UMOY1s}Ewq_y*+LZpM4lCZ*V^ z&C=M7_tO8yT|Tu-7$5n8{z@>;Px<)vz2R7lf#ZR+@`3cvcw<*7yH=rU2=hVfe#NKy zR?Ph1Cc>x}szhGz=A+}ozrg0yN2?9&SMIynYbmcQ#{KY)e=T02ZAeYr>9k(sg!JrQ zttS7+J%+p7G+<{n?NeuH2t1r}0iSdH3a&3T>=Iq2 3uUwX5Xy9qMDa<;yg+p%nvO zu}AAK2hQ=C-|J1>a8qUAGg6dVX d=dzP RvRjde~zD_VY zef~fOy;Px7MlpW*HfzmaP#IdXD*n2cw=X}U7mRE>Kl*+PU!K2EZ)9Kcjox0qd|H;t zz<)X7<~{%=g?k-I^@w~ZjTF1tb)?(P(%ZOSOO3A&Qr~8$kp|yO50lC=jlGrp54|Cf zkDsVD;#+EM;8UN+&QkyE<}RXu3yeFd)vZL7X7Q{4_SUUD&ePWidJ6?sytK|o*NVS? z)zg5k#;kwq!nv1|q1#y0;N*kol7OX Odm8VP;Fbws+3 zL|#6KjxD7vvd#RvIVPimwq@?}t*fty%ncNLtlH3m{n)s<&0{Lun|P_a(Fd8~y|z=A zBImo8ZpBv&QMZ*hQRh*==_Yf(sVbdxcf4^1 cYJ=)eMye`4~bK zz%;53@ )H1psQRt>Liu!O{>Lz(2A);-9_`uJZi3RX(mvnCYZIi(Z zhY KrRjYZOXxYX;Qp3v4PA;*%ajl59_qfP3Ssz%oNlT>Q@ZJaO=;98<%81H zfTq{e)ZI<#+nDPketw6?U1{qt+Ao=O+{9jQWGQcVFyNFR5{V0+Z?#(6Kq7}?$nBp< zWWPn7lo$BiPDpzCe2)Y^G~LC(uiVDh_pH&SH9tnZ|Du%CQA}sjupq-F12?APeA^n0 zRKxfK(xni3Oa=Ep>sibX{(?JZcj&8VE!_<>>=AkR?=A+EWh&gf+wrTBhL%1k2i_aF z)Hvcj_$R;lkGV03^^(R!8TK=N9Cy;>XU-c8PBb!_vN-thKU#!x>p(*f*DN~OSd?y+ z#XG9iZSRev1JZe)mfaMR(_q7I0v|lj+bE(M3W9X?3y(zt-@4Q|zkwmBlF`pPc$*jQ z5>fA|bn5!R >Rq zy=qg|?1!?VB7(!=KIQ&9-bv*#rbRxQC_M_!&B{O6lO;KN-lL7KE1w;2h#( U zQ8XeSOw)*bFij)!!8DD?2h%U{v9G9F@k;D2wvU(eLQa5_)Yy-v#Dn>ocw Xm{_l|~6Qw<#kk4$a#76sB?7$=CZ!=g+uj$RbxuJ`_FW?0_^Y zNwFD!Mj*pb%=f V-mZs %|G82QE{CS$WPwo393@wO}Z@o|c+ z4FcEEv7$3So@-F@mN#%bpO?<(8ukjTGk-nL;M=c>TsF SVne=TjBDBvWhnu4>w(-STYRN=v1Kh3juy1d%3YNBwe!Gw-@ zzZC{wwt*jCg5u~NUUtKc^Q39mpF}WZs Rdfmxiki1_qJjwVOA2*}V73`g+9- 69oKCgI9A%H;|Hz#~T*+bry-H}Lp{hA1Xc^a3s^D)n-2#VfeM?6ZaL z)_4%hXi5{ysFYUB7q&C0>{Y`Hs8h&7AHpJ%^sX*9A*uNdWtpBk49D0qp7ezN1kYNo z8p=Ot?`h(F4>RW^ssq}a<%5P6(FppZgVMx$)Q#yTUisYv*Qr8HY2w^^?%z#omX?*b z{DJY-W}SxbTW&CM%f}e6VZ>T>L(`yqGz~a3{xwT`H{QJIdM`f3tn>BR_Rwh(>*%0t zdD4LME _{A6|RctWiGoL2G zkZMAm+?1xLtN4JooO(;)n+)qzJcM5QR)P?E>y-qlO2Zj8L}EJ) 4ITN#Je(THrIonZ#(gT0#eIC-TFJd^;Ri)*5VCJv zGv(}U;3Y|dfq$TPa_5`Abv5uQBak}2+X9u2k9g81#ZIZN)T_O~-*~BIe#7`!)6WBU zQoO2h=cQP6_CDW;stIe$XMJjNTjcMi;s1V9a5tf0MLwvX=;hWjo)qcn$qmcdh=v7+ z-yATQoW8|uO%-*Kwkb{PHN5gk+*iLM$Za@p^E&R*Zg}6&zSn;ud-@0NLywbf8GHb8 zWD$uJO8bw+8d~{0$ebw`5lj4&2W6&oewe$4J?!;7w?cUIkBzvZi|BzC;xFoOS9{A= z{8*JqD{1A>BH6yuVX?PU6g~wz|6WV!*>bfSpG|4B*EYM}{eik=N$2+~g4mzdIZ61d zCDR2#SI$5C)DY;mHO*h&Y eMN-g4}YYpAn zyi(9!zK}d3nij19?x#dcrZ6im#CeUctu^!(wx;oOwT3 zy7DOW3YHHb7>J7`%A?^ezVxIa)XBNvK{wCWCk szY1gVh3M}21K>6C&uT`YI22|Yrue1 WVfPl`ql!A2J#;_m*8&fcr0I3Nt$Rx;uPr1`6gIRc`fOk7(=og>#d~M&_e&+RN zvYWqBfG)CE3JM8OTwGp&Zn8HE&`q|rpaho>6`;s?u%Ha!y#gD+@dC7Nd|oga;LCz3 z7y(l-6$1F)Q-*eqg}EWqhS$g&sf5%iOlezb7n+cZ3R6+4{Oyv$RIZc1VfcT6v;6G> ze#77@%=Zm`dj+GaPS@9#;>KMVmt h7Z5DO2IVdycm?Bsa$hBQ4LAGD zT}-eP!)bC~Cs>A|Ke@{ZR-!L3cNM`K=vT`{zuKwXwb=07H!<`lcO80ebJr6nHlS8= z;d4WKTs=$nTy+83bMeO_dDIuE4V(U{F&B6KtH^fJNp1dRFg_d!iw0Z|g_L;SFyQaQ zWpK;iyFVNLcFSKhZ~D9c*H*da3&=SxAXjp~ACb5C{fa;7QRU)P|4_Kh1Ew@-VJoK| znuivs(ocr{{jT6>Oc=oU&7sIQ=f SogY<{t?@RPr^#m+nVyGQ&6Xexyb*+PgecK zk0B&9JT2~XrvRY^E|YZ0X 3Kp (8_*wk54OiuTehcu*w$pBIK{lfS1Z`{rt{J6umgy>_PJWh<0;igS+I*ayzt)@V z9n2y5eNDDV9&p;p&yjx-Plbm}7HYg}TGg};@epe~@TY{#9p%aEXF)>mXF)>mXK9T; zu3$lG-`3Iw7i3zH KF)Lj*T`<8BR^!KQ_aNM3E0^G)82arL~(BY<1@3cQgp$kBTHGS zHdYp5i6|D3qDWb)3alVS6j%gfhiEj3QL}3FQDen!j3vfwVh=`RiX|8mlbBp$us6Jx z#LDk;W atg15eNW)o7aWNiC>nF;$%kcHcoKr=!TJSIo{Z;t?%0i$um z0OQCC6HzuaxL;Q&P5<953KTQ{H cvr^cBA7mbaZ6G`MgUrt}F3qQPy76~n 9lYA|V7mU&9ALy9>k1~xg zBA?CpQMQ0@XK?ySCgTNdDDyij^A^IRS?pPvO`u|E7fa*sLW{LyM{?YaTz_No)VM5& z!PsNjs`?xHMTr+yWwXU+W$wbYY_|KXEYx~OTA*cpTjEA)vwmb&Kg%2iyx;F YrulJ>$~!LX9ZxK8;4FWR4V#Zig*o(&+HT@s}wC zeSs9zB{Quup7s1i*0HSDnHZC*`0}>(0p^r-yZR7(t12tvcg}ygBL3$_IdglO@~{|8 z7?%d(mYD|PmYD|PHZlz)EjJA$EjJA$Ek6w;Ek6y^?42}Fvv<<)zC~%EW{cB6%@(JD zQY}vdrP`DRN@cYv4Ww#oS_UM{G%dG}-Tp;3tmh7N>PYiWk$3&mPBjg&|B5=bojO&S zR;gic{tKN77>Z75o_6Z1#!ew{{^bfyVPmJP(v>5{PVGn=MUTiQ7!5zLv_d$MrWFzB zkeNHJn4kn<*=eN&