微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > LED闪烁教程里delay语句

LED闪烁教程里delay语句

时间:10-02 整理:3721RD 点击:
#include "reg52.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit led=P0^0;
void delay(u16 i)
{
   while(i--);
}
void main()
{
  while(1)
   {
           led=1;
         delay(50000);
         led=0;
         delay(50000);
   }
}
这里的
void delay(u16 i)
{
   while(i--);
}
是代表什么意思,他放在主函数前是否有特别含义,i在这条语句里没有赋值,那他代表什么,教程里一带而过,初学者根本不知道所以然。

c51里0是假  非0是真   i的值是你传递过来的是
while循环就是在不断执行i--判断i值是否为0 是0则退出while循环

c语言先声明再使用   放前面相当于声明过了

这个简单啊,明日我来答复你!

delay是延时函数

就是说主函数里面delay(50000)里的50000就是i的值,50000执行完(i - -)后跳到下一条语句这样吗。
或者说在主函数前的
void delay(u16 i)
{
   while(i--);
}
是定义delay语句的用法,到主函数里有出现delay语句时就执行这个用法(即i--这个循环),是这个意思吗?

程序中delay()括号中的数就是I 在定义时 unsigned int U16是他的函数名称,所以在程序中做减法50000一直自减到0,跳出循环,这个延时就结束了,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top