当各模块发生中断请求时并且相应的中断允许和通用中断允许位(GIE)置位时,中断服务程序按以下顺序动作:
[1] CPU 处于活动状态:完成当前所执行的指令. [2]CPU 处于停止状态:低功耗模式终止. [3]指向下一条指令的 PC 值压入堆栈. [4]SR 压入堆栈
[5]如果在执行上条指令时已发生多个中断请求等待服务,则选择最高优先级者. [6]单中断源标志的中断请求位自动复位,多中断源标志仍保持置位等待软件服务.
[7]通用中断允许位 GIE 复位;CPUoff 位、OSCOff 位和 SCG1 位置位;状态位 V、N、Z 和 C复位;SCG0 位保持不变.
[8]相应的中断向量值装入 PC,程序从此地址继续执行中断处理.
ME1 模块允许寄存器 1 7 6 5 4 URXE0/ UTXE0 USPIE0 后为 000H 初始状态:PUC UTXE0 USART0 发送允许位
0 不允许 1 可允许
URXE0 USART0 接收允许位
0 不允许 1 可允许
3 2 1 0
USPIE0 USART0 发送与接收允许位(在 SPI 模式)
IFG1 中断标志寄存器 1
7 6 5 UTXIFG0 URXIFG0 初始状态:PUC 后为 082H 4 NMIIFG 3 2 1 OFIFG 0 WDTIFG
UTXIFG0 USART0 发送中断标志位(F14、15、16、44)
此位上电为 UTXIFG0=1,表示可以向发送缓冲器写操作。对发送缓存进行写操作时可以复位 UTXIFG0。
URXIFG0 USART0 接收中断标志位(F14、15、16、44)
0 无接收到有效字符
1 接收到有效字符,读接收缓存可以复位接收时产生的各种错误标志、
RXWAKE 位和 URXIFGx 位。
NMIIFG NMI/RST 引脚信号位
OFIFG 振荡器失效时置位
0 无振荡器失效 1 振荡器失效,当 XT 扫荡器丢失大约 100 个振荡周期时设置 TX 振荡器失效标志 OSCFault。OSCFault 标志设置振荡器失效中断标志 OFIFG,如果这
21
时振荡器失效中断允许(OFIE)置位,则将产生非屏蔽中断请求。OFIFG 标志必须由用户软件来清除。
WDTIFG 看门狗中断标志
看门狗模式时溢出或密钥不符时产生置位
IE1 中断使能寄存器 1
7 6 5 4 3 UTXIE0 URXIE0 ACCVIE NMIIE 初始状态:PUC 后为 000H UTXIE0 USART 发送中断允许位
0 不允许 1 允许
2 1 OFIE 0 WDTIE
URXIE0 USART0 接收中断使能位允许
0 不允许 1 允许
ACCVIE FLASH 存贮器非法访问中断允许
NMIIE NMI 看门狗中断允许
OFIE 振荡器失效中断允许
0 不允许 1 允许
WDTIE 看门狗允许,选看门狗模式无效//
0 不允许 1 允许
ME2 中断使能寄存器 2
7 6 5 4 URXE1/ UTIE1 USPIE1 初始状态:PUC 后为 000H UTXE1 USART1 发送允许位
0 不允许 1 可允许
URXE1 USART1 接收允许位
0 不允许 1 可允许
3 2 1 0
USPIE1 USART0 发送与接收允许位(在 SPI 模式)
IFG2 中断标志寄存器 2
22
5 4 3 2 1 0 UTXIFG1 URXIFG1 初始状态:PUC 后为 020H UTXIFG1 USART1 发送中断标志位(F14、15、16、44)
此位上电为 UTXIFG0=1,表示可以向发送缓冲器写字符。对发送缓存进行写操作时可以复位 UTXIFG0。
7 6 URXIFG1 USART1 接收中断标志位(F14、15、16、44)
0 无接收到有效字符
1 接收到有效字符,读接收缓存可以复位接收时产生的各种错误标志、RXWAKE 位和 URXIFGx 位。
IE2 中断使能寄存器 2
7 6 5 4 3 2 UTXIE1 URXIE1 初始状态:PUC 后为 000H UTXIE1 USART1 发送中断允许位(F14、15、16、44)
URXIE1 USART1 接收中断允许位(F14、15、16、44)
1 0
23