新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机显控系统中的汉字输入方法

单片机显控系统中的汉字输入方法

作者:时间:2012-04-14来源:网络收藏

对于PC机来说,输入汉字是非常简单的,但在一些人机接口中,进行汉字的实时输入是很困难的,而大多只能显示事先已取好字模点阵的汉字,但是每个16×16汉字点阵由32个字节表示,对于需要灵活使用大量汉字的场合,程序量太大,实现起来有很大难度;下面针对汉字库的结构进行分析,设计一种实用的汉字拼音输入法,并给出液晶汉字显示模块的基本程序。

本文引用地址:http://www.eepw.com.cn/article/171621.htm

1汉字的内码表示

针对不同的操作汉字内码表示不同,如在苹果机的OS上使用的是GB231280汉字编码,Window s则使用GBK汉字编码,还有Unicode编码,GB180302000,方正748编码等。由于GB 231280是最早(1980年)的、由中国国家标准局颁布的《通用汉字字符集及其交换标准码》,所以以后产生的各编码都兼容了GB2312,他共收入汉字、字母、符号等7 445个,其中汉字6 763个,包 括一级汉字3 755个,二级汉字3 008个,是中国大陆及海外使用简体中文的地区(如新加坡等)强制使用的惟一中文编码,所以也称为标准汉字库。

每个汉字的点阵数据需要占据内存32 B,有笔划显示的地方为1,无笔划显示的地方为0。然后通过的C51语言将点阵数据转换成点阵液晶可显示的点阵数据形式。

2汉字库的制作

本节中论述将16×16点阵的宋体汉字库烧录到512 kB的存储器中的具体

本例中使用的存储芯片为AM29C040,该芯片是AMD公司生产的512 kB的FLASH ROM,读者也可以使用其他容量不小于256 kB的产品,但在具体电路设计时应注意引脚定义和逻辑关系,并在烧录时选择相应的型号;UCDOS软件有一个名字为HZK16DAT 的文件,这就是16×16的国标汉字点阵文件,在该文件中按汉字区位码从小到大依次存有国标区位码中的所有汉字,每个汉字占用32 B,每个区为94个汉字,其大小为262 kB,可以全部写入AM29C040,除了可以存储全部的国标汉字外还可以存储8×16的ASCII码点阵数据以及汉字语句编码数据,使用起来更加方便。

在实际操作中,硬件汉字库的制作和普通的程序存储器的编程没什么不同,注意将HZK16文件调入时要使用二进制方式打开,编程并校验成功后即可将存储器取下备用,这样一个硬件汉字库就制作好了。

3设计思路

在本实例中,从低成本、低功耗设计理念出发,以Philips公司的P89C51RD2为核心,输入用4×4的复用键盘,既可输入数字,也可输入字母或拼音,汉字库保存在AMD公司的A M29C040(512 k×8 b)FLASH上,液晶显示模块DMF50174(320×240),显示控制器SE D1335是日本SEIKO EPSON公司出品的液晶显示控制芯片。各个芯片的片选(控制信号)由74 HC138译码产生。

键盘输入汉语拼音,单片机检索区位码,从FLASH中读出汉字点阵设计,显示在LCD上,并利用P89C51RD2的IAP功能在线进行编程,在线改变用户界面或接口功能。

4

P89C51RD2是Philips公司于2001年发布的一款非常优秀的单片机,该单片机是基于8位80C51单片机的派生产品,他在完全保留80C51指令系统和硬件结构的大框架外,进行了多方面的加强扩展和创新,P89C51RD2将原有的对外数据和程序存储器的16位寻址机制加以利用,把片上的RAM 扩展到1 kB,片上的FLASH EPROM扩展到64 kB,具有ISP(在系统可编程)和IAP(在应用中编程),具有6时钟和12时钟模式,6时钟模式外部晶振0~20 MHz,12时钟模式外部晶振可达0~33 MHz


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭