电子产品中不可避免的会涉及到嵌入式系统设计中的输入及输出。输入分为键值输入(例如上、下、左、右、确认、取消)和汉字及字符输入(小键盘进行ASCII和汉字输入)。在输出方面,随着目前LCD的成本下降,在消费类和部分工业电子产品上都尽可能嵌入操作简便的人机界面。而人机界面大多都是工程师和设计人员自行进行设计的,既然是界面就不可避免的需要汉字及字符。而电子产品中的汉字的解决方案又涉及汉字使用的编码、通讯协议、容量及标准,这方面正是大多电子工程师所烦恼的问题。
作为嵌入式系统的设计初衷,是以最小系统(成本)满足用户或产品的需要。一般消费类电子的最小系统都是由MCU、存储器和显示终端组成。
为什么在谈产品的汉字解决方案时要提到系统和器件组成结构?因为汉字解决方案依赖于硬件的组成,而硬件的组成依赖于产品设计的合理性和产品设计成本。系统设计上,我们通常会将程序和数据分别放置在MCU和FLASH中。关于汉字解决的核心则是字库的选择与应用,大多电子工程师可能第一印象就是网络上搜索一下看看是否有字库可以下载,能下载就烧录到FLASH中,测试一下能显示就可以了。其实从设计产品的可靠性或稳定性上来说并不是这样。也许我们还需要考虑:
一、字体的大小和界面是否匹配,硬件资源是否充裕;
l 产品的液晶上显示的一般为点阵字为主,点阵字根据字体大小有11X12点、15X16点、24X24点和32X32点,字体的大小我们可以根据屏幕的大小及分辨率进行选择。例如128X64的屏幕,可以选择32点阵的“大”字显示2行,也可以选择16点阵的字体显示4行。
硬件资源方面需要关心的是MCU的I/O资源是否丰富,当I/O比较否紧张的时候,可以考虑使用串行总线连接存储器。
二、字库存储的排置是否符合显示或打印的需求;
字库字模的存储格式会根据不同应用分为:横置横排、竖置横排、竖置竖排。例如一般的STN液晶者是采用竖置横排的,而热敏打印机就是横置横排的。
三、下载的字库中,有错别字或乱码字;
其实很多电子工程师不会对所使用的字库进行逐字测试,即使有问题也不能用自己的字库知识面来解决,等到最终用户发现问题后才予以修正。
其实关于错别字问题,*屏蔽内容*有字符集标准GB2312(6,763汉字)、GB18030(27,533汉字)、GB13000和GBK(20,902汉字)。