久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: LED亮度不夠 附單片機程序 [打印本頁]

作者: stayalone838    時間: 2022-11-27 17:26
標題: LED亮度不夠 附單片機程序
我想寫第5個練習。燒錄進去現象是對的,但是LED閃爍那部分非常暗,有時候寫其他程序的時候,也會出現LED很暗的情況,我現在知道的是肯定不是硬件的問題,但是我也找不出是什么問題,感覺好像是單片的特性一類的......求大神指點一下。


單片機源程序如下:
#include <REGX52.H>
#include <intrins.h>

typedef unsigned char u8;
typedef unsigned int u16;

sbit BEEP=P2^5;

#define LED_PORT P2

void delay(u16 x)//x傳入1大約延時1ms
{
         u16 y,z;
        for(y=x;y>0;y--)
                for(z=115;z>0;z--);
}

void main()
{
        u8 i=0;
         while(1)//死循環
        {        
                static b;
                for(i=0;i<4;i++)//大循環上下流動兩次
                {
                        for(i=0;i<8;i++)//內層循環流水燈
                        {        
                                if(b%2==0)//第一次先從低位到高位
                                {
                                        LED_PORT=_crol_(0xfe,i);//左移
                                }
                                else if(b%2==1)//由于b自加為奇數,執行從高位到低位
                                {
                                LED_PORT=_cror_(0x7f,i);//右移
                                }
                                delay(200);
                                 LED_PORT=0xff;        
                        }
                                b++;//每完成一次內循環自加1
                                if(b==4)
                                {
                                        for(i=0;i<5;i++)//最后一個循環,全部LED閃爍5次
                                        {
                                           LED_PORT=0xff;
                                           delay(500);
                                           LED_PORT=~0xff;
                                        }
                               }                        
                 }                                                                        
        }
}


作者: 愛電子998    時間: 2022-11-27 20:00
LED正極串聯一個1K電阻到電源正極,LED負極接單片機引腳
作者: lkc8210    時間: 2022-11-27 21:31
亮的時間不夠



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

現在又出現了一個問題,就是如果我吧0xff放在前面,它會閃爍,但是LED還是很暗,如果我把~0xff放前面,它就不會閃爍了,但是LED很亮,直到循環結束它才熄滅,可我寫的閃爍它根本不執行。

作者: stayalone838    時間: 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全亮
                  }
          }
  }
}







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产亚洲欧美在线视频 | 97caoporn国产免费人人 | 亚洲国产二区 | 欧美亚洲高清 | 久久99精品视频 | 超碰av在线 | 成人性视频免费网站 | 亚洲a级| 国产亚洲一区二区在线观看 | 免费观看黄 | 国产一区二区观看 | 久久九九99 | 999精品在线观看 | 久久久蜜桃一区二区人 | 亚洲国产成人精品女人久久久野战 | 亚洲欧美综合精品另类天天更新 | 欧美一区二区免费 | 91免费小视频 | 精品国产第一区二区三区 | 91久久精品一区二区二区 | 视频在线一区 | 精品久久视频 | 亚洲精品一区二区在线观看 | 国产日韩欧美在线观看 | 成年人的视频免费观看 | 一区二区三区不卡视频 | 成人国产在线观看 | 日韩一级免费观看 | 欧美黄色一区 | 亚洲视频在线看 | 蜜月va乱码一区二区三区 | 免费在线观看黄视频 | 国产精品18hdxxxⅹ在线 | 日韩在线看片 | 伊人久久在线 | 国产精品久久久久久吹潮 | 欧洲在线视频 | 黄色免费av | 水蜜桃久久夜色精品一区 | 国产 日韩 欧美 制服 另类 | 国产一区在线免费 |