关于单片机的中断问题

中断,顾名思义就是停止当前正在做的一切事物。单片机中的中断系统包括中断发生,中断响应和中断服务,以及中断返回。是指CPU在接受到信号以后暂停当前任务转而去迅速完成另一个任务,完成任务后在返回至之前的任务的过程。

而当下列三个条件全部能满足时CPU才有可能相应中断:

  1. 中断源有中断请求;
  2. 此中断源的中断允许位为1;
  3. 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后的中断号来进行不同种的中断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值