5分钟记住51的中断系统

MCS51中断

                                                         --ujslili

1.响应中断条件

1.开中断;EA=1;中断源的IE也为1

2.有中断申请

3.当前并未执行任何中断服务子程序,或者当前中断优先级低

4.当前机器周期恰是当前执行指令的最后一个机器周期,当前指令周期已结束

5.不是RET,IRET,对IE,IP的写

2.中断源

在这里插入图片描述

3.中断寄存器

在这里插入图片描述

为什么又增加了一种沿触发方式呢?

因为使用电平触发方式时,如果 P3.2 脚上申请中断的低电平持续时间很长,在执行完一遍中断服务子程序之后,该低电平仍未撤销,那么还会引起下一次中断申请,甚至若干次中断申请,直至 P3.2 脚上的电平变高时为止。

如果CPU响应了这个中断,则应该清除标志位IE0

  1. 对于边沿触发方式,此时硬件能够自动清IE0

  2. 对于电平触发方式,只有外部中断申请信号变成高电平,才能够自动清除中断标志位。如果CPU暂时不能够响应中断,则 IE0始终为1,表示中断申请有效。

就是中断标志位一直都是1。正常都是用边沿触发

4.中断响应

在这里插入图片描述

为什么响应时间是3-8个机器周期呢?

3个机器周期

  1. 第一个周期:查询中断请求标志位。
  2. 第二三个周期:LCALL指令需要2个周期

所以1+2=3个机器周期

8个机器周期

  1. 两个周期:执行 RET、RETI;有一个查询也在这个里边

  2. 四个机器周期:后面跟着的指令假如是 MUL、DIV
    乘除指令,(四个机器周期)

  3. 两个周期:执行LCALL;

5.中断请求的撤出

在这里插入图片描述

6.中断编程

在这里插入图片描述

                                          --仅供参考,如有不对敬请指正
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值