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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6665|回復: 14
打印 上一主題 下一主題
收起左側

單片機數(shù)碼管亮度如何調整?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:882573 發(fā)表于 2021-8-26 13:57 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
10黑幣
新手請教下各位大神,原理圖如圖所示,我的程序數(shù)碼管亮度很暗,同樣的程序開發(fā)板亮度可以,為什么在自己做的板子上亮度會很暗呢,有什么解決辦法啊


單片機源程序如下:
char smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint x)
{
   while(x--);
   }
void Digplay()
{        
uchar x,sec,min,sum;
         delay(10000);
         sum++;
         if(sum==50)
         {
            sec++;
                sum=0;
        }
         if(sec==60)
         {
            sec=0;
                min++;
         }
         if(min==60)
         min=0;

        for(x=0;x<4;x++)
        {
           switch(x)
           {
              case 0:COM0=1;COM1=0;COM2=0;COM3=0;P0=smgduan[sec%10];break;
                  case 1:COM0=0;COM1=1;COM2=0;COM3=0;P0=smgduan[sec/10];break;
                  case 2:COM0=0;COM1=0;COM2=1;COM3=0;P0=smgduan[min%10];break;
                  case 3:COM0=0;COM1=0;COM2=0;COM3=1;P0=smgduan[min/10];break;
        
                default:break;
               
                }
        //        delay(100);
                //P0=smgduan[x];
                delay(3000);
                P0=0x00;
        }
}

最佳答案

查看完整內容

如果程序沒有什么別的事要做,直接用延時就行,如果是初學者,沒有必要把程序搞得太麻煩,等到你學會了,這種Delay()基本就可以不用在主函數(shù)中了輸出端口要設定成強推挽輸出,幾個三極管是沒有必要的,實際電路用20mA的驅動電流是完全足夠的 這個是我的,參考一下,實際驗證通過的 #include sbit com0=P2^0; sbit com1=P2^1; sbit com2=P2^2; sbit com3=P2^3; //定義4個com端口 #define out P0 //p0 為顯示 sfr P0M0=0x94; sfr P0 ...
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:401564 發(fā)表于 2021-8-26 13:57 | 只看該作者
如果程序沒有什么別的事要做,直接用延時就行,如果是初學者,沒有必要把程序搞得太麻煩,等到你學會了,這種Delay()基本就可以不用在主函數(shù)中了輸出端口要設定成強推挽輸出,幾個三極管是沒有必要的,實際電路用20mA的驅動電流是完全足夠的
這個是我的,參考一下,實際驗證通過的
#include<REG52.h>
sbit com0=P2^0;
sbit com1=P2^1;
sbit com2=P2^2;
sbit com3=P2^3; //定義4個com端口
#define         out P0        //p0 為顯示
sfr P0M0=0x94;
sfr P0M1=0x93;
void delay(unsigned char i)
{
unsigned int k;
        for(i;i>0;i--)
        {
                 for(k=0;k<600;k++);
        }
}
unsigned char ledtab[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};//
void main()
{
        P0M0=0xff;
        P0M1=0x00;                         //設定P0端口為強推挽輸出模式
        while(1)
        {
         unsigned char k;       
                while(1)
                {          
                         k=0;
                        out=ledtab[k];
                        com0=0;
                        delay(10);
                        com0=1;
                        k++;
                        out=ledtab[k];
                        com1=0;
                        delay(10);
                        com1=1;
                        k++;
                        out=ledtab[k];
                        com2=0;
                        delay(10);
                        com2=1;
                        k++;
                        out=ledtab[k];
                        com3=0;
                        delay(10);
                        com3=1;
                }
        }

}

回復

使用道具 舉報

板凳
ID:460753 發(fā)表于 2021-8-26 16:43 | 只看該作者
1.硬件可以調整R16-R23 1K的幾個電阻,阻值調小。
回復

使用道具 舉報

地板
ID:460753 發(fā)表于 2021-8-26 16:44 | 只看該作者
2.軟件的掃描時間適當修改。
回復

使用道具 舉報

5#
ID:882573 發(fā)表于 2021-8-26 17:00 | 只看該作者
ucmic 發(fā)表于 2021-8-26 16:44
2.軟件的掃描時間適當修改。

往小了調,會更暗,往大了調,就閃爍了,這個值是相對理想的一個值了
回復

使用道具 舉報

6#
ID:161164 發(fā)表于 2021-8-26 17:42 | 只看該作者
源程序?main()函數(shù)都沒有

不要用delay()來延時,如:
  1. void Digplay()
  2. {
  3.     uchar x,sec,min,sum;
  4.     if(!delay_time)
  5.     {   delay_time=909;
  6.         sum++;
  7.         if(sum==50)
  8.         {P37 = !P37;
  9.             sec++;
  10.             sum=0;
  11.         }
  12.         if(sec==60)
  13.         {
  14.             sec=0;
  15.             min++;
  16.         }
  17.         if(min==60)
  18.             min=0;

  19.     } else {
  20.         delay_time--;
  21.     }
  22.     if(!delay_Digitube)
  23.     {   delay_Digitube=500;
  24.         P0=0x00;
  25.         switch(x)
  26.         {
  27.         case 0:
  28.             COM0=1;
  29.             COM1=0;
  30.             COM2=0;
  31.             COM3=0;
  32.             P0=smgduan[sec%10];
  33.             break;
  34.         case 1:
  35.             COM0=0;
  36.             COM1=1;
  37.             COM2=0;
  38.             COM3=0;
  39.             P0=smgduan[sec/10];
  40.             break;
  41.         case 2:
  42.             COM0=0;
  43.             COM1=0;
  44.             COM2=1;
  45.             COM3=0;
  46.             P0=smgduan[min%10];
  47.             break;
  48.         case 3:
  49.             COM0=0;
  50.             COM1=0;
  51.             COM2=0;
  52.             COM3=1;
  53.             P0=smgduan[min/10];
  54.             break;

  55.         default:
  56.             break;

  57.         }
  58.         if(++x==4)x=0;

  59.     } else {
  60.         delay_Digitube--;
  61.     }
  62. }
復制代碼




回復

使用道具 舉報

7#
ID:678280 發(fā)表于 2021-8-26 17:59 | 只看該作者
數(shù)碼管得到的驅動電流不夠大,需要加驅動IC。
回復

使用道具 舉報

8#
ID:94031 發(fā)表于 2021-8-26 18:33 | 只看該作者
調電流亮度變化不大,關鍵要買高亮數(shù)碼管。
回復

使用道具 舉報

9#
ID:959439 發(fā)表于 2021-8-26 18:34 | 只看該作者
這應該不是軟件的問題,需要修改硬件。數(shù)碼管用三極管驅動的電流更大一些,可以用三極管試試
回復

使用道具 舉報

10#
ID:624769 發(fā)表于 2021-8-27 03:33 | 只看該作者
開發(fā)板的P0口,都會有上拉電阻,所以夠亮,你自己的電路一般不會加上拉電阻所以比較暗,建議,P0口設置成推挽模式,就是P0M1這個, 另外,P2.4~P2.7,其實沒必要用三極管,直接接的IO口,低電平驅動即可,用了三極管還是NPN管,直接少了0.7V壓差,如果你單片機電源是3.3V的話,數(shù)碼管亮度就不夠了。
回復

使用道具 舉報

11#
ID:517951 發(fā)表于 2021-8-27 08:52 | 只看該作者
Q6,Q7,Q8,Q9輸入PWM控制信號,就能無極調整亮度,呼吸燈效果都能做出來
回復

使用道具 舉報

12#
ID:285416 發(fā)表于 2021-8-27 08:59 來自手機 | 只看該作者
rayin 發(fā)表于 2021-8-27 08:52
Q6,Q7,Q8,Q9輸入PWM控制信號,就能無極調整亮度,呼吸燈效果都能做出來

軟件上也可以修改。單獨顯示一個段的數(shù)碼化。
你看看亮度就可以判斷是不是應該驅動電路小了。如果不是  說明你的刷新率太快。
回復

使用道具 舉報

13#
ID:882573 發(fā)表于 2021-8-27 09:26 | 只看該作者
多謝各位大佬的指點,結合大家的意見,我缺少了P0口工作模式的設置,即P0M1=0x00;P0M0=0xff;然后再把原掃描時間的值改為500,就實現(xiàn)了穩(wěn)定高亮的顯示效果,,多謝大家
回復

使用道具 舉報

14#
ID:882573 發(fā)表于 2021-8-27 09:31 | 只看該作者
lkc8210 發(fā)表于 2021-8-26 17:42
源程序?main()函數(shù)都沒有

不要用delay()來延時,如:

抱歉哈,我在練習源文件及分頁子函數(shù)的編寫,所以程序粘貼不全,下次一定改正
回復

使用道具 舉報

15#
ID:361216 發(fā)表于 2022-6-15 20:46 | 只看該作者
我的也是,整了個之后,結果固定值的很亮,需要變化的就不行了, 相對較暗
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费在线成人 | 在线91| 视频一区二区中文字幕日韩 | 成人精品 | 超碰在线播 | 国产伦一区二区三区 | 五月婷亚洲 | 成年网站在线观看 | 亚洲欧美一区二区三区国产精品 | 亚洲综合中文字幕在线观看 | 黄色三级免费 | 天堂在线www | 欧美日韩精选 | 亚洲综合精品 | 中文字幕一区二区三区乱码在线 | 精品欧美 | 中文字幕精品视频在线观看 | 特级丰满少妇一级aaaa爱毛片 | 成人中文字幕av | 欧美日韩国产精品一区 | 久久久精品在线 | 盗摄精品av一区二区三区 | 91文字幕巨乱亚洲香蕉 | 日韩影院在线 | 亚洲日本视频 | 天堂一区| 夜夜爽夜夜操 | 日本在线免费观看 | 日韩精品999 | 天天澡天天狠天天天做 | 一二三四在线视频观看社区 | 最新国产精品 | 国产乱码精品一区二区三区忘忧草 | 色小姐综合网 | 成人毛片一区二区三区 | 美女视频一区二区三区 | 精品欧美一区二区在线观看 | 欧美精品综合在线 | 一区二区三区视频在线观看 | 久久新视频| 国产精品国产a级 |