你的位置: 首页 > 家电弱电 > 单片机

单片机中断应用的C语言编程

2016-12-17 18:19:25 | 人围观 | 评论:

C51编译器支持在C源程序中直接开发中断程序,从而减轻了采用汇编语言编写中断服务程序的繁琐程度。为了满足在C语言源程序中直接编写中断服务程序的需要,C51编译器对函数的定义进行了扩展,增加了一个扩展关键词interrupt。他是函数定义式的一个选项,加上这个选项即可以将一个函数定义成中断服务函数。定义中断服务函数的语法格式如下:

返回值类型 函数名(  interrupt m [using n]<?XML:NAMESPACE PREFIX = O /> 
        
{ 

                           
函数体 

        
}

关键词interrupt后面的m是中断号,m的取值为031的正整数,编译器从8m+3处产生中断向量,具体的中断号m和中断向量取决于80C5180C51中断源编号见表80C51单片机可以在片内RAM中使用4个不同的工作寄存器组,每个寄存器组中包含8个寄存器(R0R7)。C51编译器扩展了一个关键字using,专门用来选择不同的工作寄存器组。using

80C51单片机中断源编号





标签:

编号

中断源

入口地址

编号

中断源

入口地址

0

外部中断0

0003H

3

定时/计数器1

001BH

1

定时/计数器0

000BH

4

串行口中断

0023H

2

外部中断1

0013H