1) 中断源
STC12C5A60S2共有十个中断源,每个中断源可设置4类优先级;当相同优先级下各中断优先级由高到低依次如下:
1.1)INT0(外部中断0) 中断向量地址 0003H, C语言编程:void Int0_Routeine(void) interrupt0,中断请求标志位:IE0,中断允许控制位:EX0
1.2)T0(T0溢出中断)中断向量地址 000BH,C语言编程:void Timer0_Rountine(void) interrupt1,中断请求标志位:TF0,中断允许控制位:ET0
1.3)INT1(外部中断1)中断向量地址0013H,C语言编程:void Int1_Routine(void) interrupt2,中断请求标志位:IE1,中断允许控制位:EX1
1.4)T1(T1溢出中断)中断向量地址 001BH,C语言编程:void Timer1_Rountine(void) interrupt3,中断请求标志位:TF1,中断允许控制位:ET1
1.5)UART1(串口1)中断向量地址 0023H, C语言编程:void UART_Routine(void) interrupt4,中断请求标志位:RI,TI,中断允许控制位:---
1.6)ADC(AD转换中断)中断向量地址 002BH,C语言编程:void ADC_Routine(void) interrupt5,中断请求标志位:ADC_FLAG,中断允许控制位:EADC
1.7)LVD(低压检测中断)中断向量地址 003BH,C语言编程:void LVD_Routine(void) interrupt6,中断请求标志位:LVDF,中断允许控制位:ELVD
1.8)PCA(PCA中断)中断向量地址 003BH,C语言编程:void PCA_Routine(void) interrupt7,中断请求标志位:CF,CCF0,CCF1,中断允许控制位:EF,ECCF0,ECCF1
1.9)UART2(串行口2)中断向量地址 0043H,C语言编程:void UART_Routine(void) interrupt8,中断请求标志位:S2RI,S2TI,中断允许控制位:ES2
1.10)SPI(SPI中断)中断向量地址 004BH,C语言编程:void SPI_Routine(void) interrupt9,中断请求标志位:SPIF,中断允许控制位:ESPI
2) 寄存器
2.1)IE、IE2 中断允许控制寄存器,确定CPU对中断源的开放或屏蔽;
2.2)IP、IP2、IPH、IP2H 中断优先级控制寄存器,确定各个中断源的优先级0~3级;
2.3)TCON,定时/计数器T0、T1、外部中断INT0和INT1的控制寄存器;
2.4)SCON/S2CON,串口控制寄存器,包括串口接收和发送中断标识位
2.5)PCON,低压检测中断寄存器
2.6)ADC_CONTR,ADC控制寄存器,标示AD转换完成时的中断允许