关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于LPC2138的中文输入系统设计

基于LPC2138的中文输入系统设计

作者: 时间:2010-09-25 来源:网络 收藏

3.2 汉字库字模首地址查询
汉字内码是一个4位十六进制数,区位码是一个4位的十进制数,每个汉字内码或区位码都对应着一个唯一的汉字或符号。图6(a)和6(b)分别为区位码表和汉字内码表。其对应关系为:汉字内码列=区码+0xaO;汉字内码行=位码+0xaO。

本文引用地址://m.amcfsurvey.com/article/162830.htm

6h.JPG


在E2PROM中,二级字库字模的存储格式为一维数组,而在汉字输出匹配时采用的是汉字内码格式(2个十六进制数表示),所以需要将汉字内码的行和列二维地址换算成一维地址,从而对应找到24x 24字库中汉字字模的起始位置。
对于最终匹配好的汉字编码表中的汉字,取出其汉字内码的行和列分别作为code_a和code_b(以“白”字为例,其汉字内码为B0D7,则code_a=0xb0、code_b=0xd7)。则其对应的存储器中24×24汉字字模首地址的计算关系为:存储器中汉字字模首地址=[(code_a一0xal)+(code_b一0xb0)×94]×(24×24/8)。
3.3 文字输入判断
T9键盘输入时,需要对键值进行一系列的判断。根据功能的不同,分别需要对数字键、翻页键、退格键、数字/汉字切换键、字母/汉字切换键、符号键以及确定、取消键进行顺次的判断。其判断流程如图7所示。

6i.JPG


3.4 数字、拼音和汉字匹配输出
拼音编码索引表和汉字编码数组是一一对应的,如何实现对输入数字序列与拼音列表之间的映射、拼音与汉字列表之间的映射、汉字与字库芯片中汉字字模之间的映射是该系统的核心问题。

6j.JPG


如图8所示,数字、拼音和汉字匹配输出程序步骤(以‘白’字为例):
①系统针对于所输入的数字序列“224”,在拼音编码索引表中进行匹配,得到两个拼音“bai”和“cai”;
②通过光标选择“bai”后,在拼音编码索引表中可以获得汉字编码表中对应汉字的位置,即T9PY_IDX数组中的*hz_bai;
③在汉字编码表中获取hz_bai[]数组数据,送屏幕进行显示“白百摆败拜佰柏稗”;
④通过数字键选择对应的汉字后,获取该汉字的ASCII码BOD7;
⑤将汉字内码的ASCII码通过汉字内码地址的转换,找到存储芯片中该汉字字模数据的首地址,将字模数据送液晶显示,完成一个汉字的输入。

结语
本文介绍了基于Philips公司的微控制器LPC2138的T9中文输入系统的设计方法,实现了汉字、英文字母、数字符号等文本信息的输入。本方案可以为基于单片机的产品开发、中文输入法研究等提供参考,具有一定的实用价值。


上一页 1 2 3 下一页

关键词:ARM7

评论


相关推荐

技术专区

关闭