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

出处:nopchina 发布于:2010-09-25 15:49:00

     摘要:给出一种基于Philips公司的ARM7微控制器LPC2138的中文输入系统的设计方法。系统采用4×4接口键盘、LCM240128图形液晶模块以及存储器等实现T9中文输入法,可以进行汉字、英文、数字符号等文本信息的输入。该中文输入系统可广泛地应用于各类电子设备的研发,具有较高实用价值。

  引言

  目前,以液晶和数字键盘实现的人机交互式界面在智能终端中广泛采用。在不同的应用场合,对人机界面的要求也不同,一些情况下只要求简单参数的显示和选择,而在一些信息终端中还要求中文的输入。因此,研究基于单片机的中文输入方法,对于各类电子装置的开发具有一定的现实意义。本系统基于ARM7微控制器LPC2138,通过扩展4×4键盘和液晶实现了T9中文输入系统的设计。

  1 LPC2138简介

  Philips公司的32位ARM7微控制器LPC2138具有强大的存储空间,内嵌32 KB片内静态RAM和512 KB的Flash存储器;可以实现在系统可编程(ISP)、在应用可编程(IAP);2个8路10位A/D转换器,1个D/A转换器,转换迅速准确;引脚资源丰富,多达47个可承受5 V电压的通用I/O口;多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口、SPI,以及具有缓冲作用和数据长度可变功能的SSP协议。LPC2138可以移植μC/0S-II操作系统,软件的可移植性好,工作可靠。

  2 硬件系统

  2.1 系统体系结构

  一个完整的文本输入系统由主控器、输入设备和显示设备3部分构成。本系统结构如图1所示。采用LPC2138芯片作为主控器,扩展4×4接口键盘作为输入设备,扩展LCM240128图形液晶模块作为显示设备。此外,系统还扩展了E2PROM AT24C256作为字库字模数据存储芯片。


  2.2 4×4键盘电路

  如图2所示,系统扩展4×4简易键盘,通过行列扫描的方式读取键值。数字、字母、符号等共用同一套键盘,具有多种切换模式,供用户选择。“1”键可调用符号输入函数;“O”和“#”键分别实现字母和汉字、数字和汉字之间的切换;“*”键可实现输入字符的退格;“↑ ”“↓”键可以对输出拼音列表进行光标移动,以及对汉字列表进行翻页操作;“确定”和“取消”键分别实现拼音和汉字输入的确认和取消。按键功能定义如图3所示。



  2.3 存储模块电路

  利用ARM7的I2C总线扩展E2PROM AT24C256,接口电路如图4所示。AT24C256存储空间32 KB,作为字库存储芯片来存储24×24国标二级字库字模数据。通过获取汉字字模数据,实现图形液晶模块对汉字的显示。


  2.4 液晶模块电路

  液晶模块电路如图5所示。采用图形液晶显示模块LCM240128作为显示设备。其内部不含中文字库,配合字库存储芯片AT24C256可以实现24×24中文汉字的输入。

  3 软件系统

  T9拼音输入系统软件部分的主要任务是将键盘输入的数字序列转换成汉字。其主要由3部分构成:

  ①将键盘输入的数字序列转换为拼音编码;

  ②根据拼音编码找到对应的汉字编码;

  ③根据汉字编码找到二级字库存储芯片中对应的汉字字模数据的首地址。

  3.1 拼音、汉字表格式定义

  在程序中,拼音编码的数据格式如下:


  拼音编码索引表的定义为一个常量数组,每一个拼音的编码都作为一个元素存在。其格式如下:


  汉字编码表为多个常量数组构成。其格式如下:


  汉字编码表中,每一个汉字对应1个ACSII码,根据ASCII码可以分离出汉字在汉字内码表的行、列位置,用于查找字库中对应汉字的字模的首地址。

  3.2 汉字库字模首地址查询

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


  在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所示。


  3.4 数字、拼音和汉字匹配输

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

  如图8所示,数字、拼音和汉字匹配输出程序步骤(以‘白’字为例):


  ①系统针对于所输入的数字序列“224”,在拼音编码索引表中进行匹配,得到两个拼音“bai”和“cai”;

  ②通过光标选择“bai”后,在拼音编码索引表中可以获得汉字编码表中对应汉字的位置,即T9PY_IDX数组中的*hz_bai;

  ③在汉字编码表中获取hz_bai[]数组数据,送屏幕进行显示“白百摆败拜佰柏稗”;

  ④通过数字键选择对应的汉字后,获取该汉字的ASCII码BOD7;

  ⑤将汉字内码的ASCII码通过汉字内码地址的转换,找到存储芯片中该汉字字模数据的首地址,将字模数据送液晶显示,完成一个汉字的输入。

  结语

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


  

参考文献:

[1]. LPC2138 datasheet https://www.dzsc.com/datasheet/LPC2138_454528.html.


关键词:基于LPC2138的中文输入系统设计AT24C256LPC2138中文输入系统

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

AT24C256C-SSHL-T 存储IC
广告
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!