interruptm润饰符
C51中止函数有必要经过该润饰符进行润饰。在C51程序设计中,当函数界说时用了interruptm润饰符,体系编译时把对应函数转化为中止函数,主动加上程序头段和尾段,并按51体系中止的处理方式主动把它安排在程序存储器中的相应方位。
在该润饰符中,m的取值为0~31,对应的中止状况如下:
0——外部中止0
1——守时/计数器T0
2——外部中止1
3——守时/计数器T1
4——串行口中止
5——守时/计数器T2
其它值预留。
C51编译器从肯定地址8m+3处发生一个中止向量,其间m为中止号,也即interrupt后边的数字。该向量包括一个到中止函数进口地址的肯定跳转。
【例】编写一个用于计算外中止0的中止次数的中止服务程序
1intx=0;2voidint0()interrupt0using13{4x++;5}
usingn润饰符
润饰符usingn用于指定本函数内部运用的作业寄存器组,其间n的取值为0~3,表明寄存器组号。该润饰符能够省掉,省掉后体系主动挑选
中止函数留意如下:
(1)中止函数不能进行参数传递,假如中止函数中包括任何参数声明都将导致编译犯错。
(2)中止函数没有返回值,假如妄图界说一个返回值将得不到正确的成果,主张在界说中止函数时将其界说为void类型,以清晰阐明没有返回值。