C51库函数详解与应用
需积分: 9 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微控制器应用程序。
2021-02-25 上传
2021-09-13 上传
2018-02-03 上传
点击了解资源详情
2011-04-30 上传
2020-08-15 上传
HEIIHEI
- 粉丝: 1
- 资源: 4
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程