找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1484|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

LED亮度不夠 附單片機(jī)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
我想寫第5個(gè)練習(xí)。燒錄進(jìn)去現(xiàn)象是對(duì)的,但是LED閃爍那部分非常暗,有時(shí)候?qū)懫渌绦虻臅r(shí)候,也會(huì)出現(xiàn)LED很暗的情況,我現(xiàn)在知道的是肯定不是硬件的問題,但是我也找不出是什么問題,感覺好像是單片的特性一類的......求大神指點(diǎn)一下。


單片機(jī)源程序如下:
#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大約延時(shí)1ms
{
         u16 y,z;
        for(y=x;y>0;y--)
                for(z=115;z>0;z--);
}

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:672792 發(fā)表于 2022-11-27 20:00 | 只看該作者
LED正極串聯(lián)一個(gè)1K電阻到電源正極,LED負(fù)極接單片機(jī)引腳
回復(fù)

使用道具 舉報(bào)

板凳
ID:161164 發(fā)表于 2022-11-27 21:31 | 只看該作者
亮的時(shí)間不夠


回復(fù)

使用道具 舉報(bào)

地板
ID:384109 發(fā)表于 2022-11-27 23:41 | 只看該作者
要看電路圖,能亮不代表電路沒問題
回復(fù)

使用道具 舉報(bào)

5#
ID:1047841 發(fā)表于 2022-11-28 00:00 | 只看該作者
這個(gè)真的是 硬件的問題,跟51單片機(jī)的特性相關(guān),因?yàn)閱纹瑱C(jī)的io口驅(qū)動(dòng)能力弱,即輸出電流1mA都不到,你如果要使LED的亮度高,必須接一個(gè)pnp三極管, 能極大的增強(qiáng)電流,在提供led 1.8~2.5v的電壓下,串一個(gè)220Ω的電阻,亮度就足夠量。
回復(fù)

使用道具 舉報(bào)

6#
ID:1054240 發(fā)表于 2022-11-28 16:24 | 只看該作者

現(xiàn)在又出現(xiàn)了一個(gè)問題,就是如果我吧0xff放在前面,它會(huì)閃爍,但是LED還是很暗,如果我把~0xff放前面,它就不會(huì)閃爍了,但是LED很亮,直到循環(huán)結(jié)束它才熄滅,可我寫的閃爍它根本不執(zhí)行。
回復(fù)

使用道具 舉報(bào)

7#
ID:1054240 發(fā)表于 2022-11-28 17:16 | 只看該作者
我換了一種寫法,可還是有問題,就是在LED閃爍那一部分,就是如果我把0xff寫在前面了,它能正常閃爍,但LED還是很暗;如果我把0x00寫在前面了,它就不閃爍了,LED也很亮,完成循環(huán)才熄滅,相當(dāng)于我寫的閃爍部分根本沒有執(zhí)行。
以下是代碼:

#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全亮
                  }
          }
  }
}


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表