一种嵌入式系统中的文字显示方法及系统的制作方法

文档序号:6613995阅读:180来源:国知局
专利名称:一种嵌入式系统中的文字显示方法及系统的制作方法
技术领域
本发明涉及嵌入式系统的图形用户接口 (GUI)领域,尤其涉及一种嵌 入式系统中的文字显示方法及系统。
背景技术
GUI主要包括人机交互图形化用户界面,是屏幕产品的视觉体验和互动 操作部分。在嵌入式系统应用中,人机界面的可操作性越来越为用户所重视, 而用文字来显示菜单则是可操作性的前提。
具体实现时,文字通常釆用点阵的方式进行显示,其中, 一个字节(Byte ) 中的8位(bit),每位代表一个点,用于指示该点是否显示,例如,该位置 l表示显示,置0表示不显示,则一个字节可表示8个点,对于汉字和字符 来说,若采用16xl6的点阵显示,则该文字所对应的点阵数据需要占用2 x 16=32个字节,若采用8x 16的点阵显示,则需要占用1 x 16=16个字节。 在实际应用中,系统中需要存储每个文字所对应的点阵数据,目前,国标中 将常用文字所对应的点阵数据制作成点阵字库,并且为点阵字库中的每个文 字设置了编号,该编号称为机内码,每个文字的机内码与该文字的点阵数据 相对应。对于汉文、韩文及日文等的文字,其所对应的机内码通常占用两个 字节。为了对所显示的文字进行记录,并尽量减少文字存储所占用的容量, 在需要记录文字时,只需将该文字所对应的机内码进行存储即可,在需要显 示文字时,则可将该文字的机内码作为系统中存储的点阵数据的存放序号, 根据该存放序号从点阵字库中寻找该文字对应的点阵数据,调用该点阵数据 进行显示。
现有技术中,为了实现文字的显示,在嵌入式系统中通常采用内建点阵
字库的液晶显示器(LCD)模块,即无论当前系统需要显示的汉字数量是多 是少,都建立一个完整的国标点阵字库,但实际应用中,基于嵌入式系统的 需求,且需要显示的文字中无重复的文字数通常较少,且由于嵌入式系统的 存储容量通常较小,内建完整的点阵字库势必造成系统存储资源的浪费。

发明内容
有鉴于此,本发明中一方面提供一种嵌入式系统中的文字显示方法,另 一方面提供一种嵌入式系统中的文字显示系统,以便节约系统存储资源。
本发明所提供的嵌入式系统中的文字显示方法,包括 从点阵字库中确定当前嵌入式系统显示需要的无重复文字; 将所述无重复文字对应的点阵数据存储于预设的点阵数据表中; 根据欲显示的当前文字对应的机内码,按照预设的查找规则从所述点阵数 据表中找出所述当前文字对应的点阵数据;
根据所述找出的点阵数据显示所述当前文字。
其中,所述将无重复文字对应的点阵数据存储于预设的点阵数据表中为 将所述无重复文字对应的点阵数据无间隔地存储于预设的点阵数据表中;
该方法进一步包括将所述无重复文字对应的机内码按照所述文字对应的 点阵数据的存放顺序存储于预设的机内码表中;
所述根据欲显示的当前文字对应的机内码,按照预设的查找规则从所述点 阵数据表中找出所述当前文字对应的点阵数据包括将所述欲显示的当前文字 对应的机内码作为索引查找所述机内码表,确定出所述机内码位于所述机内码 表中的顺序号,根据所述顺序号及点阵数据表的起始地址和点阵数据占用的字 节大小,计算出所述当前文字对应的点阵数据在所述点阵数据表中的起始地址, 根据所述起始地址从所述点阵数据表中找出所述当前文字对应的点阵数据。
其中,所述将无重复文字对应的点阵数据无间隔地存储于预设的点阵数据 表中为将所述无重复文字对应的点阵数据,按照所述无重复文字对应的机内 码的升序或降序无间隔地存储于预设的点阵数据表中;
所述将欲显示的当前文字对应的机内码作为索引查找所述机内码表为按 照折半查找的方法,将欲显示的当前文字对应的机内码作为索引查找所述机内 码表。
较佳地,该方法进一步包括利用预设的文字表示当前嵌入式系统中未存 储对应点阵数据的文字。
较佳地,该方法进一步包括在欲显示的当前文字显示为所述预设文字时, 将所述当前文字对应的点阵数据存储于所述点阵数据表中,将所述当前文字对 应的机内码存储于所述机内码表中。
其中,所述点阵数据表可为哈希表;所述将所述无重复文字对应的点阵数 据存储于预设的点阵数据表中为将所述无重复文字对应的点阵数据,按照预 设的以机内码为关键字的哈希算法存储于预设的点阵数据表中;
所述根据欲显示的当前文字对应的机内码,按照预设的查找规则从所述 点阵数据表中找出所述当前文字对应的点阵数据包括按照预设的哈希算 法,以所述欲显示的当前文字对应的机内码为关键字进行哈希计算,得到哈 希结果,从所述点阵数据表中与所述哈希结果对应的位置,找出所述当前文 字对应的点阵数据。
本发明所提供的嵌入式系统中的文字显示系统,包括
点阵数据存储模块,用于存储从点阵字库中确定的当前嵌入式系统显示需 要的无重复文字对应的点阵数据;
查找模块,用于根据欲显示的当前文字对应的机内码,按照预设的查找规 则从所述点阵数据存储模块中找出所述当前文字对应的点阵数据;
显示模块,用于根据所述找出的点阵数据显示所述当前文字。
其中,所述点阵数据存储模块将所述无重复文字对应的点阵数据进行无间 隔存储;
该系统进一步包括机内码存储模块,用于存储所述无重复文字对应的机 内码,所述无重复文字对应的机内码的存放顺序与所述无重复文字对应的点阵 数据的存放顺序一致;
所述查找模块将所述欲显示的当前文字对应的机内码作为索引从所述机内 码存储模块中进行查找,确定出所述机内码在所述机内码存储模块中的存储顺 序号,根据所述顺序号及点阵数据存储模块的起始地址和点阵数据占用的字节 大小,计算出所述当前文字对应的点阵数据在所述点阵数据存储模块中的起始 地址,根据所述起始地址从所述点阵数据存储模块中找出所述当前文字对应的 点阵数据。
其中,所述点阵数据存储模块将所述无重复文字对应的点阵数据,按照预
设的以机内码为关键字的哈希算法进行存储;
所述查找模块按照预设的哈希算法,以所述欲显示的当前文字对应的机 内码为关键字进行哈希计算,得到哈希结果,从所述点阵数据存储模块中与 所述哈希结果对应的位置,找出所述当前文字对应的点阵数据。
从上述方案可以看出,本发明中的嵌入式系统中无需存储完整的点阵字 库,只需存储当前嵌入式系统显示所需的无重复文字即可,并且预先设置查 找规则,根据欲显示的当前文字对应的机内码,按照该预设的查找规则从所 存储的点阵数据中找出当前文字对应的点阵数据并进行显示,由于嵌入式系 统中显示需要的无重复文字通常远小于点阵字库中对应的文字,因此本发明 中的技术方案节省了系统的存储资源。
此外,由于各嵌入式系统可根据自身的需求存储无重复字,并制定查找 规则,从而提高了嵌入式系统的文字显示灵活性。


图1为本发明实施例中嵌入式系统中的文字显示方法的示例性流程图; 图2为本发明实施例中嵌入式系统中的文字显示系统的示例性结构图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和 附图,对本发明进一步详细说明。图1示出了本发明实施例中嵌入式系统中文字显示方法的示例性流程 图。如图l所示,该流程包括如下步骤
步骤101,从点阵字库中确定当前嵌入式系统显示需要的无重复文字。
其中,不同嵌入式系统其显示所需的无重复文字可能相同,也可能不同。 实际应用中,可根据当前嵌入式系统的需求,从点阵字库中确定需要的无重 复文字。
步骤102,将所确定的无重复文字对应的点阵数据存储于预设的点阵数 据表中。
根据不同的具体实现方法,其中将所确定的无重复文字对应的点阵数据 进行存储的方式可有多种,相应地点阵数据表的类型也可有多种。本实施例 中仅列举其中的两种具体实现方法
方法一预设一个两维数组作为点阵数据表,该两维数组可记为 FontLib[][],若每个文字对应的点阵数据占用32个字节,则该两维数组的大 小为FontLib[][32],之后,将所确定的无重复文字对应的点阵数据无间隔地 存储于该点阵数据表中。
在该方法一中,进一步地,可预设一个机内码表,该机内码表可以是一 个一维数组,如记为Fontlndex[],将所确定的无重复文字对应的机内码按照 所述文字对应的点阵数据的存放顺序存储于该机内码表中。即FontLib[][]中 文字对应的点阵数据的存放顺序和Fontlndex[]中文字对应的机内码的存放 顺序是一致的。
方法二预设一个哈希表作为点阵数据表,之后,将所确定的无重复文 字对应的点阵数据,按照预设的以机内码为关键字的哈希算法存储于预设的 点阵数据表中。
步骤103,根据欲显示的当前文字对应的机内码,按照预设的查找规则 从点阵数据表中找出当前文字对应的点阵数据。
其中,对于步骤102中所列举的方法一,本步骤中,可将欲显示的当前 文字对应的机内码作为索引查找方法一中所述的机内码表,例如,假设上述
无重复文字中包括"北",且欲显示的当前文字为"北",则由于点阵数据 表中文字对应的点阵数据的存放顺序和机内码表中文字对应的机内码的存 放顺序是一致的,因此可根据"北,,字的机内码0x5317查找机内码表,从 中确定出"北"字对应的机内码位于机内码表中的顺序号,假设"北"在机
内码表的顺序号为n,则可根据所述顺序号n及点阵数据表的起始地址(假 设为FontLib)和点阵数据占用的字节大小(假设为32),计算出"北"字 对应的点阵数据在方法一 中所述的点阵数据表中的起始地址,即计算方法可 以是FontLib+nx 32,之后,根据所计算的起始地址从所述点阵数据表中 找出"北"字对应的点阵数据。
对于步骤102中所列举的方法二,本步骤中,可按照预设的哈希算法, 以欲显示的当前文字对应的机内码为关键字进行哈希计算,得到哈希结果, 从方法二中所述的点阵数据表中与所述哈希结果对应的位置,找出当前文字 对应的点阵数据。
步骤104,根据所找出的点阵数据显示所述当前文字。
进一步地,对于本实施例中描述的方法一,在对所确定的无重复文字对 应的点阵数据及机内码进行存储时,可按照机内码的升序或降序进行存储, 之后将欲显示的当前文字对应的机内码作为索引查找机内码表时,可按照折 半查找的方法进行查找,从而使查找顺序变快。
此外,本实施例中,还可以预先设置一个替代文字,用于表示当前嵌入 式系统中无法显示的文字,即系统中未存储对应点阵数据的文字。假设该预 设的文字是"?",则相应地,在点阵数据表中存储该"?"所对应的点阵 数据。
对于本实施例中描述的方法一,还需要在机内码表中存储该"?"对应 的机内码。当将欲显示的当前文字对应的机内码作为索引查找机内码表时, 若无法找到该机内码及其对应的顺序号,则确定当前文字无法显示,进而将 预设文字"?"对应的机内码作为索引查找机内码表,并确定"?"对应的 机内码位于机内码表中的顺序号,之后,根据所述顺序号及点阵数据表的起
始地址和点阵数据占用的字节大小,计算出该"?"对应的点阵数据在点阵 数据表中的起始地址,根据该起始地址从点阵数据表中找出"?"对应的点 阵数据,进而将"?"显示出来。
进一步地,在欲显示的当前文字显示为预设文字时,可将该当前文字对 应的点阵数据存储于点阵数据表中,相应地可将该当前文字对应的机内码存 储于机内码表中。
对于本实施例中描述的方法二,当按照预设的哈希算法,以欲显示的当 前文字对应的机内码为关键字进行哈希计算并得到哈希结果后,若在点阵数 据表中该哈希结果对应的位置处没有该当前文字对应的点缀数据,则确定当 前文字无法显示,进而按照预设的哈希算法,以预设文字"?"对应的机内 码为关键字进行哈希计算,得到哈希结果,从点阵数据表中与所述哈希结果 对应的位置,找出"?"对应的点阵数据,进而将"?"显示出来。
进一步地,在欲显示的当前文字显示为预设文字时,可将该当前文字对 应的点阵数据存储于点阵数据表中。
可见,本发明中通过利用预设的文字代表系统中无法显示的文字, 一方 面可以避免系统出错,另 一 方面可以根据所显示的预设文字获知系统所缺少 的文字,进而可以将该缺少的文字的点阵数据进行存储。
以上对本发明实施例中嵌入式系统中的文字显示方法进行了详细描述, 下面再对本发明实施例中嵌入式系统中的文字显示系统进行详细描述。
图2为本发明实施例中嵌入式系统中的文字显示系统的示例性结构图。
如图2所示,该系统包括点阵数据存储模块、查找模块和显示模块。
其中,点阵数据存储模块用于存储从点阵字库中确定的当前嵌入式系统显
示需要的无重复文字对应的点阵数据。
查找模块用于根据欲显示的当前文字对应的机内码,按照预设的查找规则
从所述点阵数据存储模块中找出所述当前文字对应的点阵数据。 显示模块用于根据所述找出的点阵数据显示所述当前文字。 具体实现时,对应本实施例方法中描述的方法一,本实施例系统中的点阵
数据存储模块可将所述无重复文字对应的点阵数据进行无间隔存储。并且本实 施例系统中可进一步包括机内码存储模块,用于存储所述无重复文字对应的 机内码,其中,所述无重复文字对应的机内码的存放顺序与所述无重复文字对 应的点阵数据的存放顺序一致。并且查找模块可将所述欲显示的当前文字对应 的机内码作为索引从所述机内码存储模块中进行查找,确定出所述机内码在所 述机内码查找模块中的存储顺序号,根据所述顺序号及点阵数据存储模块的起 始地址和点阵数据占用的字节大小,计算出所述当前文字对应的点阵数据在所 述点阵数据存储模块中的起始地址,根据所述起始地址从所述点阵数据存储模 块中找出当前文字对应的点阵数据。
其中,点阵数据存储模块和机内码存储模块进行存储时还可按照机内码的 升序或降序进行存储,则查找模块在机内码存储模块中进行查找时,可按照折 半查找的方法查找。
对应本实施例方法中描述的方法二 ,本实施例系统中的点阵数据存储模块 可将所述无重复文字对应的点阵数据,按照预设的以机内码为关键字的哈希算 法进行存储。相应地,查找模块可按照预设的哈希算法,以所述欲显示的当前 文字对应的机内码为关键字进行哈希计算,得到哈希结果,从所述点阵数据存 储模块中与所述哈希结果对应的位置,找出所述当前文字对应的点阵数据。
其中,本实施例系统中的各模块的具体操作可与本实施例方法中描述的操 作一致,此处不再——赘述。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了 进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已, 并非用于限定本发明的保护范围,凡在本发明的精神和原则之内,所作的任 何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种嵌入式系统中的文字显示方法,其特征在于,该方法包括从点阵字库中确定当前嵌入式系统显示需要的无重复文字;将所述无重复文字对应的点阵数据存储于预设的点阵数据表中;根据欲显示的当前文字对应的机内码,按照预设的查找规则从所述点阵数据表中找出所述当前文字对应的点阵数据;根据所述找出的点阵数据显示所述当前文字。
2、 如权利要求l所述的方法,其特征在于,所述将无重复文字对应的点阵 数据存储于预设的点阵数据表中为将所述无重复文字对应的点阵数据无间隔 地存储于预设的点阵数据表中;该方法进一步包括将所述无重复文字对应的机内码按照所述文字对应的 点阵数据的存放顺序存储于预设的机内码表中;所述根据欲显示的当前文字对应的机内码,按照预设的查找规则从所述点 阵数据表中找出所述当前文字对应的点阵数据包括将所述欲显示的当前文字对应的机内码作为索引查找所述机内码表,确定出所述机内码位于所述机内码 表中的顺序号,根据所述顺序号及点阵数据表的起始地址和点阵数据占用的字 节大小,计算出所述当前文字对应的点阵数据在所述点阵数据表中的起始地址, 根据所述起始地址从所述点阵数据表中找出所述当前文字对应的点阵数据。
3、 如权利要求2所述的方法,其特征在于,所述将无重复文字对应的点阵 数据无间隔地存储于预设的点阵数据表中为将所述无重复文字对应的点阵数阵数据表中;所述将欲显示的当前文字对应的机内码作为索引查找所述机内码表为按 照折半查找的方法,将欲显示的当前文字对应的机内码作为索引查找所述机内 码表。
4、 如权利要求1至3中任一项所述的方法,其特征在于,该方法进一步包括利用预设的文字表示当前嵌入式系统中未存储对应点阵数据的文字。
5、 如权利要求4所述的方法,其特征在于,该方法进一步包括在欲显示 的当前文字显示为所述预设文字时,将所述当前文字对应的点阵数据存储于所 述点阵数据表中,将所述当前文字对应的机内码存储于所述机内码表中。
6、 如权利要求l所述的方法,其特征在于,所述点阵数据表为哈希表;所 述将所述无重复文字对应的点阵数据存储于预设的点阵数据表中为将所述无 重复文字对应的点阵数据,按照预设的以机内码为关键字的哈希算法存储于预 设的点阵数据表中;所述根据欲显示的当前文字对应的机内码,按照预设的查找规则从所述点 阵数据表中找出所述当前文字对应的点阵数据包括按照预设的哈希算法,以 所述欲显示的当前文字对应的机内码为关键字进行哈希计算,得到哈希结果, 从所述点阵数据表中与所述哈希结果对应的位置,找出所述当前文字对应的点 阵数据。
7、 一种嵌入式系统中的文字显示系统,其特征在于,该系统包括点阵数据存储模块,用于存储从点阵字库中确定的当前嵌入式系统显示需 要的无重复文字对应的点阵数据;查找模块,用于根据欲显示的当前文字对应的机内码,按照预设的查找规 则从所述点阵数据存储模块中找出所述当前文字对应的点阵数据;显示模块,用于根据所述找出的点阵数据显示所述当前文字。
8、 如权利要求7所述的系统,其特征在于,所述点阵数据存储模块将所述 无重复文字对应的点阵数据进行无间隔存储;该系统进一步包括机内码存储模块,用于存储所述无重复文字对应的机 内码,所述无重复文字对应的机内码的存放顺序与所述无重复文字对应的点阵 数据的存放顺序一致;所述查找模块将所述欲显示的当前文字对应的机内码作为索引从所述机内 码存储模块中进行查找,确定出所述机内码在所述机内码存储模块中的存储顺 序号,根据所述顺序号及点阵数据存储模块的起始地址和点阵数据占用的字节 大小,计算出所述当前文字对应的点阵数据在所述点阵数据存储模块中的起始 地址,根据所述起始地址从所述点阵数据存储模块中找出所述当前文字对应的 点阵数据。
9、如权利要求7所述的系统,其特征在于,所述点阵数据存储模块将所述 无重复文字对应的点阵数据,按照预设的以机内码为关键字的哈希算法进行存储;所述查找模块按照预设的哈希算法,以所述欲显示的当前文字对应的机内 码为关键字进行哈希计算,得到哈希结果,从所述点阵数据存储模块中与所述 哈希结果对应的位置,找出所述当前文字对应的点阵数据。
全文摘要
本发明公开了一种嵌入式系统中的文字显示方法,包括从点阵字库中确定当前嵌入式系统显示需要的无重复文字;将所述无重复文字对应的点阵数据存储于预设的点阵数据表中;根据欲显示的当前文字对应的机内码,按照预设的查找规则从所述点阵数据表中找出所述当前文字对应的点阵数据;根据所述找出的点阵数据显示所述当前文字。此外,本发明还公开了一种嵌入式系统中的文字显示系统。本发明所公开的技术方案,由于无需存储完整的点阵字库,从而节省了系统的存储资源。
文档编号G06F17/30GK101178729SQ20071017932
公开日2008年5月14日 申请日期2007年12月12日 优先权日2007年12月12日
发明者国 艾 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1