12864显示

2019-07-15 16:20发布

请问12864怎么显示计算出来的负数??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
摘星揽月111
1楼-- · 2019-07-15 17:38
 精彩回答 2  元偷偷看……
xzc1994xzc
2楼-- · 2019-07-15 21:20
void xianshi(int x,int y)
{
        uchar X[1],Y[3];
        uchar i;
        drawPoint(x,y,1);
        if((x>36&&x<=72)&&(y<30))
        {
                LCD_PutString(7,1,"壹");
                x=x-36;
                y=30-y;        
               
                sprintf(X,"%s",x);
          sprintf(Y,"%s",y);
        lcd_pos(3,6);
                                i=0;
                        while(X[i]!='')
                        lcd_wdat(X[i++]);
                         lcd_pos(4,6);
                                i=0;
                        while(Y[i]!='')
                        lcd_wdat(Y[i++]);
               
  }
                else if(x<36&&y<30)
        {
                LCD_PutString(7,1,"贰");
                x=x-36;y=30-y;        
               
                sprintf(X,"%d",x);
          sprintf(Y,"%d",y);
        lcd_pos(3,6);
                                i=0;
                        while(X[i]!='')
                        lcd_wdat(X[i++]);
                         lcd_pos(4,6);
                                i=0;
                        while(Y[i]!='')
                        lcd_wdat(Y[i++]);
  }
        else if((x<36)&&(y>30)&&(y<=60))
        {
                LCD_PutString(7,1,"叁");
                x=x-36;y=30-y;        
               
                sprintf(X,"%d",x);
          sprintf(Y,"%d",y);
        lcd_pos(3,6);
                                i=0;
                        while(X[i]!='')
                        lcd_wdat(X[i++]);
                         lcd_pos(4,6);
                                i=0;
                        while(Y[i]!='')
                        lcd_wdat(Y[i++]);
  }
        else if(x>36&&x<=72&&y>30&&y<=60)
        {
                LCD_PutString(7,1,"肆");
                x=x-36;y=30-y;        
               
                sprintf(X,"%d",x);
          sprintf(Y,"%d",y);
        lcd_pos(3,6);
                                i=0;
                        while(X[i]!='')
                        lcd_wdat(X[i++]);
                         lcd_pos(4,6);
                                i=0;
                        while(Y[i]!='')
                        lcd_wdat(Y[i++]);
  }
        else if((x=36)||(y=30))
        {
               
                x=x-36;y=30-y;        
               
                sprintf(X,"%d",x);
          sprintf(Y,"%d",y);
        lcd_pos(3,6);
                                i=0;
                        while(X[i]!='')
                        lcd_wdat(X[i++]);
                         lcd_pos(4,6);
                                i=0;
                        while(Y[i]!='')
                        lcd_wdat(Y[i++]);
               
  }
}
摘星揽月111
3楼-- · 2019-07-16 02:31
稍微解决了一点。
吧显示函数
i=0;
  while(X[i]!='')   
lcd_wdat(X[i++]);
改成   
for(i=0;i<3;i++)
     {
       lcd_wdat(X[i]);
     }
效果比较好,但是不知道原因
封锁记忆
4楼-- · 2019-07-16 06:48
同求   还是不会
摘星揽月111
5楼-- · 2019-07-16 08:25
封锁记忆 发表于 2015-8-10 10:42
同求   还是不会

把计算出来的结果转换成数组Y[],用这个函数: sprintf(Y,"%d",y);
然后用下面的函数显示
for(i=0;i<3;i++)//只显示两位数,带负号算3个
     {
       lcd_wdat(Y);
     }
yuandewen1074
6楼-- · 2019-07-16 13:24
 精彩回答 2  元偷偷看……

一周热门 更多>