[求助] 求大佬帮忙,51单片机编程哪出错了?

努力嘉禾   2018-3-19 18:13 楼主
我的数码管显示0到9,编码哪里错了?
  • 2018-03-19_18.11.21.jpg
  • 2018-03-19_18.11.40.jpg
  • 2018-03-19_18.12.02.jpg
  • 2018-03-19_18.12.19.jpg

回复评论 (15)

Delay1000ms 应在主函数前声明一下,或整个函数放到main之前
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2018-3-19 18:35
下面不是提示了嘛,delay1000这个函数出错了呀,你查一下这个函数是哪里出问题就行了。应该不是什么大问题的。我看你主函数写在delay前面,你看看是不是没有声明这个函数
点赞  2018-3-19 18:53
引用: ddllxxrr 发表于 2018-3-19 18:35
Delay1000ms 应在主函数前声明一下,或整个函数放到main之前

我声明了,
点赞  2018-3-19 21:30
引用: 曹伟1993 发表于 2018-3-19 18:53
下面不是提示了嘛,delay1000这个函数出错了呀,你查一下这个函数是哪里出问题就行了。应该不是什么大问题 ...

大佬,您看一下,我觉得没问题阿
  • Screenshot_20180319-213613.png
  • Screenshot_20180319-213622.png
点赞  2018-3-19 21:37
引用: 努力嘉禾 发表于 2018-3-19 21:37
大佬,您看一下,我觉得没问题阿

函数声明在哪声明,不是你写了函数就行了
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2018-3-20 08:00
引用: 努力嘉禾 发表于 2018-3-19 21:37
大佬,您看一下,我觉得没问题阿

函数声明在哪声明,不是你写了函数就行了
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2018-3-20 08:03
引用: ddllxxrr 发表于 2018-3-20 08:03
函数声明在哪声明,不是你写了函数就行了

这是我的函数
#include


char num[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}
void Delay1000ms();

void main()
{
  char i=1;
  P13=0;
        P22=0;
        P21=0;
        P20=0;
        P11=0;
         while(1)
         {
         P0=num;
         i++;
         if (i>=9);
         i=0;
         Delay1000ms();
         }
       
        }
void Delay1000ms()                //@32MHz
{
        unsigned char i, j, k;

       
        i = 122;
        j = 152;
        k = 234;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}       
       
点赞  2018-3-20 08:34
char num[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};

你数组后少个分号
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2018-3-20 09:38
引用: 努力嘉禾 发表于 2018-3-20 08:34
这是我的函数
#include


char num[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}
void  ...

数组后少个分号
我编译通过: eeworldtest2.JPG
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2018-3-20 09:40
引用: ddllxxrr 发表于 2018-3-20 09:40
数组后少个分号
我编译通过:

哦哦,谢谢大佬,现在可以了,不过单片机就会显示个0,不会1到9循环,不知怎么回事
点赞  2018-3-20 09:51
引用: 努力嘉禾 发表于 2018-3-20 08:34
这是我的函数
#include


char num[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90}
void  ...

你这个数组后面少了分号,你写程序的时候会有提示的呀?
点赞  2018-3-20 09:52
引用: 曹伟1993 发表于 2018-3-20 09:52
你这个数组后面少了分号,你写程序的时候会有提示的呀?

我知道了,刚才不仅数组少一个分号,if语句后也多一个分号,故不能循环显示,现在好啦,谢谢!
点赞  2018-3-20 09:54
你需要先让别人教你怎么截图,或贴代码
点赞  2018-3-20 10:23
引用: 石玉 发表于 2018-3-20 10:23
你需要先让别人教你怎么截图,或贴代码

哈哈,知道了
点赞  2018-3-20 10:38
P0=num;改P0=num[i];
点赞  2018-3-20 10:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复