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ÁÁʱ¼ä¼ÆÊ± 44 //uint8_t LED_On_Timer1 = 0; //ledÁÁʱ¼ä¼ÆÊ± 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µ÷ÓÃÖÜÆÚ 55 * Input : None 56 * Output : None 57 * Return : None 58 * Note : None 59 *****************************************************************************/ 60 /* 61 ³äµç£º 62 1¡¢³äµçÖУ¬ÎÞÆäËüÐÐΪ´ò¶Ïʱ£¬¿ª¹ØºÐ״̬϶¼ÏÔʾ³äµç³£ÁÁµÆÐ§£¨1HzÉÁ˸£©£» 63 2¡¢³äÂú£¬³£ÁÁ£»¿É±»ÆäËüµÆÐ§´ò¶Ï£» 64 65 ·Ç³äµç£º 66 1¡¢Ê×´ÎʹÓÿª¸ÇµÆÐ§£º¢Ù¸ßµç£ºÁÁ4sºóÃ𣻢ڵ͵磺1HzÉÁ4sºóÃ𣻠67 2¡¢·ÇÊ×´ÎʹÓÿª¸ÇµÆÐ§£º¢Ù¶ú»úÔںУºÁÁ4sºóÃ𣻢ڶú»ú²»ÔںУº£¿£¿£¿£¿ 68 ¢Û³äµçÖУ¬¿ª¸ÇÉÁһϣ¬ÈçºÎÉÁ£¿ÁÁ¶à¾ÃºóÃ𣿠69 3¡¢¹Ø¸ÇµÆÐ§£¬¸ßµç£ºÁÁ4sºóÃ𣻵͵磺1HzÉÁ4sºóÃ𣻠70 4¡¢¹ØºÐ״̬ÏÂÎÞµÆÐ§ÏÔʾ£» 71 72 */ 73 #ifdef LED_DISPLAY 74 75 void LED_Display_App(void) 76 { 77 1 #if 0 if( CoverEvent_Flg_led ) //Hall¿ª¹ØºÐ״̬·¢Ë͸ı䣬·Ç³äµç£¨¸ßµç£©LEDÁÁ4sÃð¡¢£¨µÍµç£©ÉÁ4´Î£¨1Hz£©£»³äµç -LEDÉÁһϺó½øÈë1HzÉÁ˸¡£ { #if 1 if( F_batlevel_low ) //ºÐ×Óµç³ØµÍµç£¬ÉÁ4´ÎºóÃð¡£ËµÃ÷£ºÔÚϵͳÉϵçÆÚ¼ä£¬ÓÉÓÚBat_level³õʼ»¯Îª0£¬Bat_leve -lÒªµÈÓÚADC¶ÔÓ¦µÄµçÁ¿Öµ£¬ÐèÒª5sµÄdebounce£»Òò´ËÔÚÉϵçÆÚ¼ä£¬¿ª¹Ø¸ÇµÆÐ§»á²»ÕýÈ·¡£ { LED_R_FLASH(100,4); CoverEvent_Flg_led = 0; } else #endif { /*Åä¶Ô״̬µÆÐ§ÏÔʾ*/ if( (CoverStatus == OPEN) && ( (Vox_Pairing_State[VOL_CHAN] != VOX_PAIR_NONE) || (Vox_Pairing_State[VOR -_CHAN] != VOX_PAIR_NONE) ) ) /* ¿ª¸Ç״̬£¬Óжú»úÔÚ²Ö¡£ÏÔʾÅä¶ÔµÆÐ§ */ { if( (Vox_Pairing_State[VOL_CHAN] == VOX_PAIR_ING) || (Vox_Pairing_State[VOR_CHAN] == VOX_PAIR_ING) ) - /*Åä¶ÔÖУ¬LEDÉÁ£¬ÆµÂÊ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) ) /* -Åä¶Ô³É¹¦*/ { if( LED_On_Timer < LED_ON_CNT ) //Åä¶Ô³É¹¦£¬LEDÁÁ4sºóÃð¡£ { 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) ) //ºÐ×Ó³äµçÖпª¸Ç£¬µÆÉÁһϣ¬ÎÞÂÛµ±Ç°µÆÊÇʲô״̬£¬ -Ãð100msºó»Ö¸´Ô­À´µÄµÆÐ§¡£ { if( !led_blink_1time_flag ) //ÎÊÌ⣺³äµçÖУ¬LEDµÆÐ§Îª1HzÉÁ˸£¬Èç¹ûÕâ¸öÃð100msÔÚÉÁµÄ¸ßµçƽÖÐÓÐЧ¹û -£¬Èç¹ûÔÚÉÁµÄµÍµçƽÖУ¬Ã»Ð§¹û¡£ { led_blink_1time_flag = 1; LED_R_OFF(); CoverEvent_Flg_led = 0; return; } } if( LED_On_Timer < LED_ON_CNT ) //¿ª¹Ø¸Ç£¬ºÐ×ӷǵ͵磬LEDÁÁ4sºóÃð¡£ { LED_On_Timer++; LED_R_ON(); } else { LED_R_OFF(); if( CoverStatus == CLOSE ) { CoverEvent_Flg_led = 0; } } } } } else { // Óгäµçʱ, LEDÉÁ˸ // ³äµçLEDָʾ if (CHIP_STA4 & 0x80) { if (Display_Sta != LED_FLASH) // ³äµçÖУ¬LEDÉÁ˸ { LED_R_KEEP_FLASHING(100); } } else // δ³äµç, Ôò½«ÆäϨÃð { LED_R_OFF(); } } #endif 163 1 164 1 if (CHIP_STA4 & 0x80) //³äµçÖÐ 165 1 { 166 2 if ( Charger_Done ) // ³äµçÍê³É£¬LED³£ÁÁ 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) ) //ºÐ×Ó³äµçÖпª¸Ç£¬µÆÉÁһϣ¬ÎÞÂÛµ±Ç°µÆÊÇʲô״̬£¬Ã -ð100msºó»Ö¸´Ô­À´µÄµÆÐ§¡£ 173 3 { 174 4 if( !led_blink_1time_flag ) //ÎÊÌ⣺³äµçÖУ¬LEDµÆÐ§Îª1HzÉÁ˸£¬Èç¹ûÕâ¸öÃð100msÔÚÉÁµÄ¸ßµçƽÖÐÓÐЧ¹û£ -¬Èç¹ûÔÚÉÁµÄµÍµçƽÖУ¬Ã»Ð§¹û¡£ 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) // ³äµçÖУ¬LEDÉÁ˸ 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 ) //ºÐ×Óµç³ØµÍµç£¬ÉÁ4´ÎºóÃð¡£ËµÃ÷£ºÔÚϵͳÉϵçÆÚ¼ä£¬ÓÉÓÚBat_level³õʼ»¯Îª0£¬Bat_leve -lÒªµÈÓÚADC¶ÔÓ¦µÄµçÁ¿Öµ£¬ÐèÒª5sµÄdebounce£»Òò´ËÔÚÉϵçÆÚ¼ä£¬¿ª¹Ø¸ÇµÆÐ§»á²»ÕýÈ·¡£ 192 2 { 193 3 if (CoverEvent_Flg_led) // ³äµçÖУ¬LEDÉÁ˸ 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 /*Åä¶Ô״̬µÆÐ§ÏÔʾ*/ 202 3 if( (CoverStatus == OPEN) && ( (Vox_Pairing_State[VOL_CHAN] != VOX_PAIR_NONE) || (Vox_Pairing_State[VOR -_CHAN] != VOX_PAIR_NONE) ) ) /* ¿ª¸Ç״̬£¬Óжú»úÔÚ²Ö¡£ÏÔʾÅä¶ÔµÆÐ§ */ 203 3 { 204 4 if( (Vox_Pairing_State[VOL_CHAN] == VOX_PAIR_ING) || (Vox_Pairing_State[VOR_CHAN] == VOX_PAIR_ING) ) -/*Åä¶ÔÖУ¬LEDÉÁ£¬ÆµÂÊ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) ) /* -Åä¶Ô³É¹¦*/ 216 4 { 217 5 if( LED_On_Timer < LED_ON_CNT ) //Åä¶Ô³É¹¦£¬LEDÁÁ4sºóÃð¡£ 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 ) //¿ª¹Ø¸Ç£¬ºÐ×ӷǵ͵磬LEDÁÁ4sºóÃð¡£ 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µ÷ÓÃÖÜÆÚ 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(); //°´¼ü¼ì²â 261 2 Hall_Handler(); //¿ª¹Ø¸Ç¼ì²â 262 2 #endif 263 2 264 2 #if DISCHARGE_ENABLE 265 2 DisCharge_Handler(); //·Åµçboost¹¦ÄÜ 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(); //³äµç¹¦ÄÜ 288 2 #endif 289 2 290 2 #if ADC_ENABLE 291 2 Vbat_Adc = Vbat_Value(); //»ñÈ¡Batµçѹ 292 2 #endif 293 2 294 2 #if VOX_ENABLE 295 2 Vox_Det_Machine(); //¿ª¹Ø¸ÇºÐ×Ó¹¦ÄÜÂß¼­¡£ 296 2 #endif 297 2 298 2 #ifdef LED_DISPLAY 299 2 LED_Display_App(); //LED µÆÐ§ 300 2 #endif 301 2 302 2 #if BAT_VALUE 303 2 check_bat_level(); //µçÁ¿¼Æ 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¡¢»½ÐѺó¹¤×÷Nsºó½øÈëSleep Mode,NÐèÒª´óÓÚ100ms¡£ 318 2 2¡¢ÓÐVIN´æÔÚµÄÇé¿öÏ£¬Ïµ²»»á½øÈësleep mode¡£ 319 2 */ 320 2 321 2 if( Decnt_SleepDelay > 0 ) /*ÄÜ·ñÔÚÊý×ÖÖÐʵÏִ˹¦ÄÜ£¿*/ 322 2 { 323 3 Decnt_SleepDelay--; 324 3 325 3 /*µ¹Êý½øSleep Mode¹ý³ÌÖгöÏÖÁËKEY\HALL\Loadon\IOFFÖжϣ¬ÔòÖØÐ¼ÆÊ±¡£*/ 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 /* »½ÐÑÖжÏʹÄÜÉèÖà */ 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)