打印

关于12864液晶画点读写操作,求帮忙

[复制链接]
2174|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cr315|  楼主 | 2021-10-26 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面函数里面的
[Col_Low = (Start_Column&0x0f);        //定位列地址设置的低位
Col_High = ((Start_Column>>4)&0x0f)+0x10;//定位列地址设置的高位
Start_Page =PAGE_BASE_ADDR+Start_Page;        //获得真实起始页地址

这几句话的意义是什么?具体意思是什么?表面的意思是Start_Column的低位值赋给Col_Low。而Start_Column的右移4为,为高位值赋给Col_High,为什么还要加0X10?这个查找高低位在液晶显示里面起到什么作用?(开辟地址空间?不像。)而后面又有使用这两个值的,如:
     LCM_Write_Command(Page); // 选择大列
    LCM_Write_Command(Col_High); // 写入起始行地址高四位
    LCM_Write_Command(Col_Low); // 写入起始行地址低四位
求帮助。具体函数如下。
void LCM_put_BMP(unsigned char Start_Page,
                  unsigned char Start_Column,
                  const unsigned char Buffer[],
                  unsigned char Width,unsigned char Height)
{
  unsigned char Column,Page;
  unsigned int tmp=0;
  unsigned char Col_Low=0,Col_High=0; //定义列地址的高低位指令
  unsigned char End_Page=0,End_Column=0; //定义结束页地址、列地址
  if(Start_Page>MAX_PAGE)
      return; // 参数不合法,不绘图,直接返回
  if(Start_Column>MAX_COLUMN)
      return; // 参数不合法,不绘图,直接返回

  End_Page=Start_Page+(Height>>3);
  if(End_Page>MAX_PAGE+1)  // 防止绘图时溢出
     End_Page=MAX_PAGE;

  End_Column=Start_Column+Width;
  if(End_Column>MAX_COLUMN) // 防止绘图时溢出
     End_Column=MAX_COLUMN;

        Col_Low = (Start_Column&0x0f);        //定位列地址设置的低位
        Col_High = ((Start_Column>>4)&0x0f)+0x10;//定位列地址设置的高位

        Start_Page =PAGE_BASE_ADDR+Start_Page;        //获得真实起始页地址
  End_Page = PAGE_BASE_ADDR+End_Page;        //获得真实结束页地址
  for(Page=Start_Page;Page<end_page;page++)  
   {
    LCM_Write_Command(Page); // 选择大列
    LCM_Write_Command(Col_High); // 写入起始行地址高四位
    LCM_Write_Command(Col_Low); // 写入起始行地址低四位
    // 每次循环列地址自动加一,所以不用重新设置列地址
    for(Column=0;Column<(End_Column-Start_Column);Column++)
         {  //获得显示内容在数组中的偏移量
      tmp=(Page-Start_Page)*Width+Column;
      tmp=Buffer[tmp];  //获得显示内容
      LCM_Write_Data(tmp); //每列写一个字节,对应点0灭,1亮
    }
  }
}</end_page;page++)  

使用特权

评论回复
沙发
MianQi| | 2021-10-28 21:24 | 只看该作者
查一下12864的Data Sheet,看里边是怎么说地。另外,粘贴代码不要用文本,用“代码”格式。发帖窗口的菜单栏里有按键入口。

使用特权

评论回复
板凳
pixhw| | 2021-11-3 13:49 | 只看该作者
直接划线就行了。        

使用特权

评论回复
地板
sdlls| | 2021-11-3 13:49 | 只看该作者
楼主遇到了什么问题呢   

使用特权

评论回复
5
febgxu| | 2021-11-3 13:49 | 只看该作者
12864液晶画点读写操作难吗

使用特权

评论回复
6
xiaoyaodz| | 2021-11-3 13:49 | 只看该作者
把程序复制完整一点。  

使用特权

评论回复
7
fentianyou| | 2021-11-3 13:49 | 只看该作者
这个不是图形吗  

使用特权

评论回复
8
selongli| | 2021-11-3 13:50 | 只看该作者
灰色的图片吗   

使用特权

评论回复
9
minzisc| | 2021-11-3 13:50 | 只看该作者
只用过在彩色tft上划线了。  

使用特权

评论回复
10
lzmm| | 2021-11-3 13:50 | 只看该作者
看看51单片机,有相关操作的。   

使用特权

评论回复
11
hudi008| | 2021-11-3 13:50 | 只看该作者
使用gui了吗   

使用特权

评论回复
12
kkzz| | 2021-11-3 13:50 | 只看该作者
lvlg可以实现这个功能。

使用特权

评论回复
13
febgxu| | 2021-11-3 13:50 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1352

主题

3960

帖子

0

粉丝