15
7810C–AVR–10/12
Atmel ATmega328P [Preliminary]
When using the SEI instruction to enable interrupts, the instruction following SEI will be exe-
cuted before any pending interrupts, as shown in this example.
6.7.1
Interrupt Response Time
The interrupt execution response for all the enabled AVR interrupts is four clock cycles mini-
mum. After four clock cycles the program vector address for the actual interrupt handling routine
is executed. During this four clock cycle period, the Program Counter is pushed onto the Stack.
The vector is normally a jump to the interrupt routine, and this jump takes three clock cycles. If
an interrupt occurs during execution of a multi-cycle instruction, this instruction is completed
before the interrupt is served. If an interrupt occurs when the MCU is in sleep mode, the interrupt
execution response time is increased by four clock cycles. This increase comes in addition to the
start-up time from the selected sleep mode.
A return from an interrupt handling routine takes four clock cycles. During these four clock
cycles, the Program Counter (two bytes) is popped back from the Stack, the Stack Pointer is
incremented by two, and the I-bit in SREG is set.
Assembly Code Example
in
r16, SREG
; store SREG value
cli
; disable interrupts during timed sequence
sbi
EECR, EEMPE
; start EEPROM write
sbi
EECR, EEPE
out
SREG, r16
; restore SREG value (I-bit)
C Code Example
char
cSREG;
cSREG = SREG; /* store SREG value */
/* disable interrupts during timed sequence */
_CLI();
EECR |= (1<<EEMPE); /* start EEPROM write */
EECR |= (1<<EEPE);
SREG = cSREG; /* restore SREG value (I-bit) */
Assembly Code Example
sei
; set Global Interrupt Enable
sleep
; enter sleep, waiting for interrupt
; note: will enter sleep before any pending interrupt(s)
C Code Example
__enable_interrupt(); /* set Global Interrupt Enable */
__sleep(); /* enter sleep, waiting for interrupt */
/* note: will enter sleep before any pending interrupt(s) */
相关PDF资料
ATMEGA32L-8PJ IC MCU AVR 32K 5V 8MHZ 40-DIP
ATMEGA32M1-AUR IC MPU AVR 32K 20MHZ 32TQFP
ATMEGA48PA-MMNR MCU AVR 4KB FLASH 20MHZ 28QFN
ATMEGA644P-B15MZ IC MCU 8BIT 64KB FLASH 32VQFN
ATMEGA644V-10PU IC AVR MCU FLASH 64K 40DIP
ATMEGA645V-8MI IC AVR MCU FLASH 64K 1.8V 64QFN
ATMEGA649-16MI IC AVR MCU FLASH 64K 5V 64QFN
ATMEGA649V-8MI IC AVR MCU FLASH 64K 1.8V 64QFN
相关代理商/技术参数
ATMEGA328P-15MZ 功能描述:8位微控制器 -MCU 32KB In-system Flash 20MHz 1.8V-5.5V RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
ATMEGA328P-20AU 制造商:Atmel Corporation 功能描述:MCU 8-bit ATmega AVR RISC 32KB Flash 3.3V/5V 32-Pin TQFP
ATMEGA328P20MU 制造商:Atmel Corporation 功能描述:MCU 8-Bit ATmega AVR RISC 32KB Flash 3.3V/5V 32-Pin MLF
ATMEGA328P-AN 功能描述:8位微控制器 -MCU AVR 32K FLSH 2K SRAM 1KB EE-20 MHZ 105C RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
ATMEGA328P-ANR 功能描述:8位微控制器 -MCU AVR 32K FLSH 2K SRAM 1KB EE-20 MHZ 105C RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
ATMEGA328P-AU 功能描述:8位微控制器 -MCU 32KB In-system Flash 20MHz 1.8V-5.5V RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
ATMEGA328P-AU SL383 制造商:Atmel Corporation 功能描述:AVR 32K FLASH, 1K EE, 2K SRAM - 20 MHZ, TQFP, IND TEMP GREEN - Tape and Reel
ATMEGA328P-AUR 功能描述:8位微控制器 -MCU AVR 32K FLSH 2K SRAM 1KB EE-20MHz IND RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT