当前位置:首页 > 单片机 > 单片机
[导读]对于PC机来说,输入汉字是非常简单的,但在一些单片机人机接口系统中,进行汉字的实时输入是很困难的,而大多只能显示事先已取好字模点阵的汉字,但是每个16×16汉字点阵由32个字节表示,对于需要灵活使用大量汉字的场

对于PC机来说,输入汉字是非常简单的,但在一些单片机人机接口系统中,进行汉字的实时输入是很困难的,而大多只能显示事先已取好字模点阵的汉字,但是每个16×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×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。

    作为一般应用系统来说,一二级字库的汉字已足够使用,汉

字区位码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×240点阵,由SED1335控制,每屏可显示20×15共 300个汉字,下面给出最基本的显示程序,在此基础上可以很容易地在LCD上显示汉字。
 


 


 


 

    该设计方法已实际应用在某系统显控器上,证明使用可靠、效果良好,对于低成本、低功耗的设计有一定的借鉴意义。由于篇幅所限,IAP功能没有列出,读者可以参考有关文献自己设计。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP
关闭
关闭