与复位比较: 相同点: MC9S12采用向量方式确定中断服务程序的入口地址,就这一地来看,MCU对复位与中断的处理有点类似之处,但是本质还是不同的。 不同点:①CPU执行中断服务程序后返回中断处继续执行,而复位则不返回原来的程序,一切重新开始,包括将某些内部资源置成默认状态。 ②中断是可以屏蔽的,二复位时一种强制措施,无法加以禁止。 一、中断特点 二、中断源 中断处理能力是单片机的重要性能指标。 DG128预留了64个向量的空间,目前使用了53个左右,其中3个为复位向量,其余为中断向量。中断向量包括3个非可屏蔽中断向量,47个左右的可屏蔽中断向量,有外部中断源和内部中断源之分,两类的中断实现机制完全相同。 1、软件中断(SWI) SWI实质上是一条指令,执行过程与中断相同,即通过中断向量找到目标地址。 它和其它的中断有所不同:①它的出现是有程序决定的,而非外部事件,因此出现的时 机是确定的。 ②真正的中断可以打断任何关键的工作,而SWI一般不会放置在这样的位置。 CPU取得SWI的操作码之后,就不能再禁止CPU执行相应的操作。SWI的作用类似于某个子程序的调用。MCU的断电机制就是用SWI。 2、非法指令陷阱 非法指令:MCU执行程序时,都是执行又汇编或编译程序生成的有效的操作码,当受到干扰或系统混乱时,可能无法取得正确的操作码,这些无法识别的操作码就叫做非法指令。 在软件调试阶段,合理利用该中断还可以发现某些如程序跑飞、死机等的软件错误,利用改中断就可以找到问题的根源。 3、非屏蔽中断 XIRQ(此处注意是低电平有效,写错了)是MC9S12系列单片机的非屏蔽中断引脚,引发XIRQ中断。在任何模式下,该引脚一旦被拉低,MCU执行完当前指令后,都会相应该中断(包括在等待和停止模式下,该中断可以唤醒MCU)。 应用:该中断一般用于系统掉电、硬件故障等重要场合。 注意:使用时要反复斟酌,确保不会给系统带来副作用。 4、可屏蔽中断 可屏蔽中断可通过软件允许或禁止,除了以上三个,MCU的其他中断均为可屏蔽中断,其中除了IRQ为外部引脚产生外,其余均为内部资源产生。 MCU的中断源多数属于事件中断,即由系统特定事件的发生发出中断请求,与其它可屏蔽中断的处理过程相同。 三、中断控制 系统中断控制分为四种情况,第一种是SWI,MCU遇到SWI指令后必须执行;第二种是非法指令,出现后立即中断,不能禁止;第三种是XIRO,只有一次操作机会,打开后不能关闭,默认为关闭;第四种是可屏蔽中断,包括外部的IRO和内部资源中断,每个可屏蔽中断都受两层控制,一是全局中断屏蔽位,即CCR中的I位,而是各个中断源的本地控制位。I位置1讲关闭所有的可屏蔽中断。 1、IRQ中断使能及方式控制(INTCR) 所有通过IRQ引脚的外部中断都受到INTCR寄存器的控制 2、中断优先级控制寄存器(HPRIO) 三个非屏蔽中断的优先级:指令陷阱、软件中断、XIRQ中断 任何一个可屏蔽中断源可通过HORIO设定为最高优先级,其他中断源的相对优先级保持不变。 作用:把任何一个可屏蔽中断源设置为最高优先级。 方法:将中断向量地址的低位字节写入该寄存器即可。 3、中断向量 MCU给每一个复位和中断源都安排了中断向量,存放在64K内存区的最后128字节,每个中断向量占两个字节,指向程序入口。中断相应时,MCU根据中断源到对应位置找到中断向量,然后转到相应的中断服务程序。 四、中断响应 中断响应指从MCU确认中断请求到进入中断服务子程序的整个过程。 1、中断的识别方式 三种方式:边沿方式、电平方式、标志方式 IRQ:边沿方式、电平方式 XIRQ:电平方式 所有集成外设的中断请求:标志方式 2、中断响应过程 其中涉及到了中断优先级和中断嵌套,以后用到时再详细的了解。
|