Both_Way_Comm_SY8833/Project/Listings/userapp.lst

745 lines
32 KiB
Plaintext
Raw Permalink 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.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 1
C51 COMPILER V9.57.0.0, COMPILATION OF MODULE USERAPP
OBJECT MODULE PLACED IN .\Objects\userapp.obj
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\UsrSrc\userapp\userapp.c ROM(COMPACT) OPTIMIZE(9,SIZE) BROWSE INCDIR(
-..\UsrInc\adc;..\UsrInc\charger;..\UsrInc\discharge;..\UsrInc\gpio;..\UsrInc\hall;..\UsrInc\i2c_simu;..\UsrInc\inc;..\Us
-rInc\key;..\UsrInc\led;..\UsrInc\mtp;..\UsrInc\pwm;..\UsrInc\sleep;..\UsrInc\system;..\UsrInc\uart;..\UsrInc\userapp;..\
-UsrInc\vox;..\UsrInc\vox_comm;..\UsrInc\watchdog;..\UsrInc\bat;..\UsrInc\timer) DEBUG OBJECTEXTEND CODE PRINT(.\Listings
-\userapp.lst) TABS(2) OBJECT(.\Objects\userapp.obj)
line level source
1 /*
2 ******************************************************************************
3 *
4 * @file UserApp.c
5 * @brief UserApp module
6 *
7 *
8 * @version 1.0
9 * @date 2023/03/27 15:00:40
10 * @author Alex Xu
11 *
12 * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd.
13 * All Rights Reserved
14 *
15 * History:
16 * Revision Date Author Desc
17 * 1.0.0 2023/03/27 Alex build this file
18 ******************************************************************************/
19 /*_____ I N C L U D E S ____________________________________________________*/
20
21 #include "userapp.h"
22 #include "gpio.h"
23 #include "adc.h"
24 #include "hall.h"
25 #include "key.h"
26 #include "sleep.h"
27 #include "system.h"
28 #include "bat.h"
29 #include "sys_tim.h"
30 #include "charger_module.h"
31 #include "discharge_module.h"
32 #include "led.h"
33 #include "vox_module.h"
34
35 /******************************************************************************\
36 Macro definitions
37 \******************************************************************************/
38
39 /******************************************************************************\
40 Variables definitions
41 \******************************************************************************/
42
43 uint8_t LED_On_Timer = 0; //led<65><64>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʱ
44 //uint8_t LED_On_Timer1 = 0; //led<65><64>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʱ
45
46 bit led_blink_1time_flag = 0;
47
48 /******************************************************************************\
49 Functions definitions
50 \******************************************************************************/
51
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 2
52 /*****************************************************************************
53 * Function : void LED_Display_App(void)
54 * Description : 5ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
55 * Input : None
56 * Output : None
57 * Return : None
58 * Note : None
59 *****************************************************************************/
60 /*
61 <20><><EFBFBD>
62 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD>״̬<D7B4><EFBFBD><C2B6><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><E7B3A3><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>1Hz<48><7A>˸<EFBFBD><CBB8><EFBFBD><EFBFBD>
63 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ϣ<EFBFBD>
64
65 <20>dz<EFBFBD><C7B3>
66 1<><31><EFBFBD>״<EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF>ǵ<EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ٸߵ<DFB5><E7A3BA>4s<34><73><EFBFBD>𣻢ڵ͵磺1Hz<48><7A>4s<34><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
67 2<><32><EFBFBD><EFBFBD><EFBFBD>״<EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD><C3BF>ǵ<EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD>ںУ<DABA><D0A3><EFBFBD>4s<34><73><EFBFBD>𣻢ڶ<F0A3BBA2><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ںУ<DABA><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
68 <20>۳<EFBFBD><DBB3><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD>
69 3<><33><EFBFBD>ظǵ<D8B8>Ч<EFBFBD><D0A7><EFBFBD>ߵ<DFB5><E7A3BA>4s<34><73><EFBFBD>𣻵͵磺1Hz<48><7A>4s<34><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
70 4<><34><EFBFBD>غ<EFBFBD>״̬<D7B4><CCAC><EFBFBD>޵<EFBFBD>Ч<EFBFBD><D0A7>ʾ<EFBFBD><CABE>
71
72 */
73 #ifdef LED_DISPLAY
74
75 void LED_Display_App(void)
76 {
77 1 #if 0
if( CoverEvent_Flg_led ) //Hall<6C><6C><EFBFBD>غ<EFBFBD>״̬<D7B4><CCAC><EFBFBD>͸ı<C4B1>dz<EFBFBD><C7B3><EFBFBD>ߵ磩LED<45><44>4s<34>𡢣<EFBFBD><F0A1A2A3>͵磩<CDB5><E7A3A9>4<EFBFBD>Σ<EFBFBD>1Hz<48><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-LED<45><44>һ<EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD>1Hz<48><7A>˸<EFBFBD><CBB8>
{
#if 1
if( F_batlevel_low ) //<2F><><EFBFBD>ӵ<EFBFBD><D3B5>ص͵磬<CDB5><E7A3AC>4<EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5>ϵ<EFBFBD><CFB5>ڼ䣬<DABC><E4A3AC><EFBFBD><EFBFBD>Bat_level<65><6C>ʼ<EFBFBD><CABC>Ϊ0<CEAA><30>Bat_leve
-lҪ<6C><D2AA><EFBFBD><EFBFBD>ADC<44><43>Ӧ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ҫ5s<35><73>debounce<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ڼ䣬<DABC><E4A3AC><EFBFBD>ظǵ<D8B8>Ч<EFBFBD><EFBFBD><E1B2BB>ȷ<EFBFBD><C8B7>
{
LED_R_FLASH(100,4);
CoverEvent_Flg_led = 0;
}
else
#endif
{
/*<2A><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>Ч<EFBFBD><D0A7>ʾ*/
if( (CoverStatus == OPEN) && ( (Vox_Pairing_State[VOL_CHAN] != VOX_PAIR_NONE) || (Vox_Pairing_State[VOR
-_CHAN] != VOX_PAIR_NONE) ) ) /* <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ڲ֡<DAB2><D6A1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>Ե<EFBFBD>Ч */
{
if( (Vox_Pairing_State[VOL_CHAN] == VOX_PAIR_ING) || (Vox_Pairing_State[VOR_CHAN] == VOX_PAIR_ING) )
- /*<2A><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>LED<45><44><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>2Hz*/
{
if (Display_Sta != LED_FLASH)
{
LED_R_KEEP_FLASHING(50);
}
LED_On_Timer = 0;
}
else
if( (Vox_Pairing_State[VOL_CHAN] == VOX_PAIR_OK) && (Vox_Pairing_State[VOR_CHAN] == VOX_PAIR_OK) ) /*
-<2D><><EFBFBD>Գɹ<D4B3>*/
{
if( LED_On_Timer < LED_ON_CNT ) //<2F><><EFBFBD>Գɹ<D4B3><C9B9><EFBFBD>LED<45><44>4s<34><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
LED_On_Timer++;
LED_R_ON();
}
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 3
else
{
LED_R_OFF();
// CoverEvent_Flg_led = 0;
}
}
}
else
{
if ( (CHIP_STA4 & 0x80) && (CoverStatus == OPEN) ) //<2F><><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD>п<EFBFBD><D0BF>ǣ<EFBFBD><C7A3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD>۵<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʲô״̬<D7B4><CCAC>
-<2D><>100ms<6D><73><EFBFBD>ָ<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>ĵ<EFBFBD>Ч<EFBFBD><D0A7>
{
if( !led_blink_1time_flag ) //<2F><><EFBFBD><EFBFBD><E2A3BA><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>LED<45><44>ЧΪ1Hz<48><7A>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>100ms<6D><73><EFBFBD><EFBFBD><EFBFBD>ĸߵ<C4B8>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ͵<C4B5>ƽ<EFBFBD>У<EFBFBD>ûЧ<C3BB><D0A7><EFBFBD><EFBFBD>
{
led_blink_1time_flag = 1;
LED_R_OFF();
CoverEvent_Flg_led = 0;
return;
}
}
if( LED_On_Timer < LED_ON_CNT ) //<2F><><EFBFBD>ظǣ<D8B8><C7A3><EFBFBD><EFBFBD>ӷǵ͵磬LED<45><44>4s<34><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
LED_On_Timer++;
LED_R_ON();
}
else
{
LED_R_OFF();
if( CoverStatus == CLOSE )
{
CoverEvent_Flg_led = 0;
}
}
}
}
}
else
{
// <20>г<EFBFBD><D0B3><EFBFBD>ʱ, LED<45><44>˸
// <20><><EFBFBD><EFBFBD>LEDָʾ
if (CHIP_STA4 & 0x80)
{
if (Display_Sta != LED_FLASH) // <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>LED<45><44>˸
{
LED_R_KEEP_FLASHING(100);
}
}
else // δ<><CEB4><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϩ<EFBFBD><CFA8>
{
LED_R_OFF();
}
}
#endif
163 1
164 1 if (CHIP_STA4 & 0x80) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
165 1 {
166 2 if ( Charger_Done ) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>LED<45><44><EFBFBD><EFBFBD>
167 2 {
168 3 LED_R_ON();
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 4
169 3 }
170 2 else
171 2 {
172 3 if ( CoverEvent_Flg_led && (CoverStatus == OPEN) ) //<2F><><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD>п<EFBFBD><D0BF>ǣ<EFBFBD><C7A3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD>۵<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʲô״̬<D7B4><CCAC><EFBFBD>
-<2D>100ms<6D><73><EFBFBD>ָ<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>ĵ<EFBFBD>Ч<EFBFBD><D0A7>
173 3 {
174 4 if( !led_blink_1time_flag ) //<2F><><EFBFBD><EFBFBD><E2A3BA><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>LED<45><44>ЧΪ1Hz<48><7A>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>100ms<6D><73><EFBFBD><EFBFBD><EFBFBD>ĸߵ<C4B8>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ͵<C4B5>ƽ<EFBFBD>У<EFBFBD>ûЧ<C3BB><D0A7><EFBFBD><EFBFBD>
175 4 {
176 5 led_blink_1time_flag = 1;
177 5 LED_R_OFF();
178 5 CoverEvent_Flg_led = 0;
179 5 return;
180 5 }
181 4 }
182 3
183 3 if (Display_Sta != LED_FLASH) // <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>LED<45><44>˸
184 3 {
185 4 LED_R_KEEP_FLASHING(100);
186 4 }
187 3 }
188 2 }
189 1 else
190 1 {
191 2 if( F_batlevel_low ) //<2F><><EFBFBD>ӵ<EFBFBD><D3B5>ص͵磬<CDB5><E7A3AC>4<EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5>ϵ<EFBFBD><CFB5>ڼ䣬<DABC><E4A3AC><EFBFBD><EFBFBD>Bat_level<65><6C>ʼ<EFBFBD><CABC>Ϊ0<CEAA><30>Bat_leve
-lҪ<6C><D2AA><EFBFBD><EFBFBD>ADC<44><43>Ӧ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ҫ5s<35><73>debounce<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ڼ䣬<DABC><E4A3AC><EFBFBD>ظǵ<D8B8>Ч<EFBFBD><EFBFBD><E1B2BB>ȷ<EFBFBD><C8B7>
192 2 {
193 3 if (CoverEvent_Flg_led) // <20><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>LED<45><44>˸
194 3 {
195 4 LED_R_FLASH(100,4);
196 4 CoverEvent_Flg_led = 0;
197 4 }
198 3 }
199 2 else
200 2 {
201 3 /*<2A><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>Ч<EFBFBD><D0A7>ʾ*/
202 3 if( (CoverStatus == OPEN) && ( (Vox_Pairing_State[VOL_CHAN] != VOX_PAIR_NONE) || (Vox_Pairing_State[VOR
-_CHAN] != VOX_PAIR_NONE) ) ) /* <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ڲ֡<DAB2><D6A1><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>Ե<EFBFBD>Ч */
203 3 {
204 4 if( (Vox_Pairing_State[VOL_CHAN] == VOX_PAIR_ING) || (Vox_Pairing_State[VOR_CHAN] == VOX_PAIR_ING) )
-/*<2A><><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>LED<45><44><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>2Hz*/
205 4 {
206 5 if (Display_Sta != LED_FLASH)
207 5 {
208 6 LED_R_KEEP_FLASHING(50);
209 6 }
210 5 LED_On_Timer = 0;
211 5 Enter_Sleep_Cnt_Restart_Flag = 1;
212 5
213 5 }
214 4 else
215 4 if( (Vox_Pairing_State[VOL_CHAN] == VOX_PAIR_OK) && (Vox_Pairing_State[VOR_CHAN] == VOX_PAIR_OK) ) /*
-<2D><><EFBFBD>Գɹ<D4B3>*/
216 4 {
217 5 if( LED_On_Timer < LED_ON_CNT ) //<2F><><EFBFBD>Գɹ<D4B3><C9B9><EFBFBD>LED<45><44>4s<34><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
218 5 {
219 6 LED_On_Timer++;
220 6 LED_R_ON();
221 6 }
222 5 else
223 5 {
224 6 LED_R_OFF();
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 5
225 6 }
226 5 }
227 4 }
228 3 else
229 3 {
230 4 if( LED_On_Timer < LED_ON_CNT ) //<2F><><EFBFBD>ظǣ<D8B8><C7A3><EFBFBD><EFBFBD>ӷǵ͵磬LED<45><44>4s<34><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
231 4 {
232 5 LED_On_Timer++;
233 5 LED_R_ON();
234 5 }
235 4 else
236 4 {
237 5 LED_R_OFF();
238 5 }
239 4 }
240 3 }
241 2 }
242 1 }
243
244 #endif
245 /*****************************************************************************
246 * Function : UserAPP
247 * Description : 5ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
248 * Input : None
249 * Output : None
250 * Return : None
251 * Note : None
252 *****************************************************************************/
253 void UserAPP(void)
254 {
255 1 if( F_sys_tim_5ms )
256 1 {
257 2 F_sys_tim_5ms = 0;
258 2
259 2 #if KEY_HALL_ENABLE
260 2 //Key_Handler(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
261 2 Hall_Handler(); //<2F><><EFBFBD>ظǼ<D8B8><C7BC><EFBFBD>
262 2 #endif
263 2
264 2 #if DISCHARGE_ENABLE
265 2 DisCharge_Handler(); //<2F>ŵ<EFBFBD>boost<73><74><EFBFBD><EFBFBD>
266 2 #endif
267 2
268 2 }
269 1
270 1 #ifdef LED_DISPLAY
271 1
272 1 if(F_sys_tim_10ms)
273 1 {
274 2 F_sys_tim_10ms = 0;
275 2 LED_Drv();
276 2 }
277 1
278 1 #endif
279 1
280 1 if( F_sys_tim_100ms )
281 1 {
282 2 F_sys_tim_100ms = 0;
283 2
284 2 Key_Handler();
285 2
286 2 #if CHARGER_ENABLE
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 6
287 2 Charger_Handler(); //<2F><><EFBFBD><EFBFBD><E7B9A6>
288 2 #endif
289 2
290 2 #if ADC_ENABLE
291 2 Vbat_Adc = Vbat_Value(); //<2F><>ȡBat<61><74>ѹ
292 2 #endif
293 2
294 2 #if VOX_ENABLE
295 2 Vox_Det_Machine(); //<2F><><EFBFBD>ظǺ<D8B8><C7BA>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD>
296 2 #endif
297 2
298 2 #ifdef LED_DISPLAY
299 2 LED_Display_App(); //LED <20><>Ч
300 2 #endif
301 2
302 2 #if BAT_VALUE
303 2 check_bat_level(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
304 2 #endif
305 2
306 2 #ifdef VOX_RX
307 2 HandleVoxCommMsg();
308 2 #endif
309 2 }
310 1
311 1 if( F_sys_tim_1s )
312 1 {
313 2 F_sys_tim_1s = 0;
314 2
315 2 #if SLEEP_ENABLE
316 2
317 2 /*1<><31><EFBFBD><EFBFBD><EFBFBD>Ѻ<EFBFBD><D1BA><EFBFBD><EFBFBD><EFBFBD>Ns<4E><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Sleep Mode,N<><4E>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>100ms<6D><73>
318 2 2<><32><EFBFBD><EFBFBD>VIN<49><4E><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sleep mode<64><65>
319 2 */
320 2
321 2 if( Decnt_SleepDelay > 0 ) /*<2A>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ִ˹<D6B4><CBB9>ܣ<EFBFBD>*/
322 2 {
323 3 Decnt_SleepDelay--;
324 3
325 3 /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Sleep Mode<64><65><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD>KEY\HALL\Loadon\IOFF<46>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ʱ<EFBFBD><CAB1>*/
326 3 if( Enter_Sleep_Cnt_Restart_Flag )
327 3 {
328 4 Enter_Sleep_Cnt_Restart_Flag = 0;
329 4 Decnt_SleepDelay = ENTER_STANDBYMODE_CNT;
330 4 }
331 3
332 3 return;
333 3 }
334 2
335 2 if( Check_Require_Sleep() )
336 2 {
337 3 /* <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
338 3
339 3 //SFRADDR = WKUP_EN0;
340 3 //SFRDATA = 0xE6; //wake0 up enable.
341 3
342 3 //SFRADDR = WKUP_EN3;
343 3 //SFRDATA = 0xFF; //wake3 up enable.VOX loadon wake up.
344 3
345 3 /* Enter Sleep */
346 3 /* InSleep Handler */ //Disable All IRQ
347 3 #if UART0_ENABLE
348 3 ES0 = 0; //UART0 IRQ Disable
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 7
349 3 #endif
350 3 EX4 = 0;
351 3 EX2 = 0;
352 3 ET0 = 0; //timer0 IRQ Disable
353 3 #if TIMER1_ENABLE
ET1 = 0; //timer1 IRQ Disable
#endif
356 3
357 3 SFRADDR = ADC_CTL0;
358 3 SFRDATA &= ~0x80; //ADC Disable.
359 3
360 3 PCON |= 0x02; //Enter StandbyMode, Only int0 or int1 can wake up system
361 3
362 3 /* OutSleep Handler */ //Enable IRQ
363 3 #if UART0_ENABLE
364 3 ES0 = 1; //UART0 IRQ
365 3 #endif
366 3 EX4 = 1;
367 3 EX2 = 1;
368 3 ET0 = 1; //timer0 IRQ
369 3 #if TIMER1_ENABLE
ET1 = 1; //timer1 IRQ
#endif
372 3 Decnt_SleepDelay = ENTER_STANDBYMODE_CNT;
373 3 }
374 2 else
375 2 {
376 3 Decnt_SleepDelay = ENTER_STANDBYMODE_CNT;
377 3 }
378 2 #endif
379 2 }
380 1 }
381
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 8
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION LED_Display_App (BEGIN)
; SOURCE LINE # 75
; SOURCE LINE # 76
; SOURCE LINE # 164
0000 E5E6 MOV A,CHIP_STA4
0002 30E729 JNB ACC.7,?C0001
; SOURCE LINE # 165
; SOURCE LINE # 166
0005 300002 E JNB Charger_Done,?C0002
; SOURCE LINE # 167
; SOURCE LINE # 168
; SOURCE LINE # 169
0008 807A SJMP ?C0033
000A ?C0002:
; SOURCE LINE # 171
; SOURCE LINE # 172
000A 300010 E JNB CoverEvent_Flg_led,?C0004
000D E500 E MOV A,CoverStatus
000F B4010B CJNE A,#01H,?C0004
; SOURCE LINE # 173
; SOURCE LINE # 174
0012 200008 R JB led_blink_1time_flag,?C0004
; SOURCE LINE # 175
; SOURCE LINE # 176
0015 D200 R SETB led_blink_1time_flag
; SOURCE LINE # 177
0017 E4 CLR A
0018 FB MOV R3,A
0019 FD MOV R5,A
001A FF MOV R7,A
; SOURCE LINE # 178
001B 801D SJMP ?C0034
; SOURCE LINE # 180
; SOURCE LINE # 181
001D ?C0004:
; SOURCE LINE # 183
001D 7800 E MOV R0,#LOW Display_Sta
001F E6 MOV A,@R0
0020 6402 XRL A,#02H
0022 7002 JNZ $ + 4H
0024 0100 R AJMP ?C0006
; SOURCE LINE # 184
; SOURCE LINE # 185
0026 7BFF MOV R3,#0FFH
0028 7D64 MOV R5,#064H
002A 7F02 MOV R7,#02H
; SOURCE LINE # 186
; SOURCE LINE # 187
; SOURCE LINE # 188
002C 8077 SJMP ?C0038
002E ?C0001:
; SOURCE LINE # 190
; SOURCE LINE # 191
002E 30000F E JNB F_batlevel_low,?C0009
; SOURCE LINE # 192
; SOURCE LINE # 193
0031 300074 E JNB CoverEvent_Flg_led,?C0006
; SOURCE LINE # 194
; SOURCE LINE # 195
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 9
0034 7B04 MOV R3,#04H
0036 7D64 MOV R5,#064H
0038 7F02 MOV R7,#02H
003A ?C0034:
003A 120000 E LCALL _LED_Set
; SOURCE LINE # 196
003D C200 E CLR CoverEvent_Flg_led
; SOURCE LINE # 197
; SOURCE LINE # 198
003F 22 RET
0040 ?C0009:
; SOURCE LINE # 200
; SOURCE LINE # 202
0040 E500 E MOV A,CoverStatus
0042 6401 XRL A,#01H
0044 704B JNZ ?C0012
0046 E500 E MOV A,Vox_Pairing_State+024H
0048 7004 JNZ ?C0013
004A E500 E MOV A,Vox_Pairing_State+025H
004C 6043 JZ ?C0012
004E ?C0013:
; SOURCE LINE # 203
; SOURCE LINE # 204
004E E500 E MOV A,Vox_Pairing_State+024H
0050 6401 XRL A,#01H
0052 6005 JZ ?C0015
0054 E500 E MOV A,Vox_Pairing_State+025H
0056 B40116 CJNE A,#01H,?C0014
0059 ?C0015:
; SOURCE LINE # 205
; SOURCE LINE # 206
0059 7800 E MOV R0,#LOW Display_Sta
005B E6 MOV A,@R0
005C 6402 XRL A,#02H
005E 6009 JZ ?C0016
; SOURCE LINE # 207
; SOURCE LINE # 208
0060 7BFF MOV R3,#0FFH
0062 7D32 MOV R5,#032H
0064 7F02 MOV R7,#02H
0066 120000 E LCALL _LED_Set
; SOURCE LINE # 209
0069 ?C0016:
; SOURCE LINE # 210
0069 E4 CLR A
006A F500 R MOV LED_On_Timer,A
; SOURCE LINE # 211
006C D200 E SETB Enter_Sleep_Cnt_Restart_Flag
; SOURCE LINE # 213
006E 22 RET
006F ?C0014:
; SOURCE LINE # 215
006F E500 E MOV A,Vox_Pairing_State+024H
0071 6402 XRL A,#02H
0073 7033 JNZ ?C0006
0075 E500 E MOV A,Vox_Pairing_State+025H
0077 6402 XRL A,#02H
0079 702D JNZ ?C0006
; SOURCE LINE # 216
; SOURCE LINE # 217
007B E500 R MOV A,LED_On_Timer
007D C3 CLR C
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 10
007E 9428 SUBB A,#028H
0080 5009 JNC ?C0019
; SOURCE LINE # 218
; SOURCE LINE # 219
0082 0500 R INC LED_On_Timer
; SOURCE LINE # 220
0084 ?C0033:
0084 E4 CLR A
0085 FB MOV R3,A
0086 FD MOV R5,A
0087 7F01 MOV R7,#01H
0089 ?C0035:
; SOURCE LINE # 221
0089 801A SJMP ?C0038
008B ?C0019:
; SOURCE LINE # 223
; SOURCE LINE # 224
008B E4 CLR A
008C FB MOV R3,A
008D FD MOV R5,A
008E FF MOV R7,A
008F ?C0036:
; SOURCE LINE # 225
; SOURCE LINE # 226
; SOURCE LINE # 227
008F 8014 SJMP ?C0038
0091 ?C0012:
; SOURCE LINE # 229
; SOURCE LINE # 230
0091 E500 R MOV A,LED_On_Timer
0093 C3 CLR C
0094 9428 SUBB A,#028H
0096 5009 JNC ?C0022
; SOURCE LINE # 231
; SOURCE LINE # 232
0098 0500 R INC LED_On_Timer
; SOURCE LINE # 233
009A E4 CLR A
009B FB MOV R3,A
009C FD MOV R5,A
009D 7F01 MOV R7,#01H
009F ?C0037:
; SOURCE LINE # 234
009F 8004 SJMP ?C0038
00A1 ?C0022:
; SOURCE LINE # 236
; SOURCE LINE # 237
00A1 E4 CLR A
00A2 FB MOV R3,A
00A3 FD MOV R5,A
00A4 FF MOV R7,A
00A5 ?C0038:
00A5 120000 E LCALL _LED_Set
; SOURCE LINE # 238
; SOURCE LINE # 239
; SOURCE LINE # 240
; SOURCE LINE # 241
; SOURCE LINE # 242
00A8 ?C0006:
00A8 22 RET
; FUNCTION LED_Display_App (END)
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 11
; FUNCTION UserAPP (BEGIN)
; SOURCE LINE # 253
; SOURCE LINE # 254
; SOURCE LINE # 255
0000 300008 E JNB F_sys_tim_5ms,?C0024
; SOURCE LINE # 256
; SOURCE LINE # 257
0003 C200 E CLR F_sys_tim_5ms
; SOURCE LINE # 261
0005 120000 E LCALL Hall_Handler
; SOURCE LINE # 265
0008 120000 E LCALL DisCharge_Handler
; SOURCE LINE # 268
000B ?C0024:
; SOURCE LINE # 272
000B 300005 E JNB F_sys_tim_10ms,?C0025
; SOURCE LINE # 273
; SOURCE LINE # 274
000E C200 E CLR F_sys_tim_10ms
; SOURCE LINE # 275
0010 120000 E LCALL LED_Drv
; SOURCE LINE # 276
0013 ?C0025:
; SOURCE LINE # 280
0013 30001E E JNB F_sys_tim_100ms,?C0026
; SOURCE LINE # 281
; SOURCE LINE # 282
0016 C200 E CLR F_sys_tim_100ms
; SOURCE LINE # 284
0018 120000 E LCALL Key_Handler
; SOURCE LINE # 287
001B 120000 E LCALL Charger_Handler
; SOURCE LINE # 291
001E 120000 E LCALL Vbat_Value
0021 7800 E MOV R0,#LOW Vbat_Adc
0023 A606 MOV @R0,AR6
0025 08 INC R0
0026 A607 MOV @R0,AR7
; SOURCE LINE # 295
0028 120000 E LCALL Vox_Det_Machine
; SOURCE LINE # 299
002B 120000 R LCALL LED_Display_App
; SOURCE LINE # 303
002E 120000 E LCALL check_bat_level
; SOURCE LINE # 307
0031 120000 E LCALL HandleVoxCommMsg
; SOURCE LINE # 309
0034 ?C0026:
; SOURCE LINE # 311
0034 300035 E JNB F_sys_tim_1s,?C0030
; SOURCE LINE # 312
; SOURCE LINE # 313
0037 C200 E CLR F_sys_tim_1s
; SOURCE LINE # 321
0039 E500 E MOV A,Decnt_SleepDelay
003B D3 SETB C
003C 9400 SUBB A,#00H
003E 4009 JC ?C0028
; SOURCE LINE # 322
; SOURCE LINE # 323
0040 1500 E DEC Decnt_SleepDelay
; SOURCE LINE # 326
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 12
0042 300027 E JNB Enter_Sleep_Cnt_Restart_Flag,?C0030
; SOURCE LINE # 327
; SOURCE LINE # 328
0045 C200 E CLR Enter_Sleep_Cnt_Restart_Flag
; SOURCE LINE # 329
; SOURCE LINE # 330
0047 8020 SJMP ?C0040
; SOURCE LINE # 333
0049 ?C0028:
; SOURCE LINE # 335
0049 120000 E LCALL Check_Require_Sleep
004C 501B JNC ?C0031
; SOURCE LINE # 336
; SOURCE LINE # 348
004E C2AC CLR ES0
; SOURCE LINE # 350
0050 C2BB CLR EX4
; SOURCE LINE # 351
0052 C2B9 CLR EX2
; SOURCE LINE # 352
0054 C2A9 CLR ET0
; SOURCE LINE # 357
0056 75FE29 MOV SFRADDR,#029H
; SOURCE LINE # 358
0059 53FF7F ANL SFRDATA,#07FH
; SOURCE LINE # 360
005C 438702 ORL PCON,#02H
; SOURCE LINE # 364
005F D2AC SETB ES0
; SOURCE LINE # 366
0061 D2BB SETB EX4
; SOURCE LINE # 367
0063 D2B9 SETB EX2
; SOURCE LINE # 368
0065 D2A9 SETB ET0
; SOURCE LINE # 372
0067 ?C0039:
; SOURCE LINE # 373
0067 8000 SJMP ?C0040
0069 ?C0031:
; SOURCE LINE # 375
; SOURCE LINE # 376
0069 ?C0040:
0069 75000A E MOV Decnt_SleepDelay,#0AH
; SOURCE LINE # 377
; SOURCE LINE # 379
; SOURCE LINE # 380
006C ?C0030:
006C 22 RET
; FUNCTION UserAPP (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 278 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILER V9.57.0.0 USERAPP 06/14/2024 11:10:29 PAGE 13
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)