51单片机的中断控制

51系列单片机有5个中断源,2个优先级,可以实现二级中断服务嵌套结构。
现在很多兼容51的单片机已经有4个优先级(或更多)和更多的中断源了。
---------------------
想要研究中断的嵌套,应该从中断优先级入手。

一些资料中,把有关中断优先级的中断响应原则,写成如下三条:
1、CPU同时接收到几个中断申请时,首先响应优先级级别最高的中断请求;
2、正在进行的中断过程不能被新的同级或低优先级的中断请求所中断;
3、正在进行的低优先级中断过程,能被高优先级中断请求所中断。

中断优先级的设置,是在IP寄存器中进行,IP称为中断优先级控制寄存器。
把IP中的某位置为1,则相应的中断源为高优先级;为0,则为低优先级。

当把5个中断源,划分成两个优先级之后,它们的中断程序之间,就可以呈现出嵌套的现象了。

根据前面所说的中断响应原则,可以看出:
出现中断嵌套的要求比较高,只有高优先级的中断源,才可以中断正在进行的低优先级的中断过程。
而同级别的中断源,则不能互相中断,不能形成中断嵌套;低级别中断申请,就更不能中断高级别中断过程的了。
中断的优先级,是个实现嵌套的关键因素。
---------------------
响应中断前,CPU首先要查询各个中断源的申请标志。

当各个中断源的级别相同的时候,CPU的查询次序是:
    外部中断0、定时/计数0、外部中断1、定时/计数1 和 串行接口
这个次序称为“自然优先级”。

“自然优先级”,并非是“优先级”。
自然优先级的不同,并不能引出中断的嵌套现象,因为它们的“优先级”是相同的。
----------------------
根据前面所介绍的可知:
优先级,能够影响中断的嵌套;
自然优先级,只是CPU查询的次序,不影响中断的嵌套。
----------------------
在百度知道中,发现有些网友对此基本概念不很清楚。
可见链接:http://zhidao.baidu.com/question/236384783.html
最下面这位网友用“自然优先级”,代替了“优先级”,来讨论中断嵌套的问题,这个观点是明显错误的。
为了澄清基本概念,做而论道特写出本篇短文,观点正确与否,希望各位网友留言讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值