C51编译器扩展的关键词 & C51中断函数的写法
2013-07-31 20:04
260 查看
C51根据单片机的特性扩展了相关的关键字,如下表示:
C51中断函数的写法
使用C51编写中断服务函数,其实就是编写中断函数。中断函数定义的语法如下:
void func_name() [ interrupt n ] [ using n ]
中断函数不能返回任何值,且不能带有任何参数。
关键词interrupt后面的n对应中断源的编号,其值为 0 - 4 分别对应单片机的 外中断0、定时器中断0、外中断1、定时器中断1、串口中断
关键词using 后边 n 用来选择单片机的工作寄存器组。 using 后面的 n 对应0 - 3 的常整数 ,分别对应4个不同的工作寄存器组。如果不用该选项,则由编译器自动选择一组寄存器作为绝对寄存器组访问。
关键词 | 用途 | 说明 |
bit | 位变量声明 | 声明了一个位变量或者位类型的函数 |
sbit | 位变量声明 | 声明了一个可位寻址变量 |
sfr | 特殊功能寄存器声明 | 声明一个特殊功能寄存器 |
sfr16 | 特殊功能寄存器声明 | 声明一个16位的特殊功能寄存器 |
data | 存储器类型说明 | 直接寻址的内部数据存储器 |
bdata | 存储器类型说明 | 可位寻址的内部数据存储器 |
idata | 存储器类型说明 | 间接寻址的内部数据存储器 |
pdata | 存储器类型说明 | 分页寻址的内部数据存储器 |
xdata | 存储器类型说明 | 外部数据存储器 |
code | 存储器类型说明 | 程序存储器 |
interrupt | 中断函数说明 | 定义一个中断函数 |
reentrant | 再入函数说明 | 定义一个再入函数 |
using | 寄存器组定义 | 定义芯片的工作寄存器 |
使用C51编写中断服务函数,其实就是编写中断函数。中断函数定义的语法如下:
void func_name() [ interrupt n ] [ using n ]
中断函数不能返回任何值,且不能带有任何参数。
关键词interrupt后面的n对应中断源的编号,其值为 0 - 4 分别对应单片机的 外中断0、定时器中断0、外中断1、定时器中断1、串口中断
关键词using 后边 n 用来选择单片机的工作寄存器组。 using 后面的 n 对应0 - 3 的常整数 ,分别对应4个不同的工作寄存器组。如果不用该选项,则由编译器自动选择一组寄存器作为绝对寄存器组访问。
相关文章推荐
- 【转】C51中断函数的写法
- Keil C51对C语言的关键词扩展之五: code
- Keil C51对C语言的关键词扩展之八: far
- jQuery扩展插件和拓展函数的写法(匿名函数使用的典型例子)
- STM32 UART2 中断函数的写法
- 在C++程序中调用被C 编译器编译后的函数,为什么要加 extern "C"
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->clone 函数
- 调试程序时在不中断程序的情况下输出函数调用信息(Mac OS,Linux & Windows)
- PHP - Manual手册 - 函数参考 - PHP Options&Information - PHP选项与信息 - extension_loaded查询是否加载指定的扩展
- Keil C51对C语言的关键词扩展之六: compact
- Keil C51对C语言的关键词扩展之九: idata
- 调试程序时在不中断程序的情况下输出函数调用信息(Mac OS,Linux & Windows)
- PHP - Manual手册 - 函数参考 - PHP Options&Information - PHP选项与信息 - dl运行时加载PHP扩展
- PHP - Manual手册 - 函数参考 - PHP Options&Information - PHP选项与信息 - dl运行时加载PHP扩展
- 关于C51的中断函数要注意的几个问题
- ASP.NET AJAX 说明文档->客户端引用->全局命名空间->JavaScript 基础类型扩展->Array 类型扩展->contains 函数
- 关于C51的中断函数要注意的几个问题
- Keil C51对C语言的关键词扩展之十: pdata
- Keil C51对C语言的关键词扩展之十七: sbit