745 lines
32 KiB
Plaintext
745 lines
32 KiB
Plaintext
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)
|