新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 点阵式液晶字符反白和图形显示研究

点阵式液晶字符反白和图形显示研究

作者:时间:2010-06-30来源:网络收藏
字型编码如下:

①显示半宽HCGROM字型。将1字节写入DDRAM中,范围为02H~7FH的编码。

②显示半宽CGRAM字型。将2字节编码写入DDRAM中,总共有0000H、0002H、0004H、0006H四种编码。

③显示中文CGROM字型。将2字节编码写入DDRAM中,范围为A1AOH~FTFFH(GB码)或A140H~D75FH(BIG5码)的编码。

2.2 绘图显示

绘图显示GDRAM提供128×8字节的记忆空间。在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入2个字节的数据到绘图RAM中,而地址计数器(AC)会自动加1。在写入绘图显示RAM的期间,绘图显示功能必须关闭。整个写入绘图RAM的步骤如下:

①关闭绘图显示功能;

②先将水平的位元组坐标(X)写入绘图RAM地址,再将垂直的坐标(Y)写入绘图RAM地址;

③依次将D15~D8和D7~D0写入RAM中;

④打开绘图显示功能。

坐标如图2所示。其中,水平方向X以字节单位,垂直方向Y以位为单位。



3 反白

在实现人机交互界面菜单时,反白可以表示菜单中不同选项被选中的状态。显示模块YM12864R的使用手册中提供了对应行的反白指令,但在原理上ST7920控制器的128×64点阵等同于256×32点阵,第3行对应的文本显示(DDRAM)地址紧接着第1行,第4行对应的文本显示(DDRAM)地址紧接第2行。因此,用户对第1行执行反白显示操作时,第3行必然也反白显示;对第2行执行反白操作时,第4行也必然反白。可见,使用手册中自带的反白指令不能实现任意的反白。

为了解决上述问题,可以将和字符显示结合起来使用。在ST7920控制器中,文本显示的DDRAM和的GDRAM是相互独立的,而最后显示到上的结果则是,文本显示DDRAM中数据和图形显示GDRAM中数据的异或结果。

如果要在液晶显示模块的某个点上呈现反白显示,那么就在该点绘图并且显示文本;如果要取消反白,只需用全“0”擦掉该点的绘图。这样,就可以实现YM12864R的任意字符的反白。

字符反白程序流程如图3所示。其中,base_x表示绘图起始的行地址;Y_Pos表示绘图起始的列地址;第1行至第4行的起始地址分别是(0x80,0x80),(0xS0,0xg0),(0x88,0xS0)和(0x88,0x90)。



反白就是在需要反白的区域进行绘图,即在这个区域写进0xff。清除一个区域的反白,就是对需要清除反白的区域清除绘图,即在这个区域写进0x00。

在整个绘图的过程中,横向地址指针是自动进行加1运算的,所以只需要确定这一行的首地址横坐标;而纵坐标的地址不进行自动加1运算,需要在程序中修正,每次修正是以像素为基本单位的。

字符反白显示实例如图4所示。



4 任意位置显示任意大小图形

在实现人机交互界面时,图文结合是常见的一种方式。本文尝试一种任意位置显示任意大小图形(横向尺寸以字节为基本单位,纵向尺寸以位为基本单位)的方法,为人机交互界面的图形结合设计提供了捷径。

4.1任意位置显示任意大小图形程序

任意位置显示任意大小图形程序流程如图5所示。其中,x1和y1表示所画图的起始点相对于液晶屏幕左上角起始点(0xS0,0x80)的距离(横向x1以字节为基本单位,纵向y1以位为基本单位);x表示所画图的起始横坐标地址;y表示所画图的起始纵坐标地址;Write_command()函数用于向液晶中写命令;templ表示图形的纵向尺寸(以像素为单位)。


评论


相关推荐

技术专区

关闭