中断,顾名思义就是停止当前正在做的一切事物。单片机中的中断系统包括中断发生,中断响应和中断服务,以及中断返回。是指CPU在接受到信号以后暂停当前任务转而去迅速完成另一个任务,完成任务后在返回至之前的任务的过程。
而当下列三个条件全部能满足时CPU才有可能相应中断:
- 中断源有中断请求;
- 此中断源的中断允许位为1;
- CPU开中断(即EA=1);
由上述三个条件我们可知如果要在程序中使用中断主程序必须要添加如下代码:
EA=1;
EX0=1;
IT0=0/1;
EA为打开总中断开关,EX0为打开外部中断0开关,IT0=0/1为设置外部中断触发方式,=0的话是电平触发,=1的话是下降沿触发。插入中断服务函数即可实现中断触发后程序接下来要执行的事件,中断服务函数格式为:
void int0 () interrupt 0
{
..............
}
注意interrupt一定不能写错,后面的0为中断号(见附录)代表外部中断0,如果改换为其他数字将不会进入中断。
附录
如图,中断号对应各种中断方式,如果要实行外部中断1的话,中断号为2。外部中断0,对应中断号为0,依此类推改换interrupt后的中断号来进行不同种的中断。