標(biāo)題: 寫(xiě)單片機(jī)LED流水燈和閃爍結(jié)合的程序出現(xiàn)的問(wèn)題 [打印本頁(yè)]

作者: stayalone838    時(shí)間: 2022-11-28 17:27
標(biāo)題: 寫(xiě)單片機(jī)LED流水燈和閃爍結(jié)合的程序出現(xiàn)的問(wèn)題

我寫(xiě)的是郭天祥10天征服單片機(jī)的LED課后練習(xí)5,我現(xiàn)在遇到的兩個(gè)問(wèn)題是,在流水燈結(jié)束后的閃爍那個(gè)循環(huán)里面,如果我把0xff(LED全滅)寫(xiě)在前面再延時(shí)300ms之后寫(xiě)0x00(LED全亮),LED會(huì)閃爍,但是LED非常暗;但是如果我把0x00(LED全亮),寫(xiě)在前面再延時(shí)300ms之后寫(xiě)0xff(LED全滅),LED就不閃爍了,會(huì)一直亮著,直到LED閃爍循環(huán)結(jié)束,這就相當(dāng)于我閃爍部分白寫(xiě)了......有沒(méi)有同樣寫(xiě)過(guò)這個(gè)練習(xí)的,有遇到我這樣的問(wèn)題嗎,感謝熱心大佬解答~

以下為代碼:
#include <REGX51.H>

typedef char u8;
typedef int u16;

#define LED_PORT P2//宏定義整個(gè)LED端口

void delay(u16 x)//延時(shí)函數(shù),當(dāng)ten_us傳入1,大約延時(shí)10us
{
        u16 y,z;
        for(y=0;y<x;y++)
                for(z=0;z<115;z++);
}

main()
{  
  u8 i=0,b=0;//定義變量i和b
  while(1)
  {
          for(i=0;i<8;i++)                                         
          {
              LED_PORT=~(0x01<<i);//從LED1亮起,i每增加一次,移位一次
              delay(200); // 延時(shí)大約0.2秒
          }
          for(i=0;i<8;i++)
          {
              LED_PORT=~(0x80>>i);//從LED8亮起,i每增加一次,移位一次
              delay(200);// 延時(shí)大約0.2秒
             }
          b++;//b自加1
          if(b%2==0)//上下循環(huán)兩次后進(jìn)入此循環(huán)
          {                                    
                  for(i=0;i<5;i++)
                  {
                          LED_PORT=0xff;//LED全滅
                          delay(300);
                          LED_PORT=0x00;//LED全亮
                  }
          }
  }
}


作者: lkc8210    時(shí)間: 2022-11-28 17:59
  1.           if(b%2==0)//上下循環(huán)兩次后進(jìn)入此循環(huán)
  2.           {                                    
  3.                   for(i=0;i<5;i++)
  4.                   {
  5.                           LED_PORT=0xff;//LED全滅
  6.                           delay(300);
  7.                           LED_PORT=0x00;//LED全亮
  8.                           delay(300);//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  9.                   }
  10.           }
復(fù)制代碼

作者: stayalone838    時(shí)間: 2022-11-29 20:36
lkc8210 發(fā)表于 2022-11-28 17:59

原來(lái)是這樣,是我疏忽了,非常感謝你~




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