欢迎访问ic37.com |
会员登录 免费注册
发布采购

ATMEGA8-16AI 参数 Datasheet PDF下载

ATMEGA8-16AI图片预览
型号: ATMEGA8-16AI
PDF下载: 下载PDF文件 查看货源
内容描述: 位的AVR微控制器8K字节在 - 系统内可编程Flash [-bit AVR Microcontroller with 8K Bytes In- System Programmable Flash]
分类和应用: 微控制器
文件页数/大小: 303 页 / 5122 K
品牌: ATMEL [ ATMEL ]
 浏览型号ATMEGA8-16AI的Datasheet PDF文件第9页浏览型号ATMEGA8-16AI的Datasheet PDF文件第10页浏览型号ATMEGA8-16AI的Datasheet PDF文件第11页浏览型号ATMEGA8-16AI的Datasheet PDF文件第12页浏览型号ATMEGA8-16AI的Datasheet PDF文件第14页浏览型号ATMEGA8-16AI的Datasheet PDF文件第15页浏览型号ATMEGA8-16AI的Datasheet PDF文件第16页浏览型号ATMEGA8-16AI的Datasheet PDF文件第17页  
ATmega8(L)  
of the boot Flash section by setting the Interrupt Vector Select (IVSEL) bit in the General  
Interrupt Control Register (GICR). Refer to “Interrupts” on page 44 for more information.  
The Reset Vector can also be moved to the start of the boot Flash section by program-  
ming the BOOTRST Fuse, see “Boot Loader Support – Read-While-Write Self-  
Programming” on page 206.  
When an interrupt occurs, the Global Interrupt Enable I-bit is cleared and all interrupts  
are disabled. The user software can write logic one to the I-bit to enable nested inter-  
rupts. All enabled interrupts can then interrupt the current interrupt routine. The I-bit is  
automatically set when a Return from Interrupt instruction – RETI – is executed.  
There are basically two types of interrupts. The first type is triggered by an event that  
sets the Interrupt Flag. For these interrupts, the Program Counter is vectored to the  
actual Interrupt Vector in order to execute the interrupt handling routine, and hardware  
clears the corresponding Interrupt Flag. Interrupt Flags can also be cleared by writing a  
logic one to the flag bit position(s) to be cleared. If an interrupt condition occurs while the  
corresponding interrupt enable bit is cleared, the Interrupt Flag will be set and remem-  
bered until the interrupt is enabled, or the flag is cleared by software. Similarly, if one or  
more interrupt conditions occur while the global interrupt enable bit is cleared, the corre-  
sponding Interrupt Flag(s) will be set and remembered until the global interrupt enable  
bit is set, and will then be executed by order of priority.  
The second type of interrupts will trigger as long as the interrupt condition is present.  
These interrupts do not necessarily have Interrupt Flags. If the interrupt condition disap-  
pears before the interrupt is enabled, the interrupt will not be triggered.  
When the AVR exits from an interrupt, it will always return to the main program and exe-  
cute one more instruction before any pending interrupt is served.  
Note that the Status Register is not automatically stored when entering an interrupt rou-  
tine, nor restored when returning from an interrupt routine. This must be handled by  
software.  
When using the CLI instruction to disable interrupts, the interrupts will be immediately  
disabled. No interrupt will be executed after the CLI instruction, even if it occurs simulta-  
neously with the CLI instruction. The following example shows how this can be used to  
avoid interrupts during the timed EEPROM write sequence.  
Assembly Code Example  
in r16, SREG  
; store SREG value  
cli ; disable interrupts during timed sequence  
sbiEECR, EEMWE ; start EEPROM write  
sbiEECR, EEWE  
outSREG, r16  
; restore SREG value (I-bit)  
C Code Example  
char cSREG;  
cSREG = SREG;/* store SREG value */  
/* disable interrupts during timed sequence */  
_CLI();  
EECR |= (1<<EEMWE); /* start EEPROM write */  
EECR |= (1<<EEWE);  
SREG = cSREG; /* restore SREG value (I-bit) */  
13  
2486M–AVR–12/03  
 复制成功!