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

標題: 單片機8只數碼管滾動顯示16個數字的程序 亮度太低,速度太快 請高手支支招 [打印本頁]

作者: renwxzy    時間: 2021-4-30 21:11
標題: 單片機8只數碼管滾動顯示16個數字的程序 亮度太低,速度太快 請高手支支招
想寫個滾動顯示數字的程序,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);
                }
        }
}


作者: 人人學會單片機    時間: 2021-5-1 09:36
https://www.bilibili.com/video/BV1Jx411Z7yC?p=1
作者: wulin    時間: 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. }
復制代碼



作者: mengzhixinheng    時間: 2021-5-1 11:48
程序邏輯沒錯,但是不能那樣延時,需要用時時掃描來做延時替換掉delay(200)
作者: renwxzy    時間: 2021-5-1 16:30
明白了 多謝兩位總工 受教了
作者: renwxzy    時間: 2021-5-1 16:36
wulin 發表于 2021-5-1 10:47

多謝多謝 明白了 當時也想給每個數字延時 但是延時一長 就變成一個數字了 就是沒想到每輪多次掃描
作者: renwxzy    時間: 2021-5-1 16:37
mengzhixinheng 發表于 2021-5-1 11:48
程序邏輯沒錯,但是不能那樣延時,需要用時時掃描來做延時替換掉delay(200)

多謝多謝 明白了
作者: MOVEORDIE    時間: 2021-5-1 18:44
亮度低改小限流電阻仍不能滿足要求的話,不要用空操作延時。可以把顯示放中斷,每次中斷顯示一位,顯示完后不要關閉。等到下次進入中斷刷新前再關閉顯示,然后再顯示下一位,這樣的亮度很高,每次中斷處理的時間也不長。我的中斷時間是2.5ms,你可以根據自己的情況調整中斷時間。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久精品小视频 | 久久艹免费视频 | 三级黄片毛片 | 亚洲综合色站 | 天天操天天摸天天爽 | 成人三级视频 | 久久精品亚洲一区二区三区浴池 | 日韩免费三级 | 先锋资源吧 | 欧美成人免费在线 | 99热这里有精品 | 欧美在线一区二区三区四区 | 国产99热精品 | 成人免费看黄 | 国产一二三区在线 | 天天干天天操天天看 | 国产无套一区二区三区久久 | 九九导航 | 91社区在线观看播放 | 欧美网址在线观看 | 久久久久久久久久久久久九 | 国产精品中文字幕在线播放 | 日韩精品久久 | 国产成人精品久久二区二区91 | 99在线视频观看 | 久久精品成人 | 日韩一区二区三区精品 | 日韩在线精品视频 | 日本黄色不卡视频 | 国产日韩精品久久 | 在线视频国产一区 | 99精品网| 欧美三区 | 日本三级线观看 视频 | 91精品综合久久久久久五月天 | 亚洲网站在线 | 国产欧美一级二级三级在线视频 | 精品欧美一区二区三区精品久久 | 亚洲网一区 | 精品国产久 | 亚洲精品无 |