微机原理学习讨论

第十二章—简答

2017-06-04  本文已影响0人  0115_丁喆

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

  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引脚,因此需要硬件配合软件来解决。

上一篇 下一篇

猜你喜欢

热点阅读