位置:首页 > IC型号导航 > 首字符A型号页 > 首字符A的型号第1387页 > ATMEGA168V-10MJ > ATMEGA168V-10MJ PDF资料 > ATMEGA168V-10MJ PDF资料5第13页

ATmega48/88/168
移动到编程熔丝位BOOTRST Boot区的起始,看
“Boot Loader支持 - 同时读 - 写自编程, ATmega88与
ATmega168的“ 255页。
当发生中断时,全局中断使能位I被清零,所有中断
被禁用。用户软件可以写1来我位使能嵌套接口
中断产生。此时所有的中断都可以中断当前的中断服务程序。在I-位
执行 - RETI - 从中断返回指令时,自动设置。
基本上有两种类型的中断。第一种类型是由一个事件触发了
设置中断标志。对于这些中断,程序计数器跳转到
以执行中断处理程序,同时硬件实际的中断向量
清除相应的中断标志。中断标志也可以通过写一个清零
1来标志位的位置( S)被清除。如果发生而中断条件
相应的中断使能位被清除,中断标志将被设置并一直
保持到中断执行,或者该标志由软件清零。类似地,如果一个或
更多的中断条件而全局中断允许位发生被清零,则所有已
作出答复的中断标志位被置一直保持到全局中断
启用位被设置,并随后将根据优先顺序来执行。
第二种类型的中断的触发只要中断条件是否存在。
这些中断不需要中断标志。如果中断条件消失
梨的中断使能之前,中断不会被触发。
当AVR退出中断,它总是返回到主程序和exe-
可爱多了一个指令的任何被挂起的中断之前。
请注意,状态寄存器不会自动保存进入中断服务程序时,
齿,也没有从中断程序返回时恢复。这必须由处理
软件。
当使用CLI指令来禁止中断时,中断将立即
禁用。没有中断CLI指令后执行,即使发生simulta-
neously使用CLI指令。下面的示例演示如何可用于
避免在定时EEPROM写序列中断。
汇编代码例程
in
R16 , SREG
CLI
SBI
EECR , EEMPE
SBI
EECR , EEPE
OUT
SREG , R16
;恢复SREG值( I位)
;保存SREG
;启动EEPROM写
;禁止在定时中断程序
C代码示例
CHAR
cSREG ;
cSREG = SREG ;
/ *保存SREG值* /
/*
在时间顺序禁止中断* /
_CLI ();
EECR | = ( 1<<EEMPE ) ;
/ *启动EEPROM写* /
EECR | = ( 1<<EEPE ) ;
SREG = cSREG ;
/ *恢复SREG值( I位) * /
13
2545D–AVR–07/04