基于51单片机的汉字LCD智能显示模块设计

09-08| http://www.dianzi6.com | 维修教程知识 - 单片机学习|人气:968

基于51单片机的汉字LCD智能显示模块设计

 引言

  在电子产品设计中,人机交互显示界面是必不可少的工作,目前一般使用的液晶显示器均为七段笔划式,只能显示数字和少量字符,功能往往受到局限,对于较复杂的字符或图形则无能为力。而lcd智能型显示模块则是一种低功耗、低损耗、低价值的显示器件,它不但可以显示各式各样的字符、汉字和图形,同时具有可编程能力,且与单片机接口方便,基于以上优点,lcd智能显示模块获得了广泛的应用。

  系统组成

  本系统主要由三部分组成,分别为单片机,lcd模块和flash字库,图1所示是该系统的硬件原理框图,由于显示所需要占用的资源过多(本设计采用的是16×16点阵,每个汉字存储需要32个字节),而单片机内部ram资源及其有限,所以系统设计时有必要扩展—flash存储器,i2c接口主要负责通讯,该接口具有通讯速度较快,器件之间电气部分设计较好等特点,可以使接口部分达到设计标准。

 基于51单片机的汉字LCD智能显示模块设计

  汉字的显示原理

  汉字一般是以点阵式存储的,如16×16,24×24点阵,汉字的字模其实是汉字字形的图形化,所谓16点阵字模,就是把汉字写在一个16×16的网格内,汉字的笔划通过某网格时该网格就对应1,否则该网络对应0,这样,每一网络均对应1或0,把对应1的网格连起来看,就是这个汉字,汉字就是这样通过字节表示其点阵存储在字符字库中的,为了方便查找所需汉字的点阵,每个汉字都与一个双字节的内码一一对应,通过汉字的内码可以计算出它的点阵起始字节。现以16点阵为例来进行说明,首先,可由内码计算出他在汉字库中的区位码,其计算公式为:

  bq=bn1-160

  bw=bn2-160

  式中,bq表示区码,bw为表示位码,而bn1和bn2则分别表示内码的第一字节和内码的第二字节。

  当这些区位码被计算出来之后,就可以用区位码得到它在汉字库中字模第一个字节的位置,即:

  (bq×94+bw)×32

  这样,接下来就可以向连续读出由32个字节组成的该字的点阵数据。

  主要器件介绍

  ◇ 显示模块lm12864

  lm12864是内置了hd61202u控制器的128×64点阵式液晶显示器,lm12864的显示区域被分为左右两个区,均为64×64大小,左右区的选择由csa和csb的组合来决定,当csa、csb的组合为01时,选择左区,当二者的组合为10时,选择右区,二者组合为00或11时均无效,lm12864内置的hd61202u为一可编程器件,通过对hd61202u控制器的编程可以实现液晶显示器的各种功能,所有显示功能均可由指令控制实现,本系统共有7条指令。

  ◇ flash存储器

  串行flash存储器以其体积小、密度高、功耗低、操作易而备受青睐,本文简单介绍了megawin公司生产的flash存储器mm36sb020e,mm36sb020e为2m×8bit串行flash,大小为256kbyte,接线方式可采用2线和3线制,器件的忙判断可以由内部的状态寄存器来判断,也可以通过外部引脚busy来判断,可以说,该flash不仅操作十分简单,并且可以适用于多个设计方案。

www.dianzi6.com

  通常可以把汉字库放在flash里,典型的汉字库可选用ucdos下的字库,(如16点阵字库hzk16),但需要256kb空间,读取也很不方便,鉴于实际应用中需要的汉字非常少,因此可以自己制作小的汉字库,在这个小字库里只包含系统需要的汉字, 需要显示某个汉字时,先算出它的区位码,再求出点阵起始位置,接着从flash中顺序调出该字的点阵数据并存在缓冲区里,最后依次送往lcd显示,以描出该字。

  软件设计

  ◇ 字库制作和维护软件设计

  汉字库可存储在2线串行存储器mm36sb020e中,该存储器分为2048页,每页为128字节的存储单元,且带有128个字节的缓冲区,它有严格的时序和规定的命令格式,操作时可以通过其特有缓冲区(128字节)对其内部进行读或写,器件的智能显示接口模块通过i2c通讯接口从外部获取汉字点阵库的源数据,并根据汉字的区位码确定其点阵信息在汉字库中的存放位置,接着把存储器的点阵信息整页读出到缓冲区进行修改,最后再写入存储器,操作结束时,应清除新指令标志以免重复响应,字库制作与维护的流程如图2所示。

 基于51单片机的汉字LCD智能显示模块设计

  ◇ 显示软件设计

  lm12864中的显示区共有64行,分为8页,每页8行,这样就必须向两页中的对应列送数据,实际上,在写每个汉字时,一般先取字模的上16个字节并将其写在一页中,再将字模的下16个字节写在下一页中即可。共显示流程如图3所示。

基于51单片机的汉字LCD智能显示模块设计 

  结束语

  本文所介绍的这种lcd智能显示模块不但能够显示数据,也能够显示中文文字和图形,其显示效果远远超过数码管;随着其价格的不断下降,该模块无疑将被越来越多的智能系统所采用。

如果觉得 基于51单片机的汉字LCD智能显示模块设计这篇文章不错,可以推荐给朋友分享哦。
本文Tags:单片机开发,单片机原理,维修教程知识 - 单片机学习,
相关单片机学习资料


温馨提示; 本站的资料全部免费下载,为方便下次找到本站记得将本站加入收藏夹哦,牢记网址http://www.dianzi6.com

此页提供基于51单片机的汉字LCD智能显示模块设计单片机开发,单片机原理, 维修教程知识 - 单片机学习参考。本站还有更多的单片机学习相关资料分享。
Copyright© www.dianzi6.com Inc. All rights reserved 。 1 2 3 4 5 6 7 8