c语言程序 中断函数示例,单片机中断应用的C语言编程 -解决方案-华强电子网

C51编译器支持在C源程序中直接开发中断程序,从而减轻了采用汇编语言编写中断服务程序的繁琐程度。为了满足在C语言源程序中直接编写中断服务程序的需要,C51编译器对函数的定义进行了扩展,增加了一个扩展关键词interrupt。他是函数定义式的一个选项,加上这个选项即可以将一个函数定义成中断服务函数。定义中断服务函数的语法格式如下:返回值类型 函数名( )interrupt m [using n]{函...
摘要由CSDN通过智能技术生成

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

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

{

函数体

}

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

表 80C51单片机中断源编号

编号

中断源

入口地址

编号

中断源

入口地址

0

外部中断0

0003H

3

定时/计数器1

001BH

1

定时/计数器0

000BH

4

串行口中断

0023H

2

外部中断1

0013H

后面的n是一个0~3的常整数,分别选中4个不同的工作寄存器组。在定义一个函数时,using是一个选项ÿ

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值