引言
在电子产品设计中,人机交互显示界面是必不可少的工作,目前一般使用的液晶显示器均为七段笔划式,只能显示数字和少量字符,功能往往受到局限,对于较复杂的字符或图形则无能为力。而lcd智能型显示模块则是一种低功耗、低损耗、低价值的显示器件,它不但可以显示各式各样的字符、汉字和图形,同时具有可编程能力,且与单片机接口方便,基于以上优点,lcd智能显示模块获得了广泛的应用。
系统组成
本系统主要由三部分组成,分别为单片机,lcd模块和flash字库,图1所示是该系统的硬件原理框图,由于显示所需要占用的资源过多(本设计采用的是16×16点阵,每个汉字存储需要32个字节),而单片机内部ram资源及其有限,所以系统设计时有必要扩展—flash存储器,i2c接口主要负责通讯,该接口具有通讯速度较快,器件之间电气部分设计较好等特点,可以使接口部分达到设计标准。
汉字的显示原理
汉字一般是以点阵式存储的,如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不仅操作十分简单,并且可以适用于多个设计方案。