当前位置:首页 > 单片机 > 单片机
[导读]MCS-51的CPU在每一个机器周期顺序检查每一个中断源,在每一机器周期的状态周期S6采样并按优先级顺序处理所有被激活了的中断请求,如果没有被下述条件所阻止,将在下一个机器周期的状态周期S1响应激活了的最高级中断请

MCS-51的CPU在每一个机器周期顺序检查每一个中断源,在每一机器周期的状态周期S6采样并按优先级顺序处理所有被激活了的中断请求,如果没有被下述条件所阻止,将在下一个机器周期的状态周期S1响应激活了的最高级中断请求。

(1)CPU正在处理相同的或更高优先级的中断。


(2)现行的机器周期不是所执行指令最后一个机器周期。


(3)正在执行的指令是RETI或是访问IE或IP的指令(CPU在执行RETI或访问IE、IP的指令后,至少需要再执行一条指令才会响应新的中断请求。


如果上述条件中有一个存在,CPU将丢弃中断查询的结果。

CPU响应中断时,先置相应的优先级状态触发器(该触发器指出CPU开始处理的中断优先级别),然后执行一个硬件子程序调用,使控制转移到相应的入口,中断请求源申请标志清0(T1和RI除外),硬件把程序计数器PC的内容压入堆栈,把中断子程序(即中断服务程序)的入口地址(中断向量)送入程序计数器PC。

8031单片机各个断源的中断服务程序入口地址是固定不变的,如下表所示。CPU从相应的中断服务程序入口地址开始执行程序。



图片1

ORG0000H
AJMPMAIN
ORG0003H
AJMPINT0
ORG000BH
AJMPT0
ORG001BH
AJMPINT1
ORG0023H
AJMPES

CPU从相应的中断服务程序入口地址开始执行程序,直到RETI为止。RETI指令表不中断服务程序的结束,CPU执行该指令时、一方面把响应中断时所置位的优先级状态触发器清0;另—方面从栈顶弹出断点地址(两个字节)送到程序计数器PC,CPU从原来中断处更新执行被中断的程序。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭