C51库函数详解与应用
需积分: 9 158 浏览量
更新于2024-07-22
收藏 183KB DOC 举报
"Keil_C51库函数参考文档"
Keil C51是针对8051微控制器的集成开发环境,其强大的功能部分归功于丰富的内置库函数。这些库函数使得开发者能够编写更简洁、清晰的代码,从而提高程序的可调试性和维护性。库函数分为本征库函数(intrinsic routines)和非本征库函数。
本征库函数在编译时直接将代码插入到源代码中,不通过ACALL和LCALL指令调用,提高了执行效率。C51的本征库函数包括:
1. _crol_ 和 _cror_:循环左移和循环右移char型变量。
2. _iror_ 和 _irol_:对应于int型变量的循环移位操作。
3. _lrol_ 和 _lror_:用于long型变量的循环移位。
4. _nop_:插入空操作指令。
5. _testbit_:测试位变量并有条件跳转,同时清除该位。
6. _chkfloat_:测试浮点数状态。
使用本征库函数需要包含`#include <intrins.h>`。
非本征库函数是通过标准的函数调用机制执行的,包括以下几类:
1. 专用寄存器include文件,如`REG51.h`,包含8051系列微控制器的所有特殊功能寄存器(SFR)及其位定义。
2. 绝对地址include文件`absacc.h`,提供存储空间的绝对地址宏定义。
3. 动态内存管理函数,位于`stdlib.h`,如`malloc()`和`free()`。
4. 缓冲区处理函数,如`string.h`中的`memccpy()`, `memcmp()`, `memcpy()`, `memmove()`, `memset()`,方便对内存区域进行操作。
5. 输入输出流函数,位于`stdio.h`,例如`printf()`和`scanf()`,可以与8051串口或其他自定义I/O接口进行数据交互。如果需要改变默认的I/O设备,如改为LCD显示,可以修改`lib`目录下的`getkey.c`和`putchar.c`源文件,并在库中替换它们。
Keil C51库函数原型列表还包括`CTYPE.H`、`STDLIB.H`、`STRING.H`等头文件中的更多函数,如字符分类函数`isalnum()`, `isalpha()`, `iscntrl()`, `isdigit()`等,以及数学函数、转换函数等,提供了广泛的编程支持。
Keil C51的库函数是8051开发中不可或缺的工具,它们简化了底层硬件操作,提升了开发效率,同时也为程序的标准化和移植性提供了便利。开发者应充分利用这些库函数,以实现高效、可靠的8051微控制器应用程序。
2021-02-25 上传
2021-09-13 上传
2011-09-14 上传
2018-02-03 上传
点击了解资源详情
2011-04-30 上传
HEIIHEI
- 粉丝: 1
- 资源: 4
最新资源
- Pickling-in-Python:快速,清晰地说明什么是酸洗以及为什么要使用它。 另外,还有一个腌制和解腌线性回归模型的示例。 祝您腌制愉快!
- AttendanceAutomation
- c代码-出租车记价表
- C:C语言
- abc-da-cozinha-后端
- SelectMutiImgDemo:选择图片上传(从相册选择、拍照)
- phaser-sprite-gui:检查和操作Phaser Sprite(通过dat.gui)。 移相器2CE
- datajoint-elements:DataJoint Elements是神经生理学实验的精选计算工作流的集合
- 蓝色面性图标下载
- Android高级应用源码-安卓桌面应用EyeRoom.rar
- zehner
- gaussdb.zip
- OOP2020:КодовиодаудиторискитевежбипоОбјектно-ориентиранопрограмирање(202021)кајдем。 дипл。 инж。 СтефанАндонов
- 国标测试级联工具v2.0.zip
- c代码-出租车记价表
- DiligentCore:Diligent Engine的核心功能