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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機動態(tài)數(shù)碼管問題

查看數(shù): 2484 | 評論數(shù): 5 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2020-2-3 15:59

正文摘要:

看了普中的教學(xué)視頻,想顯示20.20.720.6 改了一下LSA的值,但是顯示變成了如圖 以下是代碼 小白求答! #include "REG52.H" typedef unsigned char u8; typedef unsigned int u16; sbit LSA=P2^2; sbit ...

回復(fù)

ID:375003 發(fā)表于 2020-2-3 23:12
wulin 發(fā)表于 2020-2-3 17:29
位碼不可以隨意改動,想改變顯示字符只能改段碼。

0加點真是經(jīng)典,站在初學(xué)者的角度,別太搞好了,給他啟發(fā)就可以了.
ID:375003 發(fā)表于 2020-2-3 22:56
我?guī)湍闩昧?#include "REG52.H"
typedef unsigned char u8;
typedef unsigned int u16;

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 a=0,b=1,c=2,d=3,e=4,f=5,g=6,h=7;//使用八個數(shù)進行位置確定

u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                          0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};


void delay(u16 i)
{
        while(i--);
}
void DigDisplay()
{
        u8 i;
        for(i=0;i<8;i++)
        {
                switch(i)
                {
                        case(0):
                                LSA=0;LSB=1;LSC=0;break;
                        case(1):
                                LSA=0;LSB=0;LSC=0;break;
                        case(2):
                                LSA=0;LSB=1;LSC=0;break;
                        case(3):
                                LSA=0;LSB=0;LSC=0;break;
                        case(4):
                                LSA=1;LSB=1;LSC=1;break;
                        case(5):
                                LSA=0;LSB=1;LSC=0;break;
                        case(6):
                                LSA=0;LSB=0;LSC=0;break;
                        case(7):
                                LSA=0;LSB=1;LSC=1;break;
                }
                P0=smgduan[i];
                delay(100);
                P0=0x00;
        }
}

void display()
{
        u8 j;
        for(j=0;j<8;j++)
        {
        switch(j)         //位選,選擇點亮的數(shù)碼管,
        {
            case(0):
                    LSA=0;LSB=0;LSC=0;P0=smgduan[a] ;break;//
            case(1):
                    LSA=1;LSB=0;LSC=0; P0=smgduan[b];break;//
            case(2):
                    LSA=0;LSB=1;LSC=0; P0=smgduan[c];break;
            case(3):
                    LSA=1;LSB=1;LSC=0; P0=smgduan[d];break;//
            case(4):
                    LSA=0;LSB=0;LSC=1; P0=smgduan[e];break;//
            case(5):
                    LSA=1;LSB=0;LSC=1; P0=smgduan[f];break;//
            case(6):
                    LSA=0;LSB=1;LSC=1; P0=smgduan[g];break;//
            case(7):
                    LSA=1;LSB=1;LSC=1; P0=smgduan[h];break;//
        }
                delay(100);
                P0=0x00;
        }
}

void main()
{
        while(1)
        {
             display();
              //  DigDisplay();
        }
}

問題顯示.JPG (34.48 KB, 下載次數(shù): 128)

你開發(fā)板上的結(jié)果

你開發(fā)板上的結(jié)果

正確的顯示.JPG (45.17 KB, 下載次數(shù): 132)

改好后的效果

改好后的效果
ID:235200 發(fā)表于 2020-2-3 20:58
把20.20.720.6對應(yīng)的段碼:0x5b,0xbf,0x5b,0xbf,0x07,0x5b,0xbf,0x7d作為數(shù)組,
                              case(0):
                                        LSA=0;LSB=0;LSC=0;break;
                                case(1):
                                        LSA=1;LSB=0;LSC=0;break;
                                case(2):
                                        LSA=0;LSB=1;LSC=0;break;
                                case(3):
                                        LSA=1;LSB=1;LSC=0;break;
                                case(4):
                                        LSA=0;LSB=0;LSC=1;break;
                                case(5):
                                        LSA=1;LSB=0;LSC=1;break;
                                case(6):
                                        LSA=0;LSB=1;LSC=1;break;
                                case(7):
                                        LSA=1;LSB=1;LSC=1;break;
                        }
這樣改了就可實現(xiàn)
ID:642838 發(fā)表于 2020-2-3 20:20
switch的case幾種狀態(tài)都重復(fù)了,顯示不亂才怪
ID:213173 發(fā)表于 2020-2-3 17:29
位碼不可以隨意改動,想改變顯示字符只能改段碼。
  1. #include "REG52.H"
  2. typedef unsigned char u8;
  3. typedef unsigned int u16;

  4. sbit LSA=P2^2;
  5. sbit LSB=P2^3;
  6. sbit LSC=P2^4;

  7. u8 code smgduan[]={0x3f|0x80,/*0+點*/0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  8.                           0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

  9. u8 data dis_buf[8]={2,0,2,0,7,2,0,6};//20.20.720.6
  10.         
  11. void delay(u16 i)
  12. {
  13.         while(i--);
  14. }
  15. void DigDisplay()
  16. {
  17.         u8 i;
  18.         for(i=0;i<8;i++)
  19.         {
  20.                 switch(i)
  21.                 {
  22.                         case(0):
  23.                                 LSA=1;LSB=1;LSC=1;break;
  24.                         case(1):
  25.                                 LSA=0;LSB=1;LSC=1;break;
  26.                         case(2):
  27.                                 LSA=1;LSB=0;LSC=1;break;
  28.                         case(3):
  29.                                 LSA=0;LSB=0;LSC=1;break;
  30.                         case(4):
  31.                                 LSA=1;LSB=1;LSC=0;break;
  32.                         case(5):
  33.                                 LSA=0;LSB=1;LSC=0;break;
  34.                         case(6):
  35.                                 LSA=1;LSB=0;LSC=0;break;
  36.                         case(7):
  37.                                 LSA=0;LSB=0;LSC=0;break;
  38.                 }
  39.                 P0=smgduan[dis_buf[i]];
  40.                 delay(100);
  41.                 P0=0x00;
  42.         }
  43. }
  44. void main()
  45. {
  46.         while(1)
  47.         {
  48.                 DigDisplay();
  49.         }
  50. }
復(fù)制代碼




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

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

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