电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2825|回复: 5
收起左侧

8*8点阵让0~9滚动显示怎么做啊

[复制链接]

633

主题

1927

帖子

8107

积分

联盟顾问

Rank: 3Rank: 3

积分
8107
发表于 2022-12-2 15:10:08 | 显示全部楼层 |阅读模式
#include<reg51.h>
unsigned char code Digits[10][8]=
{
   {0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00}, //0
{0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}, //1
{0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00}, //2
{0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00}, //3
{0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00}, //4
{0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00}, //5
{0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00}, //6
{0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00}, //7
{0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00}, //8
{0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00}  //9
};
//SELECT=     //?????????
//10000000,01000000,00100000,00010000
//00001000,00000100,00000010,00000001
unsigned char code SELECT[8] = {
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};void delay(unsigned int m)
{
while(--m);
}void main()
{
//?????????????????
     unsigned char i;
unsigned char n=0;
unsigned char t=0;
while(1)
{
      for(i = 0; i < 8; i++)
   {
    P2 = SELECT;
    P0 = ~Digits[n];  //??????????????????????????
                                  //n???????????n??n=0~9
    delay(300);
   }

   t++;
   if(t==20)
   {
      n++;
      t=0;
   }
   if(n==10)
   {
       n=0;
    }
}
}
回复

使用道具 举报

0

主题

876

帖子

675

积分

二级会员

Rank: 2

积分
675
发表于 2022-12-2 15:10:35 | 显示全部楼层
我只会0~9分别显示
回复 支持 反对

使用道具 举报

0

主题

829

帖子

622

积分

二级会员

Rank: 2

积分
622
发表于 2022-12-2 15:10:58 | 显示全部楼层
#include<reg51.h>
unsigned char code Digits[10][8]=
{
   {0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00}, //0
{0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}, //1
{0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00}, //2
{0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00}, //3
{0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00}, //4
{0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00}, //5
{0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00}, //6
{0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00}, //7
{0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00}, //8
{0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00}  //9
};


unsigned char code SELECT[8] = {
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
void delay(unsigned int m)
{
while(--m);
}
void main()
{

     unsigned char i;
    unsigned char n=0;
    unsigned char t=0;
    while(1)
    {
          for(i = 0; i < 8; i++)
          {
                P2 = SELECT;
                P0 = ~Digits[n];
                delay(300);
          }
  
    t++;
    if(t==20)
    {
          n++;
          t=0;
      }
      if(n==10)
      {
          n=0;
      }
    }
}
回复 支持 反对

使用道具 举报

0

主题

876

帖子

675

积分

二级会员

Rank: 2

积分
675
发表于 2022-12-2 15:11:56 | 显示全部楼层
8*8点阵让0~9滚动显示怎么做啊-1.jpg
这是用的器件
回复 支持 反对

使用道具 举报

633

主题

1927

帖子

8107

积分

联盟顾问

Rank: 3Rank: 3

积分
8107
发表于 2022-12-2 15:12:26 | 显示全部楼层
你好,问一下这个点阵的连接方式
回复 支持 反对

使用道具 举报

35

主题

892

帖子

1091

积分

三级会员

Rank: 3Rank: 3

积分
1091
发表于 2022-12-2 15:12:39 | 显示全部楼层
我换一种代码,结果显示是乱码的
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表