2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 BALANCE 02/07/2025 10:36:15 PAGE 1
2025-02-06 07:35:32 +00:00
C51 COMPILER V9.01, COMPILATION OF MODULE BALANCE
OBJECT MODULE PLACED IN .\output\Balance.obj
COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\Balance.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Loa
-d.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\co
-de_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Balance.lst) OBJECT(.\output\Bal
-ance.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 BOOL bBalanceFlg;
13 BOOL bBalancingFlg;
14 BOOL bBalanceOddFlg;
15 BOOL bCTOValidFlg; //<2F> <> <EFBFBD> <EFBFBD> о ѹ<D0BE> <EFBFBD> <EEB3AC> 1200mVʱ<56> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ<EFBFBD> <CEAA> <EFBFBD> ڶ<EFBFBD> <DAB6> ߣ<EFBFBD> <DFA3> <EFBFBD> Ҫ
-<2D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> о <EFBFBD> <D0BE> ѹ<EFBFBD> <D1B9> <EFBFBD> <EFBFBD> 2V<32> <56> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
16 BOOL bCellOpenDecFlag;
17 U16 xdata uiBalanceChannel;
18 U8 xdata ucBalanceTimeCnt;
19 U8 xdata ucBalanceStep;
20 U8 xdata ucCellOpenDecCnt;
21 U8 xdata ucCtoCnt;
22
23 /*************************************************************************************************
24 * <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> : BalTurnOnCheck
25 * <20> <> <20> <> : <20> <>
26 * <20> <> <EFBFBD> <EFBFBD> ֵ: <20> <>
27 * <20> <> <20> <> :
28 1. ƽ <> <EFBFBD> <E2BFAA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ǵ<EFBFBD> ѹ<EFBFBD> <D1B9> ѹ<EFBFBD> <EFBFBD> <EEBCB0> <EFBFBD> <EFBFBD> ͬʱ<CDAC> <CAB1> <EFBFBD> <EFBFBD>
29 2. ƽ <> <C6BD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> У <EFBFBD> <D0A3> <EFBFBD> <EFBFBD> ٽ<EFBFBD> <D9BD> <EFBFBD> ƽ <EFBFBD> <C6BD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
30 3. <20> <> <EFBFBD> <EFBFBD> <DFBC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƽ <EFBFBD> <C6BD>
31 *************************************************************************************************/
32 void BalTurnOnCheck(void)
33 {
34 1 U8 i;
35 1
36 1 if(!bBalancingFlg && !bCellOpenDecFlag) //<2F> <> һ <EFBFBD> <D2BB> ƽ <EFBFBD> <C6BD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> л<EFBFBD> <D0BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <DFBC> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> ж<EFBFBD> <D0B6> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
-<2D> <> <EFBFBD>
37 1 {
38 2 if(bBAL_EN)
39 2 {
40 3 uiBalanceChannel = 0;
41 3 if(((uiCellVmax>E2uiOVvol)&&(!bOV)) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> ¶ȱ<C2B6> <C8B1> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƽ <EFBFBD> <C6BD> ,<2C> ж<EFBFBD> <D0B6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѹ<EFBFBD> <D1B9> <EFBFBD> <EFBFBD> ѹ<EFBFBD> ָ<EFBFBD> <D6B8> <EFBFBD> <EFBFBD>
-<2D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֹʱ<D6B9> <CAB1> ͣƽ <CDA3> <C6BD>
42 3 ||((uiCellVmax < E2uiOVRvol)&&(bOV))
43 3 || bOTC || bUTC || bOTD || bUTD)
44 3 {
45 4 bBalanceFlg = 0;
46 4 ucBalanceTimeCnt = 0;
47 4 }
48 3 else
49 3 {
2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 BALANCE 02/07/2025 10:36:15 PAGE 2
2025-02-06 07:35:32 +00:00
50 4 if(((uiCellVmax>E2uiBalanceVol) && (uiCellVmax-uiCellVmin)>=E2uiBalanceVolDiff) && (Info.slCurr>=E2
-siBalCurrent))
51 4 {
52 5 if(!bBalanceFlg)
53 5 {
54 6 ucBalanceTimeCnt++;
55 6 }
56 5 if(ucBalanceTimeCnt >= BAL_DELAY_CNT)
57 5 {
58 6 for(i=ucCellNumOffset; i<ucCellNumOffset+ucCellNum; i++)
59 6 {
60 7 if(((Info.uiVCell[i]-uiCellVmin)>=E2uiBalanceVolDiff)&&(Info.uiVCell[i]>=E2uiBalanceVol)) //<2F> <> о
-<2D> <> ѹ<EFBFBD> <D1B9> <EFBFBD> <EFBFBD> ƽ <EFBFBD> <C6BD> <EFBFBD> <EFBFBD> ѹ<EFBFBD> <D1B9> <EFBFBD> <EFBFBD> ѹ<EFBFBD> <D1B9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֵ<EFBFBD> <D6B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> õ<EFBFBD> о ƽ <D0BE> <C6BD>
61 7 {
62 8 uiBalanceChannel |= (1<<i);
63 8 }
64 7 }
65 6 bBalanceFlg = 1;
66 6 }
67 5 }
68 4 else
69 4 {
70 5 bBalanceFlg = 0;
71 5 ucBalanceTimeCnt = 0;
72 5 }
73 4 }
74 3 }
75 2 }
76 1 }
77
78
79
80 /*******************************************************************************
81 Function: CTOCheckVol(void)
82 Description:
83 Input:
84 Output:
85 Others:
86 *******************************************************************************/
87 BOOL CTOCheckVol(void)
88 {
89 1 BOOL bResult=0;
90 1
91 1 if(bCTO_EN) //<2F> ж<EFBFBD> <D0B6> Ƿ<EFBFBD> ֧<EFBFBD> ֶ<EFBFBD> <D6B6> <EFBFBD> <DFBC> <EFBFBD>
92 1 {
93 2 if(!bCTO) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѿ<EFBFBD> <D1BE> <EFBFBD> <EFBFBD> <EFBFBD> <E2B5BD> <EFBFBD> ߣ<EFBFBD> <DFA3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ټ<EFBFBD> <D9BC> <EFBFBD>
94 2 {
95 3 if(bCTOValidFlg) //<2F> жϵ<D0B6> ѹѹ<D1B9> <D1B9> <EFBFBD> Ƿ<C7B7> 1.2V
96 3 {
97 4 if(uiVadcVmin < VOL_CELL_CUT_180MV) //180mV
98 4 {
99 5 bResult = 1;
100 5 if(++ucCtoCnt >= TIME_50MS_500MS) //<2F> <> <EFBFBD> <EFBFBD> 500mS
101 5 {
102 6 bCTO = 1;
103 6 }
104 5 }
105 4 else
106 4 {
107 5 bCTOValidFlg = 0;
108 5 ucCtoCnt = 0;
109 5 }
2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 BALANCE 02/07/2025 10:36:15 PAGE 3
2025-02-06 07:35:32 +00:00
110 4 }
111 3 }
112 2 #ifdef SP_CTO_RECOVER
else //<2F> <> <EFBFBD> ָ<DFBB> <D6B8> <EFBFBD> <EFBFBD> ܣ<EFBFBD> ÿ250mSһ <53> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ж<EFBFBD> <D0B6> <EFBFBD> С <EFBFBD> <D0A1> ѹ
{
if(uiVadcVmin >= VOL_CELL_CUT_180MV) //180mV
{
if(++ucCtoRCnt >= TIME_250MS_1S)
{
bCTO = 0;
}
}
else
{
ucCtoRCnt = 0;
}
}
#endif
128 2 }
129 1
130 1 return bResult;
131 1 }
132
133
134 /*************************************************************************************************
135 * <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> : BalProcess
136 * <20> <> <20> <> : <20> <>
137 * <20> <> <EFBFBD> <EFBFBD> ֵ: <20> <>
138 * <20> <> <20> <> :
139 1. ƽ <> <C6BD> <EFBFBD> <EFBFBD> <EFBFBD> ڷ<EFBFBD> Ϊ5<CEAA> <35> STEP<45> <50> <EFBFBD> ϼ<EFBFBD> 250mS
140 2. ƽ <> <C6BD> Ч<EFBFBD> <D0A7> <100/(250mS*2)(<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> żƽ <C5BC> <C6BD> )
141 3. <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B5BD> <EFBFBD> ߣ<EFBFBD> <DFA3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƽ <EFBFBD> <C6BD> <EFBFBD> <EFBFBD> <EFBFBD> ж<EFBFBD> <D0B6> <EFBFBD> <DFBC> <EFBFBD>
142 4. ƽ <> <EFBFBD> <E2BFAA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ĵ<EFBFBD> ѹ<EFBFBD> <D1B9> <EFBFBD> <EFBFBD> <EFBFBD> ж<EFBFBD> <D0B6> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> ܻ<EFBFBD> <DCBB> <EFBFBD> <EFBFBD> <EFBFBD> ʱ250mS(һ <> <D2BB> ƽ <EFBFBD> <C6BD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> )
143 *************************************************************************************************/
144 void BalProcess(void)
145 {
146 1 U16 BalChTemp;
147 1
148 1 //<2F> жϵ<D0B6> о <EFBFBD> <D0BE> ѹѹ<D1B9> <D1B9> <EFBFBD> Ƿ<C7B7> 1.2V<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ж϶<EFBFBD> <EFBFBD> ߣ<EFBFBD> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> о <EFBFBD> <EFBFBD> ѹ<2V<32> <56> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƽ <EFBFBD> <C6BD> <EFBFBD> ᴥ<EFBFBD> <E1B4A5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ж<EFBFBD> <D0B6> <EFBFBD> <EFBFBD> <EFBFBD>
149 1 //<2F> жϵ<D0B6> о <EFBFBD> <D0BE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѹ<EFBFBD> Ƿ<EFBFBD> С <EFBFBD> <D0A1> 1.38V<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> С <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ж϶<EFBFBD> <EFBFBD> ߣ<EFBFBD> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> δ<EFBFBD> <EFBFBD> Ч<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> о <EFBFBD> <EFBFBD> ѹ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѹ<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
-ж<> <D0B6> <EFBFBD> <EFBFBD> <EFBFBD>
150 1 if((uiCellVmax-uiCellVmin>=VOL_CELL_CUT_1200MV) || (uiCellVmax<=VOL_CELL_CUT_1380MV))
151 1 {
152 2 bCTOValidFlg = 1;
153 2 }
154 1
155 1 switch(ucBalanceStep)
156 1 {
157 2 case BALANCE_ENABLE: //VADC<44> ɼ<EFBFBD> <C9BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѹ<EFBFBD> ж<EFBFBD>
158 2 if(bCellOpenDecFlag || bBalanceFlg)
159 2 {
160 3 if(bBalanceOddFlg) //odd balance
161 3 {
162 4 BalChTemp = uiBalanceChannel&0x5555;
163 4 }
164 3 else //even balance
165 3 {
166 4 BalChTemp = uiBalanceChannel&0xAAAA;
167 4 }
168 3 AfeBalCtl(BalChTemp); //<2F> <> <EFBFBD> <EFBFBD> ƽ <EFBFBD> <C6BD>
169 3 ucBalanceStep = BALANCE_START;
170 3 bBalancingFlg = 1;
2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 BALANCE 02/07/2025 10:36:15 PAGE 4
2025-02-06 07:35:32 +00:00
171 3 }
172 2 break;
173 2
174 2 case BALANCE_START: //VADC<44> ɼ<EFBFBD> <C9BC> ĵ<EFBFBD> ѹ<EFBFBD> <D1B9> <EFBFBD> ݶ<EFBFBD> <DDB6> <EFBFBD>
175 2 ucBalanceStep = BALANCING;
176 2 break;
177 2
178 2 case BALANCING: //VADC<44> ɼ<EFBFBD> <C9BC> ĵ<EFBFBD> ѹ<EFBFBD> <D1B9> <EFBFBD> <EFBFBD> <EFBFBD> ж϶<D0B6> <CFB6> <EFBFBD>
179 2 if(!CTOCheckVol()) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ж<EFBFBD> <D0B6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
180 2 {
181 3 AfeBalCtl(0); //<2F> ر<EFBFBD> ƽ <EFBFBD> <C6BD>
182 3 ucBalanceStep = BALANCE_DISABLE;
183 3 bBalanceOddFlg = ~bBalanceOddFlg;
184 3 }
185 2 break;
186 2
187 2 case BALANCE_DISABLE: //VADC<44> ɼ<EFBFBD> <C9BC> ĵ<EFBFBD> ѹ<EFBFBD> <D1B9> <EFBFBD> ݶ<EFBFBD> <DDB6> <EFBFBD>
188 2 if(!CTOCheckVol()) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ж<EFBFBD> <D0B6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
189 2 {
190 3 ucBalanceStep = BALANCE_NULL;
191 3 }
192 2 else
193 2 {
194 3 ucBalanceStep = BALANCE_ENABLE;
195 3 bBalanceOddFlg = ~bBalanceOddFlg;
196 3 }
197 2 break;
198 2
199 2 case BALANCE_NULL: //VADC<44> ɼ<EFBFBD> <C9BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ѹ<EFBFBD> ж<EFBFBD>
200 2 ucBalanceStep = BALANCE_ENABLE;
201 2 bCellOpenDecFlag = 0;
202 2 bBalanceFlg = 0;
203 2 bBalancingFlg = 0;
204 2 break;
205 2 }
206 1 }
207
208
209 /*************************************************************************************************
210 * <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> : CellOpenProcess
211 * <20> <> <20> <> : <20> <>
212 * <20> <> <EFBFBD> <EFBFBD> ֵ: <20> <>
213 * <20> <> <20> <> : ÿ2S<32> <53> <EFBFBD> <EFBFBD> һ <EFBFBD> ζ<EFBFBD> <CEB6> <EFBFBD> <DFBC> <EFBFBD>
214 *************************************************************************************************/
215 void CTOTurnOnCheck(void)
216 {
217 1 #ifdef SP_CTO_RECOVER
if(bCTO_EN) //֧<> ֶ<EFBFBD> <D6B6> ָ<DFBB>
#else
220 1 if(bCTO_EN && !bCTO) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> ѷ<EFBFBD> <D1B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <F2B2BBBC> <EFBFBD>
221 1 #endif
222 1 {
223 2 if(++ucCellOpenDecCnt >= TIME_50MS_2250MS) //2S
224 2 {
225 3 ucCellOpenDecCnt = TIME_50MS_2250MS; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƽ <EFBFBD> <C6BD> <EFBFBD> <EFBFBD> ż<EFBFBD> <C5BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ϵ
226 3 if(!bBalancingFlg) //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƽ <EFBFBD> ⣬<EFBFBD> <E2A3AC> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> ƽ <EFBFBD> <C6BD> <EFBFBD> <EFBFBD> <EFBFBD> ڽ<EFBFBD> <DABD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ٿ<EFBFBD> <D9BF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <DFBC> <EFBFBD>
227 3 {
228 4 ucCellOpenDecCnt = 0;
229 4 bCellOpenDecFlag = 1;
230 4 uiBalanceChannel = 0x03ff;
231 4 }
232 3 }
2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 BALANCE 02/07/2025 10:36:15 PAGE 5
2025-02-06 07:35:32 +00:00
233 2 }
234 1 }
235
236 /*************************************************************************************************
237 * <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> : BalanceProcess
238 * <20> <> <20> <> : <20> <>
239 * <20> <> <EFBFBD> <EFBFBD> ֵ: <20> <>
240 * <20> <> <20> <> : ƽ <> <C6BD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <DFBC> <EFBFBD> <E2B4A6>
241 *************************************************************************************************/
242 void BalanceProcess(void)
243 {
244 1 BalTurnOnCheck(); //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> <EFBFBD> ƽ <EFBFBD> <EFBFBD> <E2BFAA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
245 1
246 1 CTOTurnOnCheck(); //<2F> <> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <DFBC> <EFBFBD>
247 1
248 1 BalProcess(); //<2F> <> <EFBFBD> <EFBFBD> ƽ <EFBFBD> <C6BD> <EFBFBD> Ͷ<EFBFBD> <CDB6> <EFBFBD> ʱ<EFBFBD> <CAB1>
249 1 }
250
251
252
253
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 611 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 6 2
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 5 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)