找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2429|回复: 3
打印 上一主题 下一主题
收起左侧

单片机16x16分屏显示文字报错error C242: 'scalar': too many initializers

[复制链接]
跳转到指定楼层
楼主
ID:990261 发表于 2021-12-14 20:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#include<intrins.h>
#define saomiao P1
sbit DS=P3^0;
sbit CLK=P3^1;
sbit ST=P3^2;
sbit OE=P3^3;
delay(int);
void WR_74HC595(unsigned char);
void OUT_74HC595(void);
int repeat=30;
char code seg[]={
{0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x03,0xE0,0x7F,0xFF,0x7F,0xFF,0x00,0x80,0x7F,0xFF,
0x7F,0xFF,0x77,0xFF,0x77,0xE0,0x77,0xFF,0x77,0xFF,0x6B,0xFF,0x1D,0x80,0xFE,0xFF},   
{0xFF,0xF6,0xFB,0xF6,0xF7,0xF6,0x37,0xC0,0xFF,0xF6,0xFF,0xF6,0xF0,0xF6,0x17,0x80,
0xF7,0xF6,0xF7,0xF6,0x77,0xF7,0x77,0xF7,0xB7,0xF7,0xEB,0xFF,0x1D,0x80,0xFF,0xFF},   
{0xFB,0xFF,0x7B,0xC0,0xFB,0xEF,0xC0,0xF7,0xFD,0xF3,0xF5,0xED,0xF6,0xDE,0x00,0xBF,
0xF7,0xFF,0x77,0xC0,0xC7,0xFB,0xF0,0xFB,0xF5,0xFB,0xF7,0xFB,0x37,0x80,0xF7,0xFF},   
{0xFF,0xFF,0xFF,0xFF,0x01,0xC0,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,
0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x7F,0xFF,0x00,0x80,0xFF,0xFF,0xFF,0xFF},         
{0xFF,0xFF,0xFB,0xFF,0x17,0x80,0xF7,0xFE,0xFF,0xFE,0xFF,0xC0,0xF0,0xDE,0xF7,0xDE,
0xF7,0xDE,0x77,0xDF,0x77,0xDF,0xB7,0xEB,0xD7,0xF7,0xEB,0xFF,0x1D,0x80,0xFF,0xFF},      
{0xBF,0xFF,0xDF,0xFF,0xEF,0xFF,0x01,0xC0,0xFD,0xDF,0xFD,0xDF,0x1D,0xDC,0xDD,0xDD,
0xDD,0xDD,0xDD,0xDD,0xDD,0xDD,0x1D,0xDC,0xDD,0xDD,0xFD,0xDF,0xFD,0xD7,0xFD,0xEF},   
{0xFF,0xF5,0xFF,0xED,0xFF,0xFD,0x03,0x80,0xFB,0xFD,0xFB,0xFD,0xFB,0xDD,0x83,0xDD,
0xBB,0xDD,0xBB,0xEB,0xBB,0xEB,0xBB,0xB7,0xAB,0xB3,0xDD,0xAD,0xFD,0x9E,0x7E,0xBF},     
{0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0x80,0xFD,0x77,0xC0,0xF7,0xDD,0xF7,0xDD,0xF7,0xDD,0xF7,
0xDD,0xF7,0xDE,0xF7,0xDE,0x87,0xDE,0x70,0xDF,0x7D,0xDF,0xBF,0xEB,0xDF,0xF7}            
};         

        main()
{
        int i;
        int m;
        int j;
        OE=0;
        while(1)
        {
                for(m=0;m<repeat;m++)
                {for(i=0;i<16;i++)
                        {saomiao=i;
                         WR_595(seg[2*i+1+32*j]);
                         WR_595(seg[2*i+32*j]);
                                OUT_595();
                                delay(2);
                                WR_595(0xff);
                                WR_595(0xff);
                                OUT_595();
                        }
                }
                j++;
                if(j==8)j=0;
        }
}
delay(int x)
{
        int i,j;
        for(i=0;i<x;i++)
        for(j=0;j<120;j++);
}
void WR_74HC595(unsigned char a)
{unsigned char b,da;
        for(b=0;b<8;b++)
{da=a&0x80;
        if(da==0) DS=0;
        if(da!=0) DS=1;
        a<<=1;
        CLK=0;
        _nop_();
        _nop_();
        _nop_();
        CLK=1;
}
}
void OUT_74HC595()
{ST=0;
        _nop_();
        _nop_();
        _nop_();
        ST=1;
}



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:990261 发表于 2021-12-14 20:30 | 只看该作者
c(13): error C242: 'scalar': too many initializers 怎么修改
回复

使用道具 举报

板凳
ID:979299 发表于 2021-12-14 22:19 | 只看该作者
宏定义名称和代入名称不同,数组里面多出很多大括号,延时函数下面缺少返回值

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:981034 发表于 2022-1-4 14:16 | 只看该作者
数组为何要这么多大括号?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表