位置:51电子网 » 技术资料 » 单 片 机

图形LCD模块ACM19264ASB的汉字显示

发布时间:2008/5/28 0:00:00 访问次数:398

1引言

在基于单片机的智能系统中,汉字显示模块是很重要的一个组成部分,它应用广泛、操作容易、调试简便。

然而,在单片机上显示汉字也存在几个问题。首先,单片机资源有限,我们不能为了显示汉字占用太多的资源;其次,汉字存储读取比较繁琐,使用不方便;第三,汉字是通过点阵显示出来的,往往与lcd写入方式不一样,这就得进行转换和调整。

值得注意的是,基于单片机的汉字显示不能在字符lcd上实现。使用图形lcd有很多优点,不仅能显示汉字,而且可以实现汉字动态移动和上下滚屏,实现汉字与图形的混合显示,同时功耗低。

2基于单片机的汉字显示原理

2.1汉字字模

汉字一般是以点阵式存储的,如16×16,24×24点阵(即汉字的字模),每个汉字由32字节(16点阵)或72字节(24点阵)描述。根据汉字的不同字体,也可分为宋体字模、楷体字模、黑体字模等等。

汉字的字模其实是汉字字形的图形化。对于16点阵字模,就是把汉字写在一个16×16的网格内,汉字的笔画能过某网格时该网格就对应1,否则该网格对应0,这样每一网格均对应1或0,把对应1的网格连起来看,就是这个汉字。汉字就是这样通过字节表示点阵存储在字库中的。

为了方便查找所需汉字的点阵,每个汉字都与一个双字节的内码一一对应。通过汉字的内码可以计算出它的点阵起始字节。现以16点阵为例说明。

先由内码计算出它在汉字库中的区位码,计算公式为:

区码=内码第一字节-160

位码=内码第二字节-160

再由区位码可以得到它在汉字库中字模第一个字节的位置:
(区码×94+位码)×32 于是,可以向后连续读出由32个字节组成的该字的点阵数据。

2.2汉字显示

汉字占用资源太多(如16点阵,每个汉字就需32字节),因而通常把汉字库放在eeprom里,需要显示某个汉字时,先算出它的区位码,再求出点阵起始位置,从eeprom中顺序调出该字的点阵数据,存在缓冲区里,最后依次送往lcd显示,描出该字。需要说明的是汉字存储方式与lcd显示方式有一定差别。

本文使用另一种显示方法,即事先将程序用到的汉字、符号和数码(为了节省显示空间,可以将数码压成8×16点阵),编成一个文本文件,用一段小程序做出相应小的汉字库,这个小字库的汉字点阵数据取自于一般汉字库。再经过转换和调整,得到新的汉字库,最后把新字库固化在eeprom中。单片机只需按序号读出点阵字节,送往lcd即可显示所需汉字。减轻了单片机的负担,去除了繁琐的查找内码、求起始位置、转换、调整等工作,提高了系统可靠性。

表116点阵汉字字库存储方式

3自定义小字库的制作

典型的汉字库可选用ucdos下的字库,如16点阵字库hzk16。需要256k空间,用了较大的eeprom,又不方便读取,而实际应用中需要的汉字又非常少,因而我们可以自己制作小的汉字库,在这个小字库里只包含系统需要的汉字。这样,一方面节省读取时间,另一方面大大地节省了资源。

限于篇幅,这里仅仅给出流程图(假定事先将所需汉字写到了一个文本文件),如图1所示。

4图形点阵液晶显示模块acm19264asb的结构与原理

4.1技术参数和性能

1)电源:+5v;
2)显示内容:192(列)×64(行)点阵,可显示图形,也可显示12×4(16点阵)汉字;
3)全屏幕点阵;
4)7种指令;
5)与cpu接口采用8位数据总线并行输入输出和8条控制线。

4.2模块主要外部接口
1)vss:地;
2)d/i:高时表示db7~db0为显示数据,低时表示为显示指令数据;
3)r/w:读写控制;
4)e:使能信号;
5)db7~db0:数据线;
6)cs3~cs1:3组列驱动选择器;
7)reset:复位控制;
8)vee:负电压驱动。

4.3指令说明,指令字为【r/w,d/i,db7,db6,db5,db4,db3,db2,db1,db0】

1)显示开关控制【0,0,0,0,1,1,1,1,1,d】,d=1表示开显示,可进行各种显示操作;

2)设置显示起始行【0,0,1,1,a5,a4,a3,a2,a1,a0】,起始行地址可以是0~63的任意一行;

3)设置页地址(即x地址)【0,0,1,0,1,1,1,a2,a1,a0】,8行为一页,模块共64行即8页,0~7可选;

4)设置y地址【0,0,0,1,a5,a4,a3,a2,a1,a0】,y可从0~63选,对应cs3~cs1,各包含64列,y可选择其中一列作读写操作起始列,每操作一次y自动加1;

5)读状态【1,0,bf,0,on/off,rst,0,0,0,0】,其

1引言

在基于单片机的智能系统中,汉字显示模块是很重要的一个组成部分,它应用广泛、操作容易、调试简便。

然而,在单片机上显示汉字也存在几个问题。首先,单片机资源有限,我们不能为了显示汉字占用太多的资源;其次,汉字存储读取比较繁琐,使用不方便;第三,汉字是通过点阵显示出来的,往往与lcd写入方式不一样,这就得进行转换和调整。

值得注意的是,基于单片机的汉字显示不能在字符lcd上实现。使用图形lcd有很多优点,不仅能显示汉字,而且可以实现汉字动态移动和上下滚屏,实现汉字与图形的混合显示,同时功耗低。

2基于单片机的汉字显示原理

2.1汉字字模

汉字一般是以点阵式存储的,如16×16,24×24点阵(即汉字的字模),每个汉字由32字节(16点阵)或72字节(24点阵)描述。根据汉字的不同字体,也可分为宋体字模、楷体字模、黑体字模等等。

汉字的字模其实是汉字字形的图形化。对于16点阵字模,就是把汉字写在一个16×16的网格内,汉字的笔画能过某网格时该网格就对应1,否则该网格对应0,这样每一网格均对应1或0,把对应1的网格连起来看,就是这个汉字。汉字就是这样通过字节表示点阵存储在字库中的。

为了方便查找所需汉字的点阵,每个汉字都与一个双字节的内码一一对应。通过汉字的内码可以计算出它的点阵起始字节。现以16点阵为例说明。

先由内码计算出它在汉字库中的区位码,计算公式为:

区码=内码第一字节-160

位码=内码第二字节-160

再由区位码可以得到它在汉字库中字模第一个字节的位置:
(区码×94+位码)×32 于是,可以向后连续读出由32个字节组成的该字的点阵数据。

2.2汉字显示

汉字占用资源太多(如16点阵,每个汉字就需32字节),因而通常把汉字库放在eeprom里,需要显示某个汉字时,先算出它的区位码,再求出点阵起始位置,从eeprom中顺序调出该字的点阵数据,存在缓冲区里,最后依次送往lcd显示,描出该字。需要说明的是汉字存储方式与lcd显示方式有一定差别。

本文使用另一种显示方法,即事先将程序用到的汉字、符号和数码(为了节省显示空间,可以将数码压成8×16点阵),编成一个文本文件,用一段小程序做出相应小的汉字库,这个小字库的汉字点阵数据取自于一般汉字库。再经过转换和调整,得到新的汉字库,最后把新字库固化在eeprom中。单片机只需按序号读出点阵字节,送往lcd即可显示所需汉字。减轻了单片机的负担,去除了繁琐的查找内码、求起始位置、转换、调整等工作,提高了系统可靠性。

表116点阵汉字字库存储方式

3自定义小字库的制作

典型的汉字库可选用ucdos下的字库,如16点阵字库hzk16。需要256k空间,用了较大的eeprom,又不方便读取,而实际应用中需要的汉字又非常少,因而我们可以自己制作小的汉字库,在这个小字库里只包含系统需要的汉字。这样,一方面节省读取时间,另一方面大大地节省了资源。

限于篇幅,这里仅仅给出流程图(假定事先将所需汉字写到了一个文本文件),如图1所示。

4图形点阵液晶显示模块acm19264asb的结构与原理

4.1技术参数和性能

1)电源:+5v;
2)显示内容:192(列)×64(行)点阵,可显示图形,也可显示12×4(16点阵)汉字;
3)全屏幕点阵;
4)7种指令;
5)与cpu接口采用8位数据总线并行输入输出和8条控制线。

4.2模块主要外部接口
1)vss:地;
2)d/i:高时表示db7~db0为显示数据,低时表示为显示指令数据;
3)r/w:读写控制;
4)e:使能信号;
5)db7~db0:数据线;
6)cs3~cs1:3组列驱动选择器;
7)reset:复位控制;
8)vee:负电压驱动。

4.3指令说明,指令字为【r/w,d/i,db7,db6,db5,db4,db3,db2,db1,db0】

1)显示开关控制【0,0,0,0,1,1,1,1,1,d】,d=1表示开显示,可进行各种显示操作;

2)设置显示起始行【0,0,1,1,a5,a4,a3,a2,a1,a0】,起始行地址可以是0~63的任意一行;

3)设置页地址(即x地址)【0,0,1,0,1,1,1,a2,a1,a0】,8行为一页,模块共64行即8页,0~7可选;

4)设置y地址【0,0,0,1,a5,a4,a3,a2,a1,a0】,y可从0~63选,对应cs3~cs1,各包含64列,y可选择其中一列作读写操作起始列,每操作一次y自动加1;

5)读状态【1,0,bf,0,on/off,rst,0,0,0,0】,其

相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!