访问手机版页面
你的位置:老古开发网 > 51单片机 > 51单片机中断系统 > 正文  
C51单片机中断函数的修饰方法
内容导读:

interruptm修饰符

C51中断函数必须通过该修饰符进行修饰。在C51程序设计中,当函数定义时用了interruptm修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按51系统中断的处理方式自动把它安排在程序存储器中的相应位置。

在该修饰符中,m的取值为0~31,对应的中断情况如下:

0——外部中断0

1——定时/计数器T0

2——外部中断1

3——定时/计数器T1

4——串行口中断

5——定时/计数器T2

其它值预留。

C51单片机中断函数的修饰方法
 

C51编译器从绝对地址8m+3处产生一个中断向量,其中m为中断号,也即interrupt后面的数字。该向量包含一个到中断函数入口地址的绝对跳转。

【例】编写一个用于统计外中断0的中断次数的中断服务程序

1intx=0;2voidint0()interrupt0using13{4x++;5}

usingn修饰符

修饰符usingn用于指定本函数内部使用的工作寄存器组,其中n的取值为0~3,表示寄存器组号。该修饰符可以省略,省略后系统自动选择

中断函数注意如下:

(1)中断函数不能进行参数传递,如果中断函数中包含任何参数声明都将导致编译出错。

(2)中断函数没有返回值,如果企图定义一个返回值将得不到正确的结果,建议在定义中断函数时将其定义为void类型,以明确说明没有返回值。

标签:中断函数,C51单片机,
来源:工程师周亮 作者:lhl545545 时间:2019/3/18 14:20:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐