添加收藏夹  设为首页  深圳服务热线:13751165337  13692101218
51电子网联系电话:13751165337
位置:首页 > IC型号导航 > 首字符9型号页 > 首字符9的型号第44页 > 90USB162-16AU > 90USB162-16AU PDF资料 > 90USB162-16AU PDF资料1第14页
基本上有两种类型的中断。第一种类型是由用于设置事件触发
中断标志。对于这些中断,程序计数器跳转到实际的中断向量
器,以执行中断处理程序,同时硬件将清除相应的
中断标志。中断标志也可以通过写1到标志位位置清零(多个)
被清除。如果在相应的中断使能位是发生中断条件
清除中断标志位被置一直保持到中断执行,或者该标志
通过软件清零。同样,如果出现一个或多个中断的条件,而全局中断
使能位清零时,相应的中断标志位被置一直保持到
全局中断使能位被置位,然后会根据优先顺序来执行。
第二种类型的中断的触发只要中断条件是否存在。这些
中断不需要中断标志。如果中断状态前消失
中断使能,中断不会被触发。
当AVR退出中断,它总是回到主程序并执行一个
之前的任何挂起的中断多指令早餐。
请注意,状态进入中断服务程序时,注册时不会自动存储,也不
从中断程序返回时恢复。这必须通过软件来处理。
当使用CLI指令来禁止中断时,中断禁止立即生效。
没有中断将CLI指令后执行,即使它同时出现的
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值* /
/*
在时间顺序禁止中断* /
__disable_interrupt ();
EECR | = ( 1<<EEMPE ) ;
/ *启动EEPROM写* /
EECR | = ( 1<<EEPE ) ;
SREG = cSREG ;
/ *恢复SREG值( I位) * /
使用SEI指令使能中断时,紧跟其后的第一条指令将exe-
cuted任何中断之前,如本例中所示。
14
AT90USB82/162
7707E–AVR–11/08

深圳市碧威特网络技术有限公司