找回密码
 注册
关于网站域名变更的通知
查看: 35|回复: 0
打印 上一主题 下一主题

单片机中断响应过程

[复制链接]
  • TA的每日心情

    2019-11-20 15:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
     楼主| 发表于 2024-8-27 11:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    讲到这儿,我们依然对于计算机响应中断感到神奇,我们人可以响应外界的事件,是因为我们有多种“传感器“――眼、耳可以接受不同的信息,计算机是如何做到这点的呢?其实说穿了,一点都不希奇,MCS51工作时,在每个机器周期中都会去查询一下各个中断标记,看他们是否是“1“,如果是1,就说明有中断请求了,所以所谓中断,其实也是查询,不过是每个周期都查一下而已。这要换成人来说,就相当于你在看书的时候,每一秒钟都会抬起头来看一看,查问一下,是不是有人按门铃,是否有电话很蠢,不是吗?可计算机本来就是这样,它根本没人聪明。
    ( ]. Q: @- [, C* y) `$ i5 ]+ T  i4 J/ q$ X) i, D& ~1 `

    " l$ k4 P0 X/ ~4 ]
    " r3 i+ Y3 G  S8 R) |' o' X了解了上述中断的过程,就不难解中断响应的条件了。在下列三种情况之一时,CPU将封锁对中断的响应:
    ( k+ K' {5 a0 ?
    2 I# X- _" Y, k: N- T2 K& b! ]0 `" l1、CPU正在处理一个同级或更高级别的中断请求。7 ]" M  q$ [- W/ d0 c; D

    # N7 e( q; Y, H1 i2、现行的机器周期不是当前正执行指令的最后一个周期。我们知道,单片机有单周期、双周期、三周期指令,当前执行指令是单字节没有关系,如果是双字节或四字节的,就要等整条指令都执行完了,才能响应中断(因为中断查询是在每个机器周期都可能查到的)。
    - t- }; l8 z: K5 o! z5 e) x" S" y1 i7 E( P" q/ L& [
    3、当前正执行的指令是返回批令(RETI)或访问IP、IE寄存器的指令,则CPU至少再执行一条指令才应中断。这些都是与中断有关的,如果正访问IP、IE则可能会开、关中断或改变中断的优先级,而中断返回指令则说明本次中断还没有处理完,所以都要等本指令处理结束,再执行一条指令才可以响应中断。0 h  [$ e. w' U! `1 r2 n

    8 R. }& \: {1 c4 W4 G
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-18 21:11 , Processed in 0.109375 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表