新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于不带字库的图形LCD模块汉字显示解决方案

基于不带字库的图形LCD模块汉字显示解决方案

作者:时间:2012-03-28来源:网络收藏

2 芯片与单片机的接口

2.1 的编码标准

为了用0、1代码串表示,规定了的信息交换码:GB 2312-80,简称国标码,共有字符7445个,包括汉字和其他字符。一级汉字3755个,按汉语拼音顺序排列;二级汉字3008个,按部首和笔画排列。其他字符有常用符号、序号、GB1988字符集、希腊字符、制表符等。国标码的每一个符号都用两个字节(16位二进制)代码来表示一个汉字。

1) 国标码:行、列各94(0-93),用先行后列的两个7位二进制数表示。

2) 区位码:由于二进制国标码表示不很方便,因此汉字也可用十进制区位码表示。区、位各94(1-94),用先区后位的两个2位十进制数表示。

3) 机内码:是计算机内部表示汉字的代码,在微机中多用两字节(最高位为1)代码作为机内码。

2.2区位码和机内码的相互转换

西文系统的交换码和机内码都采用美国标准信息交换码ASCII,用一个字节表示,一般只用低七位,可以表示128可符号。在软件中嵌入的汉字经编译器编译后存放的格式为机内码。区位码和机内码之间的转换关系可概括为:(区位码的十六进制表示)+A0A0H=机内码。以汉字“大”为例,“大”字的区内码的十六进制表示为1453H,加上A0A0H得到机内码为B4F3H。

2.3 汉字字模库

汉字的输出是将汉字的笔划离散化,用点阵来表示。点阵的中每个点位只有两种状态:有笔画(1)、无笔画(0)。

描述汉字点阵信息的二进制代码集称为汉字的字模。所有汉字和符号的点阵信息就组成了汉

2.3 混合字符的

在本系统中,每个汉字的采用16×16点阵方式。国标GB2312-80一、二级汉字点阵库存放在一片ROM芯片AT27C040中,每个汉字占用32个字节。当需要显示汉字时,首先根据区码和位码计算出该汉字点阵在ROM中存放的起始地址,然后从此地址连续的取出32个字节的汉字点阵,并写入对应的地址中,就可以显示出该汉字。根据汉字区位码和该汉字计算汉字在ROM位置的转换关系可概括为:起始地址=(区码×94+位码)×32

在应用中,常需要汉字和英文字符混合显示,在软件处理时需要判断显示的内容是汉字的编码还是英文字符的编码,如果是汉字编码则根据其机内码计算区位码,并根据区位码计算出该汉字在字模中的起始地址。图3是混合显示的软件流程图。

26.jpg

3 应用实例

在某检测设备中,需要给用户显示电流、电压、频率值以及一些事件记录等。用户的命令通过设备的8键键盘输入,显示的内容有汉字、数字和英文字符。

以下列出了显示汉字、数字和英文字符串部分软件

/*-----------------------------------------------------------------------------------------
混合显示一串汉字和英文字符
row:行(1-8), column: 列(1-15)
str:字符代码(标准机内码)指针
---------------------------------------------------------------------------------------*/

LCD显示屏相关文章:lcd显示屏原理


lcd相关文章:lcd原理


评论


相关推荐

技术专区

关闭