您的位置 首页 5G

单片机显控体系中的汉字输入

摘 要:在实际应用中,特别是在需要实时大量输入汉字的显控处理应用中,利用传统单片机显控设计方法是无法实现的;通过对汉字内码的分析,给出硬件汉字库的制作方法,提出针对一、二级汉字库编码检索的拼音输入检

摘 要:在实践运用中,特别是在需求实时很多输入汉字的显控处理运用中,运用传统单片机显控规划办法是无法完成的;经过对汉字内码的剖析,给出硬件汉字库的制造办法,提出针对一、二级汉字库编码检索的拼音输入检索办法, 运用Philips P89C51R D2单片机为中心处理芯片,规划一种具有经过键盘用汉语拼音输入法输入汉语拼音, 运用相应程序经过编码检索,在显控体系中实时输入汉字,并在LCD上显现或经过RS 232串口输出汉字点阵数据的办法。 关键词:P89C51RD2;汉语拼音;汉字库;LCD;C51 关于PC机来说,输入汉字是十分简略的,但在一些单片机人机接口体系中,进行汉字的实时输入是很困难的,而大多只能显现事前已取好字模点阵的汉字,可是每个16%26;#215;16汉字点阵由32个字节表明,关于需求灵敏运用很多汉字的场合,程序量太大,完成起来有很大难度;下面针对汉字库的结构进行剖析,规划一种有用的汉字拼音输入法,并给出液晶汉字显现模块的根本程序。 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%26;#215;16点阵的宋体汉字库烧录到512 kB的存储器中的详细办法。 本例中运用的存储芯片为AM29C040,该芯片是AMD公司出产的512 kB的FLASH ROM,读者也能够运用其他容量不小于256 kB的产品,但在详细电路规划时应留意引脚界说和逻辑关系,并在烧录时挑选相应的类型;UCDOS软件有一个姓名为HZK16DAT 的文件,这便是16%26;#215;16的国标汉字点阵文件,在该文件中按汉字区位码从小到大顺次存有国标区位码中的一切汉字,每个汉字占用32 B,每个区为94个汉字,其巨细为262 kB,能够悉数写入AM29C040,除了能够存储悉数的国标汉字外还能够存储8%26;#215;16的ASCII码点阵数据以及汉字句子编码数据,运用起来愈加便利。 在实践操作中,硬件汉字库的制造和一般的程序存储器的编程没什么不同,留意将HZK16文件调入时要运用二进制办法翻开,编程并校验成功后即可将存储器取下备用,这样一个硬件汉字库就制造好了。 3 规划思路 在本实例中,从低本钱、低功耗规划理念动身,以Philips公司的P89C51RD2单片机为中心,输入用4%26;#215;4的复用键盘,既可输入数字,也可输入字母或拼音,汉字库保存在AMD公司的A M29C040(512 k%26;#215;8 b)FLASH上,液晶显现模块DMF50174(320%26;#215;240),显现操控器SE D1335是日本SEIKO EPSON公司出品的液晶显现操控芯片。各个芯片的片选(操控信号)由74 HC138译码发生。 键盘输入汉语拼音,单片机检索区位码,从FLASH中读出汉字点阵规划,显现在LCD上,并运用P89C51RD2的IAP功用在线进行编程,在线改动用户界面或接口功用。

1.jpg

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。 作为一般运用体系来说,一二级字库的汉字已满足运用,汉字区位码2 B表明一个汉字,64 kB片上的FLASH EPROM共可存储汉字3万多个,规划中以数组办法在FLASH中存储,一二级6 763个汉字共用13 526 B。 实例做法如下:用汉语拼音作为数组名,以该拼音所包括的汉字的区位码为数组元素,并 将一切一二级汉字以代码办法界说在程序中,这是一个比较烦琐的作业,作业量比较大。


从键盘输入汉语拼音,经过输入的汉语拼音索引查询姓名相同的数组,从数组中获得汉字的区位码放入数组qwm中,所取汉字个数放入qwm_counter 中,显现在LCD上,假如一页显现不完,则可经过翻页来显现,直到显现完停止,从中选取所需汉字显现并保存。还可运用IAP功用进行在运用中编程,完成代码重构。界说: 用上面所示的puthz16程序,运用区位码从FLASH中读取这些汉字的点阵数据,再用画点函数将汉字点阵写入显现缓存并运用汉字显现程序将汉字显现在LCD上或经过串口进行通讯,将汉字编码发送出去。 5 汉字显现 本规划中LCD显现运用的DMF50174是320%26;#215;240点阵,由SED1335操控,每屏可显现20%26;#215;15共 300个汉字,下面给出最根本的显现程序,在此基础上能够很容易地在LCD上显现汉字。


该规划办法已实践运用在某体系显控器上,证明运用牢靠、作用杰出,关于低本钱、低功耗的规划有必定的学习含义。因为篇幅所限,IAP功用没有列出,读者能够参阅有关文献自己规划。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/292259.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部