其中,STA0为指令读写状态,1为准备好,0 为忙;STA1为数据读写状态,1为准备好,0为忙;STA2为数据自动读状态,1为准备好,0为忙;STA3为数据自动写状态,1为准备好,0为忙;STA4未用;STA5为控制器运行检测可能性,1为可能,0为不可能;STA6为屏读/拷贝出错状态,1为出错,0为正确;STA7为闪烁状态检测,1为正常显示,0为关显示。
由于状态位作用不一样,因此执行不同指令必须检测不同状态位。在MPU一次读、写指令和数据时,STA0和STA1必须同时有效。当MPU读、写数组时,STA2或STA3有效,而STA0和STA1无效。屏读,屏拷贝指令使用STA6。STA5和STA7反映模块内部运行状态,很少使用。
3.1 初始化液晶显示模块
在 T6963C中内嵌有128种字符点阵的CGRAM(字符发生器ROM),同时T6963C还可管理一定大小的显示缓冲区。显示缓冲区 RAM 的具体大小由不同显示尺寸的模块决定,点阵越大RAM越多,本设计采用的240×128模块带有16KB的RAM。该显示缓冲区分为文 本 显 示 区 、 图 形 显 示 区 和CGRAM区。文本显示区和图形显示区是两个不同性质的使用区域,是本设计使用的重点。CGRAM区是用户为方便制作特殊符号而在显示缓冲区内任意设置的一个区域,它可作为外扩的字符发生器。对T6963C初始化时,在关闭显示后应该先确定采用哪种方式进行显示(文本/图形),再来设置显示缓冲区中图形区的首地址、宽度和文本区的首地址、宽度。此后可选择光标的形状,继而进行显示开关设置。其程序流程如图3所示。
3.1 汉字显示
汉字显示就是将程序中以字摸数据形式表示的汉字在显示屏上显示出来。汉字显示的基本方法有两种,即文本显示方式和图形显示方式。二者显示的方法不同,但都必须先在程序区设定汉字的字模数据。字模可通过一些特定软件如北京精电蓬远显示技术有限公司提供的PICKHZB.EXE软件提取生成,字模的排列格式也是由用户自己选定的,如可为16×16、16×14或16×12等,本系统的字模排列格式是第16×14。现分别简要介绍两种方式的显示过程,以下为“检测”二字在程序中的字模数据表:
uint code hztab[]={
0x00,0x00,0x22,0x00,0x23,0x00,0xF4,0x80,0x28,0x40,0x67,0xA0,0x70,0x00,0xAA,0x40,0xA5,0x40,0x25,0x40,0x20,0x80,0x3F,0xE0,0x00,0x00,0x00,0x00,//检
0x00,0x00,0x9E,0x20,0x52,0x20,0x12,0xA0,0x96,0xA0,0x56,0xA0,0x56,0xA0,0x56,0xA0,0xD6,0xA0,0x44,0xA0,0x4A,0x20,0x71,0x60,0x00,0x00,0x00,0x00,//测
}
文本方式下必须先将程序中的字模数据写入显示缓冲区中建立,如图4所示。由数据在CGRAM中的位置取得相应的汉字代码(一个汉字占用4个字符代码),通过写汉字代码将汉字在文本显示区上屏坐标为(X,Y)处依次显示出来。
图形方式下显示汉字也是比较常用的方法,在本系统中也使用了这种方法。与文本方式不同的是汉字代码不是取决于字模数据在CGRAM中的位置,而是按其在字模数据表中排列顺序定义的。汉字的显示不是通过写其代码而是将字模数据逐个字节地写入图形显示区。同样可在显示屏上坐标为(X,Y)处顺序显示出汉字。软件流程图如图5所示。
在软件编制过程中,其他如字符、直线等显示方法大同小异,在此不加赘述。用户可以通过运算,编制波形显示等复杂的液晶显示程序。同时由于显示屏的显示容量总是一定的,为了能够更多的显示信息,用户可以通过键盘扫描,进行菜单的多级调用,解决显示容量的限制。定时间定间隔地修改文本显示区与图形显示区首地址将会产生显示画面滚动显示效果,这样可以使一个菜单的内容大于一屏允许的显示量。是两种常用的方法。
4 结论
以T6963C控制器为核心的精电M-240128T液晶显示模块实现了某型导航数据仿真器的数据显示,使用户在仪器使用过程中更加灵活方便。