彩彩色色TTFFTTLLCCDD显显示示模模块块产产品品说说明明书书V2.0–2008.0911产品简介1.1主要功能与基本参数是一块高画质的TFT真彩LCD模块,具有丰富多样的接口、编程方便、易于扩展等良好性能。内置专用驱动和控制IC(SPFD5408),并且驱动IC自己集成显示缓存,无需外部显示缓存。彩色TFTLCD显示模块的基本参数如下表:项目规格单位注备显示点阵数240×RGB×320DotsLCD尺寸2.4(对角线)英寸LCM外形尺寸42.72×59.46×3.0mm不包括转接PCB以及FPC动态显示区36.72×48.96mm象素尺寸0.147×0.147mm象素成份a-SiTFTLCD模式65KTFT总线8位Intel80总线背光白色LED驱动ICSPFD54081.2模块结构模块实际上就是将的TFT-LCD显示器连接在PCB电路板上,并加在PCB电路板上加入背光限流电阻,将显示器不便于与开发板连接的软PCB连接接口引出,并以DIP的双排插针(板上保留有FPC20/1.0间距的FPC座)引出模块以便于用户连接。为了方便用户的扩展使用,模块将显示器主供电源和显示器背光电源分开供电,这样,如果用户有需要的话,可以单独给背光提供合适的电源以获取合适的背光亮度。一般情况下,可以将显示器主供电源和背光电源都接上3V电压,但需要注意,在使用模组时,这两个电源是都要接的。下面介绍模块的接口,如图1.1所示:2图1.1模块接口示意图表1.1模块接口引脚说明接口引脚说明VccTFT-LCD显示板电源(推荐3.0V)Vled背光灯电源D0~D78位数据总线CS片选(低电平有效)RSTReset复位(低电平复位)RS控制寄存器/数据寄存器选择(低电平选择控制寄存器)RW写信号(低电平有效)RD读信号(低电平有效)GND接地1.3系统环境模块的极限电气特性如下表所示:表1.2TFTLCD面板极限电压范围参数符号最小最大单位备注Vcc-0.33.5V逻辑电压输入电源电压Vio-0.33.5V3注意:上表中的极限电压范围并非是模块的工作电压,而是指模块可以承受的电压范围;如果用户在接入电压时,超过了极限电压范围,则模块内部的LCD控制逻辑电路会受到破坏,并使模块的性能受到严重的影响;所以强烈推荐用户在使用模块时,使用正常的工作电压:3.0V。表1.3极限环境参数参数符号最小最大单位备注操作温度范围Top-2070℃周围环境储存温度范围Tst-3080℃周围环境注意:(1)禁止在含有腐蚀性气体的环境中保存、操作;(2)TFTLCD会根据具体的环境情况(主要是温度)的变化而在显示时存在细微的变化,这样的变化是可逆的。而模块的工作电气参数,如表1.4所示:表1.4TFT-LCD模块操作电压(25℃)表1.5背光单元工作电气参数项目符号额定值单位工作电流If60mA工作电压Vf3.3VV功耗Po180mW工作温度Top-20to70℃储存温度Tst-30to80℃注意:背光LED为并联。42液晶显示器介绍彩色TFTLCD显示模块的LCD驱动控制IC为SPFD5408,用户在对模块进行操作时,实际上是对SPFD5408进行相关的控制寄存器、显示数学据存储器进行操作的,所以,接下来重点对的驱动控制特性进行详细的介绍。2.1液晶显示器2.1.1液晶显示器结构显示器内嵌TFT-LCD驱动控制芯片,采用先进的COG技术,将芯片嵌在LCD玻璃上,图2.1为此液晶显示器的尺寸图;而图2.2为液晶显示器的实物图。5图2.1液晶显示器尺寸6图2.2液晶显示器实物图图2.3显示JPEG图像效果图2.1.2显示RAM区映射情况模块的2.4英寸TFT-LCD显示面板上,共分布着240×320个像素点,而模块内部的TFT-LCD驱动控制芯片内置有与这些像素点对应的显示数据RAM(简称显存)。模块中每个像素点需要16位的数据(即2字节长度)来表示该点的RGB颜色信息,所以模块内置的显存共有240×320×16bit的空间,通常我们以字节(byte)来描述其的大小。模块的显示操作非常简便,需要改变某一个像素点的颜色时,只需要对该点所对应的2个字节的显存进行操作即可。而为了便于索引操作,模块将所有的显存地址分为X轴地址(XAddress)和Y轴地址(YAddress),分别可以寻址的范围为XAddress=0~239,YAddress=0~319,XAddress和YAddress交叉对应着一个显存单元(2byte);这样只要索引到了某一个X、Y轴地址时,并对该地址的寄存器进行操作,便可对TFT-LCD显示器上对应的像素点进行操作了。7提示:以上的描述意味着,当我们对某一个地址上的显示进行操作时,需要对该地址进行连续两次的8位数据写入或读出的操作,方可完成对一个显存单元的操作。模块的像素点与显存对应关系如图2.4所示:TFT-LCD显示面板XAddress=0~~~~XAddress=239YAddress=0YAddress=319XAddr=0YAddr=0D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0RGBEverydothave16bitDisplayRAM(2bytes)图2.4显存与像素点对应关系示意图模块内部有一个显存地址累加器AC,即用于在读写显存时对显存地址进行自动的累加,这在连续对屏幕显示数据操作时非常有用,特别是应用在图形显示、视频显示时。此外,AC累加器可以设置为各种方向的累加方式,如通常情况下为对XAddress累加方式,具体为当累加到一行的尽头时,会切换到下一行的开始累加;还可以为对YAddress累加方式,具体为当累加到一列(垂直方向)的尽头时,会切换到下一个XAddress所对应的列开始累加,详细介绍请参见2.3.2。另外,模块还提供了窗口操作的功能,可以对显示屏上的某一个矩形区域进行连续操作,详细介绍也请参见2.3.3。2.2操作时序模块支持标准intel8080总线,总线的最高速度可达8MHz,也就是说,如果控制MCU速度足够快的话,是可以支持视频的显示的。图2.4为模块的总线时序图:8CSWRRDD0~D7D0~D7图2.5MzT24-1模块总线时序图注意:模块的总线接口是8位的,也就意味着对显存的某一个地址操作时,需要连续进行两次操作方可完成,先传高字节再传低字节。表2.1时序特性(IOVcc=2.4V~3.3V,TA=25℃)参数符号单位最小值典型最大值写周期tCYCWns125----总线周期时间读周期tCYCRns450----控制低脉冲宽度(RW)PWLWns45----控制低脉冲宽度(RD)PWLRns170----控制高脉冲宽度(RW)PWHWns70----控制高脉冲宽度(RD)PWHRns250----读/写控制信号上升/下降时间tWRr,tWRrns----25写(RStoCS,RW)ns0----建立时间读(RStoCS,RD)tASns10----地址保持时间tAHns2----写数据建立时间tDSWns25----写数据保持时间tHns10----读数据延迟时间tDDRns----2009参数符号单位最小值典型最大值读数据保持时间tDDRns5----复位时序的示意图如下图所示:表2.2复位时序特性参数符号单位最小值典型最大值复位低电平宽度tRESms1----复位上升沿时间trRESus----102.3控制方法及LCD显示特性2.3.1模块控制方法对模块的操作主要分为两种,一是对控制寄存器的读写操作,二是对显存的读写操作;而这两种操作实际上都是通过对LCD控制器(SPFD5408)的寄存器(register)进行操作完成的,SPFD5408提供了一个索引寄存器(Indexregister),对该Indexregister寄存器的写入操作可以指定操作的寄存器索引,以便于完成控制寄存器、显存操作寄存器的读写操作。提供了RS(有些资料称A0)控制线,并以此线的高低电平状态来区别这对Indexregister操作还是对所指向的寄存器进行操作:当RS为低电平时,表示当前的总线操作是对Indexregister进行操作,即指明接下去的寄存器操作是针对哪一个寄存器的;当RS为高电平时,表示为对寄存器操作。模块内部有控制寄存器,用户在使用之前以及对其进行操作过程当中,需要对一些寄存器进行写操作以完成对LCD的初始化,或者是完成某些功能的设置(如当前显存操作地址设置等)。对控制寄存器进行操作前,需要先对索引寄存器(Indexregister)进行定入操作,以指明接下去的寄存器读写操作是针对哪一个寄存器的。操作的步骤如下:1、在RS为低电平的状态下,写入两个字节的数据,第一个字节为零,第二字节为寄存器索引值。2、然后在RS为主电平的状态下,写入两个字节数据,第一字节为高八位,第二字节为低八位;如要读出指定寄存器的数据,则需要连续三次读操作方能完成一次读出操作,第一个字节为无效数据,第二字节为高八位,第三字节为低八位。注意:的显存操作也是通过寄存器操作来完成的,即对0x22寄存器进行操作时,就是对当前位置点的显示进行读写操作。模块的控制寄存器当中,最常被调用的是寄存器除了对显存操作的0x22寄存器外,还有当前显存地址的寄存器displayRAMbusaddresscounter(AC),一共由两个的寄存器组成,分别存放有XAddress和YAdderss,表示当前对显存数据的读写操作是针对于该地址所指向的显存单元;而每一个显存单元在前面已经用图示意过,每个单元有16位,最高的5位为R(红)的分量,最低的5位为B(蓝)的10分量,中间6位为G(绿)分量。如图2.6所示:图2.6显存单元示意图所以,当需要对LCD显示面板上某一个点(X,Y)进行操作时,需要先设置AC,以指向需要操作的点所对应的显存地址,然后连续写入或者读出数据,才完成对该点的显存单元的数据操作。而当对某一个显存单元完成写入数据操作后,AC会自动的进行调整,或者是不进行调整(根据控制寄存器中的设置而决定)保持原来指向。AC的这个特性对于模块来说非常有用,可以根据此特性设计出快速的LCD显示操作功能函数,以适应不同用户的需求。2.3.2显存地址指针内部含有一个用于对显存单元地址自动索引的显存地址指针displayRAMbusaddresscounter(AC);AC会根据当前用户操作的显存单元,在用户完成一次显存单元的写操作后进行调整,以指向下一个显存单元;可以通过对相关的寄存器当中的控制位的设置,来选择合适的AC调整特性。这些用于设置AC调整特性(实际上也就是显存操作地址的自动调整特性)的位分别是:AM(bit3ofR03h)、ID0(bit4ofR03h)、ID1(bit5ofR03h);下面将说明这些控制位的特性。而配合AM位的设置,可以得到多种AC调整方式,以适应不同用户的不同需要。可以通过下面的列表了解具体的设置对应的特性:112.3.3显存的窗口工作模式除了一般的对全屏的工作模式外,还提供了一种局部的窗口工作模式,这样可以简化对局部显示区域的读写操作;窗口工作模式允许用户对显存操作时仅仅是对所设置的局部显示区域对应的显存进行读写操作。设置ORG(bit7ofR03)位为1时,可以启动窗口工作模式,这时再对显存进行读写操作的话,AC将只会在所设置的局部显示区域(简称窗口)进行调整;而设置的局部区域可以通过设置R50来确定最小的XAddress,设置R51来确定窗口的最大XAddress,设置R52来确定窗口的最小YAddress,设置R53来确定窗口的最大YAddress。而当启动窗口工作模式后,需要确认对显存操作时,地址范围为:而前面所述的显存地址指针AC的调整特性,在窗口工作模式当中也是有效的,也就是说在一般显存操作模式(全屏范围显存)设置的AC调整特性,在工作在窗口模式时,也是有效的。下图为当AM=0、ID0和ID1都设置为1时的示意图:图2.7窗口工作模式2.3.4控制寄存器为了广大用户快速地掌握模块的使用,这