你好,请问一下1602显示问题

2019-07-15 15:09发布

我想在高位显示万位,如果不是就显示空格。但下面的程序,不能编译,有语法错误,错哪里啦?
void display()
{
                write_com(0x80+11+0x40);
                if(step_num/10000>0);
                        write_date(LCD1602_Table[step_num/10000]);
                else
                        write_date(' ');
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
破力达
1楼-- · 2019-07-16 14:15
 精彩回答 2  元偷偷看……
jensint
2楼-- · 2019-07-16 15:38
嗯,注意到了分号的问题,但现在改了,还是有个问题

unsigned char LCD1602_Table[]="0123456789:-";
uchar code dis_tab1[]={"Number of stop:"};
uchar code dis_tab2[]={"stop     ------"};
unsigned long step_num=0;
.
.
.
.
void display()
{
                write_com(0x80+11+0x40);
                if(step_num/10000>0)
                        write_date(LCD1602_Table[step_num/10000]);
                else
                        write_date(' ');
               
                if(step_num/1000>0)
                        write_date(LCD1602_Table[step_num%10000/1000])
                else
                                write_date(' ');
               
                if(step_num/100>0)
                        write_date(LCD1602_Table[step_num%1000/10]);
                else
                                write_date(' ');
               
                if(step_num/10>0)
                        write_date(LCD1602_Table[step_num%100/10]);
                else
                                write_date(' ');
                                write_date(LCD1602_Table[step_num%10]);

}
错误提示:MAIN.C(109): error C141: syntax error near 'else'
jensint
3楼-- · 2019-07-16 16:21
@曲终人散@ 发表于 2016-1-13 19:15
错误信息粘出来看看,还有就是step_num在哪里定义的

unsigned char LCD1602_Table[]="0123456789:-";
uchar code dis_tab1[]={"Number of stop:"};
uchar code dis_tab2[]={"stop     ------"};
unsigned long step_num=0;
.
.
.
.
void display()
{
                write_com(0x80+11+0x40);
                if(step_num/10000>0)
                        write_date(LCD1602_Table[step_num/10000]);
                else
                        write_date(' ');
               
                if(step_num/1000>0)
                        write_date(LCD1602_Table[step_num%10000/1000])
                else
                                write_date(' ');
               
                if(step_num/100>0)
                        write_date(LCD1602_Table[step_num%1000/10]);
                else
                                write_date(' ');
               
                if(step_num/10>0)
                        write_date(LCD1602_Table[step_num%100/10]);
                else
                                write_date(' ');
                                write_date(LCD1602_Table[step_num%10]);

}
错误提示:MAIN.C(109): error C141: syntax error near 'else'
这个是不是语法有问题?我的意思就是判断是不是大于5位数,如果不是就在第五位下空格,在判断是不是大于4位数,这样的?
破力达
4楼-- · 2019-07-16 20:23
有漏了个分号

一周热门 更多>