第十二章—简答

中断响应需要满足的条件?

  1. 有中断请求;
  2. CPU开放中断,即EA=1;
  3. 对应的中断源允许中断;
  4. 无同级或更高级中断正在服务;
  5. 当前的指令周期已经结束;
  6. 执行了指令RETI或访问IE、IP后又执行了一条指令。

解析:#

这六个条件中,前三个条件是基本条件,满足前三个条件,中断就会响应;但是后三个条件没有满足的话,中断会受阻延迟执行。

即如果中断响应满足基本条件,需要对中断标志位时,若CPU正在执行同级或更高级的中断服务,则需要等待原中断执行完毕才可响应;

如果中断满足基本条件,但中断标志采样不是执行指令的最后一个周期,同样需要等待执行到最后一个指令周期才可响应;

如果指令周期刚好在执行RETI(返回)或者读写IE、IP时需要执行一条其他指令中断才能响应

AT89S51单片机中各个中断源的响应是如何撤销的?

  1. 定时/计数器溢出中断:响应后硬件自动撤除

  2. 串行口中断:软件编程撤除

  3. 外部中断
    边沿触发:硬件自动撤除
    电平触发:软硬结合撤除

解析:#

对于定时器引起的中断,CPU做出中断响应之后会自动将中断标志位TF0/TF1置位为0,从而实现中断撤销。

串行口中断得到响应之后不会对中断标志位RI/EI置0,需要采用指令对中断标志位置0.

外部中断INT0/INT1的撤销。取决于TCON当中中断触发方式控制位IT0/IT1的不同,包括低电平触发和下降沿触发。
CPU对中断进行响应之后会对外部中断标志位IE0/IE1进行复位,如果用下降沿触发,则下降沿已经过去,中断响应得到撤销;如果此时对应为低电平触发,则要撤销外部中断请求,必须在中断响应之后将外部中断上的低电平改为高电平。单片机的结构上讲, CPU不能直接控制INT0/INT1引脚,因此需要硬件配合软件来解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • AT89S51的中断请求源有两个中断优先级,高优先级有哪些?低优先级有哪些?如果是同一优先级中断按什么顺序执行? ...
    0207_孙玲玉阅读 398评论 2 0
  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,462评论 8 114
  • 执行单元(EU-Execution Unit):负责指令的译码和执行。 1.4个16位数据寄存器(AX、BX、CX...
    刀月水阅读 1,672评论 0 1
  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,178评论 0 23
  • 人生就是一列开往坟墓的列车,路途上会有很多站,很难有人可以至始至终陪着走完,当陪你的人要下车时,即使不舍,也该...
    就你有花花阅读 251评论 0 1