MC9S12G单片机的中断系统

  1. 介绍:
    INT Module用于确定所有的系统异常请求,提供CPU处理异常请求的的应用向量。支持如下功能:
    (1)I位和X位可屏蔽向量请求;
    (2)一个未实现的不可屏蔽操作码陷阱(op-code trap);
    (3)一个不可屏蔽的软件中断(SWI)或background debug模式请求;
    (4)三个系统复位向量请求;
    (5)一个伪中断向量
    每个I位可屏蔽中断请求都被分配到一个固定的优先级水平。

  2. 特征:
    (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模式下唤醒系统。

  3. 系统框图
    在这里插入图片描述

  4. 寄存器描述
    (1)中断向量基址寄存器(IVBR)8bit
    定义了所有中断向量地址(16bit)的高8位,复位后默认为0xFF(即所有的中断向量地址为0xFF80-0xFFFE)。
    复位后IVBR被初始化为0xFF,因此改变IVBR对三个复位向量(0xFFFA-0xFFFE)无影响

  5. 中断优先级
    如果多个中断请求同时发生,更高中断向量地址的请求优先处理。
    在这里插入图片描述

  6. 初始化
    复位后,软件应该如下操作:
    (1)如果中断向量列表不是在默认位置,则需要设置IVBR;
    (2)在CCR中清除相应的I位来使能I位可屏蔽中断;
    (3)在CCR中清除X位来使能X位可屏蔽中断。

  7. 中断嵌套
    I位可屏蔽中断请求可以被一个更高优先级的中断请求打断。
    在默认情况下,一个I位可屏蔽中断不能被其他I位可屏蔽中断请求打断。如果要实现中断服务函数(ISR)可被中断,ISR中必须清除CCR中的I位。

  8. 从Stop或Wait模式中唤醒
    (1)所有I位中断可以唤醒MCU(当CCR中的I位清零)
    (2)X位中断请求可以唤醒MCU,即使CCR中的X位被置位。
    如果CCR中的X位置位,X位中断唤醒MCU后,不会执行ISR,而是执行stop或wait指令后的指令。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值