单片机开发 — 中断
一、中断
CPU在处理某一事件A时,发生了别一事件B请求CPU迅速去处理,CPU会暂时中断当前的工作,处理事件B。当事件B处理完毕后,返回原来事件A并在中断的位置继续处理事件A,这过程称为中断。
二、中断优点
- 分时操作。CPU可以分时为多个I/O设备服务,提高计算机的利用率
- 实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强。
- 可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从面使系统可靠性提高。
三、中断允许控制——寄存器(IE)
- EX0,外部中断0允许位;
- ET0,定时/计数器T0中断允许位;
- EX1,外部中断1允许位;
- ET1,定时/计数器T1中断允许位;
- ES,串行口中断允许位;
- EA, CPU中断允许(总允许)位。
四、中断请求控制——寄存器(TCON)
- IT0,外部中断0触发方式控制位。
-
- 当IT0=0时,为电平触发方式。
-
- 当IT0=1时,为边沿触发方式(下降沿有效)。
- IE0,外部中断0中断请求标志位。
- IT1,外部中断1触发方式控制位。
- IE1,外部中断1中断请求标志位。
- TF0,定时/计数器T0溢出中断请求标志位。
- TF1,定时/计数器T1溢出中断请求标志位。
五、中断源
六、中断源优先级
- 首先响应优先级别最高的中断请求。
- 中断过程不能被新的同级或低优先级的中断请求所中断。
- 低优先级中断服务,能被高优先级中断请求所中断。
七、中断配置
中断响应条件
- 中断源有中断请求;
- 此中断源的中断允许位为1;
- CPU开中断。
中断响应条件代码(外部中断0)
EA=1;//打开总中断开关
EX0=1;//开外部中断0
IT0=0/1;//设置外部中断的触发方式
中断函数(外部中断0)
void int0() interrupt 0
{
//do anything that you want
}