欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 寫單片機LED流水燈和閃爍結合的程序出現的問題 [打印本頁]

作者: stayalone838    時間: 2022-11-28 17:27
標題: 寫單片機LED流水燈和閃爍結合的程序出現的問題

我寫的是郭天祥10天征服單片機的LED課后練習5,我現在遇到的兩個問題是,在流水燈結束后的閃爍那個循環里面,如果我把0xff(LED全滅)寫在前面再延時300ms之后寫0x00(LED全亮),LED會閃爍,但是LED非常暗;但是如果我把0x00(LED全亮),寫在前面再延時300ms之后寫0xff(LED全滅),LED就不閃爍了,會一直亮著,直到LED閃爍循環結束,這就相當于我閃爍部分白寫了......有沒有同樣寫過這個練習的,有遇到我這樣的問題嗎,感謝熱心大佬解答~

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

typedef char u8;
typedef int u16;

#define LED_PORT P2//宏定義整個LED端口

void delay(u16 x)//延時函數,當ten_us傳入1,大約延時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); // 延時大約0.2秒
          }
          for(i=0;i<8;i++)
          {
              LED_PORT=~(0x80>>i);//從LED8亮起,i每增加一次,移位一次
              delay(200);// 延時大約0.2秒
             }
          b++;//b自加1
          if(b%2==0)//上下循環兩次后進入此循環
          {                                    
                  for(i=0;i<5;i++)
                  {
                          LED_PORT=0xff;//LED全滅
                          delay(300);
                          LED_PORT=0x00;//LED全亮
                  }
          }
  }
}


作者: lkc8210    時間: 2022-11-28 17:59
  1.           if(b%2==0)//上下循環兩次后進入此循環
  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.           }
復制代碼

作者: stayalone838    時間: 2022-11-29 20:36
lkc8210 發表于 2022-11-28 17:59

原來是這樣,是我疏忽了,非常感謝你~




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