LCD1602自定义点阵字符详解

显示光电

90人已加入

描述

  CGRAM 1602能存储8个自定义字符,这8个自定义字符存储空间的首地址分别是:0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78。以0x40来说,它的存储空间如图所示

  :

  如果使用5*7字符的话,那么最左3位和最后一行的数据实际上是没用的,通常置0。如果要自定义一个℃符号,那么先填框,如图(红1白0)

  使用时先把这些编码填充到CGRAM

  

  随便用8*8取模软件画了两个字符下面为示例代码

  #include 《reg51.h》

  #include 《string.h》

  #include 《intrins.h》

  #define uint unsigned int

  #define uchar unsigned char

  #define Data P0 //数据口

  sbit en=P2^2; //E脉冲控制信号端口

  sbit rs=P2^0; //命令控制端口

  sbit rw=P2^1; //读写控制口

  uchar t_code1[]={0x15,0x1F,0x04,0x04,0x1C,0x11,0x1F,0x00};//自定义的一个5*7点阵 截图里的编码

  uchar t_code2[]={0x15,0x1F,0x04,0x00,0x04,0x1F,0x15,0x00};

  void read_sta() //读状态

  {

  uint j=1000;//超时变量

  Data=0x80;

  rs=0; //rs=0 rw=1 E=1 读状态

  rw=1;

  en=1;

  while((Data&0x80)&&j--)_nop_();//忙则等待一个nop大概1us配合上面的j=1000 做1ms超时判断

  en=0; //en拉低

  }

  void write_com(uchar com)

  {

  read_sta(); //读忙信号

  rs=0; //写命令rs=0 写数据rs=1

  rw=0; //写rw都为0

  Data=com; //把要写的数据放到数据口

  en=0; //E一个正脉冲写一个数据 所谓一个正脉冲就是指E从0-》1-》0的一个低高低的变换 所以这里先拉低en=0

  en=1;

  en=0;

  }

  void write_data(uchar date)

  {

  read_sta();

  rs=1; //rs=1写数据

  rw=0;

  Data=date;

  en=0; //同上

  en=1;

  en=0;

  }

  void lcd1602_init()

  {

  write_com(0x38); //8位数据口,两行显示,5*7点阵字符

  write_com(0x0c); //无光标不闪烁

  write_com(0x06); //读写指针加1屏幕不移动 0101

  write_com(0x01); //清屏光标返回00H位置

  }

  void main()

  {

  uchar flag=0,off_on=1,i;

  lcd1602_init();

  for(i=0;i《8;i++)

  {

  write_com(0x40+i); //地址 0x40-0x78 8个对应一个字符

  write_data(t_code1[i]);

  }

  for(i=0;i《8;i++)

  {

  write_com(0x78+i); //地址 0x40-0x78 8个对应一个字符 写第八个字符

  write_data(t_code2[i]);

  }

  for(i=0;i《16;i++)

  {

  write_com(0x80+i); //一行

  write_data(0x00); //0x00是第一个

  }

  for(i=0;i《16;i++)

  {

  write_com(0x80+0x40+i); //第二行

  write_data(0x07); //0x07是第第8个因为是从0开始

  }

  while(1)

  {

  }

  }

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
白色风车Grady 2019-03-27
0 回复 举报
高通中外文点阵字库IC,支持全世界170多国家的语言,全国唯一字库IC原厂,可加Q2850929208黄工索取资料 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分