汉字字模介绍

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
容量为 512KB 甚至更大的存储器 除了可以存储全部的国标汉字外 还可以存储 8 16 的 ASCII 码 点阵数据以及汉字语句编码数据 使用起来更加方便
串行数据存储器 如 AT45DB041B 等 特点是占用口线少 体积小和成本低 如果对于速度要求不 是很高的场合非常适宜
三 硬件汉字库使用电路
在本节中 笔者使用 PHILIPS 公司的产品 P89C51RD2 作为主控 CPU 使用内置 T6963 控制器的 240
单片机的派生产品 它在完全保留 80C51 指令系统和硬件结构的大框架外 发生了多方面的加强 扩展
翻新和创新 P89C51RD2 将原有的对外数据和程序存储器的 16 位寻址机制加以利用 把片上的 RAM 扩展
到 1K 字节 片上的 FLASH EPROM 扩展到 64K 字节 由于一个汉字的内码占用两个字节 所以 1024 字
HD61202U DB 000H,0FEH,002H,00AH,08AH,08AH,08AH,0FAH DB 08AH,08AH,08AH,00AH,002H,0FEH,000H,000H DB 000H,0FFH,040H,048H,048H,048H,048H,04FH DB 048H,049H,04EH,048H,040H,0FFH,000H,000H 由于 HD61202U 显示存储器的特性 不能将计算机内的汉字库提出直接使用 需要将其旋转 90 度后再 写入 也就是有些字模软件 如 zimo22.exe 可到www.c51bbs.com上免费下载 设置为竖向 倒序取模后 所得的数据 其生成字库的格式是前 16 个字节为上半部 16 8 点阵字模数据 后 16 个字节为下半部 16 8 点阵字模数据 读者如果与图 2 中的相应数据作比较 可以看出如果仅仅从数据上是看不出两者的联系 的 如果在这种液晶显示器上要使用硬件汉字库 则读出的点阵信息必须经过处理方可送出显示 增加了 使用难度
-2-
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
晶显示驱动器 要显示同一图形 所需要送入的数据排列顺序可能不同 作者曾经使用过内置 HD61202U 液 晶显示驱动控制器和内置 T6963C 液晶显示驱动控制器的液晶显示模块 同样是显示 16 16 点阵的 国 字 则需要的点阵数据如下
一 硬件汉字库相关知识
1 汉字机内码 国标码和区位码 在 PC 机的文本文件中 汉字是以机内码的形式存储的 每个汉字占用两个字节长度 为了和 ASCII 码区别 范围从十六进制的 0A1H 开始 小于 80H 的为 ASCII 码 将机内码每个字节的最高位屏蔽掉 再 以十六进制的形式显示出来 则为国标码 将机内码的每个字节各减去 0A0H 再以十进制显示出来 即为该 汉字的区位码 例如 国 字的机内码 国标码和区位码如表 1 所示
节可以存储 512 个汉字 所以 64KB 的闪存可以存储 3 万多汉字
本系统使用了 Microtips Technology Inc.公司生产的内置 Toshiba 公司生产的 T6963C 的液晶显示器 型
号为 MTG-F24128CMNHSCW 具有 CCFL 背光 相关接口信息如下
管脚号 1 2 3 4 5 6 7 8
即区位码 机内码 0A0AOH 就 国 字而言 其区位码和机内码的关系为 195AH 区位码 0B9FAH 机内码 0A0A0H
记住这个关系 是我们理解下面有关程序的关键 2 国标汉字字符集与区位码 根据对汉字使用频率程度的研究 可把汉字分成高频字 约 100 个 常用字 约 3000 个 次常用 字 约 4000 字 罕见字 约 8000 个 和死字 约 45000 个 即正常使用的汉字达 15000 个 我国 1981 年公布了 通讯用汉字字符集 基本集 及其交换码标准 GB2312-80 方案 把高频字 常用字和次常用 字集合成汉字基本字符集 共 6763 个 在该字符集中按汉字使用的频度 又将其分为一级汉字 3755 个 按 拼音排序 二级汉字 3008 个 按部首排序 再加上西文字母 数字 图形符号等 700 个 国家标准的汉
在实际操作中 硬件汉字库的制作和普通的程序存储器的编程没什么不同 注意将 HZK16 文件调入时 要使用二进制方式打开 编程并校验成功后 即可将存储器取下备用 这样一个硬件汉字库就制作好了
针对不同的应用 读者也可以选用其它大容量甚至是串行数据存储器 从而可以扩展硬件汉字库的使 用范围 在此也一并向大家推荐
字节
0 00H 2 7FH 4 40H 6 5FH 8 41H 10 41H 12 41H 14 4FH 16 41H 18 41H 20 41H 22 5FH 24 40H 26 40H 28 7FH 30 40H
字节 1 00H 3 FCH 5 04H 7 F4H 9 04H 11 04H 13 04H 15 E4H 17 44H 19 24H 21 24H 23 F4H 25 04H 27 04H 29 FCH 31 04H
T6963C DB 000H,000H,07FH,0FCH,040H,004H,05FH,0F4H DB 041H,004H,041H,004H,041H,004H,04FH,0E4H DB 041H,044H,041H,024H,041H,024H,05FH,0F4H DB 040H,004H,040H,004H,07FH,0FCH,040H,004H 这些数据也是通过字模软件得出的 读者再与图 2 中的 32 个数据相比较 可以看出两者在数值和排 列顺序上都是一致的 正是这种特性使得笔者选择了内置 T6963C 的液晶显示模块 作为论述开发硬件汉字 库的例子
关键词 硬件汉字库 液晶显示 P89C51RD2 _______________________
随着液晶显示技术的发展和应用 越来越多的开发人员希望在自己开发的仪器设备中使用液晶屏幕来 显示汉字 通常的汉字显示方式是先根据所需要的汉字提取汉字点阵 如 16 16 点阵 将点阵文件存入 ROM 形成新的汉字编码 而在使用时则需要先根据新的汉字编码组成语句 再由 MCU 根据新编码提取相应 的点阵进行汉字显示 在这种显示方式中 如果使用的汉字数量较大或语句较多时 利用汉字的新编码组 成语句将是一件繁琐而枯燥的工作[1] 如果有新的汉字加入 那么汉字库的维护也成问题 而我们日常生 活的一些手持工具上 如手机 快译通等等 它们可以任意输入汉字 不仅灵活性大 而且检索速度快 这其中的主要原因就是在这些设备中固化了硬件汉字库 而半导体技术的发展 使得大容量 FLASH ROM 的 价格大大下降 从而使用硬件汉字库的仪器设备的成本大大下降 因此 越来越多的技术开发人员开始关 注起硬件汉字库 希望能在自己开发的设备中设计并使用硬件汉字库 达到加快产品开发速度 降低软件 成本的目的
9 10 11 12 13 14 15 16 17 18 19 20
管脚定义 FGND VSS VDD VEE WR RD CE C/D
NC Reset DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
FS RV
功能描述
Frame Groud GND Logic supply voltage Power supply voltage for LCD panel Data Write Data Read
-1-
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
字字符集 GB2312-80 在汉字操作系统中是以汉字库的形式提供的 汉字库结构作了统一规定 如图 1 所 示
位码
第二字节 位号
区码
0

图 2 国 字的 16 16 点阵字模
3 液晶显示模块特性与字模数据 汉字显示是国内应用图形液晶显示模块的目的之一 目前对硬件汉字库比较关心的技术人员 大多是 想将其应用到图形点阵液晶显示器中 但目前有关液晶显示的资料 大多数是介绍通过字模软件取出的点 阵数据是如何送往液晶显示器的 因此作者在此作一下比较 要在液晶屏幕上显示出这个点阵图形 需要将相应的点阵数据送入液晶显示驱动器 但对于不同的液
表 1 国 字的机内码 国标码和区位码
类别
数值
高位字节
低位字节
机内码
B9FAH 1 0 1 1 1 0 0 1 1 1 1 1 1 0 1 0
国标码
397AH 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 0
区位码
195AH 0 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0
Chip Enable(片使能)
WR=’L’, C/D=’H’: Command Write(命令写) WR=’L’, C/D=’L’: Data Write(数据写) RD=’L’, C/D=’H’: Status Read(状态读) RD=’L’, C/D=’L’: Data Read(数据读) No Connection Controller reset(控制器复位)
UCDOS 软件有一个名字为 HZK16 的文件 这就是 16 16 的国标汉字点阵文件 在该文件中 按汉字区 位码从小到大依次存有国标区位码中的所有汉字 每个汉字占用 32 格字节 每个区为 94 个汉字 如果显 示其属性 可以看出其大小为 262KB 当写入 AT29C020A 时 可以将多于 256KB 的部分截去 实际上 在 国标汉字点阵字库中 二级汉字排到第 87 区 从第 88 区开始就是空白 所以将多余部分截去不会影响实 际使用
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
硬件汉字库设计原理与应用
青岛海洋大学 PHILIPS 单片机实验室 綦声波 刘滨 马志强
摘要 本文论述了硬件汉字库的基本原理和具体制作步骤 并利用 P89C51RD2 作为主控 CPU 240 128 点阵的液晶和硬件汉字库 将一部科幻小说嵌入其中 开机后即可阅读 文章中给出了具体的电路和相应 的软件
-3-
广州周立功单片机发展有限公司 Tel: (020)38730976 38730977 Fax: 38730925 http://www.zlgmcu.com
128 点阵图形液晶显示器 并结合硬件汉字库的使用 将一部 3 万多字的小说嵌入其中 开机后就可以阅
读小说
P89C51RD2 是 PHILIPS 公司于 2001 年发布的一款非常优秀的单片机 该单片机是基于 8 位 80C51
94
0
字母 数字 图符 记号区

一来自百度文库
7

扩展 ASCII 码和保留区
节 16
一级汉字 3755 个
区┇
号 94
二级汉字 3008 个
图 1 国标 GB2312-80 汉字字符集
即将字库分成 94 个区 每个区有 94 个汉字 以位作区别 每一个汉字在汉字库中有确定的区和位 编号 用两个字节 这就是所谓的区位码 区位码的第一个字节表示区号 第二个字节表示位号 因而只 要知道了区位码 就可知道该汉字在字库中的地址 每个汉字在字库中是以点阵字模形式存储的 如一般 采用 16 16 点阵形式 每个点用一个二进制位表示 存 1 的点 当显示时 可以在屏上显示一个亮点 存 0 的点 则在屏上不显示 这样就把存某字的 16 16 点阵信息直接用来在显示器上按上述原则显示 则将 出现对应的汉字 如一个 国 字的 16 16 点阵字模如图 2 所示 当用存储单元存储该字模信息时 将需 32 个字节地址 在图 2 的右边写出了该字模对应的字节值
二 汉字库的制作
在本节中 笔者将论述将 16 16 点阵的宋体汉字库烧录到 256KB 的存储器中的具体方法 这也是读 者比较关心的问题
本例中使用了 AT29C020 该产品是 ATMEL 公司生产的高达 256KB 的 FLASH ROM 读者也可以使用其它 容量不小于 256KB 的产品 但在具体电路设计时应注意引脚定义和逻辑关系 并在烧录时选择相应的型号
相关文档
最新文档