关键词:液晶模块;单片机;图形显示;C51
1 引言
在目前诸多的显示器件中,液晶显示器以其具有工作电压低、功耗低、显示信息量大、寿命长、不产生电磁辐射污染、可以显示复杂的文字及图形等优点,而在各种仪器仪表、电子设备、移动通讯及家用电器中得到了广泛的应用。本文介绍MGLS240128T图形液晶显示模块就是香港精电公司生产的、内藏T6963C控制器的液晶显示模块。
2 模块工作原理
2.1 基本功能
MGLS240128T图形液晶显示模块由控制器T6963C、列驱动器T6A39、行驱动器T6A40以及与外部设备的接口等几部分组成,它既能显示字符(包括中文和西文字符),又能显示图形,还能够将字符与图形混合显示。其主要参数如下:
●点阵数:240×128;
●点尺寸:0.4×0.4mm;
●视屏尺寸:114×64mm;
●汉字字体:8×8,8×6;
●背光:LED或EL;
●电源:+5V;
●工作温度范围:-20~ +70℃。
2.2 引脚功能
MGLS240128T图形液晶显示模块的引脚说明如表1所示。该模块对液晶显示的控制和驱动都由模块内部的芯片及电路来完成,因此它与外部的连接只有数据线和控制线。主控CPU通过这些数据线和控制线来设置所需要的显示方式,其它功能均由模块自动完成。
表1 MGLS240128T模块的引脚功能
管 脚 号 | 管 脚 名 称 |
功 能 描 述 |
1 | FG | 框架地 |
2 | GND | 电源地 |
3 | VCC | 电源电压 |
4 | NC | 未用 |
5 | WR | 写控制信号,低电平有效 |
6 | RD | 读控制信号,低电平有效 |
7 | CS | 片选信号,低电平有效 |
8 | C/D | 通道选通信号,C/D1为表示指令,C/D为0表示数据通道 |
9 | RST | 复位信号,低电平有效 |
10~17 | DB0~7 | 数据总线,三态 |
18 | FS | 字体选择,FS为0选择8×8字体,FS为1选择8×6字体 |
2.3 指令系统
MGLS240128T图形液晶显示模块本身内藏控制器T6963C,它的特点是具有独特的硬件初始设置功能,由于显示驱动所需的参数(如占空比系数、驱动传输的字节数/行以及字符的字体选择等)均由引脚电平来设置,因此T6963C的初始化在上电时就已基本设置完成。除此之外,它还具有很强的软件控制能力,也就是由主控CPU通过接口写入液晶模块的指令来实现模块控制。软件控制主要集中于显示功能的设置上。该模块的常用指令如表2所列。
表2 MGLS240128T模块的常用指令设置
指令名称 | 控制状态 | 指 令 代 码 | |||||||||
CD | RD | WR | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
读状态字 | 1 | 1 | 1 | S7 | S6 | S5 | S4 | S3 | S2 | N1 | S0 |
地址指令设置 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | N2 | N1 | N0 |
显示区域设置 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | N1 | N0 |
显示方式设置 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | CG | N2 | N1 | N0 |
显示状态设置 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | N3 | N2 | N1 | N0 |
光标自动读写设置 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | N2 | N1 | N0 |
数据自动读写设置 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | N1 | N0 |
数据读写设置 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | N2 | N1 | N0 |
屏读(一字节)设置 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
屏读(一行)设置 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 |
位操作 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | N3 | N2 | N1 | N0 |
数据写操作 | 0 | 1 | 0 | 数 据 | |||||||
数据读操作 | 0 | 0 | 1 | 数 据 |
3 液晶模块的应用
3.1 与单片机的接口连接
MGLS240128T液晶显示模块与计算机的接口时序采用Inter8080时序。下面以8031单片机为例说明其接口方法。它与单片机的接口方法分为直接访问方式和间接控制方式。
直接访问方式是把液晶模块作为存储器接在CPU的数据线、地址线和控制线上,同时把它的数据总线接在8031的P0口上,片选以及寄存器选择信号线由P2口提供,读写操作由单片机的读写操作信号控制。这种方式是以访问存储器的方式访问液晶显示模块,具体连接如图1(a)所示。
间接控制方式则不使用单片机的数据系统,而是利用它的I/O口来实现与显示模块的联系。即将液晶显示模块的数据线与单片机的P1口连接作为数据总线,另外三根时序控制信号线通常利用8031的P3口中未被使用的I/O口来控制。这种访问方式不占用CPU的存储器空间,它的接口电路与时序无关,其时序完全靠软件编程实现。接口方式如图1(b)所示。
3.2 软件设计
单片机与液晶显示模块接口程序中的文字显示已经为人们所熟悉,因此这里不再赘述,本文只介绍图形显示方法。图形或曲线的显示程序的关键在于显示点地址的计算,下面给出采用C51语言编制的图形显示的主要相关程序。
//发送数据
void w_data(unsigned char d)
{CS=0;
check();
CD=0;P2=d;WRITE=0;WRITE=1;
CS=1;
}
//发送命令
void w_command(unsigned char d)
{CS=0;
check();
CD=1;P2=d;WRITE=0;WRITE=1;
CS=1;
}
//查状态
void check(void)
{unsigned char M;
do{P2=0xff;
CD=1;READ=0;
M=P2;
READ=1;
}
while((M&0x03)<0x03);
}
//画点
void draw(x,y)
{unsigned int m;
unsigned char n,t;
n=0x12;
t=0x34;
m=(y&0x7f)*0x20;
n=x/8;
t=m-(m/0x100)*0x100+n;
w_data(t);
t=m/0x100+0x08;
w_data(t);
w_command(0x24);
if(y>=0x80) n=0xf8;
else n=0xf0;
t=x%8;
t=(~t)&0x07;
t=n|t;
w_command(t);
}
//画一条正弦曲线
void main(void)
{
init();
clear();
for(x=0;x<180;x++)
{
y=psin[x];
y=y|0x80;
draw(x,y);
}
while(1){}
}
4 结束语
MGLS240128T图形液晶显示模块是一种性能价格比较高的液晶显示模块,其内部具有适配80系列的操作时序电路,该模块与单片机的接口十分方便。由于它不仅能很方便地进行大信息量的各种字符显示,且能实现图形及曲线的显示,这就使人机接口更友好。因此,可为单片机在各领域中的应用提供十分简单、方便、功能强大的LCD显示功能。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。