C51函数库函数功能表

更新时间:2024-04-30 14:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一 、CTYPE.H

1、 extern bit isalpha (unsigned char);

检查参数字符是否为英文字符,是则返回1,否则返回0 2、 extern bit isalnum (unsigned char);

检查参数字符是否为字母或者数字字符,是则返回1,否则返回0 3、 extern bit iscntrl (unsigned char);

检查参数值是否在0x00~0x7F之间或者等于0x7F,是则返回1,否则返回0 4、extern bit isdigit (unsigned char);

检查参数值是否为数字字符,是则返回1,否则返回0 5、extern bit isgraph (unsigned char);

检查参数是否为可打印字符(0x21~0x7E),是则返回1,否则返回0 6、extern bit isprint (unsigned char);

检查参数是否为可打印字符,包括空格符,其余与isgraph相同 7、extern bit ispunct (unsigned char);

检查参数是否为标点、空格或者格式字符,是则返回1,否则返回0 8、extern bit islower (unsigned char);

检查参数是否为小写字母,是则返回1,否则返回0 9、extern bit isupper (unsigned char);

检查参数是否为大写字母,是则返回1,否则返回0 10、extern bit isspace (unsigned char);

检查参数是否为下列之一:空格、制表符、回车、换行、垂直制表符和送纸符号, 是则返回1,否则返回0

11、extern bit isxdigit (unsigned char);

检查参数是否为16进制数字字符,是则返回1,否则返回0 12、extern unsigned char tolower (unsigned char);

将大写字符转换成小写形式,如果字符不在(A~Z)之间,则直接返回该字符 13、extern unsigned char toupper (unsigned char);

将小写字符转换成大写形式,如果字符不在(a~z)之间,则直接返回该字符 14、extern unsigned char toint (unsigned char);

将ASCII字符0~9,A~F(不分大小写)转换成16进制的数字,返回转换后的16进制数字

二、STDIO.H

#ifndef EOF #define EOF -1 #endif

#ifndef NULL

#define NULL ((void *) 0) #endif

#ifndef _SIZE_T

#define _SIZE_T

typedef unsigned int size_t; #endif

1、extern char _getkey (void);

从单片机串口读入一个字符,然后等待字符输入 2、extern char getchar (void);

该函数使用_getkey()函数从串口读入字符,并将读入的字符马上给putchar()函数输出 3、extern char ungetchar (char);

将输入的字符回送输入缓冲区,成功返回char,否则返回EOF 4、extern char putchar (char);

通过单片机的串口输出字符,与_getkey()函数一样 5、extern int printf (const char *, ...);

以一定的格式通过单片机串行口输出数值和字符串,返回值为实际输出的字符数 6、extern int sprintf (char *, const char *, ...);

通过一个指针S将数据送人可寻址的内存缓冲区,并以ASCII码的形式存储 7、extern int vprintf (const char *, char *);

8、extern int vsprintf (char *, const char *, char *);

9、extern char *gets (char *, int n);

10、extern int scanf (const char *, ...);

11、extern int sscanf (char *, const char *, ...);

12、extern int puts (const char *);

三、string.h

1、extern char *strcat (char *s1, char *s2);

2、extern char *strncat (char *s1, char *s2, int n);

3、extern char strcmp (char *s1, char *s2);

4、extern char strncmp (char *s1, char *s2, int n);

5、extern char *strcpy (char *s1, char *s2);

6、extern char *strncpy (char *s1, char *s2, int n);

7、extern int strlen (char *);

8、extern char *strchr (const char *s, char c);

9、extern int strpos (const char *s, char c); 10、extern char *strrchr (const char *s, char c); 11、extern int strrpos (const char *s, char c);

12、extern int strspn (char *s, char *set); 13、extern int strcspn (char *s, char *set); 14、extern char *strpbrk (char *s, char *set); 15、extern char *strrpbrk (char *s, char *set); 16、extern char *strstr (char *s, char *sub);

17、extern char *strtok (char *str, const char *set);

18、extern char memcmp (void *s1, void *s2, int n); 19、extern void *memcpy (void *s1, void *s2, int n); 20、extern void *memchr (void *s, char val, int n);

21、extern void *memccpy (void *s1, void *s2, char val, int n);

22、extern void *memmove (void *s1, void *s2, int n);

23、extern void *memset (void *s, char val, int n);

四、stdlib.h

1、extern int abs (int val); 2、extern long labs (long val);

3、extern float atof (char *s1); 将字符串转换成浮点数 4、extern long atol (char *s1); 将字符串转换成长整型 5、extern int atoi (char *s1); 将字符串转换成整型 6、extern int rand (); 取一个0~32767之间的随机数 7、extern void srand (int); 根据种子seed的值取随机数

8、extern float strtod (char *, char **);

9、extern long strtol (char *, char **, unsigned char); 将字符串转换成长整数

10、extern unsigned long strtoul (char *, char **, unsigned char); 将字符串转换成无符号长整数 #define _MALLOC_MEM_ xdata

11、extern void init_mempool (void _MALLOC_MEM_ *p, unsigned int size); 初始化内存池

12、extern void _MALLOC_MEM_ *malloc (unsigned int size); 申请一块大小为size的内存

13、extern void free (void _MALLOC_MEM_ *p); 释放一块被申请的内存

14、extern void _MALLOC_MEM_ *realloc (void _MALLOC_MEM_ *p, unsigned int size); 重新申请一块大小为size的内存

15、extern void _MALLOC_MEM_ *calloc (unsigned int size, unsigned int len); 申请有size个元素的,每个元素的大小为len的数组

五、math.h

1、extern char cabs (char val); 计算并返回val的绝对值,为char型 2、extern int abs (int val); 计算并返回val的绝对值,为int型 3、extern long labs (long val); 计算并返回val的绝对值,为long型 4、extern float fabs (float val); 计算并返回val的绝对值,为float型 5、extern float sqrt (float val); 返回x的正平方根

6、extern float exp (float val); 计算e为底x的幂并返回计算结果 7、extern float log (float val); 返回自然对数

8、extern float log10 (float val); 返回以10为底的对数 9、extern float sin (float val); 10、extern float cos (float val); 11、extern float tan (float val);

以上3个函数返回相应的三角函数值,所有的变量范围在-π/2 ~ +π/2之间,否则会返回错误

12、extern float asin (float val); 13、extern float acos (float val); 14、extern float atan (float val);

返回相应的反三角函数值,值域为-π/2 ~ +π/2 15、extern float sinh (float val); 16、extern float cosh (float val); 17、extern float tanh (float val); 返回x的相应的双曲函数值

18、extern float atan2 (float y, float x); 返回x/y的反正切值,值域为-π ~ +π 19、extern float ceil (float val); 返回一个不小于val的最小整数(作为浮点数) 20、extern float floor (float val); 返回一个不大于val最大整数(作为浮点型) 21、extern float modf (float val, float *n); 将浮点数val分为整数和小数两部分,两者的符号与val相同,整数部分放入*n,小数部分作为返回值

22、extern float fmod (float x, float y); 返回x/y的余数

23、extern float pow (float x, float y); 返回x的y次方

六、absacc.h

以下4个宏定义,对单片机的进行绝对地址访问,可以作为字节寻址,CBYTE寻址code区,DBYTE寻址data区,PBYTE寻址分页xdata区,XBYTE寻址xdata区

1、#define CBYTE ((unsigned char volatile code *) 0) 2、#define DBYTE ((unsigned char volatile data *) 0) 3、#define PBYTE ((unsigned char volatile pdata *) 0) 4、#define XBYTE ((unsigned char volatile xdata *) 0)

以上4个宏定义与上面4个功能类似,只是数据类型是unsigned int型 5、#define CWORD ((unsigned int volatile code *) 0) 6、#define DWORD ((unsigned int volatile data *) 0) 7、#define PWORD ((unsigned int volatile pdata *) 0) 8、#define XWORD ((unsigned int volatile xdata *) 0)

七、intrins.h

1、extern void _nop_ (void); 空操作指令,需要一个指令周期 2、extern bit _testbit_ (bit); 该函数对字节中的一个比特进行测试,如果该比特为1则返回1,并置该位为0,否则返回0

3、extern unsigned char _cror_ (unsigned char, unsigned char); 4、extern unsigned int _iror_ (unsigned int, unsigned char); 5、extern unsigned long _lror_ (unsigned long, unsigned char); 将第一个参数循环右移n位,3个函数的参数和返回值类型不同 6、extern unsigned char _crol_ (unsigned char, unsigned char); 7、extern unsigned int _irol_ (unsigned int, unsigned char);

8、extern unsigned long _lrol_ (unsigned long, unsigned char); 将第一个参数循环左移n位,3个函数的不同在于参数和返回值的类型 9、extern unsigned char _chkfloat_(float);

10、extern void _push_ (unsigned char _sfr); 11、extern void _pop_ (unsigned char _sfr);

八、setjmp.h

typedef char jmp_buf[_JBLEN];

1、 extern volatile int setjmp (jmp_buf);

2、extern volatile void longjmp (jmp_buf, int);

8、extern unsigned long _lrol_ (unsigned long, unsigned char); 将第一个参数循环左移n位,3个函数的不同在于参数和返回值的类型 9、extern unsigned char _chkfloat_(float);

10、extern void _push_ (unsigned char _sfr); 11、extern void _pop_ (unsigned char _sfr);

八、setjmp.h

typedef char jmp_buf[_JBLEN];

1、 extern volatile int setjmp (jmp_buf);

2、extern volatile void longjmp (jmp_buf, int);

本文来源:https://www.bwwdw.com/article/s7ng.html

Top