ZDBMS/output/Initial.lst

661 lines
30 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 1
C51 COMPILER V9.01, COMPILATION OF MODULE INITIAL
OBJECT MODULE PLACED IN .\output\Initial.obj
COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\Initial.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\Initial.lst) OBJECT(.\output\Ini
-tial.obj)
line level source
1 /********************************************************************************
2 Copyright (C), Sinowealth Electronic. Ltd.
3 Author: Sino
4 Version: V0.0
5 Date: 2020/04/26
6 History:
7 V2.0 2020/04/26 Preliminary
8 ********************************************************************************/
9 #include "Main.h"
10
11
12 /*************************************************************************************************
13 * 函数名: InitVar
14 * 参 数: 无
15 * 返回值: 无
16 * 描 述: 初始化变量主要是非0变量。在ClrRam()函数中已将所有Xdata/Idata/Data区全部清零
17 *************************************************************************************************/
18 void InitVar(void)
19 {
20 1 ucBalanceStep = BALANCE_ENABLE;
21 1 MemorySet((U8 xdata *)slCadcCurBuf, 0, sizeof(slCadcCurBuf));
22 1 MemorySet((U8 xdata *)Info.uiVCell, 0, sizeof(Info.uiVCell));
23 1 Info.uiTS[0] = 2731;
24 1 Info.uiTS[1] = 2731;
25 1
26 1 bSlowDischarge = 0;
27 1 bMidDischarge = 0;
28 1 ucDsgingSpeed = 2;
29 1 bFastDischarge = 1;
30 1 bPorSelfTestFlg = 1;
31 1
32 1 ucTempeMiddle = 80;
33 1 }
34
35 /*************************************************************************************************
36 * 函数名: SysParaInit
37 * 参 数: 无
38 * 返回值: 无
39 * 描 述: 从MCU Flash参数区读取数据并针对部分变量进行初始化
40 *************************************************************************************************/
41 void SysParaInit(void)
42 {
43 1 if(McuFlashCheckFlg(MCUFLASH_BK1_FLG_ADDR))
44 1 {
45 2 McuFlashRead(MCUFLASH_BK1_ADDR, XRAM_MAP_ADDR, 512);
46 2 if(!McuFlashCheckFlg(MCUFLASH_BK2_FLG_ADDR))
47 2 {
48 3 McuFlashWrite(MCUFLASH_BK2_ADDR, XRAM_MAP_ADDR); //更新备份区2
49 3 }
50 2 }
51 1 else if(McuFlashCheckFlg(MCUFLASH_BK2_FLG_ADDR))
52 1 {
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
55 2 }
56 1 else
57 1 {
58 2 bMcuFlashErr = 1;
59 2 return;
60 2 }
61 1
62 1 uiPackConfig = E2uiPackConfigMap;
63 1 Info.uiPackConfig = uiPackConfig;
64 1 Info.ulFCC = E2ulFCC;
65 1 Info.uiCycleCount = E2uiCycleCount;
66 1
67 1 ucCellNum = (uiPackConfig&0x0007)+3; //根据配置初始化电芯串数和Offset
68 1
69 1 if(ucCellNum==5 || ucCellNum==10)
70 1 {
71 2 ucCellNumOffset = 0;
72 2 }
73 1 else if(ucCellNum==4 || ucCellNum==9)
74 1 {
75 2 ucCellNumOffset = 1;
76 2 }
77 1 else
78 1 {
79 2 ucCellNumOffset = 2;
80 2 }
81 1 }
82
83 /*************************************************************************************************
84 * 函数名: InitIRQ
85 * 参 数: 无
86 * 返回值: 无
87 * 描 述: 初始化中断
88 *************************************************************************************************/
89 void InitIRQ(void)
90 {
91 1 IrqDis(); //关闭总中断源
92 1 #if (UART0_DEFINE != 0)
93 1 IrqUart0En(); //初始化UART0中断使能根据具体使用UART模块来进行选择 //检查UART
-0是否正常如果不正常则复位指针向量
94 1 #endif
95 1 #if (UART1_DEFINE != 0)
IrqUart1En(); //初始化UART1中断使能根据具体使用UART模块来进行选择
#endif
98 1 #if (UART2_DEFINE != 0)
IrqUart2En(); //初始化UART2中断使能根据具体使用UART模块来进行选择
#endif
101 1
102 1 IrqTimer3FlgClr(); //使能Timer3中断
103 1 IrqTimer3En();
104 1
105 1 IrqINT4xChEn(INT4_EXS45 | INT4_EXS46);
106 1 IrqINT4Trig(INT4_TRIG_FALLING); //下降沿触发
107 1 IrqINT4FlgClr(); //清外部中断标志
108 1 IrqINT4En(); //使能外部中断4
109 1
110 1 IrqEn();
111 1 }
112
113
C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 3
114 /*************************************************************************************************
115 * 函数名: InitGPIO
116 * 参 数: 无
117 * 返回值: 无
118 * 描 述: 初始化I/O端口未使用的I/O默认配置为输出低电平降低MCU功耗
119 P0.7[TXD], P0.6[RXD], P0.5[SCL], P0.4[SDA], P0.3[BLPW], P0.2[], P0.1[], P0.0[],
120 P0.7ST[1], P0.6ST[1], P0.5ST[1], P0.4ST[1], P0.3ST[1], P0.2ST[0], P0.1ST[0], P0.0ST[0], P0 = 0xF8;
121 P0.7CR[1], P0.6CR[0], P0.5CR[0], P0.4CR[0], P0.3CR[1], P0.2CR[1], P0.1CR[1], P0.0CR[1], P0CR = 0x8
-F;
122 P0.7PC[1], P0.6PC[1], P0.5PC[0], P0.4PC[0], P0.3PC[1], P0.2PC[0], P0.1PC[0], P0.0PC[0], P0PCR = 0x
-C8;
123
124 P1.7[RESET],P1.6[], P1.5[], P1.4[], P1.3[], P1.2[], P1.1[], P1.0[],
125 P1.7ST[1], P1.6ST[0], P1.5ST[0], P1.4ST[0], P1.3ST[0], P1.2ST[0], P1.1ST[0], P1.0ST[0], P1 = 0x80;
126 P1.7CR[0], P1.6CR[1], P1.5CR[1], P1.4CR[1], P1.3CR[1], P1.2CR[1], P1.1CR[1], P1.0CR[1], P1CR = 0x7
-F;
127 P1.7PC[1], P1.6PC[0], P1.5PC[0], P1.4PC[0], P1.3PC[0], P1.2PC[0], P1.1PC[0], P1.0PC[0], P1PCR = 0x
-80;
128
129 P2.7[KEY_M],P2.6[ALARM],P2.5[CTLD], P2.4[LED5], P2.3[LED4], P2.2[LED3], P2.1[LED2], P2.0[LED1],
130 P2.7ST[1], P2.6ST[1], P2.5ST[1], P2.4ST[0], P2.3ST[0], P2.2ST[0], P2.1ST[0], P2.0ST[0], P2 = 0xE0;
131 P2.7CR[0], P2.6CR[0], P2.5CR[1], P2.4CR[1], P2.3CR[1], P2.2CR[1], P2.1CR[1], P2.0CR[1], P2CR = 0x3
-F;
132 P2.7PC[1], P2.6PC[1], P2.5PC[0], P2.4PC[0], P2.3PC[0], P2.2PC[0], P2.1PC[0], P2.0PC[0], P2PCR = 0x
-C0;
133
134 P3.7[], P3.6[], P3.5[LED6], P3.4[XTAL1],P3.3[XTAL2],P3.2[], P3.1[], P3.0[KLED],
135 P3.7ST[0], P3.6ST[0], P3.5ST[0], P3.4ST[1], P3.3ST[1], P3.2ST[0], P3.1ST[0], P3.0ST[1], P3 = 0x19;
136 P3.7CR[1], P3.6CR[1], P3.5CR[1], P3.4CR[0], P3.3CR[0], P3.2CR[1], P3.1CR[1], P3.0CR[0], P3CR = 0xE
-6;
137 P3.7PC[0], P3.6PC[0], P3.5PC[0], P3.4PC[1], P3.3PC[1], P3.2PC[0], P3.1PC[0], P3.0PC[1], P3PCR = 0x
-19;
138 *************************************************************************************************/
139 /*************************************************************************************************
140 * 函数名: InitGPIO_SL
141 * 参 数: 无
142 * 返回值: 无
143 * 描 述: 初始化I/O端口未使用的I/O默认配置为输出低电平降低MCU功耗
144 P0.7[TX], P0.6[RX], P0.5[SCL], P0.4[SDA], P0.3[], P0.2[], P0.1[], P0.0[], IO状态:P0.[
-7,6,5,4,3]有效
145 P0.7ST[1], P0.6ST[1], P0.5ST[1], P0.4ST[1], P0.3ST[0], P0.2ST[0], P0.1ST[0], P0.0ST[0], P0 = 0xF0;
- IO状态:P0.[7,6,5,4,3]有效
146 P0.7CR[1], P0.6CR[0], P0.5CR[0], P0.4CR[0], P0.3CR[1], P0.2CR[1], P0.1CR[1], P0.0CR[1], P0CR = 0x8
-F; IO方向:P0.[7,6,5,4,3]有效,1输出0输入
147 P0.7PC[1], P0.6PC[1], P0.5PC[0], P0.4PC[0], P0.3PC[0], P0.2PC[0], P0.1PC[0], P0.0PC[0], P0PCR = 0x
-C0; 内部上拉:1开启0关闭
148
149 P1.7[RESET],P1.6[], P1.5[], P1.4[], P1.3[], P1.2[], P1.1[], P1.0[], IO状态:P1.[7,6,5,4
-,3,2]有效
150 P1.7ST[1], P1.6ST[0], P1.5ST[0], P1.4ST[0], P1.3ST[0], P1.2ST[0], P1.1ST[0], P1.0ST[0], P1 = 0x80;
- IO状态:P1.[7,6,5,4,3,2]有效
151 P1.7CR[0], P1.6CR[1], P1.5CR[1], P1.4CR[1], P1.3CR[1], P1.2CR[1], P1.1CR[1], P1.0CR[1], P1CR = 0x7
-F; IO方向:P1.[7,6,5,4,3,2]有效,1输出0输入
152 P1.7PC[1], P1.6PC[0], P1.5PC[0], P1.4PC[0], P1.3PC[0], P1.2PC[0], P1.1PC[0], P1.0PC[0], P1PCR = 0x
-80; 内部上拉:1开启0关闭
153
154 P2.7[], P2.6[ALARM],P2.5[], P2.4[LED], P2.3[], P2.2[], P2.1[], P2.0[485_DE], IO状态:P2.[7,6,5,
-4,3,2,1,0]有效
155 P2.7ST[0], P2.6ST[1], P2.5ST[0], P2.4ST[0], P2.3ST[0], P2.2ST[1], P2.1ST[1], P2.0ST[0], P2 = 0x46;
- 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/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关闭
158
159 P3.7[], P3.6[], P3.5[BAT_V_C], P3.4[XTAL1],P3.3[XTAL2],P3.2[], P3.1[], P3.0[BAT_V], I
-O状态:P3.[5,4,3,...,0]有效
160 P3.7ST[0], P3.6ST[0], P3.5ST[0], P3.4ST[1], P3.3ST[1], P3.2ST[0], P3.1ST[0], P3.0ST[0], P3 = 0
-x18; IO状态:P3.[5,4,3,...,0]有效
161 P3.7CR[1], P3.6CR[1], P3.5CR[1], P3.4CR[0], P3.3CR[0], P3.2CR[1], P3.1CR[1], P3.0CR[0], P3CR =
- 0xE6; IO方向:P3.[5,4,3,...,0]有效,1输出0输入
162 P3.7PC[0], P3.6PC[0], P3.5PC[0], P3.4PC[1], P3.3PC[1], P3.2PC[0], P3.1PC[0], P3.0PC[0], P3PCR = 0
-x18; 内部上拉:1开启0关闭
163 *************************************************************************************************/
164 void InitGPIO(void)
165 {
166 1
167 1 P0 = 0xF0;
168 1 P0CR = 0x8F;
169 1 P0PCR = 0xC0;
170 1
171 1 P1 = 0x80;
172 1 P1CR = 0x7F;
173 1 P1PCR = 0x80;
174 1
175 1 P2 = 0x46;
176 1 P2CR = 0xBB;
177 1 P2PCR = 0x46;
178 1
179 1 P3 = 0x18;
180 1 P3CR = 0xE6;
181 1 P3PCR = 0x18;
182 1
183 1 //UART0相关IO配置 串口功能映射时注意配置相应IO口的寄存器值保证功能可正常实现
184 1 #if (UART0_DEFINE == 1)
185 1 P0 |= 0xC0;
186 1 P0PCR |= 0x80;
187 1 #endif
188 1
189 1 #if (UART0_DEFINE == 2)
P0 |= 0x40;
P2 |= 0x10;
P2PCR |= 0x10;
#endif
194 1
195 1 #if (UART0_DEFINE == 3)
P0 |= 0x40;
P2 |= 0x20;
P2PCR |= 0x20;
#endif
200 1
201 1 #if (UART0_DEFINE == 4)
P0 |= 0x41;
P0PCR |= 0x01;
#endif
205 1
206 1 #if (UART0_DEFINE == 5)
P0 |= 0x42;
P0PCR |= 0x02;
#endif
210 1
211 1 #if (UART0_DEFINE == 6)
P0 |= 0xC0;
P0PCR |= 0x40;
C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 5
#endif
215 1
216 1 #if (UART0_DEFINE == 7)
P0 |= 0x80;
P2 |= 0x10;
P2PCR |= 0x10;
#endif
221 1
222 1 #if (UART0_DEFINE == 8)
P0 |= 0x80;
P2 |= 0x20;
P2PCR |= 0x20;
#endif
227 1
228 1 #if (UART0_DEFINE == 9)
P0 |= 0x81;
P0PCR |= 0x01;
#endif
232 1
233 1 #if (UART0_DEFINE == 10)
P0 |= 0x82;
P0PCR |= 0x02;
#endif
237 1
238 1 #if (UART0_DEFINE == 11)
P0 |= 0x40;
P2 |= 0x10;
P0PCR |= 0x40;
#endif
243 1
244 1 #if (UART0_DEFINE == 12)
P0 |= 0x80;
P2 |= 0x10;
P0PCR |= 0x80;
#endif
249 1
250 1 #if (UART0_DEFINE == 13)
P2 |= 0x30;
P2PCR |= 0x20;
#endif
254 1
255 1 #if (UART0_DEFINE == 14)
P0 |= 0x01;
P2 |= 0x10;
P0PCR |= 0x01;
#endif
260 1
261 1 #if (UART0_DEFINE == 15)
P0 |= 0x02;
P2 |= 0x10;
P0PCR |= 0x02;
#endif
266 1
267 1 #if (UART0_DEFINE == 16)
P0 |= 0x40;
P2 |= 0x20;
P0PCR |= 0x40;
#endif
272 1
273 1 #if (UART0_DEFINE == 17)
P0 |= 0x80;
P2 |= 0x20;
C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 6
P0PCR |= 0x80;
#endif
278 1
279 1 #if (UART0_DEFINE == 18)
P2 |= 0x30;
P2PCR |= 0x10;
#endif
283 1
284 1 #if (UART0_DEFINE == 19)
P0 |= 0x01;
P2 |= 0x20;
P0PCR |= 0x01;
#endif
289 1
290 1 #if (UART0_DEFINE == 20)
P0 |= 0x02;
P2 |= 0x20;
P0PCR |= 0x02;
#endif
295 1
296 1 #if (UART0_DEFINE == 21)
P0 |= 0x81;
P0PCR |= 0x80;
#endif
300 1
301 1 #if (UART0_DEFINE == 22)
P0 |= 0x01;
P2 |= 0x10;
P2PCR |= 0x10;
#endif
306 1
307 1 #if (UART0_DEFINE == 23)
P0 |= 0x01;
P2 |= 0x20;
P2PCR |= 0x20;
#endif
312 1
313 1 #if (UART0_DEFINE == 24)
P0 |= 0x41;
P0PCR |= 0x40;
#endif
317 1
318 1 #if (UART0_DEFINE == 25)
P0 |= 0x03;
P0PCR |= 0x02;
#endif
322 1
323 1 #if (UART0_DEFINE == 26)
P0 |= 0x82;
P0PCR |= 0x80;
#endif
327 1
328 1 #if (UART0_DEFINE == 27)
P0 |= 0x02;
P2 |= 0x10;
P2PCR |= 0x10;
#endif
333 1
334 1 #if (UART0_DEFINE == 28)
P0 |= 0x02;
P2 |= 0x20;
P2PCR |= 0x20;
C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 7
#endif
339 1
340 1 #if (UART0_DEFINE == 29)
P0 |= 0x42;
P0PCR |= 0x40;
#endif
344 1
345 1 #if (UART0_DEFINE == 30)
P0 |= 0x03;
P0PCR |= 0x01;
#endif
349 1
350 1 //UART1相关IO配置
351 1 #if (UART1_DEFINE == 1)
P1 |= 0x03;
P1PCR |= 0x02;
#endif
355 1
356 1 #if (UART1_DEFINE == 2)
P1 |= 0x01;
P3 |= 0x08;
P3PCR |= 0x08;
#endif
361 1
362 1 #if (UART1_DEFINE == 3)
P1 |= 0x01;
P3 |= 0x10;
P3PCR |= 0x10;
#endif
367 1
368 1 #if (UART1_DEFINE == 4)
P1 |= 0x01;
P2 |= 0x40;
P2PCR |= 0x40;
#endif
373 1
374 1 #if (UART1_DEFINE == 5)
P1 |= 0x01;
P2 |= 0x80;
P2PCR |= 0x80;
#endif
379 1
380 1 #if (UART1_DEFINE == 6)
P1 |= 0x03;
P1PCR |= 0x01;
#endif
384 1
385 1 #if (UART1_DEFINE == 7)
P1 |= 0x02;
P3 |= 0x08;
P3PCR |= 0x08;
#endif
390 1
391 1 #if (UART1_DEFINE == 8)
P1 |= 0x02;
P3 |= 0x10;
P3PCR |= 0x10;
#endif
396 1
397 1 #if (UART1_DEFINE == 9)
P1 |= 0x02;
P2 |= 0x40;
C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 8
P2PCR |= 0x40;
#endif
402 1
403 1 #if (UART1_DEFINE == 10)
P1 |= 0x02;
P2 |= 0x80;
P2PCR |= 0x80;
#endif
408 1
409 1 #if (UART1_DEFINE == 11)
P1 |= 0x01;
P3 |= 0x08;
P1PCR |= 0x01;
#endif
414 1
415 1 #if (UART1_DEFINE == 12)
P1 |= 0x02;
P3 |= 0x08;
P1PCR |= 0x01;
#endif
420 1
421 1 #if (UART1_DEFINE == 13)
P3 |= 0x18;
P3PCR |= 0x10;
#endif
425 1
426 1 #if (UART1_DEFINE == 14)
P3 |= 0x08;
P2 |= 0x40;
P2PCR |= 0x40;
#endif
431 1
432 1 #if (UART1_DEFINE == 15)
P3 |= 0x08;
P2 |= 0x80;
P2PCR |= 0x80;
#endif
437 1
438 1 #if (UART1_DEFINE == 16)
P1 |= 0x01;
P3 |= 0x10;
P1PCR |= 0x01;
#endif
443 1
444 1 #if (UART1_DEFINE == 17)
P1 |= 0x02;
P3 |= 0x10;
P1PCR |= 0x02;
#endif
449 1
450 1 #if (UART1_DEFINE == 18)
P3 |= 0x18;
P3PCR |= 0x08;
#endif
454 1
455 1 #if (UART1_DEFINE == 19)
P3 |= 0x10;
P2 |= 0x40;
P2PCR |= 0x40;
#endif
460 1
461 1 #if (UART1_DEFINE == 20)
C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 9
P3 |= 0x10;
P2 |= 0x80;
P2PCR |= 0x80;
#endif
466 1
467 1 #if (UART1_DEFINE == 21)
P1 |= 0x01;
P2 |= 0x40;
P1PCR |= 0x01;
#endif
472 1
473 1 #if (UART1_DEFINE == 22)
P1 |= 0x02;
P2 |= 0x40;
P1PCR |= 0x02;
#endif
478 1
479 1 #if (UART1_DEFINE == 23)
P2 |= 0x40;
P3 |= 0x08;
P3PCR |= 0x08;
#endif
484 1
485 1 #if (UART1_DEFINE == 24)
P3 |= 0x10;
P2 |= 0x40;
P3PCR |= 0x10;
#endif
490 1
491 1 #if (UART1_DEFINE == 25)
P2 |= 0xC0;
P2PCR |= 0x80;
#endif
495 1
496 1 #if (UART1_DEFINE == 26)
P1 |= 0x01;
P2 |= 0x80;
P1PCR |= 0x01;
#endif
501 1
502 1 #if (UART1_DEFINE == 27)
P1 |= 0x02;
P2 |= 0x80;
P1PCR |= 0x02;
#endif
507 1
508 1 #if (UART1_DEFINE == 28)
P2 |= 0x80;
P3 |= 0x08;
P3PCR |= 0x08;
#endif
513 1
514 1 #if (UART1_DEFINE == 29)
P3 |= 0x10;
P2 |= 0x80;
P3PCR |= 0x10;
#endif
519 1
520 1 #if (UART1_DEFINE == 30)
P2 |= 0xC0;
P2PCR |= 0x40;
#endif
C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 10
524 1
525 1 //UART2相关IO配置当前demo板此串口做LED灯显示功能不支持串口通讯故demo板配置为不使能uart2串口功能
526 1 #if (UART2_DEFINE == 1)
P2 |= 0x06;
P2PCR |= 0x04;
#endif
530 1 }
531
532 /*************************************************************************************************
533 * 函数名: Initial
534 * 参 数: 无
535 * 返回值: 无
536 * 描 述: 初始化
537 *************************************************************************************************/
538 void Initial(void)
539 {
540 1 McuClockSet(MCU_CLK_24MHz); //设置系统工作在24MHz
541 1
542 1 InitGPIO(); //初始化GPIO
543 1
544 1 // ClrRam(); //清空MCU RAMXDATA、IDATA、DATA
545 1
546 1 SysParaInit(); //初始化系统参数
547 1
548 1 InitVar(); //初始化变量
549 1
550 1 McuTimer3Set(TIM_CLK_128KHz, 5); //初始化Timer采用128KHz外置晶振周期为5mS
551 1
552 1 #if (UART0_DEFINE != 0)
553 1 UART0Init(); //初始化UART0模块9600Bps
554 1 #endif
555 1
556 1 #if (UART1_DEFINE != 0)
UART1Init(); //初始化UART0模块9600Bps
#endif
559 1
560 1 #if (UART2_DEFINE != 0)
UART2Init(); //初始化UART0模块9600Bps
#endif
563 1
564 1 TwiInit(); //初始化TWI模块通讯频率为100Khz
565 1
566 1 McuPWM2Set(4000, 100); //初始化PWM2占空比100%
567 1
568 1 AFEInitReg(); //初始化AFE寄存器
569 1 if(!AFEInit()) //初始化AFEMCU是由AFE的V33供电的当MCU工作时AFE已经准备好通讯了
570 1 {
571 2 bAfeErr = 1;
572 2 }
573 1 AFEClrFlg(); //清零AFE状态寄存器
574 1
575 1 if(bEnEEPRomBK)
576 1 {
577 2 if(!E2PRomInit())
578 2 {
579 3 bE2PRErr = 1; //外挂EEPROM模块出错
580 3 }
581 2
582 2 if(!RTCInitTime(&RTC))
583 2 {
584 3 bRTCErr = 1; //外置RTC模块出错
585 3 }
C51 COMPILER V9.01 INITIAL 02/08/2025 15:18:20 PAGE 11
586 2 }
587 1
588 1 InitIRQ(); //初始化中断
589 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 376 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)