注册 登录
编程论坛 单片机编程

请高人帮忙解释一下这个程序是怎么运行的 主函数那地方

guanshengmao 发布于 2012-10-27 10:12, 4150 次点击
#include<reg52.h>
sbit  fmq=P3^6;
void  delay1ms(unsigned int i)
{     unsigned char j;
  while(i--)
  {   
   for(j=0; j<125; j++)
      {
      
      ;
      
      }
   }
  
  
  
  }
void   delay500us()
 { unsigned char j;
  for (j=0;j<63;j++)
 
  {
  ;
  }
 
 }
 void  main()
 { unsigned  int  t;
    while(1)
    {
     
       for(t=0;t<1000;t++)
         { fmq=0;
           delay500us();
           fmq=1;
           delay500us();

     }
     fmq=1;
     delay1ms(1000);
     
          }
     
     }
 
 
 
 
 
2 回复
#2
张朗2012-12-14 13:13
首先从主函数进去一个死循环,在进行内部的循环和延时操作。
#3
于祥2012-12-14 23:44
#include<reg52.h>
sbit  fmq=P3^6;
void  delay1ms(unsigned int i)
{     unsigned char j;
  while(i--)
  {   
   for(j=0; j<125; j++)
      {
      
      ;
      
      }
   }
  
  
  
  }
void   delay500us()
{ unsigned char j;
  for (j=0;j<63;j++)

  {
  ;
  }

}
void  main()
{ unsigned  int  t;
    while(1)
    {
     
       for(t=0;t<1000;t++)
         { fmq=0;//关蜂鸣器
           delay500us();//延时500us
           fmq=1;//开蜂鸣器
           delay500us();//持续500us
//最后一直循环
     }
     fmq=1;
     delay1ms(1000);
     
          }
     
     }
1