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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2564|回復: 7
收起左側

單片機8只數碼管滾動顯示16個數字的程序 亮度太低,速度太快 請高手支支招

[復制鏈接]
ID:884109 發表于 2021-4-30 21:11 | 顯示全部樓層 |閱讀模式
想寫個滾動顯示數字的程序,8個數碼管滾動顯示16個數字,雖然程序可以實現,但是亮度太低,速度太快,該怎么修改呢,請高手支支招

單片機源程序如下:
#include <REG51.H>
#define uchar unsigned char
#define uint unsigned int

uchar code table[] = { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x00};
uchar code wei[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};

void delay(uint x)
{
        uchar j;
        uint i;
        
        for( i = 0; i < x; i++ )
                for( j = 0; j < 111; j++ );
}

void main(void)
{
         uchar i;
        uint j;
        P1 =P0 = 0x00;
        while(1){
                 for( i = 0; i < 16; i++ ){
                        for( j = 0; j < 8; j++ ){  
                                delay(1);
                                 P1 = table[(i+j)%16];
                                P0 = wei[j];
                                delay(20);
                        }
                        delay(200);
                }
        }
}

回復

使用道具 舉報

ID:390416 發表于 2021-5-1 09:36 | 顯示全部樓層
回復

使用道具 舉報

ID:213173 發表于 2021-5-1 10:47 | 顯示全部樓層
  1. #include <REG51.H>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
  5. uchar code wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

  6. void delay(uint x)
  7. {
  8.         uint i,j;
  9.         for(i=0;i<x;i++)
  10.                 for(j=0;j<111;j++);
  11. }

  12. void main(void)
  13. {
  14.         uchar i,k;
  15.         uint j;
  16.         while(1)
  17.         {
  18.                 P1=0x00;//段消隱
  19.                 P0=wei[i];//送位碼
  20.                 P1=table[i];//送段碼
  21.                 i=++i%8;//8位動態顯示計數
  22.                 if(++j>=1000)//約1秒
  23.                 {
  24.                         j=0;
  25.                         table[16]=table[0];
  26.                         for(k=0;k<16;k++)//數組循環排序
  27.                                 table[k]=table[k+1];
  28.                 }
  29.                 delay(1);
  30.         }
  31. }
復制代碼


回復

使用道具 舉報

ID:89515 發表于 2021-5-1 11:48 | 顯示全部樓層
程序邏輯沒錯,但是不能那樣延時,需要用時時掃描來做延時替換掉delay(200)
回復

使用道具 舉報

ID:884109 發表于 2021-5-1 16:30 | 顯示全部樓層
明白了 多謝兩位總工 受教了
回復

使用道具 舉報

ID:884109 發表于 2021-5-1 16:36 | 顯示全部樓層

多謝多謝 明白了 當時也想給每個數字延時 但是延時一長 就變成一個數字了 就是沒想到每輪多次掃描
回復

使用道具 舉報

ID:884109 發表于 2021-5-1 16:37 | 顯示全部樓層
mengzhixinheng 發表于 2021-5-1 11:48
程序邏輯沒錯,但是不能那樣延時,需要用時時掃描來做延時替換掉delay(200)

多謝多謝 明白了
回復

使用道具 舉報

ID:377210 發表于 2021-5-1 18:44 來自手機 | 顯示全部樓層
亮度低改小限流電阻仍不能滿足要求的話,不要用空操作延時。可以把顯示放中斷,每次中斷顯示一位,顯示完后不要關閉。等到下次進入中斷刷新前再關閉顯示,然后再顯示下一位,這樣的亮度很高,每次中斷處理的時間也不長。我的中斷時間是2.5ms,你可以根據自己的情況調整中斷時間。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久人人网| 成人免费在线网 | 伦理二区| 成人在线播放 | 久久精品黄色 | 亚洲成人毛片 | 中文字幕欧美一区二区 | 日韩精品视频中文字幕 | 日韩亚洲视频 | 精品国产欧美一区二区三区成人 | 91在线免费观看网站 | 成人福利网站 | 国产福利91精品 | 国产高清一二三区 | 人人性人人性碰国产 | 亚洲国产成人av | 国产第一区二区 | 激情综合五月天 | 国产精品久久久久久婷婷天堂 | 在线免费看黄 | av中文在线 | 久久在线看 | 中文字幕1区2区3区 日韩在线视频免费观看 | 亚洲视频一区在线观看 | av电影手机版 | 国产ts人妖系列高潮 | 一区二区三区欧美大片 | 久久精品视频网站 | 日韩在线观看一区二区三区 | 色视频在线播放 | 中文字幕在线不卡播放 | 亚洲精品一区二区在线观看 | 天天草天天干天天 | 国产大学生情侣呻吟视频 | 久久久精品网 | 国产一级特黄视频 | 国产高清久久 | 99久久免费精品国产免费高清 | 国产97在线看| 国产一区二区三区久久久久久久久 | 日韩在线看片 |