智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2264|回复: 6
打印 上一主题 下一主题

求教nokia5110位图显示方法

[复制链接]

17

主题

99

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1443
QQ
威望
674
贡献
293
兑换币
391
注册时间
2013-1-13
在线时间
238 小时
毕业学校
工业大学
跳转到指定楼层
1#
发表于 2013-4-12 12:24:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5贡献
/***********************************************************
*函数名称:LCD_draw_bmp_pixel
*函数功能:位图绘制函数
*入口参数:X、Y    :位图绘制的起始X、Y坐标;
           *map    :位图点阵数据;
           Pix_x   :位图像素(长)
           Pix_y   :位图像素(宽)
*出口参数:无
*修改人  :BDC
*修改时间:2011/08/04
*备 注:
***********************************************************/
void LCD_draw_bmp_pixel(uchar X,uchar Y,uchar *map, uchar Pix_x,uchar Pix_y)
{
    uint i,n;
    uchar row;
              //计算位图所占行数
      if (Pix_y%8==0)   //如果为位图所占行数为整数
      row=Pix_y/8;      
      else
         row=Pix_y/8+1;  //如果为位图所占行数不是整数
   
LCD_set_XY(X,Y);
    for (n=0;n<row;n++)  //换行
      {
        for(i=0;i<Pix_x;i++)
          {
       LCD_set_XY(X+i,Y+n);
             LCD_write_byte(map[i+n*Pix_x], 1);
          }                        
      }      
}
没看懂  自己试着改参数 总也显示不出卡!

最佳答案

查看完整内容

/*----------------------------------------------------------------------- LCD_draw_map : 位图绘制函数 输入参数:X、Y :位图绘制的起始X、Y坐标; *map :位图点阵数据; Pix_x :位图像素(长) Pix_y :位图像素(宽) 编写日期 :2011-4-5 最后修改日期 :2011-4-6 ----------------------------------------------------------------------- ...

31

主题

619

帖子

0

精华

跨届大侠

大神经常病

Rank: 10Rank: 10Rank: 10

积分
8900

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
4214
贡献
2736
兑换币
2252
注册时间
2012-2-15
在线时间
975 小时
2#
发表于 2013-4-12 12:24:57 | 只看该作者
/*-----------------------------------------------------------------------
LCD_draw_map      : 位图绘制函数

输入参数:X、Y    :位图绘制的起始X、Y坐标;
          *map    :位图点阵数据;
          Pix_x   :位图像素(长)
          Pix_y   :位图像素(宽)

编写日期          :2011-4-5
最后修改日期      :2011-4-6
-----------------------------------------------------------------------*/
void LCD_draw_bmp_pixel(unsigned char X,unsigned char Y,unsigned char *map,
                  unsigned char Pix_x,unsigned char Pix_y,unsigned char hhh)
{
    unsigned int i;
    signed int n;
    unsigned char row,*p;
    unsigned char CCD_temp[84];
    p=CCD_temp;
    for (n=0;n<IMAGE_COLUMN;n=n+2)
    {
        *p = (Image[hhh][n])   +(Image[hhh+1][n])*2+ (Image[hhh+2][n])*4+ (Image[hhh+3][n])*8+
             (Image[hhh+4][n])*16+(Image[hhh+5][n])*32+(Image[hhh+6][n])*64+(Image[hhh+7][n])*128;   
        p++;
    }
    if(Pix_y % 8 == 0)
        row = Pix_y / 8;      //计算位图所占行数
    else
        row = Pix_y / 8 + 1;
   
    for (n=0;n<row;n++)
    {
        LCD_set_XY(X,Y);
        for(i=0; i<Pix_x; i++)
        {
            LCD_write_byte(CCD_temp[i+n * Pix_x], 1);
        }
        Y++;                         //换行
    }      
}
回复

使用道具 举报

31

主题

619

帖子

0

精华

跨届大侠

大神经常病

Rank: 10Rank: 10Rank: 10

积分
8900

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
4214
贡献
2736
兑换币
2252
注册时间
2012-2-15
在线时间
975 小时
3#
发表于 2013-4-12 20:20:52 | 只看该作者
回复

使用道具 举报

31

主题

619

帖子

0

精华

跨届大侠

大神经常病

Rank: 10Rank: 10Rank: 10

积分
8900

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
4214
贡献
2736
兑换币
2252
注册时间
2012-2-15
在线时间
975 小时
4#
发表于 2013-4-12 20:21:43 | 只看该作者
液晶是竖着写的,要把原图像数组转换一下,也就是你中间少了一段
回复

使用道具 举报

17

主题

99

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1443
QQ
威望
674
贡献
293
兑换币
391
注册时间
2013-1-13
在线时间
238 小时
毕业学校
工业大学
5#
 楼主| 发表于 2013-4-13 13:08:50 | 只看该作者
我说呢,每次调参数那个起始坐标总是横竖相反,谢谢啦。最佳答案给你了,一会我试试去。
是不是就把这一段参数替换原参数就可以了?
回复

使用道具 举报

31

主题

619

帖子

0

精华

跨届大侠

大神经常病

Rank: 10Rank: 10Rank: 10

积分
8900

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
4214
贡献
2736
兑换币
2252
注册时间
2012-2-15
在线时间
975 小时
6#
发表于 2013-4-13 13:37:47 | 只看该作者
HIT120220 发表于 2013-4-13 13:08
我说呢,每次调参数那个起始坐标总是横竖相反,谢谢啦。最佳答案给你了,一会我试试去。
是不是就把这一段 ...

这个替换过后有没有问题我不敢保证,但是思路是这样的,如果还显示不了,你看看函数的入口参数设置又没有问题,祝你早日解决
回复

使用道具 举报

31

主题

619

帖子

0

精华

跨届大侠

大神经常病

Rank: 10Rank: 10Rank: 10

积分
8900

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
4214
贡献
2736
兑换币
2252
注册时间
2012-2-15
在线时间
975 小时
7#
发表于 2013-4-13 13:38:16 | 只看该作者
HIT120220 发表于 2013-4-13 13:08
我说呢,每次调参数那个起始坐标总是横竖相反,谢谢啦。最佳答案给你了,一会我试试去。
是不是就把这一段 ...

我一直用的是这个,应该不会有问题的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-8 07:47 , Processed in 0.055164 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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