C51 COMPILER V9.53.0.0 INTERRUPT 09/30/2018 11:45:28 PAGE 1 C51 COMPILER V9.53.0.0, COMPILATION OF MODULE INTERRUPT OBJECT MODULE PLACED IN .\Output\Interrupt.obj COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\..\Code\User\Common\Interrupt.c LARGE OPTIMIZE(0,SPEED) BROWSE INCDIR -(../../Code/Include;../../Code/User;../../Code/User/Common;../../Code/User/Driver) DEFINE(FOSC_160000=1) DEBUG OBJECTEXT -END PRINT(.\Output\LST\Interrupt.lst) TABS(2) OBJECT(.\Output\Interrupt.obj) line level source 1 /******************************************************************************/ 2 /* -- 居加居-- */ 3 /* 4 // 文件名: 5 // 说明: 6 // 编写人员:kinve 7 // 编写日期:2018-8-21 8 // 程序维护: 9 // 维护记录: 10 // 11 // 12 */ 13 // 免责声明: 14 // (c) Anxinke Corporation. All rights reserved. 15 /******************************************************************************/ 16 #include "Interrupt.h" 17 #include "Timer.h" 18 #include "Keys.h" 19 20 uint32 sys_ms = 0; 21 uint16 TaskTime = 0; 22 23 24 25 struct bit_def Status0, Status1; 26 27 /* 28 源 中断地址 中断号 源 中断址地 中断号 29 复位 0000H - SPI 中断 004BH 9 30 外部中断0 0003H 0 WDT 中断 0053H 10 31 定时器0溢出 000BH 1 ADC 中断 005BH 11 32 外部中断 1 0013H 2 定时器输入捕获中断 0063H 12 33 定时器1溢出 001BH 3 PWM 中断 006BH 13 34 串口 0 中断 0023H 4 故障刹车中断 0073H 14 35 定时器2事件 002BH 5 串口1中断 007BH 15 36 I2C状态/超时中断 0033H 6 定时器3溢出中断 0083H 16 37 管脚中断 003BH 7 WKT自唤醒定时器中断 008BH 17 38 欠压检测中断 0043H 8 39 */ 40 /********************************************************************************************************* -*** 41 * TIMER 0 interrupt subroutine 42 ********************************************************************************************************** -**/ 43 #ifdef N76E003_IAR #pragma vector=0x0B __interrupt void Timer0_ISR ( void ) #else 47 void Timer0_ISR ( void ) interrupt 1 //interrupt address is 0x000B 48 #endif 49 { 50 1 TH0 = HIBYTE ( Timer0_THTL ); 51 1 TL0 = LOBYTE ( Timer0_THTL ); C51 COMPILER V9.53.0.0 INTERRUPT 09/30/2018 11:45:28 PAGE 2 52 1 53 1 sys_ms += TIMER_SCAN; 54 1 55 1 if ( sys_ms >= 86400000 ) //2^32 >= 24个小时 56 1 { 57 2 sys_ms = 0; 58 2 } 59 1 60 1 TaskTime += TIMER_SCAN; //0~8000 61 1 62 1 if ( TaskTime % 2 == 0 ) 63 1 { 64 2 System_Flag_2Ms = 1; 65 2 } 66 1 67 1 if ( TaskTime % 10 == 0 ) 68 1 { 69 2 System_Flag_10Ms = 1; 70 2 //T10MS_Count_Handler(); 71 2 } 72 1 73 1 if ( TaskTime % 20 == 0 ) 74 1 { 75 2 System_Flag_20Ms = 1; 76 2 Keys_Even(); 77 2 } 78 1 79 1 if ( TaskTime % 100 == 0 ) 80 1 { 81 2 System_Flag_100Ms = 1; 82 2 } 83 1 84 1 if ( TaskTime % 200 == 0 ) 85 1 { 86 2 System_Flag_200Ms = 1; 87 2 } 88 1 89 1 if ( TaskTime % 500 == 0 ) 90 1 { 91 2 System_Flag_500Ms = 1; 92 2 } 93 1 94 1 if ( TaskTime % 1000 == 0 ) 95 1 { 96 2 System_Flag_1s = 1; 97 2 } 98 1 99 1 if ( TaskTime % 5000 == 0 ) 100 1 { 101 2 System_Flag_5s = 1; 102 2 TaskTime = 0; 103 2 } 104 1 105 1 /* 106 1 if ( BeepCounter ) 107 1 { 108 1 if ( --BeepCounter == 0 ) StopBeep(); 109 1 } 110 1 */ 111 1 } 112 113 /********************************************************************************************************* C51 COMPILER V9.53.0.0 INTERRUPT 09/30/2018 11:45:28 PAGE 3 -*** 114 * TIMER 1 interrupt subroutine 115 ********************************************************************************************************** -**/ 116 #ifdef N76E003_IAR #pragma vector=0x1B __interrupt void Timer1_ISR ( void ) #else 120 void Timer1_ISR ( void ) interrupt 3 //interrupt address is 0x001B 121 #endif 122 { 123 1 124 1 } 125 126 127 /* 128 中断源 中断地址 中断号 129 复位 0000H - 130 外部中断0 0003H 0 131 定时器0溢出 000BH 1 132 外部中断1 0013H 2 133 定时器1溢出 001BH 3 134 串口0 中断 0023H 4 135 定时器2事件 002BH 5 136 I2C状态/超时中断 0033H 6 137 管脚中断 003BH 7 138 欠压检测中断 0043H 8 139 SPI中断 004BH 9 140 WDT中断 0053H 10 141 ADC中断 005BH 11 142 定时器输入捕获中断 0063H 12 143 PWM中断 006BH 13 144 故障刹车中断 0073H 14 145 串口1中断 007BH 15 146 定时器3溢出中断 0083H 16 147 WKT自唤醒定时器中断 008BH 17 148 */ MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 440 ---- CONSTANT SIZE = ---- ---- XDATA SIZE = 8 ---- PDATA SIZE = ---- ---- DATA SIZE = ---- ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)