中止运用interrupt 关键字和终端编号0-4来完成:
返回值 函数名
n对应中止源的编号,中止编号告知中止器中止程序的进口地址,它对应着IE寄存器中的使能位,即IE寄存器中的0位对应着外部中止0。
8051单片机的中止源以及终端编号如下:
中止编号 | 中止源 | 进口地址 |
0 | 外部中止0 | 0003H |
1 | 定时器/计数器0 溢出 | 000BH |
2 | 外部中止1 | 0013H |
3 | 定时器/计数器1 溢出 | 001BH |
4 | 串行口中止 | 0023H |
在51系列单片机中,有的单片机多达32哥中止源,所以终端编号是0-31.
当正在履行一个特定的使命时,可能有更紧迫的工作需求CPU处理,这就触及到了中止优先级。高优先级中止能够中止正在处理的低优先级中止程序,因此最好给每种优先级程序分配不同的寄存器组。在C51中可运用using指定寄存器组,using后的变量为0-3的常整数,别离表明51单片机内的4哥寄存器组。中止函数的完好语法如下:
unsigned int interruptcnt;
unsigned char second;
void timer0(void) interrupt 1 using 2
if(++interruptcnt==4000)
second++;
interruptcnt=0;