1导言
在嵌入式体系的研制和运用中,挑选低价位、高性能的液晶显现设备一直是规划者寻求的方针。中小型液晶显现器以其标准多、价位低以及十分适用于嵌入式体系量身定制的特色深受研制者的喜爱。T6963CFG是TOSHIBA公司出产的一款LCD操控器,可用于不同标准的液晶显现器。深圳汉升公司出产的HS240128显现器选用了这款LCD操控器,其分辨率达240×128,带自扫描电路,具有文本显现、图形显现和图文混合显现功用。
2 T6963CFG操控指令及时序
T6963CFG是一款与大规模LCD驱动器和数据存储器合作运用的LCD操控器。该操控器有8条并行数据、读/写操控、形式挑选以及亮度和背光操控等接口线,能够方便地与多种类型的处理器或微操控器直接相连。T6963CFG内置128个字符的字模;外部扩展存储器高达64KB(HS240128显现器扩展了32KB),用于显现缓冲区,如文本区、图形区以及自界说字符区;LCD显现窗口能在显现缓冲区内方便地移动。
2。1操控指令及状况字
T6963CFG指令字有三种根本格局:
格局1:数据1数据2指令码
格局2:数据1指令码
格局3:指令码
在运用格局1时,需求依照数据1、数据2、指令码的先后顺序进行写操作,每次写一个字节。假如挑选格局3,只要写指令码的操作。在对LCD读数据或写数据操作之前都要进行状况检测。只要在LCD答应的情况下才能够进行相应的操作。其状况字及其功用如表l所示。
2。2接口信号及时序
HS240128-1显现器封装后留有21个接口信号线:
C/D:指令/数据(高/低)挑选信号;
CE:片选(低)信号;
WR:写(低)信号;
RD:读(低)信号;
D0~D7:数据信号;
FS:字体挑选信号(高:6×8,低:8×8);
FG:外壳安全地;
VSS:GND(地);
VDD:逻辑电路和LCD的电源(5V);
VD:驱动电压调整输入(亮度);
VEE:LCD驱动电源(输出,-15V);
RST:复位(低)信号;
K:背光(地);
A:背光(5V)。
LCD接口操控信号的读写时序如图1所示。各操控信号的时序可由微操控器的通用输入输出(GPIO)接口仿真完成,例如:C/D为高电平,CE为低电平,WR为高电平以及RD为低电平时,能够从数据线上(D0~D7)读取T6963CFG的状况字。
3在嵌入式体系中的硬件接口电路
一般LCD产品都具有相应的硬件接口电路,但其类型不尽相同。带自扫描电路,可供给文本、图形和图文混合显现功用的LCD能够方便地与商场供给的嵌入式微操控器或单片机相连,如Phlips公司的LPC2104、2119等。S3C44B0X是Samsung公司供给的高性价比嵌入式片上体系解决方案,选用ARM7TDMI内核,片上集成了丰厚的外围元件,特别适用于对本钱和功耗灵敏的运用。S3C44BOX尽管集成有LCD操控逻辑,可是,HS240128显现器的操控接口内置了操控电路,使用S3C44BOX丰厚的GPIO口资源(71个),很简单完成配接。在本体系规划中选用PD0~PD7、PE0~PE2、PG4~PG5作为LCD的操控线和数据线。其电路衔接如图2所示。
依据T6963CFG的读写时序和相应的电路配接,读写操作的函数为:
charread(chartype)∥从T6963CFG读取数据
4显现操控及程序规划
4。1显现缓冲区的设置
显现缓冲区可分为体系内存显现缓冲区和LCD显现缓冲区。当然,体系也能够只设置LCD显现缓冲区,程序能够只对LCD显现缓冲区进行操作。一般LCD显现缓冲区设置在I/O接口电路中,如HS240128的显现缓冲巨细为32KB。依据需求,LCD显现缓冲区能够界说一个、二个或三个不同的显现区,例如:文本区、图形区和自界说字符字模区。能够自界说各区巨细.如图3所示。LCD操控器能够主动将LCD显现缓冲区中文本区和图形区的显现信息向屏幕输出和改写。屏幕的显现方位与显现缓冲区的方位具有映射对应联系。
在体系内存中设置显现缓冲区,一般是为了标准程序规划,进步工作效率。程序首要对体系内存中的显现缓冲区进行读/写操作,然后将其数据更新到LCD显现缓冲区中。体系内存显现缓冲区分为文本区和图形区,本规划设置8KB文本区和16KB的图形区。在字符方法下文本区可映射17个显现页,在图形方法下图形区可映射4个显现页。
4。2字符和图形显现进程
4。2。1字符显现进程
在字符方法下,HS240128-1已装配了128个常用字符字模。在指定的文本显现缓冲区写入相应的字符码00H~7FH,即可完成LCD输出字符[1]。该LCD显现器还供给了扩展字符功用,字符码为80H~FFH,它的字形码(8×8点字模)需求提早写入自界说字符的字模缓冲区中。其地址为7800H~7FFFH。在运用中,经过操控FS引脚挑选字体巨细(1:6×8或0:8×8)。在6×8方法下,屏幕一行能够显现40个字符,在8×8方法下,一行显现30个字符。整屏能够显现16行字符。
体系内存文本缓冲区与LCD文本显现缓冲区有着映射联系.其数据格局是按屏幕格局巨细设定的。例如:一行30个字符对应着内存接连的30个字节。一屏(页)16行对应内存接连的480字节。假如内存文本缓冲区为8KB,可映射17页(共272行),其缓冲区设置为:Text_Buffer[272][30](队伍二维数组),内存文本缓冲区中的数据传送到LCD文本缓冲区的进程能够经过下面的代码完成:
LCD操控器主动扫描并显现从内存送来的17页数据的第一页,假如要显现第二页或其他页,只要向LCD操控器从头设置文本区开端地址即可,因而,LCD能够从显现缓冲区的恣意方位开端显现。例如.从第二行开端显现,LCD文本区开端地址应该为30(0x001E)。
设置文本区开端地址的进程如下: