-
介绍:
INT Module用于确定所有的系统异常请求,提供CPU处理异常请求的的应用向量。支持如下功能:
(1)I位和X位可屏蔽向量请求;
(2)一个未实现的不可屏蔽操作码陷阱(op-code trap);
(3)一个不可屏蔽的软件中断(SWI)或background debug模式请求;
(4)三个系统复位向量请求;
(5)一个伪中断向量
每个I位可屏蔽中断请求都被分配到一个固定的优先级水平。 -
特征:
(1)中断向量基地址寄存器(IVBR)
(2)一个伪中断向量(base+0x0080)
(3)2-58个I位可屏蔽中断向量请求(base + 0x0082-0x00F2)
(4)I位可屏蔽中断可嵌套
(5)一个X位可屏蔽中断向量请求(base + 0x00F4)
(6)一个不可屏蔽的软件中断(SWI)或background debug模式请求(base + 0x00F6)
(7)一个未实现的不可屏蔽操作码陷阱(op-code trap)向量(base + 0x00F8)
(8)三个系统复位向量请求(0xFFFA-0xFFFE)
(9)确定优先级最高的中断向量请求,驱动向量到总线给CPU
(10)当适当的中断请求发生时,从stop或wait模式下唤醒系统。 -
系统框图
-
寄存器描述
(1)中断向量基址寄存器(IVBR)8bit
定义了所有中断向量地址(16bit)的高8位,复位后默认为0xFF(即所有的中断向量地址为0xFF80-0xFFFE)。
复位后IVBR被初始化为0xFF,因此改变IVBR对三个复位向量(0xFFFA-0xFFFE)无影响 -
中断优先级
如果多个中断请求同时发生,更高中断向量地址的请求优先处理。
-
初始化
复位后,软件应该如下操作:
(1)如果中断向量列表不是在默认位置,则需要设置IVBR;
(2)在CCR中清除相应的I位来使能I位可屏蔽中断;
(3)在CCR中清除X位来使能X位可屏蔽中断。 -
中断嵌套
I位可屏蔽中断请求可以被一个更高优先级的中断请求打断。
在默认情况下,一个I位可屏蔽中断不能被其他I位可屏蔽中断请求打断。如果要实现中断服务函数(ISR)可被中断,ISR中必须清除CCR中的I位。 -
从Stop或Wait模式中唤醒
(1)所有I位中断可以唤醒MCU(当CCR中的I位清零)
(2)X位中断请求可以唤醒MCU,即使CCR中的X位被置位。
如果CCR中的X位置位,X位中断唤醒MCU后,不会执行ISR,而是执行stop或wait指令后的指令。
MC9S12G单片机的中断系统
最新推荐文章于 2025-03-04 17:55:11 发布