智能车制作
标题: MC9S12 中断学习 [打印本页]
作者: 蛋求无悔 时间: 2013-1-17 15:19
标题: MC9S12 中断学习
与复位比较:
相同点: 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、中断响应过程
其中涉及到了中断优先级和中断嵌套,以后用到时再详细的了解。
作者: sangxiaoran 时间: 2013-1-17 18:55
作者: mxj1005071012 时间: 2013-1-17 21:59
不错啊
作者: mxj1005071012 时间: 2013-1-17 22:00
作者: 846375642 时间: 2013-2-27 16:22
学习了一下
作者: Lancher_c 时间: 2013-5-6 19:48
分析很透彻 学习了 非常感谢LZ的分享 :victory::victory:
作者: 纸船 时间: 2013-8-7 16:16
好详细,谢谢lz了!
作者: 1037580733 时间: 2013-9-3 19:02
太好了!
作者: 锋珩天下 时间: 2013-9-7 14:54
请问一下 xirq怎么设置 使用啊
作者: zengjianhui 时间: 2013-11-9 14:06
分析的很好
作者: 易寒 时间: 2014-3-28 20:16
餗C9S12XF512
欢迎光临 智能车制作 (http://dns.znczz.com/) |
Powered by Discuz! X3.2 |