基于LPC2138的中文输入系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于LPC2138的中文输入系统设计
文章出处: 发布时间: 2010/09/25 | 524 次阅读 | 0次推荐 | 0条留言

业界领先的TEMPO评估服务 高分段能力,高性能贴片保险丝 专为OEM设计师和工程师而设计的产品 Samtec连接器 完整的信号来源 每天新产品 时刻新体验 完整的15A开关模式电源 摘要:给出一种基于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中文输入系统的设计方法,实现了汉字、英文字母、数字符号等文本信息的输入。本方案可以为基于单片机的产品开发、中文输入法研究等提供参考,具有一定的实用价值。



来源:肥猪宝宝
该文章来至网络或用户,仅供学习交流之用,版权归原作者所有。
如有侵权,请及时与我们联系!



基于LPC2138的红外摄像机解决方案
成灾 摘 要: 介绍了以PHILIPS LPC2138为MCU实现的一款红外摄像机,重点介绍了视频信号的水平、垂直分离,字符叠加,各芯片的功能及云台等方面的内容。 现行普通摄像机...

基于ARM的开关量信号采集模板的设计
O 引言 本文设计的开关量信号采集模板是一款嵌入式SCADA系统的一种插件,称为智能数字量采集板(IntelligentBinary Input Board,简称B板)。该装置主要用于电力系统等工...

基于μC/OS-Ⅱ的高精度超声波测距系统设计
1 引言 超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而用于距离测量。利用超声波检测往往较迅速、方便、计算简单、易于实时控制,且测量精度能达到工业实...

基于ARM7的LCD显示电压示波系统的设计
本设计以ARM7微处理器为核心,采用ARM7中的高速A/D为测压单元,提高了数据传输的可靠性;数据结果通过LCD实时显示,显示方式友好直观;采用RAM和UART分别存储和传输数据,实现了监...

基于ARM的定时继电器驱动模板的设计
摘要:基于Philips LPC2138 ARM微控制器设计了一块8一通道定时继电器驱动模板。该模板主要用于电力系统远方遥控操作。主要就该模板软硬件的设计原理与实现方法,尤其是对遥...

顶我一下 0次
【关闭】【推荐】【打印】【收藏此页】分享: QQ空间 人人网 开心网 腾讯微博 新浪微博 搜狐微博 网易微博 上一篇:TMS320F2812芯片开发中Flash代码

性能的研究

下一篇:嵌入式系统中的处理器技术

相关文档
最新文档