930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 8105|回复: 1

12864液晶模块单个汉字反白显示

[复制链接]

27

主题

72

帖子

384

积分

版主

Rank: 7Rank: 7Rank: 7

积分
384
发表于 2016-10-9 11:33:15 | 显示全部楼层 |阅读模式
本帖最后由 飞宇 于 2016-10-9 11:42 编辑

12864液晶模块自身的指令只能进行整行反白显示,但是实际使用的时候,我们经常需要对单个汉字进行反白,这时候就可以使用绘图的方式进行反白显示。具体过程如下:
1.取字模。
2.清除需要反白的显示区域。
3.将字模数据取反写入到显示的位置。
显示效果图反白显示程序清单:

  1. /***************************************************************************
  2. * 描  述 : 使用绘图的方法显示一个16*16的汉字,具备反白功能。注意参数不要超限。
  3. * 参  数 : row[in]:行,范围1~4
  4. *        :column[in]:列,范围1~7  
  5. *        :color[in]:反白标志。=1:反白显示;=0:不反白
  6. *        :*pdat[in]:指向待显示的汉字字模数组
  7. * 返回值 : 无
  8. **************************************************************************/
  9. void LCD_DrawHZ1616(uint8 row,uint8 column,uint8 color,uint8 *pdat)
  10. {                  
  11.     uint8 i,j,xpos,ypos;
  12.    
  13.     Write_Cmd(0x36);        //扩展指令,绘图模式命令,开显示也可以绘.(关图片显示0x34)
  14.    
  15.     if(row==1 || row==2)      //第1行和第2行位于上半屏
  16.     {
  17.         xpos=0x80;      
  18.         ypos=(row-1) * 16;    //垂直位址从0X80开始.
  19.     }
  20.     if(row==3 || row==4)      //第3行和第4行位于下半屏
  21.     {
  22.         xpos=0x88;      
  23.         ypos=(row-3) * 16;    //垂直位址都是从0X80开始的,不管上下半屏。
  24.     }
  25.     for(i=0;i<16;i++)   
  26.     {                                                           
  27.         Write_Cmd(0x80+ypos+i);    //写入垂直位址。
  28.         Write_Cmd(xpos+column-1);  //再写入水平位址(上半屏第一字为0X80,……第七字为0X87)
  29.                                    //下半屏第一字为0X88,……第七字为0X8F;
  30.         for(j=0;j<2;j++)           //再写入两个8位元的数据,AC会自动增一,接着写数据
  31.         {
  32.             if(color==1)Write_Data(~(*pdat++));         
  33.             else Write_Data(*pdat++);      
  34.         }
  35.     }   
  36.     Write_Cmd(0x30);  //恢复成基本指令集
  37. }
复制代码






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

4

主题

46

帖子

208

积分

中级会员

Rank: 3Rank: 3

积分
208
发表于 2016-10-11 21:12:13 | 显示全部楼层
不错,正好需要,谢
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

Copyright © 合肥艾克姆电子科技有限公司
快速回复 返回顶部 返回列表