168 lines
9.7 KiB
Plaintext
168 lines
9.7 KiB
Plaintext
|
C51 COMPILER V9.01 MAIN 02/06/2025 15:28:44 PAGE 1
|
|||
|
|
|||
|
|
|||
|
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
|
|||
|
36 1 printf("SystemClock: 8MHz");
|
|||
|
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>幷
|
|||
|
45 3
|
|||
|
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>⣩
|
|||
|
C51 COMPILER V9.01 MAIN 02/06/2025 15:28:44 PAGE 2
|
|||
|
|
|||
|
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
|
|||
|
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/E2uiVP
|
|||
|
-ackGain);
|
|||
|
89 3 printf("\r\n");
|
|||
|
90 3 printf("TEMP0:%.2f C\r\n", AFE.uiICTempe[0]*17.0/100.0-270);
|
|||
|
91 3 // printf("TEMP1:%.2f C\r\n", (CalcuTemp(AFE.uiTS[0]) + E2siTS0Offset)*1.0);
|
|||
|
92 3 printf("TEMP1.0:%.2f C\r\n", AFE.uiTS[0]*1.0);
|
|||
|
93 3 printf("TEMP1.1:%.2f C\r\n", AFE.uiTS[1]*1.0);
|
|||
|
94 3
|
|||
|
95 3 bTimer1sFlg = 0;
|
|||
|
96 3 GasGaugeManage(); //Calculate the battery charge and discharge capacity
|
|||
|
97 3
|
|||
|
98 3 AFERamCheck(); //<2F><><EFBFBD><EFBFBD>AFE<46>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>д
|
|||
|
99 3
|
|||
|
100 3 AFETwiCheck(); //<2F><><EFBFBD><EFBFBD>AFE<46><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5SͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
|
|||
|
101 3 E2PRomTwiCheck(); //<2F><><EFBFBD><EFBFBD>EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5SͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
|
|||
|
102 3 RTCTwiCheck(); //<2F><><EFBFBD><EFBFBD>RTC<54><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5SͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
|
|||
|
103 3
|
|||
|
104 3 if(!RamCheckProcess()) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>д
|
|||
|
105 3 {
|
|||
|
106 4 SysParaInit();
|
|||
|
107 4 }
|
|||
|
108 3
|
|||
|
109 3 McuFlashWrWaitCheck(); //<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD>MCU Flash
|
|||
|
110 3
|
|||
|
111 3 E2PRomBKCheck(); //<2F><><EFBFBD><EFBFBD>EEPROM
|
|||
|
112 3
|
|||
|
113 3 //LowPowerCheck(); //<2F><EFBFBD><CDB9>ļ<EFBFBD><C4BC><EFBFBD>
|
|||
|
114 3
|
|||
|
C51 COMPILER V9.01 MAIN 02/06/2025 15:28:44 PAGE 3
|
|||
|
|
|||
|
115 3
|
|||
|
116 3 }
|
|||
|
117 2
|
|||
|
118 2 SystemResetProcess(); //ϵͳ<CFB5><CDB3>λ
|
|||
|
119 2
|
|||
|
120 2 ISPProcess(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
121 2
|
|||
|
122 2 CaliProcess(); //У
|
|||
|
123 2
|
|||
|
124 2 McuFlashProcess(); //<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD>MCU Flash<73><68>
|
|||
|
125 2
|
|||
|
126 2 E2PRomBKProcess(); //<2F><><EFBFBD><EFBFBD>EEPROM<4F><4D><EFBFBD><EFBFBD>
|
|||
|
127 2
|
|||
|
128 2 //LowPowerProcess(); //<2F><EFBFBD><CDB9>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|||
|
129 2
|
|||
|
130 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>
|
|||
|
131 2 Info.uiBatStatus = uiBatStatus;
|
|||
|
132 2
|
|||
|
133 2 }
|
|||
|
134 1 }
|
|||
|
135
|
|||
|
136
|
|||
|
137
|
|||
|
|
|||
|
|
|||
|
MODULE INFORMATION: STATIC OVERLAYABLE
|
|||
|
CODE SIZE = 764 ----
|
|||
|
CONSTANT SIZE = 161 ----
|
|||
|
XDATA SIZE = ---- ----
|
|||
|
PDATA SIZE = ---- ----
|
|||
|
DATA SIZE = ---- ----
|
|||
|
IDATA SIZE = ---- ----
|
|||
|
BIT SIZE = ---- ----
|
|||
|
END OF MODULE INFORMATION.
|
|||
|
|
|||
|
|
|||
|
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|