| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- 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)
|