[基于ARM和TFT6758的液晶显示模块实现] 液晶显示模块
文章编号:1006-6268(2008)10-0054-04 摘要:为了实现液晶显示模块,提出了基于ARM的LPC2292微控制器和嵌入式实时操作系统(mC/OS-II),以TFT6758芯片为核心,采用ADS1.2开发工具进行编程来实现的方法。阐述了TFT6758的性能特点,介绍了ARM与液晶屏TFT6758硬件接口设计、软件设计流程、液晶显示程序。
关键词:TFT6758;ARM;液晶显示
中图分类号:TN141.9文献标识码:A
The Implement of LCD Module Based on ARM and TFT6758
REN Xiao-li, YANG Jian-wei
(Department of Computer and Science, Baoji University of Arts and Science,
Baoji 721007,China)
Abstract: In order to implement LCD module, based on LPC2292 micro processor of ARM and the embedded operating system (mC/OS-II), with TFT6758 as core, the programming of LCD module is accomplished by adopting the developing tool ADS1.2. The characteristic of TFT6758 is described. The design of hardware interface between ARM and TFT6758, the flow of software design and the program of LCD are introduced.
Keywords:TFT6758; ARM;LCD
引 言
随着液晶显示技术的发展,LCD液晶显示模块已成为家电、显示仪器仪表和其他电子产品的重要组成部分。液晶显示屏以其显示直观、便于操作的特点被用作各种便携式系统的显示终端。液晶显示屏具有低电压、微功耗、无辐射、小体积等特点,被广泛应用于各种各样嵌入式产品中。ARM是精简指令集计算机(RISC),其具有性能高、成本低和能耗小的特点,被广泛地应用于嵌入式系统开发。ARM处理器几乎已经深入到各个领域:工业控制领域、无线通讯领域、网络应用、消费类电子产品、影像和安全产品等。
因此,本文介绍一种基于 ARM 和 TFT6758的液晶显示屏设计。
1TFT6758控制器简介
TFT6758 LCD模块是点阵式LCD,能显示图形、汉字、以及各种符号信息,可为系统提供友好的人机界面。其主要是面向工作人员的,将监控信息等显示出来,让工作人员可以清晰地进行监控操作。TFT6758 液晶模块的屏幕大小为2.2in,点像素为240×320,内带液晶控制器和液晶驱动器,支持真彩色262K色,用户界面更华丽。TFT6758 LCD模块的工作电压为3.3V,内带白光LED背光灯,可以直接使用8位、16位或18位总线方式与控制器连接。
2TFT6758 接口电路
TFT 液晶接口电路采用PACK板形式与主板连接,其接口定义如图1所示。将TFT6758液晶显示模块的RESET引脚连接到J1连接器上,使用LPC2292的P0.22控制液晶模块复位。TFT6758液晶显示模块的CS、WR和RD引脚均连接到J1连接器上,与主板的LPC2292的片选、写和读信号连接。而RS引脚则使用A1连接,当A1为高电平时为数据操作,当A1为低电平时为命令(索引)操作,即使用两个不同的地址来区别向TFT6758液晶模块发送命令还是发送数据[1]。TFT6758液晶模块片选信号:LCM_nCS0;0x83200000~0x833FFFFF;索引/指令操作地址为:0x8320000;数据操作地址为:0x83200002。
TFT6758液晶模块的背光是LED背光,采用4个白光LED串连连接,所以要设计升压电路,CAT32TDI就是专门用于白光LED驱动的升压芯片,可以驱动4个串连的白光LED。CAT32TDI的 为输出关闭控制引脚,由LEDC信号控制(与主板的LPC2292的PWM引脚P0.21相连,可以使用PWM控制背光的亮度),为了保证LEDC连接的I/O在没有配置为输出时也能点亮LED背光,所以接了一个10kΩ的上拉电阻R1。CAT32TDI芯片为恒流输出,输出由R2控制。
3 TFT6758显示原理
TFT液晶显示器上的每一个液晶像素点都由集成在其后的薄膜晶体管来驱动。TFT液晶显示器具有屏幕反应速度快、对比度好、亮度高、可视角度大、色彩丰富等特点。
在文本显示方式下,液晶屏显示信息的管理单位是8×8点阵,称为一个文本显示单位,每个文本显示单位对应文本显示缓冲区中的8个连续存储单元。写入文本显示缓冲区的是字符代码,点阵状态信息(8×8)即字模存放在RAM中。汉字一般采用16×16[2]的点阵来描述,将它分为4个8×8的点阵,用4个字符代码来描述一个汉字,根据这4个部分的位置关系将4个代码写入相应的文本显示缓冲区[3]。LCD的显示与字模数据密切相关,显示子程序的功能就是读取相应的字模数据送给LCD,由LCD将接收到的字模在相应的位置上显示出来。但字模数据的生成与程序基本无关,相关的只是字模数据的内容。向液晶发送的汉字必须用提取字模软件转换为点阵数组,才能在程序中使用。
4LCD 显示软件设计
首先进行系统初始化,接着对LCD控制寄存器及地址寄存器进行改写,设置一些LCD的参数,配置Buffer的起始地址和Buffer大小等一些参数,然后是清屏,最后系统可以通过控制器发出的指令调用相关函数, 完成相应的显示功能[4]。流程图如图2所示。
4.1LCD初始化
LCD初始化主要包括对控制器的显示频率、显示行数及显示缓冲区地址的设置。主要程序如下:
voidTftInit(void)
{STCOM_INIinit_dat;
inti;
TftReset();
for(i=0; i TftSendDat(init_dat.dat); // 向TFT液晶模块发送数据
}
DelaymS(init_dat.dly);//延时等待
}
}
4.2LCD清屏
由于系统上电时,显示缓冲区的数据是不固定的,显示出乱码,因此在液晶显示操作之前应将缓冲区清零或向缓冲区发送指定的数据来填充屏幕。程序如下:
voidGUI_ClearSCR(void)
{ TFT_FillSCR(GUI_CCOLOR); //全屏填充,直接使用数据填充显示缓冲区
}
4.3数据显示
液晶初始化结束后,系统将采集来的信号通过处理后用文字、图形等显示到LCD上。这里举一个简单的画窗口程序。为了提高程序的可读性和可移植性,在程序头文件中都用了宏定义,限于篇幅在此不再列出。
static WINDOWS win;
// GUI初始化
void GUI_INIT(void)
{
GUI_Initialize(); //初始化GUI,包括初始化显示缓冲区,初始化LCM并清屏
GUI_SetColor(WHITE,BLUE);//显示颜色:WHITE前景色;BLACK背景色
InitWin(&win); //窗口初始化
}
//窗口初始化
void InitWin(WINDOWS *ptrwin)
{
ptrwin->x = Windows_x;
ptrwin->y = Windows_y;
ptrwin->with= Windows_width;
ptrwin->hight = Windows_hight;
ptrwin->title = (uint8 *)Windows_title;
ptrwin->state = (uint8 *)Windows_state;
GUI_WindowsDraw(ptrwin); //显示窗口。根据提供的窗口参数进行画窗口。
}
其中显示汉字的程序如下:
voidMyGUI_PutHZ(uint32 x, uint32 y, uint8 *dat)
{
GUI_PutHZ(x,y,dat,16,16);
}
以汉字方式显示标题的函数如下:
voidShowTitleHZ(uint32 x, uint32 y)
{
x=x+10;
MyGUI_PutHZ(x,y, (uint8 *)hzye);//hzye为 "液"的点阵数组
MyGUI_PutHZ(x+HZ_FONT_SIZE, y, (uint8 *)hzjing);//hzjing为 "晶"的点阵数组
MyGUI_PutHZ(x+2*HZ_FONT_SIZE, y, (uint8 *)hzxian); //hzxian为"显"的点阵数组
MyGUI_PutHZ(x+3*HZ_FONT_SIZE, y, (uint8 *)hzshi); //hzshi为"示"的点阵数组
}
以汉字方式显示菜单、状态栏等与上述方法类似。
5结束语
本文对基于ARM和TFT6758的液晶显示模块实现方法进行了探讨,对液晶模块TFT6758进行了有效的控制,可提供丰富灵活的汉字、字符、图形,实现菜单和现场数据的动态显示,性能稳定。该显示模块能够应用于工业控制中。
参考文献
[1]周立功.ARM嵌入式系统实验教程(二)[M].北京:北京航空航天大学出版社,2005.
[2]张绮文,谢建雄,谢劲心.ARM嵌入式常用模块与综合系统设计实例精讲[M].北京:电子工业出版社,2007.
[3]艾红,王捷,厉虹等.基于串行接口的汉字液晶显示模块应用与开发[J].液晶与显示,2006,21(3) :254-258.
[4]潘敏,焦生杰,翁寅生.基于DSP和ST7920的液晶显示模块的实现[J].电子技术应用,2007,(6) :48-50.省略。
