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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3387|回復(fù): 6
收起左側(cè)

51單片機(jī)變量定義為unsigned long時8位數(shù)碼管顯示亂碼

[復(fù)制鏈接]
ID:287899 發(fā)表于 2020-10-31 10:47 | 顯示全部樓層 |閱讀模式
程序如下:#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
unsigned  long  code DUAN[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//uchar DUAN2[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//uchar WEI[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
//uchar WEI2[8]={0xc7,0xcf,0xd7,0xdf,0xe7,0xef,0xf7,0xff};
void delay(uchar g)
{
  uchar x,y;
        for(x=g;x>0;x--)
        for(y=110;y>0;y--);
}       
void main()
{
       
unsigned  long i;
         while(1)
        {
          for(i=0;i<10000000;i++)
          {
                        P3=0X01;
            P2=DUAN[i%10];
                        delay(20);
                        P3=0X00;
                       
                        P3=0X02;
                        P2=DUAN[i/10%10];
                        delay(20);
                        P3=0X00;
                       
                        P3=0X04;
                        P2=DUAN[i/100%10];
                        delay(20);
                        P3=0X00;
                       
                        P3=0X08;
                        P2=DUAN[i/1000%10];
                        delay(20);
                        P3=0X00;
                       
                        P3=0X10;
                        P2=DUAN[i/10000%10];
                        delay(20);
                        P3=0X00;
                       
                        P3=0X20;
                        P2=DUAN[i/100000%10];
                        delay(20);
                        P3=0X00;
                       
                        P3=0X40;
                        P2=DUAN[i/1000000%10];
                        delay(20);
                        P3=0X00;
                       
                        P3=0X80;
                        P2=DUAN[i/10000000%10];
                        delay(20);
                        P3=0X00;
           }
  }
}

51hei截圖20201031104553.png
回復(fù)

使用道具 舉報

ID:451718 發(fā)表于 2020-10-31 12:49 | 顯示全部樓層
你這個問題的模糊概念不止一個哦。
首先,先弄清楚段碼在低層的真實用途。段碼的數(shù)組定義成unsigned char類型就夠了,不需要定義成long。
其次,數(shù)組的成員概念。你用long型量去做數(shù)組的角碼,你是準(zhǔn)備用多大的內(nèi)存來存數(shù)組啊?
回復(fù)

使用道具 舉報

ID:287899 發(fā)表于 2020-11-1 13:32 | 顯示全部樓層
本帖最后由 zycs 于 2020-11-1 13:35 編輯
robinsonlin 發(fā)表于 2020-10-31 12:49
你這個問題的模糊概念不止一個哦。
首先,先弄清楚段碼在低層的真實用途。段碼的數(shù)組定義成unsigned char ...

想從1加到99999999,數(shù)組定義的unsigned char 。本來在主函數(shù)里定義的變量i是unsigned int類型的,但是從1加到2萬多就亂碼了,所以我就想是不是unsigned int類型的變量范圍太小了就改成unsigned long類型的,但還是亂碼。想請給位師傅幫忙看看問題出在哪里
回復(fù)

使用道具 舉報

ID:287899 發(fā)表于 2020-11-1 15:11 | 顯示全部樓層
robinsonlin 發(fā)表于 2020-10-31 12:49
你這個問題的模糊概念不止一個哦。
首先,先弄清楚段碼在低層的真實用途。段碼的數(shù)組定義成unsigned char ...

對不起描述的太模糊了,我想實現(xiàn)的功能是八位數(shù)管顯示從一加到99999999,本來數(shù)組定義的是unsigned char類型,主函數(shù)里的變量i定義的unsigned int類型,但是這樣只能加到3萬多再往后加就亂碼了,所以我想著是不是unsigned int類型的變量i范圍太小了,所以就把i改成了unsigned long類型的,但是這樣就直接亂碼了,數(shù)組我已經(jīng)改回unsigned char 類型的了。請各位幫忙看看代碼哪里出了問題
回復(fù)

使用道具 舉報

ID:287899 發(fā)表于 2020-11-1 16:37 | 顯示全部樓層
不用了各位,問題解決了
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2020-11-1 16:40 | 顯示全部樓層
zycs 發(fā)表于 2020-11-1 15:11
對不起描述的太模糊了,我想實現(xiàn)的功能是八位數(shù)管顯示從一加到99999999,本來數(shù)組定義的是unsigned char ...

仿真數(shù)碼管顯示亂碼的原因不是數(shù)組用錯類型,而是顯示代碼順序有錯和延時時間不當(dāng)。
  1. #include <reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. unsigned  long  code DUAN[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  5. //uchar DUAN2[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  6. //uchar WEI[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
  7. //uchar WEI2[8]={0xc7,0xcf,0xd7,0xdf,0xe7,0xef,0xf7,0xff};
  8. void delay(uint g)
  9. {
  10.         uint x,y;
  11.         for(x=g;x>0;x--)
  12.                 for(y=110;y>0;y--);
  13. }        
  14. void main()
  15. {
  16.         unsigned  long i;
  17.         while(1)
  18.         {
  19.                 for(i=0;i<10000000;i++)
  20.                 {
  21.                         P3=0X00;
  22.                         P2=DUAN[i%10];
  23.                         P3=0X01;
  24.                         delay(1);

  25.                         P3=0X00;
  26.                         P2=DUAN[i/10%10];
  27.                         P3=0X02;
  28.                         delay(1);

  29.                         P3=0X00;                       
  30.                         P2=DUAN[i/100%10];
  31.                         P3=0X04;
  32.                         delay(1);

  33.                         P3=0X00;                       
  34.                         P2=DUAN[i/1000%10];
  35.                         P3=0X08;
  36.                         delay(1);

  37.                         P3=0X00;
  38.                         P2=DUAN[i/10000%10];
  39.                         P3=0X10;
  40.                         delay(1);
  41.                        
  42.                         P3=0X00;
  43.                         P2=DUAN[i/100000%10];
  44.                         P3=0X20;
  45.                         delay(1);

  46.                         P3=0X00;
  47.                         P2=DUAN[i/1000000%10];
  48.                         P3=0X40;
  49.                         delay(1);

  50.                         P3=0X00;
  51.                         P2=DUAN[i/10000000%10];
  52.                         P3=0X80;
  53.                         delay(1);
  54.                 }
  55.         }
  56. }
復(fù)制代碼

回復(fù)

使用道具 舉報

ID:287899 發(fā)表于 2020-11-1 22:29 | 顯示全部樓層
wulin 發(fā)表于 2020-11-1 16:40
仿真數(shù)碼管顯示亂碼的原因不是數(shù)組用錯類型,而是顯示代碼順序有錯和延時時間不當(dāng)。

感謝,
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜视频在线观看一区二区 | 欧美成人精品一区二区男人看 | 国产日韩一区二区 | 成人在线视频网 | 国产免费观看一区 | 久久精品无码一区二区三区 | 日本精品一区二区三区四区 | 人人精品 | 亚洲三区视频 | 五月天国产视频 | 国产精品毛片一区二区三区 | av高清| 91污在线 | 成人久久18免费网站图片 | av免费在线播放 | 日韩福利在线观看 | 黑人巨大精品欧美黑白配亚洲 | 婷婷免费视频 | 91视频在线观看 | 亚洲欧洲日韩精品 中文字幕 | 欧美国产视频 | www.婷婷 | 日韩中文字幕在线视频观看 | 亚洲精品视频在线播放 | 久久亚洲一区 | av在线电影网 | av电影一区二区 | 91欧美激情一区二区三区成人 | 国产一区二区三区四区三区四 | www.888www看片 | 久久av一区 | 97视频在线免费 | 欧美日韩专区 | 欧美三区 | 女同av亚洲女人天堂 | 中文字幕乱码亚洲精品一区 | 欧美xxxx色视频在线观看免费 | 久久中文字幕一区 | 国产第二页 | 久久精品国产亚洲 | 精品国产18久久久久久二百 |