C51常用库函数(2)

时间:12-04-22 栏目:单片机, 编程之美 作者:JH单片机 评论:2 点击: 8,822 次



接上一篇文章,这里介绍C5常用库函数的功能,而且比较简单的叙述,可能有重复。还是那句话,善于使用C库函数会使编程很方便,本着多学习的态度,自己写这些函数是好的,但是使用库函数会减轻你的劳动,并且会让你的主函数很清洁,看了很舒服。

(1)_chkfloat_:

函数定义:

unsigned char _chkfloat_ ( float val); /* number to check */

函数功能:

_chkfloat_函数检查浮点数 val 的类型。

返回值:

_chkfloat_函数返回浮点数 val 的类型。

返回值                 意义
0 标准浮点数
1 浮点0
2 +INF 正溢出
3 -INF 负溢出
4 NaN 非数

 

 

 

 

 

 

 

(2)_crol_:

函数定义:

unsigned char _crol_ ( unsigned char c, /* character to rotate left */

unsigned char b); /* bit positions to rotate */

函数功能:

_crol_函数将一个字节c循环左移b位。

返回值:

_crol函数返回将c循环左移b位后的值。

 

(3)_cror_:

函数定义:

unsigned char _cror_ ( unsigned char c, /* character to rotate right */

unsigned char b); /* bit positions to rotate */

函数功能:

_cror_函数将一个字节c循环右移b位。

返回值:

_cror_函数返回将c循环右移b位后的值。

 

(4)_getkey:

函数定义:

char _getkey (void);

函数功能:

等待接收串口的一个字节的数据。

返回值:

从串口接收到的字节。

 

(5)_irol_:

函数定义:

unsigned int _irol_ ( unsigned int i, /* integer to rotate left */

unsigned char b); /* bit positions to rotate */

函数功能:

对整型数i循环左移b位。

返回值:

i循环左移b位后的值。

 

(6)_iror_:

函数定义:

unsigned int _iror_ ( unsigned int i, /* integer to rotate right */

unsigned char b); /* bit positions to rotate */

函数功能:

对整型数i循环右移b位。

返回值:

i循环右移b位后的值。

 

(7)_lrol_:

函数定义:

unsigned long _lrol_ ( unsigned long i, /* 32-bit integer to rotate left */

unsigned char b); /* bit positions to rotate */

 

函数功能:

对长整型数i循环左移b位。

返回值:

i循环左移b位后的值。

 

(8)_lror_:

函数定义:

unsigned long _lror_ ( unsigned long i, /* 32-bit integer to rotate right */

unsigned char b); /* bit positions to rotate */

函数功能:

对长整型数i循环右移b位。

返回值:

i循环右移b位后的值。

 

(9)_nop_:

函数定义:

void _nop_ (void);

函数功能:

等同于汇编里的nop指令,用来实现一个机器周期的延时。

返回值:无

 

(10)_pop_:

函数定义:

void _pop_ ( unsigned char sfr); /* SFR to POP from the stack */

函数功能:

在代码中插入一个POP指令,将一个SFR推出

返回值:无

 

(11)_push_:

函数定义:

void _push_ ( unsigned char sfr); /* SFR to PUSH onto the stack */

函数功能:

在代码中插入一个PUSH指令,将一个SFR压入

返回值:无

 

 (12)_testbit_:

函数定义:

bit _testbit_ ( bit b); /* bit to test and clear */

函数功能:

测试位b是1还是0

返回值:同b

 

(13)_tolower:

函数定义:

int _tolower ( int c); /* character to convert */

函数功能:

将一个字符转换为相应的小写字符。

返回值:转换后的字符。

 

(14)_toupper:

函数定义:

int _toupper ( int c); /* character to convert */

函数功能:

将一个字符转换为相应的大写字符。

返回值:转换后的字符。

 

(15)abs:

函数定义:

int abs ( int val); /* number to take absolute value of */

函数功能:

取一个整型数的绝对值。

返回值:取绝对值后的值。

 

(16)acos:

函数定义:

float acos ( float x); /* number to calculate arc cosine of */

函数功能:

取一个值反余弦值。

返回值:取反余弦后的值。

 

(17)asin:

函数定义:

float asin ( float x); /* number to calculate arc sine of */

函数功能:

取一个值反正弦值。

返回值:取反正弦后的值。

 

(18)atan:

函数定义:

float atan ( float x); /* number to calculate arc tangent of */

函数功能:

取一个值反正切值。

返回值:取反正切后的值。

 

(19)atan2:

函数定义:

float atan2 ( float y, /* denominator for arc tangent */

float x); /* numerator for arc tangent */

函数功能:

取(x,y)确定的弧度的反正切值。

返回值:取(x,y)确定的弧度的反正切后的值。

 

(20)atof:

函数定义:

float atof ( char *string); /* string to convert */

函数功能:

把一个字符串转为浮点数。

返回值:转换后的浮点数。

 

(21)atoi:

函数定义:

int atoi( char *string); /* string to convert */

函数功能:

把一个字符串转为整型数。

返回值:转换后的整型数。

 

(22)atol:

函数定义:

long atol( char *string); /* string to convert */

函数功能:

把一个字符串转为长整型数。

返回值:转换后的长整型数。

 

(23)cabs:

函数定义:

char cabs ( char val); /* number to take absolute value of */

函数功能:

取一个char型值的绝对值。

返回值:取绝对值后的值。

 

(25)calloc:

函数定义:

void xdata *calloc ( unsigned int num, /* number of items */

unsigned int len); /* length of each item */

函数功能:

建立一个有num个元素的数组,每个元素有len个字节,并被初始化为0。数组长度为len*num个字节。

返回值:函数如果调用成功,返回一个指向数组首地址的指针,否则返回一个空指针。

 

(26)cos:

函数定义:

float cos ( float x); /* number to calculate cosine for */

函数功能:

取x的余弦值。

返回值:x的余弦值。

 

(27)cosh:

函数定义:

float cosh ( float x); /* value for hyperbolic cos function */

函数功能:

取x的hyperbolic cos 值。

返回值:x的hyperbolic cos值。

 

(28)exp:

函数定义:

float exp ( float x); /* power to use for ex function */

函数功能:

取x的自然指数值。

返回值:x的自然指数值。

 

(29)fabs:

函数定义:

float fabs ( float val); /* number to take absolute value of */

函数功能:

取浮点val的绝对值。

返回值:浮点val的绝对值。

 

(30)floor:

函数定义:

float floor ( float val); /* number to calculate floor for */

函数功能:

取比val小的最大的整数。

返回值:比val小的最大的整数。

 

 (31)fmod:

函数定义:

float fmod ( float x, /* value to calculate modulo for */ float y); /* integer portion of modulo */

函数功能:

对x取y的模。

 

(32)free:

函数定义:

void free ( void xdata *p); /* block to free */

函数功能:

用来释放先前由calloc、malloc或realloc开辟的内存空间。

返回值:无。

 

 (33)getchar:

函数定义:

char getchar (void);

函数功能:

从串口读取一个字符。

返回值:从串口读到字符。

 

(34)gets:

函数定义:

char *gets ( char *string, /* string to read */ int len); /* max characters to read */

函数功能:

从串口读取一行字符串,len为能够读取的最大字节数。

返回值:从串口读到的字符串的指针。

 

(35)init_mempool:

函数定义:

void init_mempool ( void xdata *p, /* start of memory pool */

unsigned int size); /* length of memory pool */

函数功能:

用来初始化一个内容池,用calloc、free、malloc与realloc来进行管理。

返回值:无。

 

(36)isalnum:

函数定义:

bit isalnum ( char c); /* character to test */

函数功能:

用来测试c是否是一个英文或数码字符('A'-'Z', 'a'-'z', or '0'-'9')。

返回值:如果c是一个英文或数码字符则返回1,否则为0。

 

(37)isalpha:

函数定义:

bit isalpha ( char c); /* character to test */

函数功能:

用来测试c是否是一个英文字符('A'-'Z', 'a'-'z')。

返回值:如果c是一个英文字符则返回1,否则为0。

 

 
关于本文作者

爱数电,爱模电;爱单片机,爱嵌入式;爱EDA,也爱DSP; 爱Altium Designer,也爱PCB;爱生活,同时也爱微博…… 一个自动化专业的学生,与志同道合者学习交流!!!

QQ 号码:594420349
腾讯微博:http://t.qq.com/kevin_753

项目合作