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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機變量定義為unsigned long時8位數碼管顯示亂碼

[復制鏈接]
跳轉到指定樓層
樓主
程序如下:#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 (86.72 KB, 下載次數: 115)

51hei截圖20201031104553.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:451718 發表于 2020-10-31 12:49 | 只看該作者
你這個問題的模糊概念不止一個哦。
首先,先弄清楚段碼在低層的真實用途。段碼的數組定義成unsigned char類型就夠了,不需要定義成long。
其次,數組的成員概念。你用long型量去做數組的角碼,你是準備用多大的內存來存數組?
回復

使用道具 舉報

板凳
ID:287899 發表于 2020-11-1 13:32 | 只看該作者
本帖最后由 zycs 于 2020-11-1 13:35 編輯
robinsonlin 發表于 2020-10-31 12:49
你這個問題的模糊概念不止一個哦。
首先,先弄清楚段碼在低層的真實用途。段碼的數組定義成unsigned char ...

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

使用道具 舉報

地板
ID:287899 發表于 2020-11-1 15:11 | 只看該作者
robinsonlin 發表于 2020-10-31 12:49
你這個問題的模糊概念不止一個哦。
首先,先弄清楚段碼在低層的真實用途。段碼的數組定義成unsigned char ...

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

使用道具 舉報

5#
ID:287899 發表于 2020-11-1 16:37 | 只看該作者
不用了各位,問題解決了
回復

使用道具 舉報

6#
ID:213173 發表于 2020-11-1 16:40 | 只看該作者
zycs 發表于 2020-11-1 15:11
對不起描述的太模糊了,我想實現的功能是八位數管顯示從一加到99999999,本來數組定義的是unsigned char ...

仿真數碼管顯示亂碼的原因不是數組用錯類型,而是顯示代碼順序有錯和延時時間不當。
  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. }
復制代碼

回復

使用道具 舉報

7#
ID:287899 發表于 2020-11-1 22:29 | 只看該作者
wulin 發表于 2020-11-1 16:40
仿真數碼管顯示亂碼的原因不是數組用錯類型,而是顯示代碼順序有錯和延時時間不當。

感謝,
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕 视频一区 | 免费视频二区 | 国产精品久久久久久久久久 | 玩丰满女领导对白露脸hd | 日韩在线播放一区 | 91精品国产91久久久久久 | 九九久久国产 | www4虎| 五月激情六月婷婷 | 成人欧美一区二区三区 | 久久久久久中文字幕 | 欧美日韩视频 | 日韩在线 | 日韩在线视频一区 | 久久最新网址 | 在线视频 中文字幕 | 国产午夜精品久久久久免费视高清 | 性色的免费视频 | 99re在线播放| 黄色一级视频 | 在线观看电影av | 一级片av | 欧美在线一级 | 亚洲成人久久久 | 午夜在线电影网 | 四虎永久| 久久国产亚洲 | 久久久中文 | 色女人天堂 | 成年人在线观看 | 国产成人av电影 | 亚洲精品国产电影 | 福利视频网 | 国产成人精品久久 | 美女爽到呻吟久久久久 | 日韩精品在线看 | 久久99精品久久久久久国产越南 | 国产影音先锋 | 日本天天色| 欧美二区三区 | 中国美女一级黄色片 |