当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]中文输入法在B超系统中的实现

    在计算机迅速发展和普及的今天,用计算机对汉字进行输入、编辑和处理已经非常普遍了。在医疗电子产品中,越来越多的场合需要显示汉字。

     在使用高性能CPU时,可采用嵌入式操作系统(如Linux、WinCE)所支持的GUI程序来实现友好的人机界面。在很多情况下,需要使用相对简单的MCU控制整个系统,如采用单片机STC89C516RD+实现系统控制和人机界面,此时必须寻求占用较少资源的低成本解决方案。本文对中文输入法在B超系统中的实现进行了介绍。

字库设计

    通常的汉字显示方式是:先用字模软件提取所需要的汉字点阵,取得的数据可放入ASM汇编文件中,接着在单片机集成开发环境中对汇编文件进行编译——生成BIN文件,然后用编程器将BIN文件烧录到芯片。在使用时是读取芯片中的汉字点阵数据,将其写到字符存储器中。

    如果需要显示的字少,点阵数据就少,将数据烧录到程序存储器即可。实现中文输入法,显示的字比较多,数据量比较大,需要专门生成字库数据,放入扩展的数据存储器中。

    构造汉字库,通常有如下方法:使用程序空间做小字库;使用大容量的ROM芯片专门做汉字库,这种方法在小型便携式设备中一般不采用;为了降低成本和减小体积,对于速度要求不是很高的场合可采用大容量的串行数据存储器,如AT45DB041B。

    UCDOS软件中的文件HZK16和文件ASC16分别为16×16的国标汉字点阵文件和8×16的ASCII码点阵文件,以二进制格式存储。最常用的ASCII码点阵为5×7(横向5个点,竖向7个点)或7×9。对于给定字体的字符,字形的点数越多,字形的质量越好,而所需的数据量越大,占用存储空间越多。对于不同的显示系统,要显示同一图形,所需的数据排列顺序各不相同,现有的HZK16和ASC16文件不一定能直接应用到自己的系统中,常用的方法是用排列方式可自由定义的字模软件取数据再放入程序或数据存储区。

    通过比较,发现选用12×12的点阵形式表示汉字、采用8×12的点阵形式表示ASCII码可以兼顾美观和减少硬件开支,而且有部分程序模块可共用,也为后期中英文显示界面、菜单操作界面奠定了基础。字模软件取数据时必须一个方向是8的倍数,因此12×12将自动调整为16×12或12×16,点阵字符如图1所示。

图1  点阵字符

    不难发现,表示一个汉字需要24B,其中12B有一半是空白的,如果将由字模取得的数据压缩一下,18B就足以存储一个汉字的点阵数据。

硬件框图

    如图2所示,单片机STC89C516RD+的内部集成了64KB闪存和1280B SRAM,利用其内部资源不需要再扩展外部程序存储器,译码器、屏幕地址产生器、多路地址/数据切换、电视信号产生器、电视信号合成大都采用FPGA编程实现,信号合成后经D/A转换送监视器屏幕显示。

图2  硬件框图

软件实现

    据调查,汉字输入方案中,拼音输入方式占80%以上,形码用户则少于20%。汉字输入法的实质是建立一种按键组合到汉字编码的映射关系,使用全键盘的B超系统与使用标准键盘的PC的输入法本质上是相同的。建立索引表就可实现从按键组合到汉字编码的映射,如图3所示。

图3  按键组合索引表示意图


    在Keil C编译环境下,“拼音输入法模块”可以从网上下载到,医疗系统常要用到医院名称和患者姓名,为此在该模块基础上,增加了一些常见的地名、姓名用字,共收录汉字4120个,用字模软件提取点阵,并进行压缩形成汉字点阵数据库,放入数据存储区,接着建立字模组合索引表,连同一些参数和表格数据共用一片EEPROM 39VF010就可以了。51系列单片机最大可寻址64KB存储空间,可用P1口作页地址实现对64KB以上数据空间的访问。

    相对有限键的中文输入法(如手机),全键盘的中文输入法利用按键比较容易完成26个字母以及其他功能的操作。

    字库准备好之后,接下来的软件设计关键在于构建拼音组合树(如图4所示)的遍历算法、同音字的查找算法。这里要占用51单片机的一些内部RAM资源,存放拼音代码、当前拼音组合映射的字库地址ADDR0、下一拼音组合映射的字库地址ADDR1和当前显示汉字的首地址ADDR等。根据拼音组合用遍历算法查得该拼音组合的第一个汉字的点阵地址,用向上、向下键实现翻页,通过ADDR与ADDR0或ADDR1的比较,来保证在同一拼音组合内查找汉字。

图4  拼音组合树示例

结论

    本方案已在某B超系统上成功实施,目前已经实现病历号的中文拼音输入及存储,借助于该汉字库实现了中文界面显示。

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

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

我们知道 Flash 读时序里有五大子序列 CMD + ADDR + MODE + DUMMY + READ,前面的文章中痞子衡讲过《串行NOR Flash的Continuous read模式》,Continuous r...

关键字: CMD ADDR Flash

要问机器人公司哪家强,波士顿动力绝对是其中的佼佼者。近来年该公司在机器人研发方面获得的一些成果令人印象深刻,比如其开发的机器人会后空翻,自主爬楼梯等。这不,波士顿动力又发布了其机器人组团跳男团舞的新视频,表演的机器人包括...

关键字: 机器人 BSP 工业机器人 现代汽车

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭