您现在的位置: 主页 > MCU > 单片机技术应用 > 单片机中断函数的编写 -
本文所属标签:
为本文创立个标签吧:

单片机中断函数的编写 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

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

interruptm修饰符

本文引用地址: http://www.21ic.com/app/mcu/201807/783027.htm

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类型,以明确说明没有返回值。




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 单片机中断函数的编写 -
 

"单片机中断函数的编写 -"的相关文章

网站地图

围观()