|
摘 要 本文以基于SED1330液晶显示控制器的点阵液晶显示模块为例,介绍了点阵液晶显示屏中的汉字显示方法,给出了点阵液晶显示模块与8051单片机的具体硬件连接电路,并就图形显示方式和文本显示方式给出了子程序流程图。
关键词 SED1330 液晶显示屏 液晶显示模块 8051
0 前言
液晶显示模块可分为字符型液晶显示控制模块和图形液晶显示控制模块,字符型液晶显示控制模块是一类专用于显示字母、数字、符号等的点阵型液晶显示模块,这类模块的应用范围仅局限于字符而显示不了图形。图形显示模块不但可以实现字符的显示,还可以显示图形,因而应用更为广泛。目前可作为图形液晶显示模块配套的控制器种类很多,有东芝的T6963C、日立的HD61830、精工的SED1330等,而SED1330是同类中功能最强的控制器之一,在各种点阵显示模块中得到了广泛的应用。因此,掌握SED1330的原理及其应用显得十分必要。
TRULY公司的MSP-G320240DBCW-6N和MSP-G320240DBCW-7N均是基于SED1330的320×240点阵液晶显示模块,这两款模块的命令集和外部引脚的定义完全相同,因此,在硬件设计和软件设计方面可以做到完全兼容,可以很容易的实现软硬件的移植工作。本文将基于MSP-G320240DBCW-7N模块进行软硬件设计。
1 SED1330特性介绍
1.1 SED1330的特点
SED1330特点:具有功能较强的I/O缓冲器、指令丰富、可实现多种方式的文本图形显示;数据部分采用并行四位发送,最大可以驱动640×256点阵液晶显示屏[1]。
SED1330功能较强的I/O缓冲器主要体现在两个方面:(1) SED1330与MPU的接口部具有高性能的缓冲器,其作用是随时准备接受MPU的访问并即时地把MPU送来的指令及参数或数据在控制器内部时序工作周期内就位。这种功能使得在操作SED1330时可以不必判别状态位BF。 (2) SED1330 不仅适用于8080系列MPU接口, 也适用于M6800系列MPU接口, 它在接口部设置了SEL1、SEL2 两个引脚, 作为MPU的接口功能的转换设置。
1.2 用SED1330实现汉字显示的原理
1.2.1 点阵式液晶屏的汉字显示原理
点阵式液晶显示屏显示汉字有两种方式:一种是在文本方式下显示汉字,另一种在图形方式下显示汉字,两种显示方式下显示RAM(VRAM)内每个字节的数据对应不同的显示内容。
在文本方式下显示汉字时,需要在SED1330的VRAM内建立一个自定义字符器CGRAM,在相应的显示单元写入待显示汉字的字符代码,字符代码作为字符发生器地址的一部分实现对字符发生器的寻址,取得相应的字符字模数据,送至液晶显示驱动系统显示[2]。SED1330的基本字符块对应可设为8x8或8×16点阵的字符块,当设为8×8点阵时,一个16×16点阵的汉字需要四个8x8点阵的基本字符块组合显示,所以此时建立汉字CGRAM 时,需要四个字符代码管理一个汉字,一般是按左上部,左下部,右上部和右下部四部分分配代码。
在图形方式下显示汉字时, 其汉字库是建立在系统程序区内, 由程序逐字节地向图形显示区相应单元写入(一般将16×16点阵汉字分为左右两部分写入,若是24×24点阵,则分为左中右三部分写入),在图形显示区单元的数据被认为是8点位的显示数据,直接送入液晶显示驱动系统显示出相应的汉字。利用图形方式显示汉字,其最大优点在于字型大小可变。
1.2.2 SED1330内部字库特性
SED1330内的固定字符发生器(CGROM)中固化有160种字符(5×7点阵)其字符代码为20H-7FH(与ASCII码对应),A0H-DFH(日文),由于内部硬件译码电路的原因,SED1330仅能处理8位二进制字符代码即最多只能有256个字符代码,所以SED1330留给用户使用的字符代码只能为80H-9FH(CGRAM1),E0H-FFH(CGRAM2)。当CGRAM与内部CGROM联用,字符代码为80H-9FH时,SED1330自动到CGRAM1寻址,提取相应的字模数据,字符代码为E0H-FFH时,SED1330自动到CGRAM2寻址,当两个字符发生器联用时由于字符代码不连续,导致他们对应的字模在显示缓冲区内的地址不连续,考虑到这一点SED1330控制部采用了40H异或电路,使E0H-FFH范围内的代码经异或电路后产生新的代码A0H-BFH,由此使其与自定义数据区CGRAM1的地址连接起来。CGRAM可以在显示存储器内任意区域建立。若要使用CGRAM的方式显示16×16点阵的汉字,由于字符代码的限制,最多只能显示16个汉字,所以文本方式对于一些待显汉字较多的仪表不太适合。
2 SED1330控制器与单片机接口设计
MPU可以利用两种方式对SED1330进行访问,一种是直接访问方式: MPU通过数据总线和控制信号采用I/O访问形式控制SED1330;另一种是间接访问方式:MPU通过并行口间接实现对SED1330的控制,此时需要一个8位的并行接口作数据口及一个4位的并行口作控制口。图1为MSP-G320240DBCW-7N与8051硬件连线图,图中8051采用直接方式访问SED1330[3],由于此时的MPU是8051,所以将SEL1、SEL2 两个引脚置低电平(MPU为68系列时,SEL1=1、SEL2=0),另外,通过8051的P2.0脚控制A0完成输入缓冲器的选择(A0=1时输入命令,A0=0时输入数据)。LCM所需的21V负电压由逆变器提供。
3 汉字显示的软件设计
3.1 SED1330指令集[1]
SED1330带有13条指令,其中多数带有参数,通过不同的参数配置可以满足不同的显示需求。SED1330的指令集如表1所示
表1 SED1330指令集(略)
3.2 合成显示方式设置
通过设置合成显示方式, 可以实现字符图形混合显示, 字符文本特征显示, 闪烁显示以及滚屏等显示效果。单屏结构(第四显示区无效)时有两种合成显示方式:一种是二重合成显示,另一种是三重合成显示。合成显示方式按层而不是按显示区进行设置(同一层上的不同显示区不能与另一层设置为不同的合成显示方式)。第一层可以设为文本方式或图形方式,第二层和第三层均只能被设置为图形方式,当第一层设为文本方式时,第三层无效。第二显示区和第四显示区只能设为图形方式,不考虑单双屏结构,第一显示区和第三显示区必须设为相同的方式。如果需要将文本方式和图形方式合成显示,则只能设置为二重合成显示方式,因为此时若用三重合成显示方式将第一层设为文本方式,第三层是无效的。
综上所述,若要文本和图形混合显示,则只能设为二重合成显示;若设为三成合成显示,则只能用于图形方式。双屏结构下四个显示区同时参加二重合成显示时,一二显示区位于上半屏,三四显示区位于下半屏,并且此时一三显示区合成为第一层,二四显示区合成为第二层。
3.3 软件程序设计
为了使液晶屏能够正常工作,我们利用初始化设置命令,在软件设计时对显示屏初始化如下:液晶显示驱动系统为单屏结构,选用内部字符发生器,字符发生器的字体为8×8,字符体宽度为8列/字符体, 字符体高度为8行/字符体, 显示屏上一个有效显示行所占显示存储器的单元数为40个字节, 显示屏的帧扫描频率约为70Hz,每帧扫描240行,显示屏上一个显示行所占显示存储器的单元数为40个字节,另外,要对各显示区的起始地址及一、二区所控制的显示屏行数进行有效的设置,由于320*240点阵整屏的点象素为76800,也就有9600个字节,所以我们的测试程序定义图形显示方式每区为10K字节,文本显示方式每区为2K字节。
4 结语
实践证明基于SED1330控制器的液晶显示模块具有强大的显示功能,能够满足大部分智能仪器仪表的设计需要。考虑到文本方式下只能显示少量汉字,因此,当需要显示的汉字较多时,可以将汉字字库烧录在EPROM中,然后由汉字内码计算待显示汉字字模的首址,利用图形方式实现汉字显示。
参考文献
[1] TRULY MSP-G320240DBCW-7N databook revision 1.4,May 15, 2001
[2] 李维堤,郭 强. 液晶显示器件应用技术[M]. 北京:北京邮电学院出
版社,1993
[3] 李劲松,武培秀. 点阵液晶显示器汉字程序设计. 电测与仪表,2003
年第4期 |