第七讲延时子函数_第1页
第七讲延时子函数_第2页
第七讲延时子函数_第3页
第七讲延时子函数_第4页
第七讲延时子函数_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,延时子函数,.,引入:通过前几次课的学习,我们已经知道了控制LED闪烁程序设计,同时,也能对闪烁的快慢进行适当的调节。但,如果需要较为准确的延时,程序应该怎么编写呢?能不能将这一部分模块化,直接调用?,.,子函数的编写与调用,利用for语句实现延时,.,一、利用for语句实现延时(重难点),1、延时程序(空转)for(a=1000;a0;a-)for(b=125;b0;b-),“for(b=125;b0;b-)”将会被执行1000*125=125000次,所需时间约等于1000ms,即1s。我们可以在b不变的情况下,改变a的值,得到需要的时间2s=2000*125(a=2000)0.5s=500*125(a=500),会被执行多少次?,.,for(a=1000;a0;a-)for(b=125;b0;b-),*此处变量a,b,x需提前给出数据类型;注意这两条语句名尾的标点符号红色框内即为延时模块,延时时间由x决定。当x=1000,延时1s,x=500时,延时0.5s。,for(a=1000;a0;a-)for(b=125;b0;b-);,for(a=1000;a0;a-)for(b=125;b0;b-);,2、程序化简:,for(a=x;a0;a-)for(b=125;b0;b-);,.,二、子函数,1、作用:将部分程序段模块化,防止重复编写,使用时直接调用。如不使用子函数并不一定影响程序执行,但整个主函数将非常臃肿。比如:,voidmain()while(1)P1=0 x00;for(a=1000;a0;a-)for(b=125;b0;b-);P1=0 xff;for(a=1000;a0;a-)for(b=125;b0;b-);,重复书写!,.,2、子函数的基本结构void名称(定义变量)/无变量时为空/程序语句;,voidyanshi(uintx)uinta,b;for(a=x;a0;a-)for(b=125;b0;b-);,.,3、子函数的调用格式:子函数名称(常量/变量);,yanshi(1000);,for(a=1000;a0;a-)for(b=125;b0;b-);,m=1000;yanshi(m);,for(a=1000;a0;a-)for(b=125;b0;b-);,等同于执行,等同于执行,延时1s,延时1s,.,4、子函数使用规则1)不是每个C语言程序都必须要有子函数。2)子函数必须预先声明。格式为:void子函数名(数据类型);3)子函数不能自动运行,必须被调用后才能被执行。4)主函数可以调用子函数,子函数也可以调用子函数,但子函数不能调用主函数。5)子函数通常取易记不与系统冲突的名字。要注意区分大小写。,.,三、八只LED闪烁完整程序,#include/导入头文件/#defineuintunsignedint/宏定义/voidyanshi(uint);/声明子函数/voidmain()while(1)P1=0 x00;yanshi(1000);/灯亮1s/P1=0 xff;yanshi(1000);/灯灭1s/voidyanshi(uintx)uinti,j;for(i=x;i0;i-)for(j=125;j0;j-);,包含,调用,完成亮灭交替,完成延时,预备工作,P1=P1;yanshi(1000);,.,我们已经学习了灯的闪烁及时间的准确设置,如果希望八只LED从左往右或从右往左轮流点亮(逐一点亮),程序应该怎么写呢?,.,1、如果让接在P1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论