ZDBMS/output/McuLib.lst

387 lines
17 KiB
Plaintext
Raw Normal View History

2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 MCULIB 02/07/2025 10:36:15 PAGE 1
2025-02-06 07:35:32 +00:00
C51 COMPILER V9.01, COMPILATION OF MODULE MCULIB
OBJECT MODULE PLACED IN .\output\McuLib.obj
COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\McuLib.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load
-.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\cod
-e_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\McuLib.lst) OBJECT(.\output\McuLi
-b.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 /*************************************************************************************************
14 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: McuTimer3Set
15 * <20><> <20><>: ClkSource: <20><>ʱ<EFBFBD><CAB1><EFBFBD>Ļ<EFBFBD>׼Դ<D7BC><D4B4><EFBFBD>ֱ<EFBFBD>Ϊ32KHz<48><7A>128KHz<48><7A>24MHz<48><7A>ϵͳʱ<CDB3>ӣ<EFBFBD>
16 XmS<6D><53><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>1000mSʱ<53><CAB1><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>1000mSʱ<53><CAB1>ֻ<EFBFBD><D6BB>ѡ<EFBFBD><D1A1>32KHz<48><7A>128K
-Hz<48><7A>
17 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
18 * <20><> <20><>: <20><>ʼ<EFBFBD><CABC>Timer3<72><33>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
19 *************************************************************************************************/
20 void McuTimer3Set(U8 ClkSource, U16 XmS)
21 {
22 1 U16 TempVal;
23 1
24 1 McuBank1Sel();
25 1
26 1 // if(ClkSource == TIM_CLK_32KHz)
27 1 // {
28 1 // if(XmS < 1000)
29 1 // {
30 1 // T3CON = 0x02; //<2F>ⲿ32.768kHzΪʱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2S
31 1 // TempVal = (U32)0x10000 - (U32)32.768*XmS;
32 1 // }
33 1 // else
34 1 // {
35 1 // T3CON = 0x22; //<2F>ⲿ32.768kHzΪʱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>64<EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>128s
36 1 // TempVal = 0x10000 - (U32)32.768*XmS/64;
37 1 // }
38 1 // }
39 1 // else if(ClkSource == TIM_CLK_128KHz)
40 1 // {
41 1 // if(XmS < 4000)
42 1 // {
43 1 // T3CON = 0x12; //<2F>ⲿ128kHzΪʱ<CEAA><CAB1>Դ<EFBFBD><D4B4>8<EFBFBD><38>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4.096S
44 1 // TempVal = 0x10000 - (U32)128*XmS/8;
45 1 // }
46 1 // else
47 1 // {
48 1 // T3CON = 0x32; //<2F>ⲿ128kHzΪʱ<CEAA><CAB1>Դ<EFBFBD><D4B4>256<35><36>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>131.072S
49 1 // TempVal = 0x10000 - (U32)128*XmS/256;
50 1 // }
51 1 // }
2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 MCULIB 02/07/2025 10:36:15 PAGE 2
2025-02-06 07:35:32 +00:00
52 1 // else if(ClkSource == TIM_CLK_24MHz)
53 1 // {
54 1 // if(XmS < 500)
55 1 // {
56 1 // T3CON = 0x30; //ϵͳ24MHzΪʱ<CEAA><CAB1>Դ<EFBFBD><D4B4>256<35><36>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>669.5ms
57 1 // TempVal = 0x10000 - (U32)24000*XmS/256;
58 1 // }
59 1 // else
60 1 // {
61 1 // T3CON = 0x32; //<2F>ⲿ128kHzΪʱ<CEAA><CAB1>Դ<EFBFBD><D4B4>256<35><36>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>131.072S
62 1 // TempVal = 0x10000 - (U32)128*XmS/256;
63 1 // }
64 1 // }
65 1
66 1 //8MHz<48><7A><EFBFBD><EFBFBD>
67 1 T3CON = 0x30; //ϵͳ8MHzΪʱ<CEAA><CAB1>Դ<EFBFBD><D4B4>256<35><36>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>669.5ms
68 1 TempVal = 0x10000 - (U32)8000*XmS/256;
69 1
70 1 TL3 = TempVal;
71 1 TH3 = TempVal>>8;
72 1 TR3 = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>3
73 1
74 1 McuBank0Sel();
75 1 }
*** WARNING C280 IN LINE 20 OF CODE_DRV\MCULIB.C: 'ClkSource': unreferenced local variable
76
77
78 /*************************************************************************************************
79 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: McuClockSet
80 * <20><> <20><>: SysClock<63><6B><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ϵͳʱ<CDB3><CAB1>
81 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
82 * <20><> <20><>: <20><>ʼ<EFBFBD><CABC>AFE
83 *************************************************************************************************/
84 void McuClockSet(U8 SysClock)
85 {
86 1 U8 ea;
87 1
88 1 ea = EA;
89 1 EA = 0;
90 1
91 1 CLKCON |= 0x08; //SETB HFON
92 1
93 1 _nop_();
94 1 _nop_();
95 1 _nop_();
96 1 _nop_();
97 1 _nop_();
98 1 _nop_();
99 1 _nop_();
100 1 _nop_();
101 1
102 1 CLKCON &= 0x60;
103 1
104 1 CLKCON |= 0x04; //SETB FS, SYSCLK=24M
105 1
106 1 EA = ea;
107 1 }
*** WARNING C280 IN LINE 84 OF CODE_DRV\MCULIB.C: 'SysClock': unreferenced local variable
108
109
110 /*************************************************************************************************
111 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: McuPWM0Set<65><74>McuPWM1Set<65><74>McuPWM2Set
2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 MCULIB 02/07/2025 10:36:15 PAGE 3
2025-02-06 07:35:32 +00:00
112 * <20><> <20><>: PwmFreq<65><71>PWM<57><4D>Ƶ<EFBFBD><C6B5>Hz<48><7A>DutyRatio<69><6F>PWM<57>ĸߵ<C4B8>ƽռ<C6BD>ձ<EFBFBD>
113 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
114 * <20><> <20><>: <20><>ʼ<EFBFBD><CABC>AFE
115 *************************************************************************************************/
116 void McuPWM0Set(U16 PwmFreq, U8 DutyRatio)
117 {
118 1 PWM0CON = 0xb0; //ϵͳʱ<CDB3><CAB1>/64
119 1 PWM0PL = 375000/PwmFreq; //PWM2P=24000000/(64*E2uiDSG1PWMFreq);
120 1 PWM0PH = (375000/PwmFreq) >> 8;
121 1 PWM0DL = (U16)(PWM0PL+PWM0PH*256)*DutyRatio/100;
122 1 PWM0DH = ((U16)(PWM0PL+PWM0PH*256)*DutyRatio/100) >> 8;
123 1 }
124
125 void McuPWM1Set(U16 PwmFreq, U8 DutyRatio)
126 {
127 1 PWM1CON = 0xb0; //ϵͳʱ<CDB3><CAB1>/64
128 1 PWM1PL = 375000/PwmFreq; //PWM2P=24000000/(64*E2uiDSG1PWMFreq);
129 1 PWM1PH = (375000/PwmFreq) >> 8;
130 1 PWM1DL = (U16)(PWM1PL+(U16)PWM1PH*256)*DutyRatio/100;
131 1 PWM1DH = ((U16)(PWM1PL+(U16)PWM1PH*256)*DutyRatio/100) >> 8;
132 1 }
133
134 void McuPWM2Set(U16 PwmFreq, U8 DutyRatio)
135 {
136 1 PWM2CON = 0xb0; //ϵͳʱ<CDB3><CAB1>/64
137 1 PWM2PL = 375000/PwmFreq; //PWM2P=24000000/(64*E2uiDSG1PWMFreq);
138 1 PWM2PH = (375000/PwmFreq) >> 8;
139 1 PWM2DL = (U16)(PWM2PL+(U16)PWM2PH*256)*DutyRatio/100;
140 1 PWM2DH = ((U16)(PWM2PL+(U16)PWM2PH*256)*DutyRatio/100) >> 8;
141 1 }
142
143
144 /*************************************************************************************************
145 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Delay1ms
146 * <20><> <20><>: Xms<6D><73><EFBFBD>ӳٶ<D3B3><D9B6><EFBFBD>mS
147 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
148 * <20><> <20><>: <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λΪ1mS
149 <20>ر<EFBFBD>ע<EFBFBD><D7A2><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ׼ȷ<D7BC><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ͬ<EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>಻ͬ<E0B2BB><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>һ<EFBFBD>£<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
150 1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>Ϊ3ʱ<33><CAB1>j=1670<37><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>ʱΪ3.484ms<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӱ<EFBFBD><EFBFBD>
-<2D><><EFBFBD>ﵽ3.804ms
151 2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>Ϊ3ʱ<33><CAB1>j=480<38><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>ʱΪ1.010ms<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD>
-<2D><>ﵽ1.104ms
152 3.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>Ϊ7ʱ<37><CAB1>j=1670<37><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD>ʱΪ1.002ms<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӱ<EFBFBD><EFBFBD>
-<2D><><EFBFBD>ﵽ1.090ms
153 *************************************************************************************************/
154 void Delay1ms(U8 Xms)
155 {
156 1 U8 i;
157 1 U16 j, Tcnt;
158 1
159 1 if((CLKCON&0x70) == MCU_CLK_24MHz)
160 1 {
161 2 Tcnt = 1670;
162 2 }
163 1 else if((CLKCON&0x70) == MCU_CLK_12MHz)
164 1 {
165 2 Tcnt = 1670/2;
166 2 }
167 1 else if((CLKCON&0x70) == MCU_CLK_6MHz)
168 1 {
169 2 Tcnt = 1670/4;
170 2 }
2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 MCULIB 02/07/2025 10:36:15 PAGE 4
2025-02-06 07:35:32 +00:00
171 1 else //2MHz
172 1 {
173 2 Tcnt = 1670/12;
174 2 }
175 1
176 1
177 1 for(i=0; i<Xms; i++) //system clock = 24MHz
178 1 {
179 2 for(j=0; j<Tcnt; j++)
180 2 {
181 3 }
182 2 }
183 1 }
184
185
186
187 /*************************************************************************************************
188 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ClrRam
189 * <20><> <20><>: <20><>
190 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
191 * <20><> <20><>: <20><><EFBFBD><EFBFBD>DATA<54><41>IDATA<54><41>XRAM<41><4D><EFBFBD>򣻶<EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
192 *************************************************************************************************/
193 //void ClrRam(void)
194 //{
195 // U8 idata *ptr1;
196 // U8 xdata *ptr2;
197 // U8 xdata i;
198 // U16 idata j;
199
200 // for(i=0x08; i<=STACK_ADDR-1; i++) //clear ram address: 08H~STACK_ADDR-1
201 // {
202 // ptr1 = (U8 idata *)i;
203 // *ptr1 = 0;
204 // }
205
206 // for(j=0; j<=0xAFF; j++) //clear XDATA address:0000H-0AFFH
207 // {
208 // ptr2 = (U8 xdata *)j;
209 // *ptr2 = 0;
210 // }
211 //}
212
213
214 /*************************************************************************************************
215 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: RamCheckProcess
216 * <20><> <20><>: <20><>
217 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
218 * <20><> <20><>: <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>XRAM<41><4D><EFBFBD>ı<EFBFBD>־<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
219 *************************************************************************************************/
220 BOOL RamCheckProcess(void)
221 {
222 1 if((E2ucRamCheckFlg0 != RAM_CHECK_DATA)
223 1 || (E2ucRamCheckFlg1 != RAM_CHECK_DATA)
224 1 || (E2ucRamCheckFlg2 != RAM_CHECK_DATA)
225 1 || (E2ucRamCheckFlg3 != RAM_CHECK_DATA)
226 1 || (E2ucRamCheckFlg5 != RAM_CHECK_DATA)
227 1 || (E2ucRamCheckFlg6 != RAM_CHECK_DATA)
228 1 || (E2ucRamCheckFlg7 != RAM_CHECK_DATA)
229 1 || (E2ucRamCheckFlg8 != RAM_CHECK_DATA)
230 1 || (E2ucRamCheckFlg9 != RAM_CHECK_DATA)
231 1 || (E2ucRamCheckFlgA != RAM_CHECK_DATA)
232 1 || (E2ucRamCheckFlgB != RAM_CHECK_DATA)
2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 MCULIB 02/07/2025 10:36:15 PAGE 5
2025-02-06 07:35:32 +00:00
233 1 || (E2uiCheckFlag != 0x5AA5))
234 1 {
235 2 return 0;
236 2 }
237 1 else
238 1 {
239 2 return 1;
240 2 }
241 1 }
242
243
244 /*************************************************************************************************
245 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: MemorySet
246 * <20><> <20><>: pt--memoryָ<79><D6B8>
247 setval---<2D><>Ҫ<EFBFBD><D2AA>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
248 length---<2D><>Ҫ<EFBFBD><D2AA>ֵ<EFBFBD><D6B5>memory<72><79><EFBFBD><EFBFBD>(Byres)
249 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
250 * <20><> <20><>: <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>XRAM<41><4D><EFBFBD>ı<EFBFBD>־<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
251 *************************************************************************************************/
252 void MemorySet(U8 xdata *pt, U8 setval, U8 length)
253 {
254 1 U8 i;
255 1 for(i=0; i<length; i++)
256 1 {
257 2 *pt = setval;
258 2 pt++;
259 2 }
260 1 }
261
262
263 /*************************************************************************************************
264 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: MemoryCopy
265 * <20><> <20><>: source--ԴMemoryָ<79><D6B8>
266 target---Ŀ<><C4BF>Memoryָ<79><D6B8>
267 length---<2D><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>(Byres)
268 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
269 * <20><> <20><>: <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>XRAM<41><4D><EFBFBD>ı<EFBFBD>־<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
270 *************************************************************************************************/
271 void MemoryCopy(U8 xdata *source, U8 xdata *target, U8 length)
272 {
273 1 U8 i;
274 1 for(i=0; i<length; i++)
275 1 {
276 2 *target = *source;
277 2 target++;
278 2 source++;
279 2 }
280 1 }
281
282
283 /*************************************************************************************************
284 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: McuIntoIdle<6C><65>McuIntoPD
285 * <20><> <20><>: <20><>
286 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
287 * <20><> <20><>: MCU<43><55><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>IDLEģʽ<C4A3><CABD><EFBFBD>Խ<EFBFBD><D4BD>͹<EFBFBD><CDB9><EFBFBD>
288 *************************************************************************************************/
289 void McuIntoIdle(void)
290 {
291 1 SUSLO = 0x55;
292 1 PCON |= 0x01;
293 1 _nop_();
294 1 _nop_();
2025-02-07 03:00:30 +00:00
C51 COMPILER V9.01 MCULIB 02/07/2025 10:36:15 PAGE 6
2025-02-06 07:35:32 +00:00
295 1 _nop_();
296 1 _nop_();
297 1 _nop_();
298 1 }
299
300 void McuIntoPD(void)
301 {
302 1 SUSLO = 0x55;
303 1 PCON |= 0x02;
304 1 _nop_();
305 1 _nop_();
306 1 _nop_();
307 1 _nop_();
308 1 _nop_();
309 1 }
310
311
312 /*************************************************************************************************
313 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: SystemResetProcess
314 * <20><> <20><>: <20><>
315 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
316 * <20><> <20><>: ϵͳ<CFB5><CDB3>λ<EFBFBD><CEBB><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ<EFBFBD><D6B7>ʼִ<CABC><D6B4>
317 *************************************************************************************************/
318 void SystemResetProcess(void)
319 {
320 1 if( (ucResetFlag==0x12) && (bUart0SndAckFlg||bUart1SndAckFlg||bUart2SndAckFlg) //Software reset
- occurs, and ended UART communication
321 1 && (!bMcuFlashWrWaitFlg) && (!bMcuFlashWrFlg) ) //Flash has been updated
322 1 {
323 2 IrqDis();
324 2 IEN0 = 0x00; //Disable Interrupt
325 2 IEN1 = 0x00;
326 2 TCON = 0x00;
327 2 EXF0 = 0x00;
328 2
329 2 SBRTH = 0x00; //Disable UART0
330 2 SBRTL = 0x00;
331 2 SCON = 0x00;
332 2
333 2 ((void(code*)(void))0x0000)(); //ָ<><D6B8><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ַ
334 2 }
335 1 }
336
337
338
339
340
341
342
343
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 804 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 15
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)