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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

LED亮度不夠 附單片機程序

查看數: 1928 | 評論數: 6 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2022-11-27 17:26

正文摘要:

我想寫第5個練習。燒錄進去現象是對的,但是LED閃爍那部分非常暗,有時候寫其他程序的時候,也會出現LED很暗的情況,我現在知道的是肯定不是硬件的問題,但是我也找不出是什么問題,感覺好像是單片的特性一類的..... ...

回復

ID:1054240 發表于 2022-11-28 17:16
我換了一種寫法,可還是有問題,就是在LED閃爍那一部分,就是如果我把0xff寫在前面了,它能正常閃爍,但LED還是很暗;如果我把0x00寫在前面了,它就不閃爍了,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全亮
                  }
          }
  }
}


ID:1047841 發表于 2022-11-28 00:00
這個真的是 硬件的問題,跟51單片機的特性相關,因為單片機的io口驅動能力弱,即輸出電流1mA都不到,你如果要使LED的亮度高,必須接一個pnp三極管, 能極大的增強電流,在提供led 1.8~2.5v的電壓下,串一個220Ω的電阻,亮度就足夠量。
ID:384109 發表于 2022-11-27 23:41
要看電路圖,能亮不代表電路沒問題
ID:161164 發表于 2022-11-27 21:31
亮的時間不夠


ID:672792 發表于 2022-11-27 20:00
LED正極串聯一個1K電阻到電源正極,LED負極接單片機引腳

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表