设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 5403|回复: 5
打印 上一主题 下一主题

液晶显示改字的大小遇到问题,求助啊!!!

[复制链接]

1

主题

5

帖子

40

积分

新手上路

Rank: 1

积分
40
跳转到指定楼层
楼主
低调灬你和我 发表于 2015-11-17 23:35:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
uint32_t mypow(uint8_t m,uint8_t n)
{
uint32_t result=1;  
while(n--)
          result*=m;   
return result;
}   
/**********************************************/
/* 函数功能:显示数字                         */
/* 入口参数:x,y :起点坐标                 */
/*           len :数字的位数      */
/*           num:数值(0~4294967295);       */
/**********************************************/
void LCD_ShowNum(uint8_t x,uint16_t y,uint32_t num,uint8_t len)
{         
uint8_t t,temp;
uint8_t enshow=0;   // 此变量用来去掉最高位的0
      
for(t=0;t<len;t++)
{
  temp=(num/mypow(10,len-t-1))%10;
  if(enshow==0&&t<(len-1))
  {
   if(temp==0)
   {
    LCD_ShowChar(x+32*t,y,' ');
    continue;
   }else enshow=1;
     
  }
   LCD_ShowChar(x+32*t,y,temp+'0');
}
}
/**********************************************/
/* 函数功能:显示8*16点阵英文字符             */
/* 入口参数:x,y :起点坐标                 */
/*           num:字母或符号                */
/* 注    意:x,y的取值要在240到320范围内      */
/**********************************************/
void LCD_ShowChar(uint16_t x,uint16_t y,uint16_t num)
{
    uint8_t temp;
    uint8_t pos,t;
      
    LCD_WR_REG_DATA(0x0020,x);//设置X坐标位置
    LCD_WR_REG_DATA(0x0021,y);//设置Y坐标位置
  /*开辟显存区域*/
LCD_XYRAM(x,y,x+31,y+63); // 设置GRAM坐标
    LCD_WR_REG(0x0022);     //指向RAM寄存器,准备写数据到RAM
  
num=num-' ';//得到偏移后的值
for(pos=0;pos<256;pos++)
{
     temp=ascii_16[num][pos];
     for(t=0;t<8;t++)
     {                 
         if(temp&0x80)
                  LCD_WR_DATA(POINT_COLOR);
         else
                  LCD_WR_DATA(BACK_COLOR);   
         temp<<=1;
     }
}
/* 恢复显存显示区域240*320 */
LCD_XYRAM(0x0000 ,0x0000 ,0x00EF ,0X013F); // 恢复GRAM整屏显示
return;
}

我想问temp等于多少?
我将原程序的8*16的字改成32*64的,一位数字可以显示,我想显示两位数却显示不出来?只能显示其中的一位,不知道是哪里的问题,想了两天都没找出来,所以求神指点啊!谢谢了!



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

1

主题

5

帖子

40

积分

新手上路

Rank: 1

积分
40
6#
 楼主| 低调灬你和我 发表于 2015-11-22 13:26:59 | 只看该作者

我来说一说问题所在把,今天休息的好,状态好,又花了一个半小时的时间,把问题解决了,上面贴的结构没有问题,只有一个变量超出了范围,重新定义一下就可以了。。。。。。。。。。。。。。。。。。困惑了几天的问题今天终于解决了!
回复 支持 反对

使用道具 举报

1

主题

5

帖子

40

积分

新手上路

Rank: 1

积分
40
5#
 楼主| 低调灬你和我 发表于 2015-11-21 11:17:04 | 只看该作者
低调灬你和我 发表于 2015-11-19 20:44
能具体点吗?我字库修改过了,1位数是可以显示的,问题是想要显示两位数时屏上只显示一位数,不明白是为 ...

高手在哪里啊?!
回复 支持 反对

使用道具 举报

1

主题

5

帖子

40

积分

新手上路

Rank: 1

积分
40
地板
 楼主| 低调灬你和我 发表于 2015-11-19 20:44:11 | 只看该作者
admin 发表于 2015-11-19 17:40
我们用的例子是字库调用,你要变字库的大小了

能具体点吗?我字库修改过了,1位数是可以显示的,问题是想要显示两位数时屏上只显示一位数,不明白是为什么?想了好久了,那个temp等于多少啊?
回复 支持 反对

使用道具 举报

243

主题

1706

帖子

6151

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6151
板凳
admin 发表于 2015-11-19 17:40:49 | 只看该作者
低调灬你和我 发表于 2015-11-18 15:53
论坛不搞了吗?!怎么没人呢?!

我们用的例子是字库调用,你要变字库的大小了
回复 支持 反对

使用道具 举报

1

主题

5

帖子

40

积分

新手上路

Rank: 1

积分
40
沙发
 楼主| 低调灬你和我 发表于 2015-11-18 15:53:11 | 只看该作者
论坛不搞了吗?!怎么没人呢?!
回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2024-11-23 10:35 , Processed in 0.122915 second(s), 29 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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