keil_c51库函数参考

keil_c51库函数参考

ID:19534905

大小:182.50 KB

页数:26页

时间:2018-10-03

keil_c51库函数参考_第1页
keil_c51库函数参考_第2页
keil_c51库函数参考_第3页
keil_c51库函数参考_第4页
keil_c51库函数参考_第5页
资源描述:

《keil_c51库函数参考》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、KeilC51库函数参考发表于2009/6/2313:42:42C51强大功能及其高效率的重要体现之一在于其丰富的可直接调用的库函数,多使用库函数使程序代码简单,结构清晰,易于调试和维护,下面介绍C51的库函数系统。第一节本征库函数(intrinsicroutines)和非本征证库函数C51提供的本征函数是指编译时直接将固定的代码插入当前行,而不是用ACALL和LCALL语句来实现,这样就大大提供了函数访问的效率,而非本征函数则必须由ACALL及LCALL调用。C51的本征库函数只有9个,数目虽少,但都非常有用,列如下:_crol_,_cror_:将char型变量循环向左(右)移动指定位数后

2、返回_iror_,_irol_:将int型变量循环向左(右)移动指定位数后返回_lrol_,_lror_:将long型变量循环向左(右)移动指定位数后返回_nop_:相当于插入NOP_testbit_:相当于JBCbitvar测试该位变量并跳转同时清除。_chkfloat_:测试并返回源点数状态。使用时,必须包含#inclucle一行。如不说明,下面谈到的库函数均指非本征库函数。第二节几类重要库函数1.专用寄存器include文件例如8031、8051均为REG51.h其中包括了所有8051的SFR及其位定义,一般系统都必须包括本文件。2.绝对地址include文件ab

3、sacc.h该文件中实际只定义了几个宏,以确定各存储空间的绝对地址。3.动态内存分配函数,位于stdlib.h中 4.缓冲区处理函数位于“string.h”中其中包括拷贝比较移动等函数如:memccpymemchrmemcmpmemcpymemmovememset这样很方便地对缓冲区进行处理。5.输入输出流函数,位于“stdio.h”中流函数通8051的串口或用户定义的I/O口读写数据,缺省为8051串口,如要修改,比如改为LCD显示,可修改lib目录中的getkey.c及putchar.c源文件,然后在库中替换它们即可。第三节KeilC51库函数原型列表1.CTYPE.Hbitisalnu

4、m(charc);bitisalpha(charc);bitiscntrl(charc);bitisdigit(charc);bitisgraph(charc);bitislower(charc);bitisprint(charc);bitispunct(charc);bitisspace(charc);bitisupper(charc);bitisxdigit(charc);bittoascii(charc);bittoint(charc);chartolower(charc);char__tolower(charc);chartoupper(charc);char__toupper(ch

5、arc);2.INTRINS.Hunsignedchar_crol_(unsignedcharc,unsignedcharb);unsignedchar_cror_(unsignedcharc,unsignedcharb);unsignedchar_chkfloat_(floatual);unsignedint_irol_(unsignedinti,unsignedcharb);unsignedint_iror_(unsignedinti,unsignedcharb);unsignedlong_irol_(unsignedlongl,unsignedcharb);unsignedlong_i

6、ror_(unsignedlongL,unsignedcharb);void_nop_(void);bit_testbit_(bitb);3.STDIO.Hchargetchar(void);char_getkey(void);char*gets(char*string,intlen);intprintf(constchar*fmtstr[,argument]…);charputchar(charc);intputs(constchar*string);intscanf(constchar*fmtstr.[,argument]…);intsprintf(char*buffer,constch

7、ar*fmtstr[;argument]);intsscanf(char*buffer,constchar*fmtstr[,argument]);charungetchar(charc);voidvprintf(constchar*fmtstr,char*argptr);voidvsprintf(char*buffer,constchar*fmtstr,char*argptr);4.STDLIB.Hfloat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。