1 基于T6369C控制器的图形液晶显示模块
在中规模图形式液晶显示模块中,内置T6963C控制器的液晶显示模块是目前较为常用的一种。该液晶显示模块由液晶显示控制器T6963C及其周边电路、行驱动器T6A40组、列驱动器T6A39组、液晶驱动偏压电路、显示存储器以及液晶屏组成。显示模块对外仅是一个20芯的双列扁平电缆接口。
对于使用内置T6963C控制器的液晶显示模块的用户而言,用户无需了解T6963C对液晶屏的显示驱动、点阵扫描、显示存储器管理等操作,这一切都由T6963C自动进行。用户需要了解的是T6963C各种数据/指令格式、显示存储器的区间划分和接口引脚的功能定义。对微处理器而言显示模块对外的接口与一片普通的I/O接口芯片(如8255A)类似,按引脚功能分别连接于微处理器的三大总线上即可。微处理器对T6963C的操作有四类共13条:一是读状态字指令(1条),在T6963C中有一个一字节的状态字,微处理器在对T6963C的每一次操作前都要读这个状态字并对其中的相应位加以判断,以决定是否可以对T6963C进行操作;二是设置指令(9条),该类指令用于设置显示的区域、方式及数据地址指针,设置光标的形状和数据的读写方式等;三是位操作指令(1条),该指令专用于对液晶屏上的像素(点)操作;四是数据的读/写指令(2条),该指令读/写的数据即为液晶屏上所显示的内容。
在液晶显示模块中配备有显示存储器(RAM),T6963C最大可控制64K。该存储器经设置指令设置(区域、方式)后,存储器中被设置的空间内的每一个"位"都与液晶屏上的一个像素(点)相对应,而"位"的二值性就表示液晶屏上像素是否"显现"。T6963C则将存储器中设置区域的内容不断地、扫描式地送向液晶屏,用户则通过显示模块对外的接口将需显示的"数据" 送入存储器中的设置区域即可。
2 T6963C控制器对显示存储器的分配和管理
液晶显示控制器的主要工作是将计算机写到显示存储器的数据以某种形式作为显示数据传给液晶显示驱动系统,该工作的功能强弱决定了控制器性能的优劣。T6963C控制器有两种形式将数据传给液晶显示驱动系统,两种形式转送的数据分别存放在两个不同的显示区中,即文本显示区和图形显示区或文本属性区。
文本显示区:用于文本显示方式。在此方式下文本显示区单元内的数据被控制部确认为是字符代码。一个字节的数据对应显示屏上的8×8点阵(像素)字符块。
图形显示区:用于图形显示方式。在此方式下图形显示区单元内的数据被控制部确认为是显示屏上对应点的显示状态。"1"表示显示,"0"表示不显示。一个字节的数据对应显示屏上l×8点阵(像素)条。
文本属性区:用于文本显示方式。该区单元内的数据被控制部确认为是相应文本显示区单元所显示的字符的显示特性,如正向显示、负向显示和闪烁显示等。
图形显示区和文本属性区被划定在同一片显示存储区中,使用这片显示存储区时只能是一种性质的显示存储区,即若作为图形显示区便无文本属性,反之亦然。
T6963C控制器对显示存储器的分区管理是由其控制部中的若干个参数寄存器的内容所控制的。一组是显示区的16位"起始地址"寄存器SAD,它确定了该显示区的首地址,这个地址对应着显示屏左上角(home)的显示位。一个是"显示字节数/行"寄存器C/R,它决定了在一行扫描时控制器要向驱动系统传输多少字节的数据。当这几个寄存器的内容确定下来,显示区各单元的地址与显示屏上显示像素的一一对应关系就确定下来,如下表所示。
像素坐标 |
0~7列 |
8~15列 |
16~23列 |
… |
(C/R-1)*8~(C/R-1)*8+7列 |
0行 |
SAD |
SAD+1 |
SAD+2 |
… |
SAD+ C/R-1 |
1行 |
SAD+ C/R |
SAD+ C/R+1 |
SAD+ C/R+2 |
… |
SAD+2* C/R-1 |
2行 |
SAD+2* C/R |
SAD+2* C/R+1 |
SAD+2* C/R+2 |
… |
SAD+3* C/R-1 |
: |
: |
: |
: |
: |
: |
n行 |
SAD+(n -1)* C/R |
SAD+(n -1)* C/R+1 |
SAD+(n -1)* C/R+2 |
… |
SAD+n * C/R-1 |
(注:若显示屏对应于文本显示区,则像素坐标的行数要乘以8。)
3 51系列单片机与内置T6963C控制器液晶显示模块的连接和使用
51系列单片机与内置T6963C控制器液晶显示模块接口的连接非常简单,可有两种方式:通过P0、P2口连接的称为直接访问方式;通过其它I/O口(如P1、P3或扩展I/O口)连接的称为间接访问方式。
单片机对显示存储器访问实质上都是通过T6963C控制器进行的,通常分两步进行:①送地址指针、②读/写显示数据(C/D="0"),或①送地址指针、②送操作指令(C/D="1")。单片机与T6963C控制器的每一次数据前都要进行T6963C控制器的状态判断。
在T6963C控制器内有一个有128个标准字符(数字、字母、符号)的字模库,点阵为8X5,根据引脚FS1的电位决定一个标准字符所占据的点阵数,FS1="0"为8X8;FS1="1"为8X6。T6963C控制器为每个标准字符都分配了一个一字节代码,如"A"的代码是"21H",它实质上就是字模库中字模的地址。
当单片机对显示存储器文本显示区的某个字符地址写入一个标准字符代码时,T6963C控制器就会以该代码作为字库的地址,从字库中取出一个8X8(或8X6)点阵的字模送往液晶显示的驱动单元。当单片机向显示存储器图形显示区的某个地址写入一个一字节数据时,T6963C控制器只是将该数据直接送往液晶显示的驱动单元,它表示液晶屏上对应于该存储器单元的8个像素的显示状态。当单片机要对液晶屏上的某一个像素操作时,在确定地址之后,只需向T6963C控制器送入位操作指令便可。
在内置T6963C控制器液晶显示模块中,T6963C控制器不断地将显示RAM中两个属性区的数据扫描式地送往液晶显示屏,其液晶显示"画面"是这两片属性区数据的合成结果,像数的合成逻辑有"与"、"或"和"异或"三种,由设置命令设置。