专利名称:基于ra8870控制器的液晶模块自定义符号和图形的显示方法
技术领域:
本发明属于彩色液晶显示模块的汉字显示技术领域,具体涉及一种基于RA8870 控制器的液晶显示模块用户自定义的、任意尺寸的汉字字符和图形符号的显示方法。
背景技术:
目前,TFT液晶显示模块质量轻、厚度薄,辐射少,数字化,被广泛应用在智能仪器仪表领域。在智能仪器仪表上,液晶显示模块用于监控参数数值显示、实时参数曲线显示和提供报警信息,因此,不同字体、不同大小的文字或符号提示必不可少。RA8870控制器是瑞佑科技有限公司(RAiO Technology Inc.)出品的一款文字/ 图形TFT液晶控制器,支持640X480点分辨率的数字或模拟TFT液晶显示模块。RA8870内置了 IS08859的4种字体的字母及符号IOM个,以半字型8X 16点阵模式显示。另外,它提供了按照GB-2312和BIG-5编码访问外部汉字字型ROM的功能,以全字型16X 16点阵模式显示[1]。金鹏实业有限公司出品的彩色显示模块0CM480272T430采用了 RA8870控制器作为驱动器件,该模块提供了 GB-2312及BIG-5编码的外部16X 16点阵宋体字型字库[2]。 RA8870控制器具有完善的西文显示模式,提供了 4种字体、IOM个16 X 8的点阵字符库,其放大、旋转等附加功能,西文显示基本能够满足智能仪器仪表应用的需要。在汉字字符显示方面,它支持16X 16点全字型显示模式,由于汉字字库ROM通常存储一种字体的字型点阵库,不能满足不同风格字体多样化显示的需求;另外,虽然在RA8870控制器下可以实现把显示字符以固定倍数放大,但是由于字体膨胀,字符字型显示点阵变得稀疏,缺乏美感,另一方面,也不能满足用户自行定义的字符和图形显示要求。以下是申请人检索的相关参考文献
1RA8870 文字 / 图形 TFT LCD 控制器规格书(Version 1. 1A) ,2010,9 ;
20CM480272T430-1B彩屏带触摸屏说明书,金鹏实业有限公司。
发明内容
针对目前基于RA8870控制器的液晶显示模块只能显示16X8半字型和16 X 16全字型的不足,本发明的目的在于,提供一种RA8870控制器的自定义大尺寸和字体的字符和图形符号显示方法。为了实现上述任务,本发明采用如下的技术解决方案一种RA8870控制器的自定义大尺寸和字体的字符和图形符号显示方法,其特征在于,该方法首先构建显示字符或图形符号的字型点阵,以RA8870控制器的16X8半字型和16 X 16全字型基本显示模式为基础,把自定义的字符点阵字型分割成16 X 8的半字型子字型块,并进行编码;显示时,首先把需要显示的字型以子字型模块的编码形式,按字型结构特征及拟定的顺序依次读入RA8870控制器的CGR0M,并确定每个子字型模块在CGROM中的编号;其次,指定该字符在液晶模块上的显示起始位置,按照自定义字符或图形的结构,通过显示位置计算公式,计算出每个子字型模块显示位置;然后,采用半字型或全字型方式的调用方式,把CGROM中的子字型模块按指定显示位置调入DDRAM,实现显示字符的字型装配,在液晶显示模块上呈现完整的字符和图形。所述的字型模块的编码是行形式的二进制编码,字型点阵中需显示的点定义为1, 无需显示的点定义为0 ;需要反色显示时,则反之;每8位二进制构造一个编码,一个子字型模块由16个8位二进制编码构成。所述的自定义字型点阵的字高是16的整数倍,字宽是8的整数倍,不是整数倍数时,在构建字型点阵时用O补足8位。所述的自定义字型点阵分割方法是把自定义字型点阵按照8X16点阵分解成若干个子模块,称为子字型模块。然后, 对每个子模块编码,构成16个字节的子字型模块编码。自定义字符或图形的显示方法是(1)把自定义字型点阵写入RA8870的CGRAM,具体步骤设置RA8870设置为图形模式,设置CGRAM控制寄存器为允许写入CGRAM状态,指定字型点阵写入CGRAM的区域,依次把字型模块的16个字节编码存入CGRAM的指定区域,每次写入一个子模块编码。并把每个子模块按其在CGRAM的存储顺序编号。(2)写入CGRAM时,按照显示字符或图形的结构特征,自左向右、自上而下各个子模块的编码按指定顺序写入。(3)自定义字符或图形显示,具体步骤为把RA8870设置为文本模式,设置文字控制寄存器0使RA8870选择CGRAM字型,选择显示存储区DDRAM的写入区域,指定字符或图形在液晶模块的显示位置坐标,从CGRAM中提取字型编码到DDRAM。(4)字符或图形显示时,按照自定义字符和图形的结构特征,定位显示位置坐标, 把字型点阵子模块编码传送到DDRAM。(5)从CGRAM提取字型编码的方式以RA8870的半字型或全字型模式提取。以RA8870的半字型模式提取设置RA8870为显示半型字,把子模块在CGRAM中的编号传送给RA8870,RA8870控制器会自动从CGROM中提取该子模块的点阵信息到液晶模块的指定位置显示。以RA8870的全字型模式提取设置RA8870为显示半型字,把子模块在CGRAM中的编号传送给RA8870,RA8870控制器会自动从CGROM中提取该子模块以及下一个子模块的点阵信息到液晶模块的指定位置显示。
图1为一个自定义字符的字型点阵示意图;图2为一个自定义字符的字型点阵的分割示意图;图3为一个子模块的字型点阵编码示意图;图4为字型点阵子模块在CGRAM中的存储和编号示意图;图5为自定义字符或图形的字型点阵编码送入CGRAM的流程图。图6为一个字符或图形以半型字方式显示的操作流程。图7为一个字符或图形以全型字方式显示的操作流程。
下面结合附图对本发明进一步说明。
具体实施例方式按照本发明的技术方案,实现本发明方法具体包括自定义字符或图形的字型点阵创建、字型点阵的子模块分割、子模块装入CGRAM、自定义字符和图形的显示。所述字型点阵创建方法是自定义的字符或图形须转换成字型点阵,其点阵维数为MXN,其中M是16的整数倍,N是8的整数倍,设m = Μ/16,η = N/8。一个自定义汉字字符的字型点阵如图1所示,图1中自定义字体为行书的汉字 “雪”的32X32字型点阵。图中黑色点为显示部分,反色显示时,反之。在构建字型点阵时, 若M和N不能满足16和8整数倍的要求时,用非显示色补足。所述的字型点阵的子模块分割方法是把字型点阵分割为16行、8列的一系列子模块,分割MXN维字型点阵可以得到 mXn个子模块,并按字型点阵结构形式自左向右、自上而下给每个模块编号。如图2所示, 32X32字型点阵可分割为8个16X8的子模块① ⑧。为了把字型点阵信息送入RA8870的CGRAM,需要对每个字型点阵子模块进行编码,图3为其中一个子模块的点阵字型编码示意图,编码时,图中的黑色方块为二进制数1, 图中的黑色方块为二进制数0,字型点阵子模块的每一行为8位,编码可写成2位十六进制数,如图中第一行字型点阵的二进制编码为11111000,写成十进制数为0xF8.每一个子模块的编码为16个,顺序自上而下。所述的子模块装入CGRAM的方法是按子模块编号顺序地把各个子模块的编码送入CGRAM中,图4为子模块送入CGRAM 后的示意图。图5为自定义字符或图形的字型点阵编码送入CGRAM的流程图。具体的操作流程如下(1)设置RA8870设置为图形模式把RA8870的CGRAM写入控制器0 (MWCRO)的最高位TX_MD清零,(2)设置RA8870的CGRAM为允许写入状态,设置RA8870的CGRAM写入控制器 1 (MWCRl) WR_DS1 为 0,WR_DS0 为 1。(3)指定字符字型点阵的写入区域,通过设定RA8870的CGRAM设定寄存器内容 (CGSR)实现,即指定字型点阵在CGRAM存储区编号,编号取值0x00 OxFF。RA8870的CGRAM每个存储区域的大小为16个单元,因此,每个存储区域存储一个字符字型点阵子模块。多个子模块需要多次进行写入CGRAM操作。(4)把一个字符字型点阵子模块写入RA8870的CGRAM指定存储区域时,首先执行 GCRAM写入命令,写入CGRAM读/写命令寄存器(MRWC)。然后,依次把字符字型点阵子模块的编码以每次一个字节的形式,分16次写入指定CGRAM的存储区域。(5)多个字型点阵子模块写入CGRAM的操作,重复上述步骤(3)、步骤(4)两步。(6)多个自定义字型点阵的写入,重复步骤(3)、步骤、步骤(5)。所述自定义字符或图形显示方法是(一 )字符或图形以半型字方式显示
字符或图形以半型字方式显示是把存储在RA887的CGRAM中的各子模块,以 RA8870定义的全半字型方式(16 X 8点阵),按预先设置的顺序依次调入DDRAM,重新组装各字型点阵子模块,以完整字符或图形的形式显现在液晶显示模块上。图6为一个字符或图形以半型字方式显示的操作流程。具体步骤是(1)分割字符或图形为子模块之后,按照字符和图形的构造确定子模块的个数,共 m行Xn列个16X8个字型点阵子模块,确定字型点阵子模块行数m,列数η。(2)设置字符显示的背景和字体颜色设置RA8870的文字前景颜色寄存器(TFCR) 和文字背景颜色寄存器(TBCR)。(3)设置RA8870的模式为文本模式把GCRAM存储器写入控制器0 (MWCRO)的最
高位置1。(4)设置字符的显示模式,即从CGRAM中提取字符字型点阵到DDRAM的方式,显示模式由文字控制寄存器0 (FNCRO)的第六位FS_S设置半字型方式时,FS_S设置为0。(5)确定字符显示的起始位置(x0,y0)。确定字型点阵子模块的起始编号,行j = 0,歹|J i = O0(6)设置字型点阵库的位置位于RA8870的CGRAM 文字控制寄存器0 (FNCRO)的第七位FT_S设置为1。(7)选择写入字型点阵的目的存储区域设置目的存储区域为BANKl和BANK2,由 CGRAM写入控制寄存器1 (MWCRl)的第三位WR_DS1和第二位WR_DS0确定,WR_DS1和WR_DS0 均设置为0。(8)设置字符显示的图层由CGRAM写入控制寄存器1 (MWCRl)的最低位WR_L确定,WR_L设置为0时,选择图层1。(9)求字符显示位置坐标(X,y)。设字符在液晶模块显示的起始位置(xO,yO)在某一行显示的字型点阵子模块显示位置坐标(X,y)按下式计算χ = χθ+i X 8y = yO即子模块在同一行显示时,纵坐标y保持不变,横坐标χ在上一个子模块位置基础上递增8个像素。根据字符和图形的构造装配字型点阵子模块时,字型点阵子模块需换行显示,换行显示的起始坐标为按下式计算xO = x0yO = yO+16即换行显示时,子模块显示起始位置的横坐标χ保持不变,纵坐标y在上一行显示位置的基础上递增16个像素。(10)通过RA8870的坐标设置寄存器设置字型点阵子模块的显示位置。横坐标χ由水平坐标寄存器(⑶RH1,⑶RH0)设置;横坐标y由水平坐标寄存器(⑶RV1,⑶RV0)设置。(11)从CGRAM中按编号取字型点阵子模块,然后写入DDRAM,字型点阵子模块显示在液晶显示模块上。
(12)换行显示时,需要重新设置字型点阵库的位置、目的存储区和显示图层。( 二)字符或图形以全型字方式显示字符或图形以全型字方式显示是把存储在RA8870的CGRAM中的各子模块,以 RA8870定义的全字型方式(16 X 16点阵),按预先设置的顺序和字符或图形的结构,依次调入DDRAM,重新组装字型点阵子模块,以完整字符或图形的形式显现在液晶显示模块上。全型字方式显示时,每给一个字型点阵子模块编号,将提取从此编号开始的2个字型点阵子模块的编码,在液晶显示模块上显示一个16X 16点阵的图形。图7为一个字符或图形以全型字方式显示的操作流程。具体步骤是(1)分割字符或图形为子模块之后,按照字符和图形的构造确定子模块的个数,共 m行Xn列个16X8个字型点阵子模块,确定字型点阵子模块行数m,列数η。(2)设置字符显示的背景和字体颜色设置RA8870的文字前景颜色寄存器(TFCR) 和文字背景颜色寄存器(TBCR)。(3)设置RA8870的模式为文本模式把GCRAM存储器写入控制器0 (MWCRO)的最
高位置1。(4)设置字符的显示模式,即从CGRAM中提取字符字型点阵到DDRAM的方式,显示模式由文字控制寄存器O(FNCRO)的第六位FS_S设置全字型方式时,FS_S设置为1。(5)确定字符显示的起始位置(x0,y0)。确定字型点阵子模块的起始编号,行j = 0,歹Ij i = O0(6)设置字型点阵库的位置位于RA8870的CGRAM 文字控制寄存器0 (FNCRO)的第七位FT_S设置为1。(7)选择写入字型点阵的目的存储区域设置目的存储区域为BANKl和BANK2,由 CGRAM写入控制寄存器1 (MWCRl)的第三位WR_DS1和第二位WR_DS0确定,WR_DS1和WR_DS0 均设置为0。(8)设置字符显示的图层由CGRAM写入控制寄存器1 (MWCRl)的最低位WR_L确定,WR_L设置为0时,选择图层1。(9)求字符显示位置坐标(X,y)。设字符在液晶模块显示的起始位置(xO,yO)在某一行显示的字型点阵子模块显示位置坐标(X,y)按下式计算χ = χθ+i X 16y = yO即子模块在同一行显示时,纵坐标y保持不变,横坐标χ在上一个子模块位置基础上递增一个全字型字宽——16个像素。根据字符和图形的构造装配字型点阵子模块时,字型点阵子模块需换行显示,换行显示的起始坐标为按下式计算xO = x0yO = yO+16即换行显示时,子模块显示起始位置的横坐标χ保持不变,纵坐标y在上一行显示位置的基础上递增16个像素。(10)通过RA8870的坐标设置寄存器设置字型点阵子模块的显示位置。
横坐标χ由水平坐标寄存器(⑶RH1,⑶RH0)设置;横坐标y由水平坐标寄存器(⑶RV1,⑶RV0)设置。(11)从CGRAM中按编号取字型点阵子模块,然后写入DDRAM,字型点阵子模块显示在液晶显示模块上。(12)换行显示时,需要重新设置字型点阵库的位置、目的存储区和显示图层。
权利要求
1. 一种基于RA8870控制器液晶显示模块的自定义字符和图形符号显示方法,其特点在于,该方法首先构建显示字符或图形符号的字型点阵,以RA8870控制器的16X8半字型和16 X 16全字型基本显示模式为基础,把自定义的字符点阵字型分割成16 X 8的半字型子字型块,并进行编码;显示时,首先把需要显示的字型以子字型模块的编码形式,按字型结构特征及拟定的顺序,依次读入RA8870控制器的CGR0M,并确定每个子字型模块在CGROM中的编号;其次,指定该字符在液晶模块上的显示起始位置,按照自定义字符或图形的结构, 通过显示位置计算公式,计算出每个子字型模块显示坐标位置;然后,采用半字型或全字型方式的调用方式,把CGROM中的子字型模块按指定显示位置调入DDRAM,实现显示字符的字型装配,在液晶显示模块上呈现完整的字符和图形;所述的字型模块的编码是行形式的二进制编码,字型点阵中需显示的点定义为1,无需显示的点定义为0 ;需要反色显示时,则反之;每8位二进制构造一个编码,一个子字型模块由16个8位二进制编码构成;所述的自定义的字符点阵的字高是16的整数倍,字宽是8的整数倍,不是整数倍数时, 在构建字型点阵时用0补足8位;所述的自定义的字符点阵分割方法是把自定义的字符点阵按照8X16点阵分解成若干个子模块,称为字型点阵子模块,然后,对每个子模块编码,构成16个字节的子字型模块编码;自定义字符或图形的显示方法是(1)把自定义的字符点阵写入RA8870的CGRAM,具体方法是设置RA8870设置为图形模式,设置CGRAM控制寄存器为允许写入CGRAM状态,指定字型点阵写入CGRAM的区域,依次把字型模块的16个字节编码存入CGRAM的指定区域,每次写入一个子模块编码;并把每个子模块按其在CGRAM的存储顺序编号;(2)写入CGRAM时,按照字符和图形的结构,自左向右、由上而下,依次把字型点阵子模块的编码写入RA8870的CGRAM ;(3)自定义字符或图形显示,具体方法为把RA8870设置为文本模式,设置文字控制寄存器0使RA8870选择CGRAM字型,选择显示存储区DDRAM的写入区域,指定字符或图形在液晶模块的显示位置坐标,从CGRAM中提取字型编码;(4)字符或图形显示时,按照显示字符的字型构造特征,提取字型编码;(5)从CGRAM提取字型编码的方式是以RA8870的半字型或全字型模式提取。
全文摘要
本发明公开了一种基于RA8870控制器的液晶显示模块用户自定义的、任意尺寸的汉字字符和图形符号的显示方法,该方法将自定义字符或图形符号用字型点阵方法构建,以RA8870控制器的16×8半字型和16×16全字型基本显示模式为基础,把自定义的字符点阵字型分割成16×8的半字型子模块,并进行编码。显示时,按字型结构特征及拟定的顺序,把字型子模块依次读入RA8870控制器的CGROM。然后,指定显示起始位置,用显示位置计算公式,按照自定义字符或图形的结构,计算出每个子字型模块显示坐标位置;再以不同的调用方式实现显示字符的字型装配,在液晶显示模块上呈现完整的字符和图形。
文档编号G09G3/36GK102522067SQ20111031799
公开日2012年6月27日 申请日期2011年10月19日 优先权日2011年10月19日
发明者代杰, 段晨东, 秦刚 申请人:长安大学