液晶人机界面下向量图显示的设计与应用
摘要: 介绍一种快速生成液晶图形人机界面的方法,以及电力测量中的向量图图形显示的设计思想和软件编程,这些方法对于嵌入式系统的图形人机界面设计具有参考价值。
1 硬件设计
1.1 T6963C模块的结构和原理
目前用于图形液晶显示模块的控制器主要有:T6963C(TOSHIBA),SED1335(SEIKO EPSON),H D61830B(HITACHI),MSM6255(OKI)。
内藏T6963C的图形液晶显示模块由LCD显示屏、行列驱动器、控制电路、线路板PCB组成。模 块实现了T6963C与行,列驱动器及显示缓冲区RAM的接口,同时也已经用硬件设置了液晶屏 的结构(单屏和双屏),数据传输方式、显示窗口长度、宽度等。
T6963C最大可控制640×128点阵(单屏)或640×256点阵(双屏)液晶器件。
T6963C最大可管理64K字节的显示缓冲区RAM,显示缓冲区可分为文本显示区,图形显示区( 或文本特征区)和CGRAM区(在显示缓冲区内任意设置的一个区域,作为外扩的字符发生器, 一般为2K字节)。显示缓冲区RAM的具体大小由不同显示尺寸的模块决定,如:240×128模块 带有16KB的RAM,128×64模块带有8KB的RAM。
T6963C不仅具备基本的文本显示和图形显示功能,而且还具备文本属性显示功能,这是T696 3C控制器的独特功能。但是文本特征方式和图形显示方式不能同时使用(可在显示缓冲区中 ,启用文本特征方式时在原有图形区和文本区外用图形区域设置指令另开一区作为文本特征区,以保持原图形区的数据)。
1.2显示缓冲区与液晶屏的对应关系
下面以240×128点阵的液晶屏为例建立图形显示缓冲区地址与液晶屏面对应的坐标关系。
文本显示缓冲区的首地址为0000H,图形显示缓冲区首地址为0800H,取屏面左下角为坐标原 点(0,0),基于此横坐标x范围为(0,239),纵坐标y范围为(0,127)。在此坐标系下,图形显示缓冲区地址与液晶屏面点阵坐标一一对应,利用如下算法可以很容易地确定屏面中任意 点阵坐标(x,y)在显示缓冲区中的物理地址:
(1)确定该点相对于图形显示缓冲区首地址(0800H)的偏移字节数L
(2)进一步确定该点位于字节内的具体某一位b
b=x mod 8
确定屏幕上点在显示缓冲区中的地址后,进而利用T6963C的位操作指令就可以在屏幕上很容易的绘出该任意点,再结合各种具体的绘图算法,就可以在液晶屏上绘制出不同的图形。
1.3T6963C模块与MPU的接口电路
MPU能与T6963C直接接口,其接口电路如图2所示(直接访问方式)。
T6963C液晶模块的读写控制信号/RD、/WR分别由AT89C52的读写控制信号/RD、/WR控制,P27 连接片选信号/CS,P25连接指令和数据通道选择信号C/D,液晶模块采用上电复位,VO用于调节液晶显示的对比度。据此连接方式,可以得到数据通道和指令通道的物理地址分别为:5F00H和7F00H。
2 软件设计
2.1T6963C指令的传递方式
模块的初始化由硬件管脚设置完成,因此其指令主要集中于显示功能的设置上。
T6963C的指令可带一个或两个参数,或不带参数。每条指令的执行都是先送入参数(如果有参数的情况),再送入指令代码。为了保证MPU与T6963C之间的命令和数据的正常交换,每次指令代码传送之前必须进行状态检查。
2.2人机界面图形显示
图形人机界面显示的程序包括图形菜单界面显示,动态登录显示和各个功能按键选择等子程序。下面是利用经典查表法快速实现图形显示的参考程序。
2.3向量图的显示
2.3.1设计思想
在电量检测过程中为了方便现场查线和接线分析,需要能够显示三相电压和三相电流之间的向量图,在电力测量中称之为“六角图”。
本系统所采用的模块为240×128点阵,建立以屏面中心为坐标原点的直角坐标系,则屏面所能显示长度为0至64个点阵,相角为0至360度的矢量图形。因此送入显示的三相电压和电流的大小需要进行一定倍数的压缩,使其幅值变化在(0,64)范围内。
由于液晶屏面点阵与模块的显示缓冲区对应(在直角坐标下),而需要显示的三相电压和三相 电流为向量,因此首先需要进行坐标转换,而且为了满足测量和显示的实时性,要求转换速度快。本系统设计了一种利用查映射表转换极坐标和直角坐标的方法,先将整数角度0至90 度和其正弦值建立映射表插入到程序当中,这样就将复杂的乘除运算简化为简单的查表指令,显著提高了转换速度并节省了内存。
利用三角函数的诱导公式,可以很容易将求相角为0至360度的正余弦等效为求0至90度的正余弦值,再利用上面的查映射表的方法就可以解决任意相角的坐标转换。由于大于255度的 相角度数需要用两个字节来表示,在本系统中为了简化程序编写和节省寄存器空间,利用设置正负相角标志位的方法,将相角0至360度分为±180至0两个区间来描述。
通过上述的坐标转化,就可以得到要显示矢量的起点和终点的直角坐标,利用绘制直线算法和前面提到的绘制液晶屏上已知坐标的任意点的方法,就可以在屏幕上显示出三相电压和电流的矢量关系图。
2.3.2设计思路框图和坐标转换程序
六角图图形显示中显示一组矢量信号的设计思路框图。利用查映射表的方法大大提高了坐标转换速度,而且映射表分度愈密转换精度愈高。下面给出幅值为(0,64)点阵长,相 角为(0,90)度的矢量极坐标转换为直角坐标的参考程序,其中矢量起点坐标(XSTA, YSTA)为固定点,因此只需求出终点坐标(XEND,YEND)即可调用绘直线子程序绘制矢量线段。
暂无评论