C51库函数详解与应用

需积分: 9 5 下载量 163 浏览量 更新于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微控制器应用程序。