根据T6963CFG的读写时序和相应的电路配接,读写操作的函数为:
char read(char type) ∥从T6963CFG读取数据
4 显示控制及程序设计
4.1 显示缓冲区的设置
显示缓冲区可分为系统内存显示缓冲区和LCD显示缓冲区。当然,系统也可以只设置LCD显示缓冲区,程序可以只对LCD显示缓冲区进行操作。通常LCD显示缓冲区设置在I/O接口电路中,如HS240128的显示缓冲大小为32 KB。根据需要,LCD显示缓冲区可以定义一个、二个或三个不同的显示区,例如:文本区、图形区和自定义字符字模区。可以自定义各区大小.如图3所示。LCD控制器可以自动将LCD显示缓冲区中文本区和图形区的显示信息向屏幕输出和刷新。屏幕的显示位置与显示缓冲区的位置具有映射对应关系。
在系统内存中设置显示缓冲区,通常是为了规范程序设计,提高工作效率。程序首先对系统内存中的显示缓冲区进行读/写操作,然后将其数据更新到LCD显示缓冲区中。系统内存显示缓冲区分为文本区和图形区,本设计设置8 KB文本区和16 KB的图形区。在字符方式下文本区可映射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字节。如果内存文本缓冲区为8 KB,可映射17页(共272行),其缓冲区设置为:Text_Buffer[272][30](行列二维数组),内存文本缓冲区中的数据传送到LCD文本缓冲区的过程可以通过下面的代码实现:
LCD控制器自动扫描并显示从内存送来的17页数据的第一页,如果要显示第二页或其他页,只要向LCD控制器重新设置文本区起始地址即可,因此,LCD可以从显示缓冲区的任意位置开始显示。例如.从第二行开始显示,LCD文本区开始地址应该为30(0x001E)。
设置文本区开始地址的过程如下:
4.2.2 图形显示过程
在图形方式下,显示方法是写点作图,每次向图形缓冲区写入数据时,单位是一个字节(8点),HS240128是240x128分辨率,写满一屏(页)共有3840字节。HS240128-1的控制器T6963CFG自动扫描并显示图形缓冲区的信息。系统内存图形显示缓冲区与LCD图形显示缓冲区具有映射关系,其数据格式是按屏幕格式大小设定的。