微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 数码管显示程序出错

数码管显示程序出错

时间:10-02 整理:3721RD 点击:
#include<reg51.h>
void delay(unsigned int A)
unsigned char code LED[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

void main()
{
        unsigned int lednum;
        lednum=0;
        while(1)
        {
                lednum++;
                P0=LED[lednum];
                if(lednum==16)
                lednum=0
                delay(600);
        }
}
void delay(unsigned int A)
{       
        unsigned int x,y;
        for(x=A;x>0;x--)
                for(y=110;y>0;y--);
}

出错在第三条语句
我的是共阳极的数码显示  但是报错的结果是
warning C258: 'LED': mspace on parameter ignored
error C244: 'LED': can't initialize, bad type or class
那个LED我都换了好几个字符了都是出现这个错误

LED[]数组就16个字节。
你这几条
                lednum++;
                P0=LED[lednum];
                if(lednum==16)
最后一次是LED[16]了。超过数组大小。

我把数组改小了还是不行也

lednum 是uint  而数组是uchar  。不同类型。、不过也可以,不是这问题。,是有些语句没加分号

                lednum++;
                P0=LED[lednum];
                if(lednum==16)
                lednum=0   这里就出问题了,LED[llednum]中的lednum 最大只能是15  你怎么能够到16才清零当lednum加到了16的时候应该马上清零   ……      void delay(unsigned int A)  这个参数用什么大写A呢?刚开始学就养成这些坏习惯

函数声明没有分号!delay()调用也没有分号。

lednum=0  也没有分号。小伙子,靠谱点、

靠谱点,小伙子

嗯嗯   坏习惯我一定改

找个牛人的程序来看看 ,他怎么写,你就怎么写,他怎么命名,你就怎么命名,平时编程的时候注意一些,别那么随意,这回给你以后造成很大的麻烦……

是的,是因为第16行没加分号

我加了分号也没有用

确实哦,后来只加分好确实不行。
下面是我编译通过的:
#include<reg51.h>
void delay(unsigned int A);
unsigned char code LED[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

void main()
{
        unsigned int lednum;
        lednum=0;
        while(1)
        {
                lednum++;
                P0=LED[lednum];
                if(lednum==16)
                lednum=0;
                delay(600);
        }
}
void delay(unsigned int A)
{        
        unsigned int x,y;
        for(x=A;x>0;x--)
                for(y=110;y>0;y--);
}

你复制试一下在你的编译器可不可以通过

咦……忘了,
除了 lednum=0;
void delay(unsigned int A);
我在这个延时声明后面也加了分号,就是它了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top