上节中这个函数被用到了2次,可以定义它为一个不带参数的函数,而第二次使用就直接调用这个函数就好了。
for(i=1000;i>0;i--)
for (j=110;j>0;j--);
定义为这样的:
void delay1s() /*它不返回任何值;然后这个函数名字是自己随便取得,好记就行了*/
{
for(i=1000;i>0;i--)
for (j=110;j>0;j--);
}
题目:让二极管第一个灯按照500ms间隔来进行闪灭
#include<reg52.h>
#define uint unsigned int
void delay1s() //主函数之前定义子函数,不需要提前声明,如果在主函数之后定义子函数,子需要在前面先声明这个子函数,如:void delay1s() ;----这样声明。
{
uint i,j; //定义在子函数内的变量叫局部变量,定义在主函数外的叫全局变量。全局变量占单片机固定RAM,局部变量需要时随时分配,因此有一个原则——能节省RAM空间就要节省,能用局部变量就不用全局变量。
for(i=1000;i>0;i--)
for (j=110;j>0;j--);
}
void main() //主函数
{
while(1) //大循环,这个亮灭动作一直进行,如果没有这个循环,我认为就执行一次了。
{
P1=0x7f;
delay1s(); //调用这个无参数的子函数
P1=0xff;
delay1s();
}
}