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

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

QQ登錄

只需一步,快速開始

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

關(guān)于單片機(jī)驅(qū)動(dòng)數(shù)碼管特別暗的問題 求幫助

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
我用stc89c52 整了一個(gè)6位數(shù)碼管的 計(jì)數(shù)器
用的是usb的5v供電
數(shù)碼管的亮度非常的暗  我以為我程序的問題我就找人幫我又寫了一個(gè)還是特別暗
要怎么才能解決這個(gè)問題 需要提供啥
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:388197 發(fā)表于 2019-6-15 00:37 | 只看該作者
你數(shù)碼管共陰還是共陽?89系列IO口高電平時(shí)靠?jī)?nèi)上拉實(shí)現(xiàn)的,基本沒有帶負(fù)載能力.IO口直接驅(qū)動(dòng)的話最好用共陽的.或者外加擴(kuò)流原件.
回復(fù)

使用道具 舉報(bào)

板凳
ID:517466 發(fā)表于 2019-6-15 00:48 | 只看該作者
延長(zhǎng)每個(gè)數(shù)碼管的點(diǎn)亮持續(xù)時(shí)間,根據(jù)視覺暫留現(xiàn)象,每個(gè)數(shù)碼管的維持時(shí)間低于200ms的時(shí)候,在眼睛上很難成像。時(shí)間延長(zhǎng)太長(zhǎng)的話,對(duì)于掃描方式的,又會(huì)出現(xiàn)閃滅的情況,所以需要做調(diào)整,達(dá)到平衡。但無論怎么調(diào)整,也和靜態(tài)顯示的亮度有區(qū)別。
回復(fù)

使用道具 舉報(bào)

地板
ID:213173 發(fā)表于 2019-6-15 10:26 | 只看該作者
軟件都是基于硬件條件編寫的,樓主兩者都沒有提供,只講數(shù)碼管的亮度非常的暗,別人只能亂猜。
回復(fù)

使用道具 舉報(bào)

5#
ID:297516 發(fā)表于 2019-6-15 16:20 | 只看該作者
加個(gè)三極管把電流放大一點(diǎn)...是不是單片機(jī)IO驅(qū)動(dòng)不夠!!
回復(fù)

使用道具 舉報(bào)

6#
ID:563120 發(fā)表于 2019-6-15 18:23 | 只看該作者
你看看你的電阻是不是用大了
回復(fù)

使用道具 舉報(bào)

7#
ID:207421 發(fā)表于 2019-6-15 18:32 | 只看該作者
電路圖擺出來,代碼貼出來.
USB供電電流太小,換一個(gè)小電源吧
提問要說明白, 問題才容易解決
回復(fù)

使用道具 舉報(bào)

8#
ID:483407 發(fā)表于 2019-6-16 08:56 | 只看該作者
亮度低,就是電流小呀,想辦法提高電流
回復(fù)

使用道具 舉報(bào)

9#
ID:520816 發(fā)表于 2019-6-16 09:01 | 只看該作者




代碼我在家里了
這個(gè)是我自己用論壇里下載的改的
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int

sbit k1 = P1^0;                   //加
sbit k2 = P1^1;                   //減
sbit k3 = P1^2;                   //復(fù)位
void key(void);
void display(void);

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
                    0x92,0x82,0xf8,0x80,0x90};           //數(shù)組
                       
char b = 65,n = 43,m = 21;                                //顯示初值,m,n的值決定開機(jī)顯示數(shù)值
//****************************************
//延時(shí)程序
//****************************************
void delayms(uint xms)
{
   uint i,j;
   for(i=xms;i>0;i--)
   for(j=110;j>0;j--);
}
//***********************************************
//顯示程序
//***********************************************
void display(void)
{
    //        P2=0X20;                  //100000         
         //        P0=table[b%10];          
         //        delayms(5);
         //        P2=0X10;                  //10000         
         //        P0=table[b/10];          
         //        delayms(5);

//                P2=0X08;                  //1000
  //      P0=table[m%10];   //顯示位
        //        delayms(5);  
        //        P2=0X04;                   //100
          //  P0=table[m/10];          //顯示位
                //delayms(5);
                                                                              
//            P2=0X02;                  //10
//                P0=table[n%10];          //顯示位
//                delayms(5);
//                P2=0X01;                  //1
//                P0=table[n/10];          //顯示位
//                delayms(5);



                P2=0X20;                  
        P0=table[m%10];   //顯示萬位
                 delayms(5);  
               

                P2=0X10;                   
            P0=table[m/10];          //顯示萬位
                 delayms(5);
               
                                                                              
            P2=0X08;                  
                P0=table[n%10];          //顯示百位
                 delayms(5);
               
                                 
                P2=0X04;                 
                P0=table[n/10];          //顯示千位
                 delayms(5);
               

                P2=0X02;                  //10         
                 P0=table[b%10];          
                 delayms(5);
               

                 P2=0X01;                  //1         
                 P0=table[b/10];          
                 delayms(5);
               

}

//***************************************************
//按鍵處理
//***************************************************
void key()
{
  if(k1==0)                                         //檢測(cè)按鍵是否被按下
   {                                                 //延時(shí)消抖
           delayms(10);                         
        if(k1==0)                                 //再次檢測(cè)是否真正按下按鍵
        {
          m++;                                         //m自加一
          if(m>=100)                         //如果m加到100則n加一 (限制m的取值范圍) 個(gè)位、十位最大顯示99
          {
                  n++;                                 //n自加一
                m=0;                                 //使m又從0開始計(jì)數(shù)
                if(n>=100)                         //如果n加到100則m=n=99 (限制n的取值范圍) 百位、千位最大顯示99
                {
                  b++;
                  n=0;
                  if(b>=100)
                  {
                    m=99;                                 //最大顯示9999
                    n=99;
                  }
                }
          }
        }
        while(!k1);                                 //按鍵松開
   }

  if(k2==0)                                         //檢測(cè)按鍵是否被按下
   {                                                 //延時(shí)消抖
           delayms(10);                         //再次檢測(cè)是否真正按下按鍵
        if(k2==0)
        {                                                 //m自減一
          m--;
          if(m<=0)                                 //如果m減到0則n減一 (限制n的取值范圍) 個(gè)位、十位最小顯示00
          {                                                 
            m=99;                                 //重新給m裝初值
                  n--;                                 //n自減一
                if(n==-1)                         //如果n減到-1,則m=n=0 (限制n的取值范圍) 百位、千位最小顯示00
                {
                  b--;
                  if(n<=0)
                  {
                    n=0;                                 //最小顯示0000
                    m=0;
                  }
                }
          }
        }
        while(!k2);                                 //按鍵松開
   }

if(k3==0)                                         //檢測(cè)按鍵是否被按下
{
   delayms(10);                                 //延時(shí)消抖
   if(k3==0)                                 //再次檢測(cè)是否真正按下按鍵
   {
            m = 0;                                         //復(fù)位,顯示0000
         n = 0;
         b = 0;
   }
   while(!k3);                                 //按鍵松開
}
}

void main()
{
  while(1)
  {                                                         //調(diào)用按鍵檢測(cè)
   key();                                         //數(shù)碼管顯示
   display();
  }

}                                  

回復(fù)

使用道具 舉報(bào)

10#
ID:207421 發(fā)表于 2019-6-16 10:10 | 只看該作者
1. display();     后面要加延時(shí)
2. delayms(5); 合適不合適需要自己調(diào)整
3. 數(shù)碼管電路圖沒有, 如果沒有驅(qū)動(dòng)元件(三極管或驅(qū)動(dòng)芯片),本來就會(huì)暗。
回復(fù)

使用道具 舉報(bào)

11#
ID:483407 發(fā)表于 2019-6-16 10:21 | 只看該作者
數(shù)碼管怎么連接的,還是沒看出來!
回復(fù)

使用道具 舉報(bào)

12#
ID:483407 發(fā)表于 2019-6-16 11:07 | 只看該作者
沒有看到LED與電路是怎么連接的,這個(gè)也要發(fā)上來
回復(fù)

使用道具 舉報(bào)

13#
ID:213173 發(fā)表于 2019-6-16 11:59 | 只看該作者
口口麻椒 發(fā)表于 2019-6-16 09:01
代碼我在家里了
這個(gè)是我自己用論壇里下載的改的
#include

這種最小系統(tǒng)板接共陽數(shù)碼管需要為P2位驅(qū)動(dòng)加6個(gè)PNP管,位碼取反。P0接8個(gè)1K限流電阻。才能解決亮度低。
回復(fù)

使用道具 舉報(bào)

14#
ID:520816 發(fā)表于 2019-6-16 12:25 | 只看該作者
我自己用面包板連的沒有上拉電阻  但是有字 能用   暗


回復(fù)

使用道具 舉報(bào)

15#
ID:520816 發(fā)表于 2019-6-16 12:43 | 只看該作者
我那個(gè)電路只有這個(gè)視頻我要回家才能照相

回復(fù)

使用道具 舉報(bào)

16#
ID:56665 發(fā)表于 2019-6-16 17:18 | 只看該作者
數(shù)碼管亮度與驅(qū)動(dòng)有關(guān),與動(dòng)態(tài)掃描時(shí)間也有關(guān)。
回復(fù)

使用道具 舉報(bào)

17#
ID:123289 發(fā)表于 2019-6-17 15:17 | 只看該作者
1、要用超高亮的數(shù)碼管。
2、驅(qū)動(dòng)電流取大一點(diǎn),如40mA.
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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