硬件汉字库的原理与应用

preview
需积分: 0 3 下载量 157 浏览量 更新于2009-09-06 收藏 272KB PDF 举报
### 硬件汉字库的原理与应用 #### 一、硬件汉字库相关知识 **1. 汉字编码体系** 在计算机内部处理汉字时,涉及到几种不同的编码方式: - **汉字机内码**:在PC机的文本文件中,汉字通常以机内码的形式存储,每个汉字占用两个字节的长度。机内码是为了与ASCII码区分开来,范围从十六进制的0A1H开始。 - **国标码**:将机内码每个字节的最高位屏蔽掉再以十六进制的形式显示出来即为国标码。 - **区位码**:将机内码的每个字节各减去0A0H再以十进制显示出来即为该汉字的区位码。 例如,“国”字的编码情况如表1所示: | 编码类型 | 代码 | |--------|------------| | 机内码 | 0B9FAH | | 国标码 | 39FAH | | 区位码 | 195AH | 这里的关键关系是:区位码 = 机内码 - 0A0A0H。例如,“国”字的区位码195AH = 0B9FAH (机内码) - 0A0A0H。 **2. 国标汉字字符集与区位码** 根据汉字使用频率的不同,汉字可以被分为以下几个层次: - **高频字**(约100个) - **常用字**(约3000个) - **次常用字**(约4000个) - **罕见字**(约8000个) - **死字**(约45000个) 其中,《通讯用汉字字符集(基本集)及其交换码标准》GB2312-80方案定义了一级汉字3755个,按照拼音排序;二级汉字3008个,按照部首排序。这构成了汉字基本字符集的6763个汉字。此外,还包括了一些西文字符、数字和图形符号等。 国标汉字字符集GB2312-80在汉字操作系统中以汉字库的形式提供,结构统一规定为94个区,每个区包含94个汉字,以位进行区分。每个汉字都有一个确定的区位码,即区号和位号。 #### 二、汉字库的制作 在这一部分,我们将讨论如何将16x16点阵的宋体汉字库烧录到256KB的存储器中。本例中使用的是ATMEL公司生产的AT29C020,这是一种容量高达256KB的FLASH ROM。虽然可以使用其他类型的存储器,但在设计具体电路时需要注意引脚定义和逻辑关系。 **1. UCDOS软件中的HZK16文件** UCDOS软件中包含了一个名为HZK16的文件,这是一个16x16的国标汉字点阵文件。文件中按汉字区位码的顺序存储了所有国标汉字,每个汉字占用32个字节。由于二级汉字只排到了第87区,因此即使将超过256KB的部分截去也不会影响实际使用。 **2. 烧录过程** 制作硬件汉字库的过程与普通程序存储器的编程类似。关键是要使用二进制方式打开HZK16文件,并确保编程和校验成功。一旦完成,存储器就可以用于存储硬件汉字库。 **3. 扩展硬件汉字库的应用** - **更大容量的存储器**:可以选择512KB或更大容量的存储器来存储更多的汉字以及ASCII码点阵数据和汉字语句编码数据。 - **串行数据存储器**:例如AT45DB041B等,这类存储器占用口线少、体积小且成本低,在对速度要求不高的场合非常适合。 #### 三、硬件汉字库使用电路 本部分使用ATMEL公司的89C51作为主控CPU,通过VT1335或VT1335b来驱动320x240的液晶屏。以下是在液晶屏上显示“国”字的具体步骤: 1. **读取汉字点阵数据**:从硬件汉字库中读取“国”字的16x16点阵数据。 2. **数据转换**:将读取的数据转换为适合液晶屏显示的格式。 3. **显示**:将转换后的数据发送到液晶屏,以实现汉字的显示。 通过这种方式,开发人员能够高效地在设备上实现汉字显示功能,提高了产品的实用性和用户体验。
QIANGZI111
  • 粉丝: 0
  • 资源: 5
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜