关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于T6963C控制器的液晶模块显示技术

基于T6963C控制器的液晶模块显示技术

作者:时间:2013-08-10来源:网络收藏

2 的软件设计
2.1 的状态字和指令集
由于为可编程芯片,因此要求编程控制LCM2401286器正常,首先需掌握的状态字和指令集。由于T6963C指令集的初始化通常由硬件设置完成,因此其指令系统将集中于功能的设置上。T6963C的指令可带一个或两送入指令代码,每次操作前先检测状态字,以确保指令的正确执行。T6963C的状态字如表4所示,其中,STA0为指令读写状态,STA1为数据读写状态,STA2为数据自动读状态,STA3为数据自动写状态。由于各状态位的作用不同,所以执行不同指令时必须检测不同的状态位。在MPU每次读写指令和数据时,STA0和STA1要同时有效。当MPU读写数组时,需判断STA2或STA3状态。屏读、屏拷贝指令应使用STA6。而STA5和STA7则反映T6963C内部运行状态。

本文引用地址:http://www.eepw.com.cn/article/159292.htm

h.JPG


T6963C的指令包括指针设置指令、显示区域设置指令、显示开关指令、光标形状选择指令、数据自动读/写方式设置指令、数据一次读/写方式指令和位操作指令等。指针设置指令主要用于设置光标指针、CGRAM偏置地址和地址指针。显示区域设置指令主要用于设置文本区和图形区首地址以及文本区和图形区的宽度。文本区和图形区首地址对应显示屏左上角字符位或字节位,修改该地址可产生卷动效果。文本区宽度设置和图形区宽度设置用于调整一行显示所占显示RAM的字节数,从而确定显示屏与显示RAM单元的对应关系。显示开关指令主要用于设置光标闪烁、光标显示、文本显示及图形显示的开启。正确使用上述指令可保证显示正常进行。
2.2 图形方式下字符、汉字显示
在编写显示程序时,首先要编写一些预处理程序和显示器的初始化程序。预处理程序包括:状态字中的状态位判断程序、写无参数指令程序、写双参数指令程序、写数据指令程序、设置当前地址程序和设置当前显示行列程序。显示器初始化程序包括:工作状态初始化程序和清屏程序。工作状态初始化程序即设置显示器为图形显示方式,同时关闭文本显示,设置图形显示区首地址为00H,设置图形显示区宽度为20 H(即32 Byte),设置光标的形状为8点1行。显示器清屏程序是通过程序对显示缓冲区写零来达到清屏目的。
上述工作完成后便可编写字符、汉字显示程序。字符、汉字显示程序流程如图3所示。为适应显示内容长度不固定的情况,可设置和使用可变长参数。使用可变参数步骤如下:(1)为了访问变长参数列表中的参数,必须声明va_list类型的一个对象,首先在函数里定义一个va_li st型的变量,即arg_ptr,这一变量是指向参数的指针。(2)用va_start宏初始化这一变量arg_ptr,这个宏的第2个参数是第一个可变参数的前一个参数,是一个固定参数,使arg_ptr指向第一个可选参数,以固定参数的地址为起点确定变参的内存起始地址。va_start是访问变长参数列表中的参数前所使用的宏,其初始化用va_list声明的对象,初始化结果供宏va_arg和va_end使用;va_arg:展开成一个表达式的宏,该表达式具有变长参数列表中下一个参数的值和类型。每次调用va_arg均会修改用va_list声明的对象,从而使该对象指向参数列表中的下一个参数;然后用va_arg返回可变的参数,并赋值给整数变量。va_arg的第2个参数是要返回参数的类型。(3)va_end将arg_ptr指针清为NULL,函数体内可多次遍历这些参数,但必须以va_start开始,并以va_end结尾。va_end宏使程序能够从变长参数列表用宏va_start引用的函数中正常返回。va在此是vairable argument(可变参数)的意思。

i.JPG


为确保输出显示的内容尤其是数字能按照格式化方式显示,可采用函数vsprintf()将格式化字符串和数字值输出到指定的内存缓冲区内,该函数类似于sprintf()函数,但其只接受一个指向变量表的指针而不是一个变量表。返回值为实际写入到输出字符串中的字符数。
字符、汉字显示程序又分成字符部分和汉字部分,其流程图如图3所示。由标准的ASCII字符表可知,字符的ASCII值在0~127范围内,而汉字内码的ASCII值均处于128以上。因此可通过判断要显示内容的ASCII值是否128来区分要显示的内容是字符或是汉字。
若要显示的内容是字符(ASCII值≤128),则又分为非显示字符和显示字符。非显示字符包括控制字符和通讯专用字符。显示字符包括符号、字母和数字。
由标准ASCII字符表可看出,非显示字符的ASCII值在0~31范围内,因此可通过判断显示内容的ASCII值是否32来区分非显示字符和显示字符。
若是非显示字符(ASCII值32),则执行相应的控制功能,若是显示字符(ASCII值≥32)则送显相应的字符。显示字符按16×8点阵显示,即一个可显示字符占16个点阵行,每行1 Byte,每个可显示字符的字模为16 Byte。
若要显示的内容是汉字(ASCII值>128),则按16×16点阵显示,即一个汉字占16个点阵行,每行2 Byte,每个汉字字模为32 Byte。字符、汉字的字体及大小是由其字模决定的,其字模由专门的字模生成软件生成。字符和汉字的字库分开造,无论字符或汉字,若其字体或大小不同,则字库需分开造,显示时分别调用。

3 结束语
文中介绍的T6963C的液晶显示图形方式下的字符汉字显示,具有通用性和普遍性,适于所有采用T6963C的液晶显示模块,其基本思想也适合于采用其他控制器的液晶显示模块。

led显示器相关文章:led显示器原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭