硬件汉字库设计原理与应用Word格式.docx
- 文档编号:15851560
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:12
- 大小:144.21KB
硬件汉字库设计原理与应用Word格式.docx
《硬件汉字库设计原理与应用Word格式.docx》由会员分享,可在线阅读,更多相关《硬件汉字库设计原理与应用Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
而半导体技术的发展使得大容量FLASHROM的价格大大下降从而使用硬件汉字库的仪器设备的成本大大下降,因此越来越多的技术开发人员开始关注起硬件汉字库希望能在自己开发的设备中设计并使用硬件汉字库,达到加快产品开发速度降低软件成本的目的。
一硬件汉字库相关知识
1汉字机内码国标码和区位码
在PC机的文本文件中,汉字是以机内码的形式存储的。
每个汉字占用两个字节长度为了和ASCII码区别,范围从十六进制的0A1H开始小于80H的为ASCII码,将机内码每个字节的最高位屏蔽掉,再以十六进制的形式显示出来则为国标码。
将机内码的每个字节各减去0A0H再以十进制显示出来,即为该汉字的区位码。
例如"
国"
字的机内码国标码和区位码如表1所示
表1国字的机内码国标码和区位码
类别数值高位字节低位字节
机内码B9FAH1011100111111010
国标码397AH0011100101111010
区位码195AH0001100101011010
即区位码机内码0A0AOH就国字而言其区位码和机内码的关系为
195AH区位码0B9FAH机内码0A0A0H
记住这个关系是我们理解下面有关程序的关键
2国标汉字字符集与区位码
根据对汉字使用频率程度的研究可把汉字分成高频字约100个常用字约3000个次常用
字约4000字罕见字约8000个和死字约45000个即正常使用的汉字达15000个。
我国1981
年公布了通讯用汉字字符集基本集及其交换码标准GB2312-80方案,把高频字常用字和次常用字集合成汉字基本字符集共6763个,在该字符集中按汉字使用的频度又将其分为一级汉字3755个,按拼音排序二级汉字3008个,按部首排序再加上西文字母数字图形符号等700个,国家标准的汉字字符集GB2312-80在汉字操作系统中是以汉字库的形式提供的汉字库结构作了统一规定如图1所示
此主题相关图片如下:
即将字库分成94个区每个区有94个汉字,以位作区别每一个汉字在汉字库中有确定的区和位。
编号用两个字节这就是所谓的区位码。
区位码的第一个字节表示区号,第二个字节表示位号,因而只要知道了区位码就可知道该汉字在字库中的地址。
每个汉字在字库中是以点阵字模形式存储的,如一般采用16x16点阵形式,每个点用一个二进制位表示,存1的点当显示时可以在屏上显示一个亮点,存0的点则在屏上不显示,这样就把存某字的1616点阵信息直接用来在显示器上按上述原则显示,则将出现对应的汉字如一个国字的1616点阵字模如图2所示。
当用存储单元存储该字模信息时将需32个字节地址在图2的右边写出了该字模对应的字节值
3液晶显示模块特性与字模数据
汉字显示是国内应用图形液晶显示模块的目的之一,目前对硬件汉字库比较关心的技术人员大多是想将其应用到图形点阵液晶显示器中,但目前有关液晶显示的资料大多数是介绍通过字模软件取出的点阵数据是如何送往液晶显示器的,因此作者在此作一下比较要在液晶屏幕上显示出这个点阵图形需要将相应的点阵数据送入液晶显示驱动器,但对于不同的液晶显示驱动器要显示同一图形所需要送入的数据排列顺序可能不同,作者曾经使用过内置D61202U液晶显示驱动控制器和内置T6963C液晶显示驱动控制器的液晶显示模块,同样是显示1616点阵的国
字则需要的点阵数据如下
HD61202U
DB000H,0FEH,002H,00AH,08AH,08AH,08AH,0FAH
DB08AH,08AH,08AH,00AH,002H,0FEH,000H,000H
DB000H,0FFH,040H,048H,048H,048H,048H,04FH
DB048H,049H,04EH,048H,040H,0FFH,000H,000H
由于HD61202U显示存储器的特性不能将计算机内的汉字库提出直接使用,需要将其旋转90度后再写入,也就是有些字模软件如zimo22.exe可到上免费下载设置为竖向倒序取模后所得的数据其生成字库的格式是前16个字节为上半部168点阵字模数据后16个字节为下半部16x8点阵字模数据,读者如果与图2中的相应数据作比较可以看出如果仅仅从数据上是看不出两者的联系的,如果在这种液晶显示器上要使用硬件汉字库则读出的点阵信息必须经过处理方可送出显示增加了使用难度
T6963C
DB000H,000H,07FH,0FCH,040H,004H,05FH,0F4H
DB041H,004H,041H,004H,041H,004H,04FH,0E4H
DB041H,044H,041H,024H,041H,024H,05FH,0F4H
DB040H,004H,040H,004H,07FH,0FCH,040H,004H
这些数据也是通过字模软件得出的读者再与图2中的32个数据相比较可以看出两者在数值和排列顺序上都是一致的,正是这种特性使得笔者选择了内置T6963C的液晶显示模块作为论述开发硬件汉字库的例子
二汉字库的制作
在本节中笔者将论述将1616点阵的宋体汉字库烧录到256KB的存储器中的具体方法,这也是读者比较关心的问题。
本例中使用了AT29C020该产品是ATMEL公司生产的高达256KB的FLASHROM,读者也可以使用其它容量不小于256KB的产品,但在具体电路设计时应注意引脚定义和逻辑关系,并在烧录时选择相应的型号UCDOS软件有一个名字为HZK16的文件,这就是1616的国标汉字点阵文件,在该文件中按汉字区位码从小到大依次存有:
国标区位码中的所有汉字,每个汉字占用32格字节,每个区为94个汉字,如果显示其属性可以看出其大小为262KB。
当写入AT29C020A时可以将多于256KB的部分截去,实际上在国标汉字点阵字库中二级汉字排到第87区,从第88区开始就是空白,所以将多余部分截去不会影响实际使用。
在实际操作中硬件汉字库的制作和普通的程序存储器的编程没什么不同,注意将HZK16文件调入时要使用二进制方式打开编程并校验成功后,即可将存储器取下备用,这样一个硬件汉字库就制作好了。
针对不同的应用读者也可以选用其它大容量甚至是串行数据存储器从而可以扩展硬件汉字库的使用范围。
在此也一并向大家推荐容量为512KB甚至更大的存储器除了可以存储全部的国标汉字外还可以存储816的ASCII码点阵数据以及汉字语句编码数据,使用起来更加方便。
串行数据存储器如AT45DB041B等特点是占用口线少体积小和成本低如果对于速度要求不是很高的场合非常适宜
三硬件汉字库使用电路
在本节中笔者使用PHILIPS公司的产品P89C51RD2作为主控CPU,使用内置T6963控制器的240x128点阵图形液晶显示器并结合硬件汉字库的使用,将一部3万多字的小说嵌入其中,开机后就可以阅读小说。
P89C51RD2是PHILIPS公司于2001年发布的一款非常优秀的单片机,该单片机是基于8位80C51单片机的派生产品,它在完全保留80C51指令系统和硬件结构的大框架外发生了多方面的加强扩展翻新和创新,P89C51RD2将原有的对外数据和程序存储器的16位寻址机制加以利用,把片上的RAM扩展到1K字节,片上的FLASHEPROM扩展到64K字节,由于一个汉字的内码占用两个字节,所以1024字节可以存储512个汉字所以64KB的闪存可以存储3万多汉字。
本系统使用了MicrotipsTechnologyInc.公司生产的内置Toshiba公司生产的T6963C的液晶显示器型号为MTG-F24128CMNHSCW具有CCFL背光相关接口信息如下
硬件设计说明
由于AT29C020的容量为256KB而80C51系列微控制器只能管理64KB的数据空间所以可以将
AT29C020分成8页每页32KB占单片机系统数据空间的00007FFFH剩余32KB空间为单片机系统的
其它存储器和外设
A15反相后作为液晶显示器的片选LCD/CSP1.5是控制液晶显示器正显和反显的该液晶显示器的
复位电平为低电平与P89C51RD2正好相反
四显示原理与软件编制
在第一节中我们已经得出国字的区位码为195AH换算成十进制为2590,即国字的点阵位
于第25区的第90个字的位置,相当于在文件HZK16中的位置为32[(25-1)94(90-1)]75040B以后的32个字节为国的显示点阵。
在本系统中AT29C020的A15A17分别连接到P1口的P1.0P1.1和P1.2作为页选择控制A0
A14直接连接单片机的A0A14利用MOVX指令连续取32个字节送LCD的相应位置就能实现正确的汉字显示。
由于240128点阵的LCD显示器每行只能显示15个汉字1616点阵汉字所以可以将需要显示的语句按15个汉字为1行进行编写标点符号要用全角不足15个汉字的则补空格这就是下面软件中的MENG.ASM中的内容
为方便读者将已经通过汇编的有关程序列出有关LCD的具体使用方法请见文献[2]
主程序
C_ADDEQU8001H液晶命令地址
D_ADDEQU8000H液晶数据地址
DAT1EQU30H
DAT2EQU31H
COMEQU32H
CODE1EQU33H
COUNTEQU34H
O_YEQU35H
O_XEQU36H
COUNT_XEQU37H
ORG0000H
SJMPSTART
ORG0030H
START:
MOVSP,#60H
ORLAUXR,#02HEXTRAM位1访问外部数据存储器
ANLAUXR1,#0FHENBOOT=0访问到FLASH
CLRP1.5正显
LCALLINT初始化设置子程序
LCALLCLEAR清屏
MOVDPTR,#TABLE科幻小说的开头
MOVO_Y,#00H
PUSHDPH
PUSHDPL
LOOP:
POPDPL
POPDPH
MOVR0,#0E0H字模数据暂存区
MOVR7,#30每
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件 汉字库 设计 原理 应用