基于 HD66789的 TFT-LCD驱动程序研究
程军,成建波
中国电子科技大学光电信息学院,四川 成都 610054
摘 要:本文主要介绍了 HD66789功能原理及指令描述,并对其在 TFT-LCD驱动电路中的
应用加以研究,还详细说明了其驱动程序相关部分的设计并给出了相关代码。
关键词:液晶显示器,HD66789,驱动程序
1.引 言
TFT是Thin Film Transistor(薄膜晶体管)的简称,TFT-LCD的使用使人们进入高画质、真彩
色显示的新阶段,所有高档的液晶显示器件中都毫无例外地使用TFT有源矩阵[1]。LCM是
LCD Module的简称,中文名一般称之为“液晶显示模块”或“液晶显示模组”。图 1为TFT-LCM
结构图,主要由集成电路(IC)、TFT-LCD、ACF(Anisotropic Conductive Film 各向异性导
电膜)、FPC(Flexible Printed Circuit,软性印刷电路板)、PCB(Printed Circuit Board 印刷电
路板)、BL(Back Light 背光板)组成[2]。
2.
色
VS
输
图1 TFT-LCM结构图
HD66789驱动研究
HD66789 芯片主要用于驱动中小尺寸便携式电子设备中,如PDA,手机等。支持26 万
,内含176 (RGB) ×240点阵图形控制器和驱动器,单芯片驱动[3]。
HD66789与微控制器 LPC2210接口设计
本 文 所 要 研 究 的 TFT-LCM 是 通 过 硬 件 电 路 图 将 IM3/2/1/0 分 别 接 为
S/VSS/VCC/VSS[4],所以此模块采用的是 80系统使用DB15~DB0进行 16位并行数据传
,16位的指令和 16位的数据通过 16位并行传输方式进行传输。
.1 GPIO接口方式设计
-1-
通过与飞利浦公司的 LPC2210 MCU连接在一起(图 2)对 TFT-LCM进行驱动实验。
通过 LPC2210 的 GPIO 进行高低电平设置,产生信号对 HD66789 进行驱动,GPIO 是英文
General Purpose Input/Output的缩写,即通用输出/输入接口。
图2 HD66789与LPC2210 GPIO接口方式设计
实验中,GPIO初始化程序设计如下:
#define WR (1<<19)
#define RS (1<<21)
#define CS (1<<22)
#define RD (1<<18)
void GPIOSET(void)
{ PINSEL0 = 0x00000000; // 设置 IO口工作模式,所有管脚连接 GPIO
PINSEL2|=1<<4;
PINSEL2&=~(1<<5); // P2[31:16]连接 GPIO
IO0DIR = 0x007C0000;
IO2DIR = 0xFF000000;
}
总线接口方式设计
在MCU(LPC2210)与 HD66789的数据传送中,我们可能通过 GPIO来进行数据传输,
同样也可以采用 16位总线的方式进行数据传输。在本论文的研究中,采用了此种模式来进
行数据传送,接口示意图如图 3。
此种模式采用 16位总线方式将 HD66789 和 LPC2210 连接在一起,没有地址总线,显
示地址和显示数据均通过 DB0~DB15实现。
-2-
图3 HD66789与LPC2210总线接口方式设计
HD66789的RS与A1连接,使用A1控制HD66789处理数据/命令,在HD66789中为低电
平写命令,高电平写数据。先命令,后数据。HD66789的片选信号由LPC2210的CS2控制,
当nCS2为低电平时,HD66789被选中[5]。
综上所述,可知 LPC2210的数据操作地址为 0x83000002,命令操作地址为 0x83000000。
在程序中我们采用宏定义的方式对命令操作地址和数据操作地址加以定义,程序设计如下:
#define LCM_COMMAND *((volatile unsigned short * )0x82000000) //写命令
#define LCM_DATA *((volatile unsigned short * )0x82000002) //写数据
颜色显示模式程序设计
在 16 位数据传输中 HD66789 芯片用 565RGB(16 位)的模式来进行颜色设定,比如
1111100000000000为 R,用 16进制表示为 0xF800,我们在驱动程序中可以采用宏定义的方
式对其加以定义,程序设计如下:
#define R 0xF800 //定义红
#define G 0x07E0 //定义绿
#define B 0x001F //定义蓝
#define W 0xFFFF //定义白
#define BL 0x0000 //定义黑
复位功能程序设计
通过复位引脚(RESET)输入使芯片复位。当复位时,芯片内部处于“忙状态”不接受来
自 LPC2210或存取 GRAM数据的指令,复位输入必须保持至少 1ms。在提供电源 10ms后,
直到 RC振荡率稳定,才能存取 GRAM数据或初始化指令。
我们采用 LPC2210的 口作为 HD66789的复位引脚,程序设计如下:
#define RES 0x00000001 //定义复位引脚为 口
void reset(void)
{
IO0SET = RES; //高电平
Delay(100,100);
IO0CLR = RES; //低电平
-3-
Delay(100,100);
IO0SET = RES; //高电平
Delay(100,100);
}
其中延时的时间长短要根据具体的芯片来设定,当程序开始执行时,首先调用复位程序,
复位之后再调用初始化程序代码。经实验得到的 TFT-LCD显示效果如图 4所示。
图4 TFT-LCD驱动显示实验效果图
3.结束语
HD66789是一款适用于中小尺寸 TFT-LCD驱动 IC,本文通过对其功能原理和相关驱动
电路和驱动程序进行分析研究,为 HD66789 在实际应用中取得更好的显示效果提供了相关
理论依据。
参考文献
[1] 应根裕,胡文波,邱勇等.平板显示技术[M].人民邮电出版社
[2] 程军.COG工艺流程及其发展现状[J].现代显示,2005,:20-22
[3] Technical Reference Manual ().2003,
[4] 杨虹.曹镛.基于 HD66773的 TFT OLED驱动电路的设计[J].液晶与显示,,:31-36
[5] 周立功.ARM嵌入式系统基础教程[M].北京航空航天大学出版社,
Research o TFT-LCD Driving Based on HD66789
(502 Staff Room, Schoo
T
In this paper, the function a
TFT-LCD are introduced. B
code is also given.
Keywords: TFT-LCD,HD
f
Cheng Jun,Cheng Jianbo
l of Opto-Electronic Information, University of Electronic Science and
echnology of China, Chengdu 610054, China)
Abstract
nd instruction of HD66789 in detail, its application to the driver circuit of
ased on these, segment of its driver designs are specified and correlation
66789,Driving programme
-4-