15.2.2 液晶显示控制驱动器功能说明

下面以内建简体中文字型库的ST7920-GB芯片为例,介绍液晶显示控制驱动器的功能以及字符、汉字和图形等的显示操作。

1.基本读写操作

ST7920包含两个8位的寄存器,一个是指令寄存器(IR);另一个是数据寄存器(DR)。ST7920的读写操作主要通过这两个寄存器来实现。其中,通过指令寄存器(IR)可以实现不同的液晶显示操作;通过数据寄存器(DR)可以读取芯片内DDRAM/CGRAM/GDRAM以及IRAM的值。ST7920包含RS引脚和RW引脚,通过RS和RW的引脚状态可以选择不同的读写模式,如表15.1所示。

15.2.2 液晶显示控制驱动器功能说明 - 图1

对于待存取目标RAM的地址,也可以通过指令命令来选择。每次数据寄存器DR的操作应以上次选择的目标RAM为主体来进行读出或写入。

2.忙碌标志(BF)

忙碌标志(BF)用于表示ST7920指令是否执行完毕,是否可以接收新的指令。

❑当忙碌标志(BF)为“1”时,表示内部操作正在进行,即处于忙状态而不接收新的指令。❑当忙碌标志(BF)为“0”时,表示可以接收新的指令。

一般来说,任何指令都需要一定的时间来处理,每个指令的处理时间不相同。ST7920只有前面一条指令执行完毕后,才可以执行下一条指令。因此,每次输入新指令前,都要读取BF标志,只有当其为“0”时才可输入新指令进行执行。

3.中文字型ROM(CGROM)

ST7920的中文字型ROM提供了8192个16×16点的中文字型图像,它使用两个字节来提供字型编码选择,把将要显示的字型码写入DDRAM中,硬件将自动依照编码从CGROM中提取将要显示的字型并将其显示在液晶屏幕上。

4.半宽字型ROM(HCGROM)

ST7920提供了128个16×8点的数字符号图像,它使用两个字节来提供字型编码选择,把将要显示的字型码写入DDRAM中,硬件将自动依照编码从HCGROM中提取要显示的字型,并将其显示在液晶屏幕上。16×8半宽字型符号表,如图15.4所示。

15.2.2 液晶显示控制驱动器功能说明 - 图2

图 15.4 16×8半宽字型符号表

5.自定义字型RAM(CGRAM)

ST7920提供了4组16×16点的自定义字型RAM(CGRAM),用于设置自定义的字型或图

像。用户可以将内部没有提供的图像字符自行定义到CGRAM中,然后便可以和CGRAM中定义过的一样通过DDRAM显示在液晶屏幕上。

6.图标RAM(IRAM)

ST7920提供了256点的ICON图标显示,它分别由16组的IRAM地址来组成,每一个IRAM地址由16个位构成。ICON RAM的地址、数据及Segment接脚对应关系,如图15.5所示。

每次写入一组IRAM时,需要先指定IRAM的地址,然后通过连续写入两个字节的资料来完成,先写入高字节(D15~D8),再写入低字节(D7~D0)。

15.2.2 液晶显示控制驱动器功能说明 - 图3

图 15.5 ICON RAM的地址、数据及Segment接脚对应关系

7.显示数据RAM(DDRAM)

ST7920提供了64×2位的显示数据RAM空间(DDRAM),其最多可以控制4行,每行16个字,共64个字的中文字型显示。当向ST7920写入显示数据RAM时,可以分别显示半宽的HCGROM字型、CGRAM字型以及中文CGROM字型。3种字型的选择由DDRAM中写入的编码来完成,下面分别作如下所示的介绍。

❑显示半宽字型:将8位的数据资料写入DDRAM中,范围为02~7FH的编码。

❑显示CGRAM字型:将16位的数据资料写入DDRAM中,先写入高8字节(D15~D8),再写入低8字节(D7~D0)。总共有0000H、0002H、0004H、0006H 4种编码。

❑显示中文字型:将16位数据资料写入DDRAM中,先写入高8字节(D15~D8),再写入低8字节(D7~D0)。简体中文字型(GB)的范围为A1A0H~F7FFH的编码。

DDRAM数据(字元代码)、CGRAM地址以及CGRAM数据(显示图像)的关系,如图15.6所示。

8.绘图显示RAM(GDRAM)

ST7920提供了64×32个字节的记忆空间用作绘图显示RAM(GDRAM),最多可以控制256×64点的二维绘图缓冲空间。绘图显示RAM(GDRAM)用于液晶的图形显示,一般由扩充指令设定绘图RAM地址。

在更改绘图RAM时,由扩充指令设定GDRAM地址,整个绘图RAM的写入步骤如下。

(1)将垂直的坐标(Y)写入绘图RAM地址。

(2)将水平的坐标(X)写入绘图RAM地址。

(3)将高8位D15~D8写入到绘图RAM中。

(4)将低8位D7~D0写入到绘图RAM中。

GDRAM坐标地址与数据排列顺序对照表,如图15.7所示。

15.2.2 液晶显示控制驱动器功能说明 - 图4

图 15.6 DDRAM数据(字元代码)、CGRAM地址以及CGRAM数据(显示图像)的关系

15.2.2 液晶显示控制驱动器功能说明 - 图5

图 15.7 GDRAM坐标地址与数据排列顺序对照表

9.地址计数器(AC)

ST7920提供了地址计数器(AC),用来存储DDRAM/CGRAM/IRAM/GDRAM之一的地址。地址计数器(A C)可以由设定指令寄存器(I R)来改变,在读取或者写入DDRAM/CGRAM/IRAM/GDRAM的值时,地址计数器(AC)的值会自动加1。

当ST7920的RS引脚为0、RW引脚为1时,地址计数器(AC)的值会被读取到DB6~DB0中。

10.LCD驱动电路

ST7920提供了33个common以及64个segment信号线来驱动LCD面板。其中,segment数据

从CGRAM/CGROM转换存储到64位的segment串列中,当33个common中的一个输出时,相对应的segment数据将从64位的串列输出到segment驱动电路。

11.硬件游标/闪烁控制电路

ST7920提供了硬件游标/闪烁控制电路,可以由地址计数器(AC)的值来指定DDRAM中的游标位置或游标闪烁的位置。