资源简介 (共18张PPT)3.5 C51函数《单片机基础与应用(C语言版)》高等教育出版社C51语言遵循ANSI C的风格,也采用函数作为子程序模块,将程序设计中普通用到的一些计算或操作编成通用的函数,随时可以调用。3.5.1 C51库函数C51的库函数寄存器库函数 REGXXX.H一般输入/输出函数 STDIO.H内部函数 INTRINS.H字符函数 CTYPE.H字符串函数 STRING.H数学函数 MATH.H标准函数 STDLIB.H绝对地址访问函数 ABSACC.H定义了51单片机的所有SFR和相应的位C51的库函数寄存器库函数 REGXXX.H一般输入/输出函数 STDIO.H内部函数 INTRINS.H字符函数 CTYPE.H字符串函数 STRING.H数学函数 MATH.H标准函数 STDLIB.H绝对地址访问函数 ABSACC.H操作51单片机的串口C51的库函数寄存器库函数 REGXXX.H一般输入/输出函数 STDIO.H内部函数 INTRINS.H字符函数 CTYPE.H字符串函数 STRING.H数学函数 MATH.H标准函数 STDLIB.H绝对地址访问函数 ABSACC.H51单片机的空操作、变量的左移/右移函数 功能atoi 将字符串sl转换成整型数值并返回这个值atol 将字符串sl转换成长整型数值并返回这个值atof 将字符串sl转换成浮点数值并返回这个值strtod 将字符串s转换成浮点型数据并返回这个值strtol 将字符串s转换成long型数值并返回这个值strtoul 将字符串s转换成unsigned long型数值并返回这个值rand 返回一个0到32767之间的伪随机数srand 初始化随机数发生器的随机种子calloc 为n个元素的数组分配内存空间free 释放前面已分配的内存空间init_mempool 对前面申请的内存进行初始化malloc 在内存中分配指定大小的存储空间realloc 调整先前分配的存储器区域大小常用标准函数内部函数库函数 功能_crol_ 将字符型数据按照二进制循环左移n位_irol_ 将整型数据按照二进制循环左移n位_lrol_ 将长整型数据按照二进制循环左移n位_cror_ 将字符型数据按照二进制循环右移n位_iror_ 将整型数据按照二进制循环右移n位_lror_ 将长整型数据按照二进制循环右移n位_nop_ 使单片机程序产生延时_testbit_ 对字节中的一位进行测试库函数的调用#include //包含寄存器库函数头文件,调用51单片机SFR#include //包含内部函数库头文件,调用左移、右移函数void delay(unsigned int i) //定义延时函数{ unsigned int k;for (k=0;k}void main() //主函数{ P1 = 0x7F; //调用P1端口寄存器变量while(1) //无限循环{P1 = _cror_(P1,1); //调用左移函数,将P1的二进制数值循环左移一位delay(5000); //延时}}使用函数时必须先声明再使用使用库函数时,必须在源程序的开始处使用预处理命令#include将相应的头文件包含进来3.5.2 用户自定义函数函数类型 函数名 (形式参数列表){局部变量声明;函数体语句;return语句;}函数返回值的类型返回函数的返回值用户自定义函数//求三个整数的最大值int max (int a,int b,int c){int z;if(a>b) z =a;else z=b;if(c>z) z=c;return z;}函数类型函数名形式参数列表return(z);函数体void 函数名 (形式参数列表){局部变量声明;函数体语句;return语句;}函数类型是空类型,没有返回值。函数类型 函数名 (void){局部变量声明;函数体语句;return语句;}没有形式参数。void 函数名 (void){局部变量声明;函数体语句;}函数类型是空类型,没有返回值。没有形式参数。信号灯闪烁控制C语言程序感谢您的观看Thanks for your attention. 展开更多...... 收起↑ 资源预览