求助各位大大们。

2019-07-16 04:24发布

自己编了一个让一个LED小灯进行呼吸,先慢慢边亮,然后慢慢变暗。但是烧录完后小灯在渐变的同时在闪烁。 #include<reg52.h>sbit LED=P1^0;
void DelayUs2x(unsigned char t);
void DelayMs(unsigned char t);
void main(void)
{
unsigned int CYCLE=73,PWM_LOW=0;
while(1)
{
  LED=1;
  DelayMs(72);
  for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
  {
   LED=0;
   DelayMs(PWM_LOW);
   LED=1;
   DelayMs(CYCLE-PWM_LOW);
  }
  LED=0;
  for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
  {
   LED=0;
   DelayMs(PWM_LOW);
   LED=1;
   DelayMs(CYCLE-PWM_LOW);
  }
}
}
void DelayUs2x(unsigned char t)                    //12M的晶振,据说这样能差不多1ms。
{
while(--t);
}
void DelayMs(unsigned char t)
{
while(t--)
{
  DelayUs2x(245);
  DelayUs2x(245);
}
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。