原创 中断服务函数for C51

2011-4-24 15:43 3218 3 3 分类: MCU/ 嵌入式

中断服务程序的入口地址是相对固定的,而普通的功能程序入口则是随意设置的,此外,中断服务程序的调用方式也不同于普通的功能程序,中断服务程序的调用是靠中断申请信号,而非普通的程序。

在C51中,中断服务程序同样是一种特殊的函数,其标准形式如下。

void 函数名(void)interrupt n using m

{

函数体语句

}

此处的interrupt和using是C51的关键字,interrupt表示该函数是一个中断服务函数n表示该中断服务函数所对应的中断源,中断源与中断编号的对应关系见表

中断源

中断编号

中断源

中断编号

外部中断0

0

外部中断1

2

定时器T0

1

定时器T1

3

定时器T2

5

串行口中断

4

Using用指定该中断服务程序要使用的工作寄存器组号,m取值为0~3,当不使用关键字using时,编译系统将会把当前工作寄存器组的8个寄存器都压入堆栈,中断服务函数是由系统调用的,程序中的任何函数都不能调用中断服务函数。

一般可以不使用using m.

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
3
关闭 站长推荐上一条 /3 下一条