Keil C51库函数参考
扫描二维码
随时随地手机看文章
KeilC51库函数KeilC51库函数参考
C51强大功能及其高效率的重要体现之一在于其丰富的可直接调用的库函数,多使用库函数使程序代码简单,结构清晰,易于调试和维护,下面介绍C51的库函数系统。
第一节本征库函数(intrinsicroutines)和非本征库函数
C51提供的本征函数是指编译时直接将固定的代码插入当前行,而不是用ACALL和LCALL语句来实现,这样就大大提供了函数访问的效率,而非本征函数则必须由ACALL及LCALL调用。
C51的本征库函数只有9个,数目虽少,但都非常有用,列如下:
_crol_,_cror_:将char型变量循环向左(右)移动指定位数后返回
_iror_,_irol_:将int型变量循环向左(右)移动指定位数后返回
_lrol_,_lror_:将long型变量循环向左(右)移动指定位数后返回
_nop_:相当于插入NOP
_testbit_:相当于JBCbitvar测试该位变量并跳转同时清除。
_chkfloat_:测试并返回源点数状态。
使用时,必须包含#inclucle
如不说明,下面谈到的库函数均指非本征库函数。
第二节几类重要库函数
1.专用寄存器include文件
例如8031、8051均为REG51.h其中包括了所有8051的SFR及其位定义,一般系统都必须包括本文件。
2.绝对地址include文件absacc.h
该文件中实际只定义了几个宏,以确定各存储空间的绝对地址。
3.动态内存分配函数,位于stdlib.h中
4.缓冲区处理函数位于“string.h”中
其中包括拷贝比较移动等函数如:
memccpymemchrmemcmpmemcpymemmovememset
这样很方便地对缓冲区进行处理。
5.输入输出流函数,位于“stdio.h”中
流函数通8051的串口或用户定义的I/O口读写数据,缺省为8051串口,如要修改,比如改为LCD显示,可修改lib目录中的getkey.c及putchar.c源文件,然后在库中替换它们即可。