位置:51电子网 » 技术资料 » 显示光电

便携设备中的汉字库设计

发布时间:2008/5/29 0:00:00 访问次数:481

在该系统中,用图形点阵液晶模块作为显示,24c256用作汉字库的存储,x1203用于日历时钟,键盘/触摸屏作为输入设备,rs232用于通讯,isd系列语音芯片可以记录语音及播放语音。这里只讨论使用点阵液晶显示汉字的情况以及汉字库的设计方法。一般汉字库有以下几种方案实现。(1)使用程序空间做小字库。
1 便携式设备的常用设计方法
  一般的便携式设备采用如图1所示的电路框图设计(根据需要可增可减)。在该系统中,用图形点阵液晶模块作为显示,24c256用作汉字库的存储,x1203用于日历时钟,键盘/触摸屏作为输入设备,rs232用于通讯,isd系列语音芯片可以记录语音及播放语音。里只讨论使用点阵液晶显示汉字的情况以及汉字库的设计方法。一般汉字库有以下几种方案实现。


  (1)使用程序空间做小字库。这在汉字用量不大的情况下,一种完美的解决方法。但若要用at89c2051、avr系列、pic系列、430f11x系列等作为主控芯片,其主要程序空间就只有2k字节左右,这种方案是不可行的。以500个汉字为例,16×16点阵的字库将需要500×32=16000字节的rom空间,如果使用12×12点阵的汉字,也需要500×24=12000字节的rom空间。所以,汉字库的大小在500字已经不能接受,设计小型的掌上设备,要使用引脚数较少的mcu时(如前所述),rom空间已经感到相当紧张,再占用其空间做汉字库更不能想像。
  
(2)使用大容量的rom芯片专门做汉字库。用这种方式可以使用全部的标汉字,是一种较常用的方法。一般采用27c040芯片,但占用系统i/o数较多,占印刷板面积大,单是27c040就需要19根地址线,8根数据线,还有一些控制信号,还可能需要一片地址锁存芯片。这种方法在便携式设备的设计时一般不采用。

(3)使用自带汉字库的液晶模块。这较为方便,但成本较为高昂,一般为固定规格的汉字,常用的是16×16点阵,使用不灵活。
  (4)使用i2c器件实现汉字库的设计。下面将详细讨论这种方法。

2 设计综述
  用串行i2c方式的eeprom实现汉字库设计,这种方式下系统的构成成本低廉,体积小巧,方便灵活。在图1的设计中,使用128×64点阵规模的常用液晶模块,可以显示12×12点阵的汉字5排,每排10个汉字。使用了一片24c512做汉字库,它有64k字节的存储空间,可以存放64k/24=2730个汉字的12×12点阵字模。如果采用压缩的方法,每个12×12点阵的汉字占用18个字节,则可存放64k/18=3640个汉字。如果使用两片则可以容纳7280个汉字,而使用多片时同样占用两根口线,且不额外占用资源,同时还可以连接其他的i2c器件,如日历芯片、i2c方式的a/d、d/a等,如果24cxxx还有空余空间,则可以作为记录器,记录数据。在实际应用时,我们使用尺寸小的液晶模块(50mm×40mm×3mm),这样,整个电路除键盘外全盖在液晶模块的下面,如果使用液晶上的触摸屏作为键盘,则所有电路的大小可以与液晶屏的尺寸一样,整个系统相当小巧,非常适合掌上设备或其他便携式设备应用。
  
如果使用其他方式实现汉字库,则体积将会较大:使用程序空间做字库,则只能实现很少的汉字字模,而rom尺寸小的芯片还不能实现;若用27c040等则体积肯定大;使用带字库的模块则厚度较大。
  
24c512芯片与mcu接口只占用两根i/o口线:sda,scl。因此,随便使用89c51的i/o连接即可,见图1(注意:需要10kω的上拉电阻),多片时只是在每一片的地址端加以区别,而不需要额外的i/o口线。

3 设计方法
3.1 汉字字模数据
  下面以“使用此汉字库”为例说明字模点阵的形成情况。液晶屏的“使用此汉字库”是按如图2所示的方式一点一点地显示的。图中的每一点对应液晶屏上的每一点。我们只须将所有的点阵数据写入液晶模块的缓冲区就可以了。





  常用的12864液晶模块使用hd61202作液晶控制器,所以,该模块是竖着取模的(由hd61202所决定),而且最高位在下面(请见hd61201的详细资料)。所以“汉”的字模数据为:

  
这里,以“汉”为例,第一个数据088h是最左边的上面第一竖排有点的位置所对应的数据,而且下面为高位。第二个数据091h为左边的上面第二竖排有点的位置所对应的数据,依次类推,得到“汉”上半部分的前12个点阵数据,同样可以得到“汉”下半部分的后12个点阵数据。可以看出,在下半部分的字模,实质上只有一半数据有用,另一半全是0,故,可以采用压缩的办法,缩减字模数据,即下半部分的点阵数据完全可以两个数据缩减成一个数据。比如“汉”压缩后的字模数据为,上半部分不变,前12个数据与原来相同,下半部分两两组合为一个字节,后半部分只有6个字节,这样,一个汉字就只需要18个字节,这样可以大大节省存储器的使用:
088h,091h,064h,018h,002h,01eh,062h,082h,062h,01fh,002h,000h,00fh,008h084h,021h,024h,088h
  
如果液晶模块所使用的控制器是6963或1330/1335等

在该系统中,用图形点阵液晶模块作为显示,24c256用作汉字库的存储,x1203用于日历时钟,键盘/触摸屏作为输入设备,rs232用于通讯,isd系列语音芯片可以记录语音及播放语音。这里只讨论使用点阵液晶显示汉字的情况以及汉字库的设计方法。一般汉字库有以下几种方案实现。(1)使用程序空间做小字库。
1 便携式设备的常用设计方法
  一般的便携式设备采用如图1所示的电路框图设计(根据需要可增可减)。在该系统中,用图形点阵液晶模块作为显示,24c256用作汉字库的存储,x1203用于日历时钟,键盘/触摸屏作为输入设备,rs232用于通讯,isd系列语音芯片可以记录语音及播放语音。里只讨论使用点阵液晶显示汉字的情况以及汉字库的设计方法。一般汉字库有以下几种方案实现。


  (1)使用程序空间做小字库。这在汉字用量不大的情况下,一种完美的解决方法。但若要用at89c2051、avr系列、pic系列、430f11x系列等作为主控芯片,其主要程序空间就只有2k字节左右,这种方案是不可行的。以500个汉字为例,16×16点阵的字库将需要500×32=16000字节的rom空间,如果使用12×12点阵的汉字,也需要500×24=12000字节的rom空间。所以,汉字库的大小在500字已经不能接受,设计小型的掌上设备,要使用引脚数较少的mcu时(如前所述),rom空间已经感到相当紧张,再占用其空间做汉字库更不能想像。
  
(2)使用大容量的rom芯片专门做汉字库。用这种方式可以使用全部的标汉字,是一种较常用的方法。一般采用27c040芯片,但占用系统i/o数较多,占印刷板面积大,单是27c040就需要19根地址线,8根数据线,还有一些控制信号,还可能需要一片地址锁存芯片。这种方法在便携式设备的设计时一般不采用。

(3)使用自带汉字库的液晶模块。这较为方便,但成本较为高昂,一般为固定规格的汉字,常用的是16×16点阵,使用不灵活。
  (4)使用i2c器件实现汉字库的设计。下面将详细讨论这种方法。

2 设计综述
  用串行i2c方式的eeprom实现汉字库设计,这种方式下系统的构成成本低廉,体积小巧,方便灵活。在图1的设计中,使用128×64点阵规模的常用液晶模块,可以显示12×12点阵的汉字5排,每排10个汉字。使用了一片24c512做汉字库,它有64k字节的存储空间,可以存放64k/24=2730个汉字的12×12点阵字模。如果采用压缩的方法,每个12×12点阵的汉字占用18个字节,则可存放64k/18=3640个汉字。如果使用两片则可以容纳7280个汉字,而使用多片时同样占用两根口线,且不额外占用资源,同时还可以连接其他的i2c器件,如日历芯片、i2c方式的a/d、d/a等,如果24cxxx还有空余空间,则可以作为记录器,记录数据。在实际应用时,我们使用尺寸小的液晶模块(50mm×40mm×3mm),这样,整个电路除键盘外全盖在液晶模块的下面,如果使用液晶上的触摸屏作为键盘,则所有电路的大小可以与液晶屏的尺寸一样,整个系统相当小巧,非常适合掌上设备或其他便携式设备应用。
  
如果使用其他方式实现汉字库,则体积将会较大:使用程序空间做字库,则只能实现很少的汉字字模,而rom尺寸小的芯片还不能实现;若用27c040等则体积肯定大;使用带字库的模块则厚度较大。
  
24c512芯片与mcu接口只占用两根i/o口线:sda,scl。因此,随便使用89c51的i/o连接即可,见图1(注意:需要10kω的上拉电阻),多片时只是在每一片的地址端加以区别,而不需要额外的i/o口线。

3 设计方法
3.1 汉字字模数据
  下面以“使用此汉字库”为例说明字模点阵的形成情况。液晶屏的“使用此汉字库”是按如图2所示的方式一点一点地显示的。图中的每一点对应液晶屏上的每一点。我们只须将所有的点阵数据写入液晶模块的缓冲区就可以了。





  常用的12864液晶模块使用hd61202作液晶控制器,所以,该模块是竖着取模的(由hd61202所决定),而且最高位在下面(请见hd61201的详细资料)。所以“汉”的字模数据为:

  
这里,以“汉”为例,第一个数据088h是最左边的上面第一竖排有点的位置所对应的数据,而且下面为高位。第二个数据091h为左边的上面第二竖排有点的位置所对应的数据,依次类推,得到“汉”上半部分的前12个点阵数据,同样可以得到“汉”下半部分的后12个点阵数据。可以看出,在下半部分的字模,实质上只有一半数据有用,另一半全是0,故,可以采用压缩的办法,缩减字模数据,即下半部分的点阵数据完全可以两个数据缩减成一个数据。比如“汉”压缩后的字模数据为,上半部分不变,前12个数据与原来相同,下半部分两两组合为一个字节,后半部分只有6个字节,这样,一个汉字就只需要18个字节,这样可以大大节省存储器的使用:
088h,091h,064h,018h,002h,01eh,062h,082h,062h,01fh,002h,000h,00fh,008h084h,021h,024h,088h
  
如果液晶模块所使用的控制器是6963或1330/1335等
相关IC型号

热门点击

 

推荐技术资料

按钮与灯的互动实例
    现在赶快去看看这个目录卞有什么。FGA15N120AN... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!