AVR_中断向量表
- 格式:doc
- 大小:93.50 KB
- 文档页数:5
C中断向量:
#if defined(_ICC_AVR_) // "ICCAVR 编译器"条件编译开始
/*======================================================================================
中断向量定义
======================================================================================*/
#define IT_RESET 1
// 外部引脚、上电复位、掉电检测复位、看门狗复位、以及 JTAG AVR 复位中断向量
#define IT_INT0 2 // 外部中断请求0中断向量
#define IT_INT1 3 // 外部中断请求1中断向量
#define IT_TIMER2_COMP 4 // 定时器/计数器2比较匹配中断向量
#define IT_TIMER2_OVF 5 // 定时器/计数器2溢出中断向量
#define IT_TIMER1_CAPT 6 // 定时器/计数器1输入捕获中断向量
#define IT_TIMER1_COMPA 7 // 定时器/计数器1A比较匹配中断向量
#define IT_TIMER1_COMPB 8 // 定时器/计数器1B比较匹配中断向量
#define IT_TIMER1_OVF 9 // 定时器/计数器1溢出中断向量
#define IT_TIMER0_OVF 10 // 定时器/计数器0溢出中断向量
#define IT_SPI_STC 11 // SPI串行传输结束中断向量
#define IT_USART_RXC 12 // USART接收结束中断向量
#define IT_USART_UDRE 13 // USART数据寄存器空中断向量
#define IT_USART_TXC 14 // USART传送结束中断向量
#define IT_ADC 15 // ADC转换结束中断向量
#define IT_EE_RDY 16 // EEPROM就绪中断向量
#define IT_ANA_COMP 17 // 模拟比较器中断向量
#define IT_TWI 18 // 两线串行接口中断向量
#define IT_INT2 19 // 外部中断请求2中断向量
#define IT_TIMER0_COMP 20 // 定时器/计数器0比较匹配中断向量
#define IT_SPM_RDY 21 // 保存程序存储器内容就绪中断向量
#endif // "_ICC_AVR_" 条件编译结束
#if defined(_CodeVision_AVR_) // "CodeVision AVR C 编译器"条件编译开始
#define EXT_INT0 2 // 外部中断请求0中断向量
#define EXT_INT1 3 // 外部中断请求1中断向量
#define TIM2_COMP 4 // 定时器/计数器2比较匹配中断向量
#define TIM2_OVF 5 // 定时器/计数器2溢出中断向量
#define TIM1_CAPT 6 // 定时器/计数器1输入捕获中断向量
#define TIM1_COMPA 7 // 定时器/计数器1A比较匹配中断向量
#define TIM1_COMPB 8 // 定时器/计数器1B比较匹配中断向量
#define TIM1_OVF 9 // 定时器/计数器1溢出中断向量
#define TIM0_OVF 10 // 定时器/计数器0溢出中断向量
#define SPI_STC 11 // SPI串行传输结束中断向量
#define USART_RXC 12 // USART接收结束中断向量
#define USART_DRE 13 // USART数据寄存器空中断向量
#define USART_TXC 14 // USART传送结束中断向量
#define ADC_INT 15 // ADC转换结束中断向量
#define EE_RDY 16 // EEPROM就绪中断向量
#define ANA_COMP 17 // 模拟比较器中断向量
#define TWI 18 // 两线串行接口中断向量
#define EXT_INT2 19 // 外部中断请求2中断向量
#define TIM0_COMP 20 // 定时器/计数器0比较匹配中断向量
#define SPM_READY 21 // 保存程序存储器内容就绪中断向量
#endif // "defined(_CodeVision_AVR_)" 条件编译结束
#if defined(_IAR_EW_AVR_) // "IAR Embedded Workbench AVR 编译器"条件编译开始
#define RESET_vect (0x00)
// 外部引脚、上电复位、掉电检测复位、看门狗复位、以及 JTAG AVR 复位中断向量
#define INT0_vect (0x04) // 外部中断请求0中断向量
#define INT1_vect (0x08) // 外部中断请求1中断向量
#define TIMER2_COMP_vect (0x0C) // 定时器/计数器2比较匹配中断向量
#define TIMER2_OVF_vect (0x10) // 定时器/计数器2溢出中断向量
#define TIMER1_CAPT_vect (0x14) // 定时器/计数器1输入捕获中断向量
#define TIMER1_COMPA_vect (0x18) // 定时器/计数器1A比较匹配中断向量
#define TIMER1_COMPB_vect (0x1C) // 定时器/计数器1B比较匹配中断向量
#define TIMER1_OVF_vect (0x20) // 定时器/计数器1溢出中断向量
#define TIMER0_OVF_vect (0x24) // 定时器/计数器0溢出中断向量
#define SPI_STC_vect (0x28) // SPI串行传输结束中断向量
#define USART_RXC_vect (0x2C) // USART接收结束中断向量
#define USART_UDRE_vect (0x30) // USART数据寄存器空中断向量
#define USART_TXC_vect (0x34) // USART传送结束中断向量
#define ADC_vect (0x38) // ADC转换结束中断向量
#define EE_RDY_vect (0x3C) // EEPROM就绪中断向量
#define ANA_COMP_vect (0x40) // 模拟比较器中断向量
#define TWI_vect (0x44) // 两线串行接口中断向量
#define INT2_vect (0x48) // 外部中断请求2向量
#define TIMER0_COMP_vect (0x4C) // 定时器/计数器0比较匹配中断向量
#define SPM_RDY_vect (0x50) // 保存程序存储器内容就绪中断向量
#endif // "defined(_IAR_EW_AVR_)" 条件编译结束
汇编语言中断向量:
;*************************************************************************
;* 中断向量位置声明 *
;*************************************************************************
;******** 中断向量地址定义:
.equ INT0addr = 0x002 ;外部中断请求0向量地址
.equ INT1addr = 0x004 ;外部中断请求1向量地址
.equ OC2addr = 0x006 ;定时器/计数器2比较匹配中断向量地址
.equ OVF2addr = 0x008 ;定时器/计数器2溢出中断向量地址
.equ ICP1addr = 0x00a ;定时器/计数器1输入捕获中断向量地址
.equ OC1Aaddr = 0x00c ;定时器/计数器1A比较匹配中断向量地址