9. 中断

9. 中断

CH559芯片支持14组中断信号源,包括与标准MCS51兼容的6组中断:INT0、T0、INT1、T1、UART0、T2,以及扩展的8组中断:SPI0、TMR3、USB、ADC、UART1、PWM1、GPIO、WDOG,其中GPIO中断可以从7个I/O引脚中选择。

9.1 寄存器描述

表9.1.1 中断向量表

中断源入口地址中断号描述默认优先权顺序
INT_NO_INT00x00030外部中断0或LED控制卡中断:
当bLED_OUT_EN=0是外部中断0;当bLED_OUT_EN=1是LED控制卡中断
高优先权
































低优先权
INT_NO_TMR00x000B1定时器0中断
INT_NO_INT10x00132外部中断1
INT_NO_TMR10x001B3定时器1中断
INT_NO_UART00x00234UART0中断
INT_NO_TMR20x002B5定时器2中断
INT_NO_SPI00x00336SPI0中断
INT_NO_TMR30x003B7定时器3中断
INT_NO_USB0x00438USB中断
INT_NO_ADC0x004B9ADC中断
INT_NO_UART10x005310UART1中断
INT_NO_PWM10x005B11PWM1中断
INT_NO_GPIO0x006312GPIO中断
INT_NO_WDOG0x006B13看门狗定时器中断

表9.1.2 中断相关寄存器列表

名称Address描述复位值
IP_EXE9h扩展中断优先级控制寄存器00h
IE_EXE8h扩展中断使能寄存器00h
GPIO_IECFhGPIO中断使能寄存器00h
IPB8h中断优先级控制寄存器00h
IEA8h中断使能寄存器00h

中断使能寄存器(IE):

名称访问描述复位值
7EARW全局中断使能控制位,该位为1并且E_DIS为0则允许中断;该位为0屏蔽所有中断请求0
6E_DISRW全局中断禁用控制位,该位为1屏蔽所有中断请求;该位为0并且EA为1则允许中断。该位通常用于在flash-ROM操作期间临时禁止中断0
5ET2RW定时器2中断使能位,该位为1允许T2中断;为0屏蔽0
4ESRW异步串口0中断使能位,该位为1允许UART0中断;为0屏蔽0
3ET1RW定时器1中断使能位,该位为1允许T1中断;为0屏蔽0
2EX1RW外部中断1使能位,该位为1允许INT1中断;为0屏蔽0
1ET0RW定时器0中断使能位,该位为1允许T0中断;为0屏蔽0
0EX0RW外部中断0和LED控制卡中断使能位,该位为1允许INT0/LED中断,由bLED_OUT_EN选择;为0屏蔽0

扩展中断使能寄存器(IE_EX):

名称访问描述复位值
7IE_WDOGRW看门狗定时器中断使能位,该位为1允许WDOG中断;为0屏蔽0
6IE_GPIORWGPIO中断使能位,该位为1允许GPIO_IE中使能的中断;为0屏蔽GPIO_IE中所有中断0
5IE_PWM1RWPWM1中断使能位,该位为1允许PWM1中断;为0屏蔽0
4IE_UART1RW异步串口1中断使能位,该位为1允许UART1中断;为0屏蔽0
3IE_ADCRWADC模数转换中断使能位,该位为1允许ADC中断;为0屏蔽0
2IE_USBRWUSB中断使能位,该位为1允许USB中断;为0屏蔽0
1IE_TMR3RW定时器3中断使能位,该位为1允许Timer3中断;为0屏蔽0
0IE_SPI0RWSPI0中断使能位,该位为1允许SPI0中断;为0屏蔽0

GPIO中断使能寄存器(GPIO_IE):

名称访问描述复位值
7bIE_IO_EDGERWGPIO边沿中断模式使能:
该位为0选择电平中断模式,GPIO引脚输入有效电平则bIO_INT_ACT为1并一直请求中断,GPIO输入无效电平时
bIO_INT_ACT为0并取消中断请求;该位为1选择边沿中断模式,GPIO引脚输入有效边沿时产生中断标志bIO_INT_ACT并请求中断,该中断标志无法软件清零,只能在复位时或电平中断模式下或进入相应的中断服务程序时被自动清零
0
6bIE_RXD1_LORW该位为1使能UART1接收引脚中断(电平模式低电平有效,边沿模式下降沿有效);该位为0禁止。iRS485模式下选择XA/XB差分输入,非iRS485模式下根据bIER_PIN_MOD1=1/0选择RXD1或RXD1_引脚0
5bIE_P5_5_HIRW该位为1使能P5.5中断(电平模式高电平有效,边沿模式上升沿有效);该位为0禁止0
4bIE_P1_4_LORW该位为1使能P1.4中断(电平模式低电平有效,边沿模式下降沿有效);该位为0禁止0
3bIE_P0_3_LORW该位为1使能P0.3中断(电平模式低电平有效,边沿模式下降沿有效);该位为0禁止0
2bIE_P5_7_HIRW该位为1使能P5.7中断(电平模式高电平有效,边沿模式上升沿有效);该位为0禁止0
1bIE_P4_1_LORW该位为1使能P4.1中断(电平模式低电平有效,边沿模式下降沿有效);该位为0禁止0
0bIE_RXD0_LORW该位为1使能UART0接收引脚中断(电平模式低电平有效,边沿模式下降沿有效);该位为0禁止。根据bUART0_PIN_X=0/1选择RXD0或RXD0_引脚0

中断优先级控制寄存器(IP):

名称访问描述复位值
7PH_FLAGR0高优先级中断正在执行标志位0
6PL_FLAGR0低优先级中断正在执行标志位0
5PT2RW定时器2中断优先级控制位0
4PSRWUART0中断优先级控制位0
3PT1RW定时器1中断优先级控制位0
2PX1RW外部中断1的中断优先级控制位0
1PT0RW定时器0中断优先级控制位0
0PX0RW外部中断0和LED控制卡中断的中断优先级控制位0

扩展中断优先级控制寄存器(IP_EX):

名称访问描述复位值
7bIP_LEVELR0当前中断嵌套等级标志位,该位为0则表示无中断或者嵌套2级中断;该位为1则表示当前嵌套1级中断0
6bIP_GPIORWGPIO中断优先级控制位0
5bIP_PWM1RWPWM1中断优先级控制位0
4bIP_UART1RWUART1中断优先级控制位0
3bIP_ADCRWADC中断优先级控制位0
2bIP_USBRWUSB中断优先级控制位0
1bIP_TMR3RWTimer3中断优先级控制位0
0bIP_SPI0RWSPI0中断优先级控制位0

IP和IP_EX寄存器用于设定中断优先级,如果某位被置1,则对应的中断源被设定为高优先级;如果某位被清0,则对应的中断源被设为低优先级。对于同级中断源,系统有默认的优先权顺序,默认优先极顺序如表9.1.1所示。其中PH_FLAG和PL_FLAG组合表示当前中断的优先级。

表9.1.3 当前中断优先级状态指示

PH_FLAGPL_FLAG当前中断优先级状态
00当前无中断
01当前正在执行低优先级中断
10当前正在执行高优先级中断
11意外状态,未知错误