標(biāo)題: 單片機流水燈結(jié)束呼吸燈程序,用了3個延時,報錯 應(yīng)該怎么修改 [打印本頁]

作者: 1322804412    時間: 2022-12-31 20:43
標(biāo)題: 單片機流水燈結(jié)束呼吸燈程序,用了3個延時,報錯 應(yīng)該怎么修改
單片機源程序如下:
#include <REGX52.H>
sbit  BEEP=P3^6;
sbit LED=P1^1;
sbit LED1=P1^3;
sbit LED2=P1^5;
sbit LED3=P1^7;
void Delay(unsigned int t)
{
    while(t--);
}
void delay(unsigned int ms)

{

unsigned int m,j;

for(m=0;m<ms;m++)

for(j=0;j<120;j++);

}

void main()
{                 

    unsigned char Time,i;

  delay(500);
  P1=0xfe;
  delay(500);
  P1=0xfc;
  delay(500);
  P1=0xf8;
  delay(500);
  P1=0xf0;
  delay(500);
  P1=0xe0;
  delay(500);
  P1=0xc0;
  delay(500);
  P1=0x80;
  delay(500);
  P1=0x00;
  P1=0x7f;
  delay(500);
  P1=0x3f;
  delay(500);
  P1=0x1f;
  delay(500);
  P1=0x0f;
  delay(500);
  P1=0x07;
  delay(500);
  P1=0x03;
  delay(500);
  P1=0x01;
  delay(500);
  P1=0x00;
  delay(500);
  P1=0xff;



  while(1)
    {

        for(Time=0;Time<50;Time++)        //改變亮滅時間,由暗到亮
        {
            for(i=0;i<10;i++)            //計次延時
            {
                LED=0;                    //LED亮
                Delay(Time);            //延時Time
                LED=1;                    //LED滅
                Delay(50-Time);        //延時100-Time
                   }
                   for(i=0;i<10;i++)
                   {
                           
                LED1=0;                    //LED亮
                Delay(Time);            //延時Time
                LED1=1;                    //LED滅
                Delay(50-Time);        //延時100-Time
                   }
                        for(i=0;i<10;i++)
                        {
                                LED2=0;                    //LED亮
                Delay(Time);            //延時Time
                LED2=1;                    //LED滅
                Delay(50-Time);        //延時100-Time
                        }        
                          for(i=0;i<10;i++)
                          {
                           LED3=0;                    //LED亮
                Delay(Time);            //延時Time
                LED3=1;                    //LED滅
                Delay(50-Time);        //延時100-Time
                          }
                                
            }
        }
        for(Time=50;Time>0;Time--)        //改變亮滅時間,由亮到暗
        {
            for(i=0;i<10;i++)            //計次延時
            {

                                LED=0;                    //LED亮
                Delay(Time);            //延時Time
                LED=1;                    //LED滅
                Delay(50-Time);        //延時100-Time
                   }
                   for(i=0;i<10;i++)
                   {
                                           LED1=0;                    //LED亮
                Delay(Time);            //延時Time
                LED1=1;                    //LED滅
                Delay(50-Time);        //延時100-Time
                   }
                        
                   for(i=0;i<10;i++)
                   {
                                            LED2=0;                    //LED亮
                Delay(Time);            //延時Time
                LED2=1;                    //LED滅
                Delay(50-Time);        //延時100-Time
                   }
                        
                         for(i=0;i<10;i++)
                         {
                                          LED3=0;                    //LED亮
                Delay(Time);            //延時Time
                LED3=1;                    //LED滅
                Delay(50-Time);        //延時100-Time
                         }
                        
            }
        }

作者: 2(┯_┯)    時間: 2022-12-31 21:18
在延時子函數(shù)void前加上static
作者: lkc8210    時間: 2022-12-31 22:31
報了啥錯?
作者: wpppmlah    時間: 2022-12-31 22:55
void Delay(unsigned int t)
void delay(unsigned int ms)

不要用相同的,雖然首字母大小寫不同!!!!!





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1