找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机0~99计数器程序报错

查看数: 2293 | 评论数: 13 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-12-12 13:06

正文摘要:

#include"reg51.h" #define uchar unsigned char          uchar display_code[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,            & ...

回复

ID:883242 发表于 2021-12-12 17:31
出错是这句:display[6]>9
你觉得display是个数组???
ID:336670 发表于 2021-12-21 22:19
老二不怕黑 发表于 2021-12-14 21:01
赞,谢谢大神用心帮忙纠错,已经更正了,很感谢了

大神,可以帮忙看看主函数里面的for循环250次是什么意思不呢??
ID:336670 发表于 2021-12-21 22:18
老二不怕黑 发表于 2021-12-12 18:16
display()是函数嘛,前面写的

大神,可以帮忙看看主函数里面的for循环250次是什么意思不呢??
ID:986496 发表于 2021-12-15 16:48
报错信息为在非数组下标,也就是说你的数组名错了
ID:336670 发表于 2021-12-14 21:01
taotie 发表于 2021-12-12 17:29
#include"reg51.h"
#define uchar unsigned char
      

赞,谢谢大神用心帮忙纠错,已经更正了,很感谢了
ID:336670 发表于 2021-12-12 18:17
Hephaestus 发表于 2021-12-12 17:31
出错是这句:display[6]>9
你觉得display是个数组???

大神,看得真仔细,谢谢了,
ID:336670 发表于 2021-12-12 18:16
Hephaestus 发表于 2021-12-12 17:31
出错是这句:display[6]>9
你觉得display是个数组???

display()是函数嘛,前面写的
ID:342822 发表于 2021-12-12 17:29
#include"reg51.h"
#define uchar unsigned char
      
uchar display_code[16]=         // 这里改为公的不是母的
{0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x8e};
                                                                                               
uchar display_data[8]={0,0,0,0,0,0,0,0};               

void delay()               
{
        uchar i;
        for(i=250;i>0;i--);
}
void display()               
{
        uchar z,k;
        k=0x80;                                       
        for(z=0;z<8;z++)                       
        {
                P2=0;                                                      
                P0=display_code[display_data[z]];      
                P2=k;               
                k=k>>1;               
                delay();
        }
        P2=0;                       
}
void calc()
{
        display_data[7]++;                       
        if(display_data[7]>9)               
        {                                                                                               
                display_data[7]=0;               
                display_data[6]++;               
                if(display_data[6]>9)    //这里原 if(display[6]>9)                  
                {                                                                                       
                        display_data[6]=0;      
                }               
        }
}
void main()
{
        uchar a;
        while(1)
        {
                for(a=0;a<250;a++)
                {
                        display();               
                }
                calc();                       
        }
}
ID:336670 发表于 2021-12-12 16:31
天ノ忆 发表于 2021-12-12 15:12
你还不如截个图呢,你让我猜那个是35行吗

截了图了,求大神帮忙看看呢
ID:336670 发表于 2021-12-12 16:30
天ノ忆 发表于 2021-12-12 15:12
你还不如截个图呢,你让我猜那个是35行吗

截了图了,求大神帮忙看看呢
ID:336670 发表于 2021-12-12 16:25
Hephaestus 发表于 2021-12-12 14:44
是这句出问题了吗?
P0=display_code[display_data[z]];

报错信息没有提示是哪一行,所以找不到问题了
ID:139866 发表于 2021-12-12 15:12
你还不如截个图呢,你让我猜那个是35行吗
ID:883242 发表于 2021-12-12 14:44
是这句出问题了吗?
P0=display_code[display_data[z]];

总要给别人提供足够的信息吧?

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

Powered by 单片机教程网

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