
摘要:文章介绍了内置SED1520图形液晶显示模块MGLS-12032的特点和工作原理,给出了MGLS-12032与8031单片机的接口电路,介绍了SED1520的指令集,并结合具体实例给出了显示模块的相关程序。
关键词:图形显示 液晶 单片机 SED1520 MGLS-12032
1 SED1520功能特点
SED1520是集行、列驱动器和控制器于一体的液晶显示控制驱动器,可广泛用于小规模液晶显示模块,例如香港精电公司的MGLS-12032、MGLS10032等。
SED1520液晶显示驱动器具有以下特性:
●内置显示RAM区,RAM容量为2560位。RAM中的1位数据控制液晶屏上一个点的亮灭状态:“1表示亮”,“0”表示不亮。
●具有16个行驱动口和61个列驱动口。
●可直接与80系列或68系列微处理器相连。
●驱动占空比为1/16或1/32。
●可以与SED1520配合使用,以便扩展列驱动口数目。
1.1 SED1520主要参数
SED1500的主要电参数如表1所列。
表1 SED1520的主要参数
表2 SED1520的时序特性参数
1.2 SED1500的读/写操作时序
SED1520有两种读/写操作时序,分别对应于6800系列和8080系列MPU。图1给出了8080系列MPU的读/写操作时序。其数据的写入或读出是在WR或RD的下降沿进行。表2所列是SEWD1520的时序特性参数。表中参数的单位为ns。
1.3 SED1520的指令系统
●读状态字
当SED1520处于“忙”状态时,除了读状态指令外,其它指令均不起作用,因此在访问SED1520时,都要先读状态,判断是否“忙”。读状态的格式如下:
●复位
该指令为软件复位指令,执行该指令后,显示起始行置为第0行,列地址置为0,页地址置为3。其复位格式如下:
●显示起始行设置
该指令设置了对应显示屏上首行的显示RAM中的行号。有规律的修改该行号,可实现滚屏功能。
格式如下:
●ADC选择指令
该指令用来设置列驱动输出端与液晶显示屏的列驱动线的连接方式。一般设置为ADC=0。该指令的格式如下:
●显示开/关指令
下面是显示开/关指令的格式:
其中D0=1为开显示;D0=1为关显示。
该指令不影响RAM的内容显示。
●设置页地址
页地址的设置格式如下:
●设置列地址
一般情况下,显示RAM被分成四页,每页80个字节,当设置了页地址和列地址后即可确定显示RAM中的唯一单元,该单元由低到高的各个数据位对应于显示屏上某一列的8行数据位。列地址的设置格式如下:
●占空比选择
在选择占空比时,如果D0=0,则选择的占空比为1/16,D0=1为1/32。当驱动32行液晶显示时,应使D0=1;驱动16行时,应使D0为0。
●写数据
写数据格式如下:
●读数据
读数据格式如下:
2 液晶显示模块的结构特点
MGLS12032是一个120×32的点阵模块,由SED1520来驱动,两个SED1520都使用60个列驱动口(SEG0-SEG59)。表3所列是MGLS12032的接口端口与和管脚。图2所示是MGLS12032的内部逻辑电路图。
表3 MGLS12032接口端口号和管脚
3 MGLS12032接口电路设计
本系统采用MGLS-12032液晶显示器模块和SED1520液晶显示驱动器直接与8位微处理器相连,使用简单方便。液晶显示模块MGLS12032与单片机的接口电路如图3所示。其中D0~D7与单片机的数据线相连,液晶显示器通过A15和A14来选中,A14和A15是由单片机通过74LS138译码器来连接的。RD和WR与单片机的RD和WR相连接。
4 字符显示
SED1520是显示RAM是以一行八列的形式写入的,它所需的字库数据格式如图4所示,构成“6”字的字模为如下8个字节:00H 00H 00H 0FFH 91H 91H 91H 0F3H。
以上的八个字节均是以每到最下面一位作为MSB,最上面一位作为LSB,这是SED1520建立字模所要求的。
SED1520中的RAM共有32行,分为4页,每页8行,这样每页可以写一行字符,总共可以写4行字符。RAM一页有80个字节,而MGLS12032使用了60个字节。如果按8×8点阵字符划分显示屏区域,则可把MGLS12032的显示屏分成15×4个字符块,其中每行第八个字符在SED1520(1)和SED1520(2)上各占四个字节,并由程序来控制两个芯片RAM区的转换。
本测试仪采用16×16点阵汉字,液晶显示器显示一个16×16点阵需要送进32个字节,因此必须将其送入两缓冲区中的相对列中。该系统将汉字显示设置成两页,每一页的字符块写入字模数为16,当16个字模写完后,再转入下一页写入剩下的16个字模。汉字显示也存在中间结合部的处理问题,其处理方法与字符型的基本相同。即把MGLS12032屏分成7×2个汉字块。
图5所示是MGLS12032液晶显示屏的结构分布示意图。其中每行第四个汉字在SED1520(1)占12个字节,在SED1520(2)占四个字节,在编程时要转换两个芯片的RAM区。
5 汉字字模提取和显示程序
通过编制简单C程序(程序略),可以从计算机汉字字库内提取的汉字数组格式正好与SED1520的RAM格式相差90度。所以在提取汉字字模时要先旋转90度,才能在显示器上显示出正常格式。由于MGLS12032显示屏分为两页SED1520(1)和SED1520(2),所以显示程序应有两种,这两种程序除相关的地址不同外,其余均相同。SED1520(1)的显示子程序如下:
(1)写指令代码子程序
PRO:PUSH DPL
PUSH DPH
MOV DPTR,#SRADD1 ;设置读状态字地址
PR01:MOVX A,@DPTR ;读状态字
JB ACC.7,PR01 ;判忙标志为0否?
MOV DPTR,#SWADD1 ;设置写指令代码地址
MOV A,COM ;取指令地址
MOVX @DPTR,A ;写指令地址
POP DPH
POP DPL
RET
(2)写显示数据子程序
PR1:PUSH DPL
PUSH DPH
MOV DPTR,#CRADD1:设置读状态地址
PR11:MOVX A,@DPTR ;读状态字
JB ACC.7,PR11 ;判忙标志为0否?
MOV DPTR,#DWADD1 ;设置写显示数据地址
MOV A,DAT ;取数据
MOVX @DPTR,A ;写数据
POP DPH
POP DPL
RET
(3)读显示数据子程序
PR2:PUSH DPL
PUSH DPH
MOV DPTR,#SRADD1 ;设置读状态字地址
PR21:MOVX A,@DPTR ;读状态字
JB ACC.7,PR21 ;判忙标志为0否?
MOV DPTR,#DRADD1 ;设置读显示数据地址
MOVX A,@DPTR ;读数据
MOV A,DAT ;存数据
POP DPH
POP DPL
RET
(4)初始化程序
INT:MOV COM,#0E2H ;复位
LCALL PR0
LCALL PR3 ;SED1520(2)的写指令代码
MOV COM,#0A4H ;关闭等待状态
LCALL PR0
LCALL PR3
MOV COM,#0A9H ;设置1/32占空比
LCALL PR0
LCALL PR3
MOV COM,#0A0H ;正向排序设置
LCALL PR0
LCALL PR3
MOV COM,#0C0H ;设置显示起始行为第一行
LCALL PR0
LCALL PR3
MOV COM,#0AFH ;开显示设置
LCALL PR0
LCALL PR3
6 应用实例
暂无评论哦,快来评论一下吧!
