关键词不能为空

当前您在: 主页 > 英语 >

(完整版)Keilc51常用库函数汇总参考

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-14 00:35
tags:

-

2021年2月14日发(作者:便士)


Keil c51


函数参考



一、数学函数




(1)cabs



原型:


char cabs(char val);



功能:


cabs


函数取


val


的绝对值。



参数:一字节数


val




返回:


cabs


返回


val


的绝对值。




(2)abs



原型:


Int abs(int val);



功能:求绝对值



参数:


val


整型数



返回:


val


的绝对值




(3)labs



原型:


long labs(long val);



功能:


labs


函数确定长整数


val


的绝对值。



返回:


val


的绝对值。




(4)fabs



原型:


float fabs(float val);



功能:


fabs


函数确定浮点数


val


的绝对值。



参数:



返回:


fabs


返回


val


的 绝对值。




(5)sqrt



原型:


float sprt(float x);



功能:


sqrt


函数计算


x


的平方根。


< /p>


返回:


sqrt


函数返回


x


的正平方根。




(6)exp



原型:


float exp(float x);



功能:


exp


函数计算自然对数中


e



x< /p>


次幂。


e



2. 753581496



是无限循环小数。



返回:


e


x



的值。




(7)log



原型:


float log(float val);



功能:


log

< p>
函数计算浮点数


val


的自然对数。自然对数基数 为


e




返回 :


val


的浮点自然对数。




(8)log10



原型:


float log10(float val);



功能:


logl0


函数计算浮点数


val


的常用对数。常用对数 为基数


10




返回:


val


的浮点常用对数。




(9)sin



原型:


float sin(float x);



功能:


sin


函数计算浮点数


x


的正弦值。



参数:


x


必须在


-


65535



65535


之间,或产生一个


NaN


错误。



返回:


sin


函数返回


x


的正弦。




(10)cos



原型:


float cos(float x);



功能:


COS


函数计算浮点数


X


的余弦。



参数:


X


的值必须在

< br>-


65535



65535


之间,或产生一个


NaN


错误。

< p>


返回:


COS


函数返回


X


的余弦。




(11)tan



原型:


float tan(float x);



功能:


tan


函数计算浮点数


x


的正切值。



参数:


x


必须在


-


65535



65535


之间,或错误值


NaN




返回:


tan


函数返回

< p>
x


的正切。




(12)asin



原型:


float asin(float x);



功能:求反正弦


< p>
参数:浮点数


x


,取值必须在

-


1



1


之间。



返回:


X

的反正弦,值在


-


π


/2


~π


/2


之间。




(13)acos



原型:


float acos(float x);



功能:求反余弦


< p>
参数:浮点数


x


,取值必须在

-


1



1


之间。



返回:


x

的反余弦,值在


0


~π之间。




(14)atan



原型:


float atan(float x);



功能:求反正切


< p>
参数:浮点数


x


,取值必须在

-


1



1


之间。



返回:


X

的反正切,值在


-


π


/2


~π


/2


之间。




(15)sinh



原型:


float sinh(float x);



功能:


sinh


函数计算浮点数


X


的双曲正弦。


参数:


x


必须在


-


65535



65535< /p>


之间,或产生一个


NaN


错误。



返回:


sinh


函数 返回


x


的双曲正弦。




(16)cosh



原型:


float cosh(float x);



功能:


cosh


函数计算浮点数


X


的双曲余弦。


参数:



返回:


cosh


函数返回


X


的双曲余 弦。




(17)tanh



原型:


float tanh(float x);



功能:


tanh


函数计算浮点数


x


的双曲正切。


返回:


tanh


函数返回


x


的双曲正切。




(18)atan2



原型:


float atan2(float y,float x);



功能:计算浮点数


y/x


的反正切。



参数:浮点数


y


,浮点数


x




返回:反正切值,值在


-


π~π之间。


x



y

< br>的符号确定返回值的象限。




(19)ceil



原型:


float ceil(float val)



功能:


ceil

< p>
函数计算大于或等于


val


的最小整数值(收尾取 整)




参数:要化为整数的数。



返回:


ceil


函数返回不小于


val

< p>
的最小


float


整数值。




(20)floor



原型:


float floor(float val);



功能:取整。



返回:


floor


函数返回不大于


val


的最大整数值。




(21)fmod



原型:


float fmod(float x,float y);



功能:取模。



返回:


x/y


的浮点余数。




(22)modf



原型:


float modf(float val,float *ip);



功能:

modf


函数把浮点数


val


分成 整数和小数部分。



返回:


modf< /p>


函数返回带符号小数部分


val


。整数部 分保存在浮点数


ip


中。




(23)pow



原型:


float pow(float x,float y);



功能:


pow


函数计算


x



y


次幂。



返回:


pow


函数返回值


x


y


。 如果


x



0



y=O



pow


返回值


1


;如果


x=0



y



0

< br>,


pow


返回


NaN

< p>
。如果


x



y


不是一个整数,


pow


返回

< br>NaN




< br>二、空操作,左右位移等内嵌代码





(1)_nop_



原型:


void _nop_(void);



功能:


_ nop_


插入一个


8051NOP


空操 作指令到程序,用来停顿


1



CPU< /p>


周期。本程序是固


有函数,代码要求内嵌而不是调用。

< p>


返回:无。




(2)_testbit_



原型:


bit _testbit_(bit b);



功能:


_testbit_< /p>


程序在生成的代码中用


JBC


指令来测试 位


b


,并清零。


参数:


本程序只能用在直接寻址位变量,


对任何类型的表达 式无效。固有函数,代码要求内


嵌,而非调用。



返回:


_testbit_


程序返回值


b




(3)_cror_



原型:


unsigned char _cror_(unsigned char c, unsigned char b);



功能:


_cror_


程序字符


c


循环右移


b


位。固有函数,代码要求内嵌,而不是调用。参数:



返回:右移的结果




(4)_iror_



原型:


unsigned int _iror_(unsigned int i, unsigned char b);



功能:


_iror_


程序将整数


i


循环右移


b


位。固有函数,代码要求内嵌而不是被调用。



参数:


i


右移的整数,


b< /p>


右移的次数。



返回:

< br>_iror_


程序返回右移后的值。




(5)_lror_



原型:


unsigned long _lror_(unsigned long l,unsigned char b);



功能:


_lror_


程序将长整数


l


循环右移


b


位。固有函数代码,要求内嵌而不是被调用。


< p>
参数:


l


要右移的数,


b


要右移的位数。



返回:返回右移后的 值。摘要:


#include





(6)_crol_



原型:


unsigned char _crol_(unsigned char c, unsigned char b);



功能:


_crol_


程序字符


c


循环左移


b


位。固有函数,代码要求内嵌,而不是调用。



参数:



返回:左移的结果




(7)_irol_




原型:


unsigned int _irol_(unsigned int i, unsigned char b);



功能:


_irol_


程序将整数


i


循环左移


b


位。固有函数,代码要求内嵌而不是被调用。



参数:


i


左移的整数,


b< /p>


左移的次数。



返回:

< br>_irol_


程序返回左移后的值。




(8)_lrol_



原型:


unsigned long _lrol_(unsigned long l,unsigned char b);



功能:


_lrol_


程序将长整数


l


循环左移


b


位。固有函数,代码要求内嵌而不是被调用。


< p>
参数:


l


要左移的数,


b


要左移的位数。



返回:返回左移后的值。




(9)_chkfloat_



原型:


unsigned char _chkfloat_(float val);



功能:检查浮点数的状态。



参数:浮点型变量。



返回:


0


,标准浮点数;


1


, 浮点数


0



2


,正溢出;


3


,负溢出;


4

< p>


NaN(


不是一个数


)


错误状


态。




(10)_push_



原型:


void _push_(unsigned char _sfr);



功能:将特殊功能寄存器


_sfr


压入堆栈。




(11)_pop_



原型:


void _pop_(unsigned char _sfr);



功能:将堆栈中的数据弹出到特殊功能寄存器< /p>


_sfr





三、字串转数字,随机数,存储池管理


< /p>




(1)atof



原型:


float atof(void *string);



功能:将浮点数格式的字符串转换为浮点 数。如果


string


的第一个字符不能转换成数字,就


停止处理。



参数:格式为,


[{+|


-


}]


数字


[.


数字


][{e|E}[{+|


-


}]


数字


]


。如,


-


12.345e+67


返回:


atof


函数返回


string


的浮点值。




(2)atoi



原型:


int atoi(void *string);



功能:


atoi


函数转换


string


为一个整数值。


string


是一个字符序列,可以解释为一个整数。


如果


string


的第一个字符不能转换成数字 ,就停止处理。



参数:


atoi


函数要求


string


有这样的格式:


[


空格


][{+|


-


}]


数字,如”


123456





返回:


atoi


函数返回


string


的整数值。




(3)atol



原型:


long atol(void *string);



功能:


atol


函数转换


string


为一个长整数值 。


string


是一个字符序列,可以解释为一个长整


数。如果


string


的第一个字符不能转换成 数字,就停止处理。



参数:


atol


函数要求


string


有这样的格式:


[


空格


][{+|

-


}]


数字,如”


1234567 890





返回:


atol


函数返回


string


的长整数值。




(4)rand



原型:


int rand(void);



功能:


ra nd


函数产生一个


0



32767


之间的虚拟随机数。


返回:


rand


函数返回一个虚拟随机数。




(5)srand



原型:


void srand(int seed);



功能:


srand


函数设置


rand


函数所用的虚拟随机数发 生器的起始值


seed



随机数发生器 对任


何确定值


seed


产生相同的虚拟 随机数序列。



返回:无。




(6)strtod



原型:


unsigned long strtod(const char *string, char **ptr);



功能:


strtod


函数将一个浮点数 格式的字符串


string


转换为一个浮点数。字符串开头的空 白


字符被忽略。



参数:


要求


string


有下面的格式:

< br>


[{+|


-


}]digits [.digits][{e|E}[{+|


-


}]digits ]digits


可能是一个或多


个十进制数。

< br>ptr


的值设置指针到


string

中转换部分的第一个字符。如果


ptr


< br>NULL


,没有


值和


ptr


关联。如果不能转换,则


prt


就设为


string


的值,


strtod


返回


0



< p>
返回:


strtod


函数返回由

< br>string


生成的浮点数。




(7)strtol



原型:


long strtol(const char *string, char **ptr, unsigned char base);



功能:


strtol< /p>


函数将一个数字字串


string


转换为 一个


long


值。


< br>参数:输入


string


是一个字符序列,可以解释为一 个整数。字符串开头的空白字符被忽略,


符号可选。要求


str ing


有下面的格式:


[whitespace][{+|


-


}]digitsdigits


可能是一 个或多个十进


制数。如果


base


是零 ,数值应该有一个十进制常数、八进制常数或十六进制常数的格式。


数值的基数从格式推 出。


如果


base


< br>2



36


之间,


数值必须是一个字母或数字的非零序列,


表示指定基数的一个整数。字母


a



z(



A



Z)


分别表示值< /p>


10



36


。只 有小于


base


的字母表


示的值是允许 的。如果


base



16


,数值可能以


0x



0X< /p>


开头,


0x



0 x


被忽略。


prt


的值设


置指针指向


string


中转换部分的第一个字符。 如果


prt



NULL


,没有值和


ptr


关联。如果不


能转换,


prt


设置为


string


的值,


strtol


返回


0




返回:


strtol


函数返回


string


生成的整数值。如溢出则返回


LONG_MIN



LONG_MAX





(8)strtoul



原型:


unsigned long strtoul(const char *string, char **ptr, unsigned char base);



功能:


st rtoul


函数转换


string


为一 个


unsigned long


值。



参数:与


strtol


函数类似。



返回:


strtoul

< br>函数返回


string


生成的整数值。如溢出则返回


ULONG_MAX





(9)init_mempool




原型:


void inti_mempool(void xdata *p, unsigned int size);



功能:


init_mempool


函 数初始化存储管理程序,提供存储池的开始地址和大小。本函数必


须在任何其他的存储管 理函数


(calloc



free



malloc



realloc)


被调用前设置存储池,只在程序


的开头调用一 次。可以修改源程序以适合硬件环境。



参数:


p


参数指向一个


xdata


的 存储区,用


calloc



free< /p>



malloc



realloc


库函数管理。


size


参数指定存储池所用的字节数。



返回:无。




(10)malloc



原型:


void xdata *malloc(unsigned int size);



功能:


malloc


函数从存储池分配


size


字节的存储块。



返回:


malloc


返回一个指向所分配的存储块的指针,


如果没有足够的空间,


则返回一个


NULL

< p>
指针。




(11)free



原型:


void free(void xdata *p);



功能:


free

< p>
函数返回一个存储块到存储池。


p


参数指向用


calloc



malloc



realloc


函数分配


的存储块。一旦块返回到存储就可被再分配。如果


p


是一个


NULL


指针,被忽略。本程序的


源代码在


KEILC51LIB


目录中,可以修改源程序,根据硬件来定 制本程序。



参数:



返回:无。




(12)realloc



原型:


void xdata *realloc(void xdata *p,unsigned int size);



功能:


realloc


函数改变已分配的存储块的大小。本程 序的源代码在目录


KEILC5ILIB


中,可


以根据硬件环境定制本函数。



参数:


P


参数指向己分配块,


size


参数指定新块的大小。原块的内容复制到新块,新块中的


任何其他区,如果是一个更大 的块不初始化。



返回:


reallo c


返回一个指向新块的指针。如果存储池没有足够的存储区,返回一个

< br>NULL



针,存储块不受影响。




(13)calloc



原型:


void xdata *calloc(unsigned int num,unsigned int len);



功能:


calloc


函数从一个数组分配


num


个元素的存储区 。每个元素占用


len


字节,并清


0< /p>



字节总数为


num*len

< p>



LIB


目录提供程序 的源代码。


可以修改源程序,


为硬件定制本函数。



参数:


num


为元素数目 ,


len


为每个元素的长度。



返回:


calloc


函数返回一个指针,指向 分配的存储区,如果不能分配,则返回一个


NULL



针。




四、流输入输出





(1)_getkey



原型:


char _getkey(void);



功能:


_getkey


函数等待从串口接收字符。


_getkey< /p>



putchar


函数的源代码可以修改 ,提供


针对硬件的字符级的


I/O


。< /p>



返回:接收到的字符




(2)getchar




原型:


char getchar(void);



功能:


getchar


函数用


_getkey


函数从输入流读一个字符。所读的字符用


putchar


函数 显示。


本函数基于


_getkey


或< /p>


putchar


函数的操作。这些函数,在标准库中提供,用


8051


的串口读


和写字符。定制函数可以 用别的


I/O


设备。



返回:所读的字符。




(3)ungetchar



原型:


char ungetchar(char c);



功能:


ungetchar< /p>


函数把字符


c


放回到输入流。子程序被< /p>


getchar


和别的返回


c

< p>
的流输入函数


调用。


getchar


在调用时只能传递一个字符给


ungetehar




参数:



返 回:


如果成功,


ungetchar


函 数返回字符


c



如果调用者在读输入流 时调用


ungetchar


多次,


返回


EOF


表示一个错误条件。




(4)putchar



原型:


char putchr(char c);



功能:


putchar


函数用


8051


的串口输出字符


c


。本程序指定执行,功能可能有变。因提供了


_g etkey



putchar


函数的源 程序,可以根据任何硬件环境修改以提供字符级的


I/O




参数:



返回:


putchar


函数返回输出的字符


c





(5)printf



原型:


int printf(const char *fmtstr [,arguments]



);


< /p>


功能:


printf


函数格式化一系列的 字符串和数值,生成一个字符串用


putchar


写到输出流。


参数:


fmtstr


参数是一个格式化 字符串,可能是字符、转义系列和格式标识符。普通的字符


和转义系列按说明的顺序复制 到流。格式标识符通常以百分号


(%)


开头,要求在函数调用中


包含附加的参数


Arguments


。 格式字符串从左向右读。第一个格式标识符使用


fmtstr


后 的第


一个参数,


用格式标识符转换和输出。

第二个格式标识符访问


fmtstr


后的第二个参数。


如果


参数比格式标识符多,多出的参数被忽略。如果参数不够,结果 是不可预料的。格式标识符


用下面的格式:


%[flags][ width][.precision][{b|B|l|L}]type


格式标识符中 的每个域可以是一个


字符或数字


type


域是一个字符,指定参数是否解释为一个字符、字符串、数字或指针。如


下表所示:< /p>


可选的字符


b



B



l



L< /p>


可直接放在类型字符前,


分别指定整数类型


d



i



u



o



x



X



char< /p>



long


版本。


flags


域是单个字符,用来对齐、输出和打印


+/


-


号、空白、


小数点、八进制和十六进制的 前缀。如下表所示:


width


域是一个非负数字,指定显示 的最


小字符数。如果输出值的字符数小于


width

< p>
,空白会加到左边或右边


(


当指定了一个标记


)



达到最小的宽度。如果


width


用一个’


0


’作前 缀,则填充的是零而不是空白。


width


域不会


截短一个域。


如果输出值的长度超过指定宽度,


则输 出所有的字符。


width


域可能是星号


(*)



在这种情况下,参数列表的一个

int


参数提供宽度值。如果参数使用的是


unsigne d char


,在


星号标识符前指定一个’

b




precision


域是非负数字,指定显示的字符数、小数位数或有效


位。


precison


域可能使输出值切断或舍入。


pr ecision


域可能是星号


(*)


, 在这种情况,参数列


表的一个


int


参 数提供宽度值。


如果参数使用的是


unsigned char



在星号标识符前指定一个’

-


-


-


-


-


-


-


-



本文更新与2021-02-14 00:35,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/653630.html

(完整版)Keilc51常用库函数汇总参考的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文