2025-02-11 08:17:56 +00:00
|
|
|
|
C51 COMPILER V9.01 MAIN 02/11/2025 15:43:03 PAGE 1
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILER V9.01, COMPILATION OF MODULE MAIN
|
|
|
|
|
OBJECT MODULE PLACED IN .\output\Main.obj
|
|
|
|
|
COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\Main.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.O
|
|
|
|
|
-RC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_
|
|
|
|
|
-classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Main.lst) OBJECT(.\output\Main.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 #include "stdio.h"
|
|
|
|
|
11
|
|
|
|
|
12 // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
|
|
|
|
13 char putchar(char c)
|
|
|
|
|
14 {
|
|
|
|
|
15 1 REN = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
16 1 IO_485_DE = 1; // <20><><EFBFBD><EFBFBD>485<38><35><EFBFBD><EFBFBD>
|
|
|
|
|
17 1 SBUF = c; // <20><>
|
|
|
|
|
18 1 while(!TI);
|
|
|
|
|
19 1 IO_485_DE = 0; // <20>ر<EFBFBD>485<38><35><EFBFBD><EFBFBD>
|
|
|
|
|
20 1 TI = 0;
|
|
|
|
|
21 1 return c;
|
|
|
|
|
22 1 }
|
|
|
|
|
23
|
|
|
|
|
24 /*************************************************************************************************
|
|
|
|
|
25 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: main
|
|
|
|
|
26 * <20><> <20><>: <20><>
|
|
|
|
|
27 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
28 * <20><> <20><>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A3ACB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>While(1)<29><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
|
|
|
|
|
29 1.<2E><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
|
|
|
|
|
30 2.<2E><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧģ<D3A6><C4A3><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
|
|
|
|
|
31 *************************************************************************************************/
|
|
|
|
|
32 void main(void)
|
|
|
|
|
33 {
|
|
|
|
|
34 1 Initial(); //<2F><>ʼ<EFBFBD><CABC>ϵͳ
|
|
|
|
|
35 1
|
2025-02-08 07:27:19 +00:00
|
|
|
|
36 1 // printf("SystemClock: 8MHz");
|
2025-02-06 07:35:32 +00:00
|
|
|
|
37 1
|
|
|
|
|
38 1 while(1)
|
|
|
|
|
39 1 {
|
|
|
|
|
40 2 //KeyProcess(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
41 2
|
|
|
|
|
42 2 if(bTimer50msFlg) //50mS<6D><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AFE<46><45><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD>ݲɼ<DDB2><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㡢<EFBFBD><E3A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
43 2 {
|
|
|
|
|
44 3 McuWDTClear(); //<2F><>ʱ<EFBFBD>幷
|
2025-02-08 07:27:19 +00:00
|
|
|
|
45 3
|
2025-02-06 07:35:32 +00:00
|
|
|
|
46 3 bTimer50msFlg = 0;
|
|
|
|
|
47 3 AFEInfoProcess(); //<2F><>ȡAFE<46><45>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>¶ȡ<C2B6><C8A1><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
48 3
|
|
|
|
|
49 3 BalanceProcess(); //ƽ<>⼰<EFBFBD><E2BCB0><EFBFBD>ߴ<EFBFBD><DFB4><EFBFBD>
|
|
|
|
|
50 3
|
|
|
|
|
51 3 ProtectProcess(); //<2F><>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶ȱ<C2B6><C8B1><EFBFBD>
|
|
|
|
|
52 3
|
|
|
|
|
53 3 PorSelfTest(); //<2F><>һ<EFBFBD><D2BB><EFBFBD>ϵ籣<CFB5><E7B1A3><EFBFBD><EFBFBD><EFBFBD>⣨<EFBFBD><E2A3A8>ʱ<EFBFBD>϶̣<CFB6><CCA3>ݶ<EFBFBD>50mSһ<53>μ<EFBFBD><CEBC>⣩
|
2025-02-11 08:17:56 +00:00
|
|
|
|
C51 COMPILER V9.01 MAIN 02/11/2025 15:43:03 PAGE 2
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
54 3
|
|
|
|
|
55 3 LoadCheck(); //<2F><><EFBFBD>⸺<EFBFBD><E2B8BA><EFBFBD>Ƿ<EFBFBD><C7B7>ͷ<EFBFBD>
|
|
|
|
|
56 3
|
|
|
|
|
57 3 ChgerCheck(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ͷ<EFBFBD>
|
|
|
|
|
58 3
|
|
|
|
|
59 3 MosCtrl(); //MOS״̬<D7B4><CCAC><EFBFBD>⼰<EFBFBD><E2BCB0><EFBFBD><EFBFBD>
|
|
|
|
|
60 3
|
|
|
|
|
61 3 ProtectOCRecover(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Իָ<D4BB>
|
|
|
|
|
62 3
|
|
|
|
|
63 3 //LedDisplay(); //LED<45><44>ʾ
|
|
|
|
|
64 3
|
|
|
|
|
65 3 #if (UART0_DEFINE != 0)
|
|
|
|
|
66 3 Uart0Check(); //<2F><><EFBFBD><EFBFBD>UART0<54>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λָ<CEBB><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
67 3 #endif
|
|
|
|
|
68 3
|
|
|
|
|
69 3 #if (UART1_DEFINE != 0)
|
|
|
|
|
Uart1Check(); //<2F><><EFBFBD><EFBFBD>UART1<54>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λָ<CEBB><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#endif
|
|
|
|
|
72 3
|
|
|
|
|
73 3 #if (UART2_DEFINE != 0)
|
|
|
|
|
Uart2Check(); //<2F><><EFBFBD><EFBFBD>UART2<54>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λָ<CEBB><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#endif
|
|
|
|
|
76 3 }
|
|
|
|
|
77 2
|
|
|
|
|
78 2 if(bTimer1sFlg) //1s<31><73>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
|
|
|
|
79 2 {
|
|
|
|
|
80 3 IO_LED = ~IO_LED; //LED
|
|
|
|
|
81 3
|
2025-02-07 03:00:30 +00:00
|
|
|
|
82 3 // printf("\r\n");
|
|
|
|
|
83 3 // printf("BAT0:%.2f mV\r\n", AFE.uiCell[0]*1.0*CALIVOL/E2uiVPackGain);
|
|
|
|
|
84 3 // printf("BAT1:%.2f mV\r\n", AFE.uiCell[1]*1.0*CALIVOL/E2uiVPackGain);
|
|
|
|
|
85 3 // printf("BAT2:%.2f mV\r\n", AFE.uiCell[2]*1.0*CALIVOL/E2uiVPackGain);
|
|
|
|
|
86 3 // printf("BAT3:%.2f mV\r\n", AFE.uiCell[3]*1.0*CALIVOL/E2uiVPackGain);
|
|
|
|
|
87 3 // printf("BAT4:%.2f mV\r\n", AFE.uiCell[4]*1.0*CALIVOL/E2uiVPackGain);
|
|
|
|
|
88 3 // printf("TOTAL:%.2f mV\r\n",(AFE.uiCell[1]+AFE.uiCell[2]+AFE.uiCell[3]+AFE.uiCell[4])*1.0*CALIVOL/E2ui
|
|
|
|
|
-VPackGain);
|
|
|
|
|
89 3 //
|
|
|
|
|
90 3 // printf("\r\n");
|
|
|
|
|
91 3 // printf("TEMP I0:%.2f C\r\n", AFE.uiICTempe[0]*17.0/100.0-270);
|
|
|
|
|
92 3 // printf("TEMP I1:%.2f C\r\n", AFE.uiICTempe[1]*17.0/100.0-270);
|
|
|
|
|
93 3 // printf("TEMP E0:%.2f C\r\n", AFE.uiTS[0]*1.0);
|
|
|
|
|
94 3 // printf("TEMP E1:%.2f C\r\n", AFE.uiTS[1]*1.0);
|
|
|
|
|
95 3 //
|
|
|
|
|
96 3 // printf("\r\n");
|
|
|
|
|
97 3 // printf("CURR I1:%.2f mA\r\n", AFE.siCurr*1000.0*1000.0/16384/5);
|
2025-02-08 07:27:19 +00:00
|
|
|
|
98 3 // printf("\r\nBSTATUS:%x\r\n", REG.AFEBSTATUS);
|
2025-02-07 03:00:30 +00:00
|
|
|
|
99 3
|
|
|
|
|
100 3 bTimer1sFlg = 0;
|
|
|
|
|
101 3 GasGaugeManage(); //Calculate the battery charge and discharge capacity
|
|
|
|
|
102 3
|
|
|
|
|
103 3 AFERamCheck(); //<2F><><EFBFBD><EFBFBD>AFE<46>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>д
|
|
|
|
|
104 3
|
|
|
|
|
105 3 AFETwiCheck(); //<2F><><EFBFBD><EFBFBD>AFE<46><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5SͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
|
|
|
|
|
106 3 E2PRomTwiCheck(); //<2F><><EFBFBD><EFBFBD>EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5SͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
|
|
|
|
|
107 3 RTCTwiCheck(); //<2F><><EFBFBD><EFBFBD>RTC<54><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5SͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
|
2025-02-06 07:35:32 +00:00
|
|
|
|
108 3
|
2025-02-07 03:00:30 +00:00
|
|
|
|
109 3 if(!RamCheckProcess()) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>д
|
|
|
|
|
110 3 {
|
|
|
|
|
111 4 SysParaInit();
|
|
|
|
|
112 4 }
|
|
|
|
|
113 3
|
|
|
|
|
114 3 McuFlashWrWaitCheck(); //<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD>MCU Flash
|
2025-02-11 08:17:56 +00:00
|
|
|
|
C51 COMPILER V9.01 MAIN 02/11/2025 15:43:03 PAGE 3
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
2025-02-07 03:00:30 +00:00
|
|
|
|
115 3
|
|
|
|
|
116 3 E2PRomBKCheck(); //<2F><><EFBFBD><EFBFBD>EEPROM
|
|
|
|
|
117 3
|
|
|
|
|
118 3 //LowPowerCheck(); //<2F><EFBFBD><CDB9>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
119 3
|
|
|
|
|
120 3
|
|
|
|
|
121 3 }
|
|
|
|
|
122 2
|
|
|
|
|
123 2 SystemResetProcess(); //ϵͳ<CFB5><CDB3>λ
|
|
|
|
|
124 2
|
|
|
|
|
125 2 ISPProcess(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
126 2
|
|
|
|
|
127 2 CaliProcess(); //У
|
|
|
|
|
128 2
|
|
|
|
|
129 2 McuFlashProcess(); //<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD>MCU Flash<73><68>
|
|
|
|
|
130 2
|
|
|
|
|
131 2 E2PRomBKProcess(); //<2F><><EFBFBD><EFBFBD>EEPROM<4F><4D><EFBFBD><EFBFBD>
|
2025-02-06 07:35:32 +00:00
|
|
|
|
132 2
|
2025-02-07 03:00:30 +00:00
|
|
|
|
133 2 //LowPowerProcess(); //<2F><EFBFBD><CDB9>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|
|
|
|
134 2
|
|
|
|
|
135 2 Info.uiPackStatus = uiPackStatus; //<2F><><EFBFBD><EFBFBD>PACK<43><4B>Battery<72><79><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>UART<52><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
136 2 Info.uiBatStatus = uiBatStatus;
|
|
|
|
|
137 2
|
|
|
|
|
138 2 }
|
|
|
|
|
139 1 }
|
|
|
|
|
140
|
|
|
|
|
141
|
|
|
|
|
142
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODULE INFORMATION: STATIC OVERLAYABLE
|
2025-02-08 07:27:19 +00:00
|
|
|
|
CODE SIZE = 124 ----
|
|
|
|
|
CONSTANT SIZE = ---- ----
|
2025-02-06 07:35:32 +00:00
|
|
|
|
XDATA SIZE = ---- ----
|
|
|
|
|
PDATA SIZE = ---- ----
|
|
|
|
|
DATA SIZE = ---- ----
|
|
|
|
|
IDATA SIZE = ---- ----
|
|
|
|
|
BIT SIZE = ---- ----
|
|
|
|
|
END OF MODULE INFORMATION.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|