中断系统.ppt
文本预览下载声明
* * * * * * 6.2.3.1中断响应 中断响应是指,在CPU响应中断的条件得到满足后,CPU对中断源中断请求的回答。这时,CPU应实现保护断点和寻找中断源,把程序转向申请中断的中断源服务程序的入口地址。 CPU响应中断的条件有: (1)首先要有中断源发出中断申请; (2)CPU中断是开放的,即中断总允许位EA=l,CPU允许所有中断源申请中断; (3)申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断。 以上是CPU响应中断的基本条件。如果上述条件满足,则CPU一般会响应中断。但是,若有下列任何一种情况存在,则中断响应会被阻止: ①CPU正处在为一个同级或高级的中断服务中。 ②现行机器周期不是所执行的指令的最后一个机器周期,作此限制的目的在于使当前指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。 ③当前指令是返回指令(RET,RETI)或访问IE、IP的指令。因为按MCS-5l中断系统的特性规定,在执行完这些指令之后,还应再继续执行一条指令,然后才能响应中断。 若存在上述任何一种情况,CPU将丢弃中断查询结果;否则,将在紧接着的下一个机器周期内执行中断查询结果,响应中断。 * 以上是CPU响应中断的基本条件。如果上述条件满足,则CPU一般会响应中断。但是,若有下列任何一种情况存在,则中断响应会被阻止: ①CPU正处在为一个同级或高级的中断服务中。 ②现行机器周期不是所执行的指令的最后一个机器周期,作此限制的目的在于使当前指令执行完毕后,才能进行中断响应,以确保当前指令的完整执行。 ③当前指令是返回指令(RET,RETI)或访问IE、IP的指令。因为按MCS-5l中断系统的特性规定,在执行完这些指令之后,还应再继续执行一条指令,然后才能响应中断。 若存在上述任何一种情况,CPU将丢弃中断查询结果;否则,将在紧接着的下一个机器周期内执行中断查询结果,响应中断。 * 1.中断响应过程 MCS-51的整个中断响应过程,分为以下几个问题顺序进行说明。 (1)外部中断请求采样 中断响应过程的第一步是中断请求采样。所谓中断请求采样,其实质就是如何识别外部中断请求信号,并把它锁定在定时器控制寄存器(TCON)的相应标志位中。 单片机CPU在每个机器周期的S5P2(第5状态第2拍节)对中断请求引脚INT0(P3。2)和INT1(P3。3)进行采样。由于外中断的中断请求有两种方式,因此需分别加以说明。 对于电平方式的外中断请求,若采样为高电平,表明没有中断请求,TCON寄存器的外中断请求标志位IE0或IE1继续为0;若为低电平,则中断请求有效,把IE0或IE1置1。这实际上就相当于把中断请求信号反相后锁定在相应的标志位中。 对于脉冲方式的外中断请求,若在两个相邻机器周期采样到的是先高电平后低电平,则中断请求有效,把IE0或IE1置1;否则IE0或IE1继续为0。可见在脉冲方式下,为保证中断请求有效。中断请求脉冲高低电平的持续时间应在12个晶振周期以上。 除外部中断之外,其它中断源的中断请求都发生在单片机芯片的内部,可以直接置位相应的中断请求标志位,因此不存在中断请求采样问题。但同样存在从中断请求信号发生到中断请求标志位置位的过程,为此把各中断请求标志位与中断请求信号的对应关系汇总如图6-3所示。 (2).中断查询与响应 采样解决的是外中断请求的锁定问题,即把有效的外中断请求信号锁定在各中断请求标志位中。紧接着的问题是CPU如何知道中断请求的发生?通过CPU对中断请求标志位的查询。通常把这种查询称之为中断查询。为此MCS-51单片机在每一个机器周期的最后一个状态(S6),按前述优先级顺序对中断请求标志位进行查询。如果查询到有标志位为1,则表明有中断请求发生,因此就从紧接着的下一个机器周期的S1状态开始进行中断响应。首先将当前程序计数器PC的内容压入堆栈以保护断点,再将中断入口地址装入PC,使程序执行转向相应的中断区入口地址 MCS-51单片机中,。各中断源的中断人口地址已由系统设定,分配如下: 外部中断0 0003H 定时器TO中断 000BH 外部中断1 0013H 定时器TI中断 00lBH 串行口中断 0023H * * * * * 6.2.4中断请求的撤除 中断响应后,TCON或SCON中的中断请求标志应及时清除。否则就意味着中断请求仍
显示全部