C51 COMPILER V9.01 INTERRUPTAPP 02/22/2025 15:36:21 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE INTERRUPTAPP OBJECT MODULE PLACED IN .\output\InterruptApp.obj COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\InterruptApp.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCor -e_Load.ORC) 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\InterruptApp.lst) OBJECT(.\ -output\InterruptApp.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 BOOL bTimer5msFlg; 13 BOOL bTimer50msFlg; 14 BOOL bTimer1sFlg; 15 U8 ucTimer50ms; 16 U8 ucTimer1s; 17 18 /************************************************************************************************* 19 * 函数名: InterruptINT4App 20 * 参 数: IntSource:外部中断4的中断源 21 * 返回值: 无 22 * 描 述: 外部中断处理,包括ALARM中断和按键中断,用于低功耗唤醒系统 23 *************************************************************************************************/ 24 void InterruptINT4App(U8 IntSource) 25 { 26 1 if(IntSource == INT4_EXS45) //Alarm 27 1 { 28 2 if(bPDFlg || bSleepFlg) 29 2 { 30 3 McuClockSet(MCU_CLK_24MHz); 31 3 bWakeupFlg = 1; 32 3 } 33 2 } 34 1 else if(IntSource == INT4_EXS46) //Key wakeup 35 1 { 36 2 if(bPDFlg || bSleepFlg) 37 2 { 38 3 McuClockSet(MCU_CLK_24MHz); 39 3 bWakeupFlg = 1; 40 3 } 41 2 } 42 1 } 43 44 45 /************************************************************************************************* 46 * 函数名: InterruptTimer3App 47 * 参 数: 无 48 * 返回值: 无 49 * 描 述: 定时器,周期为5mS,产生5mS、50mS、1S三个标志 50 *************************************************************************************************/ 51 void InterruptTimer3App(void) 52 { C51 COMPILER V9.01 INTERRUPTAPP 02/22/2025 15:36:21 PAGE 2 53 1 54 1 bTimer5msFlg = 1; //5ms标志为预留标志 55 1 56 1 if(++ucTimer50ms >= TIME_5MS_50MS) 57 1 { 58 2 ucTimer50ms = 0; 59 2 bTimer50msFlg = 1; 60 2 } 61 1 62 1 if(++ucTimer1s >= TIME_5MS_1S) 63 1 { 64 2 ucTimer1s = 0; 65 2 bTimer1sFlg = 1; 66 2 } 67 1 68 1 KeyScan(); //扫描按键 69 1 } 70 MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 72 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = 2 ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = 3 ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)