您现在的位置是:主页 > 新闻中心 >

图形LCD模块ACM19264ASB的汉字显示

2021-10-22 10:44      点击次数:

谁给医美平台整整容? !然而,在单片机上显示汉字也存在几个问题 香港马尾资料开奖结果 !首先,单片机资源有限,我们不能为了显示汉字占用太多的资源;其次,汉字存储读取比较繁琐,使用不方便;第三,汉字是通过点阵显示出来的,往往与lcd写入方式不一样

  谁给医美平台整整容?!然而,在单片机上显示汉字也存在几个问题香港马尾资料开奖结果!首先,单片机资源有限,我们不能为了显示汉字占用太多的资源;其次,汉字存储读取比较繁琐,使用不方便;第三,汉字是通过点阵显示出来的,往往与lcd写入方式不一样,这就得进行转换和调整。

  值得注意的是,基于单片机的汉字显示不能在字符lcd上实现。使用图形lcd有很多优点,不仅能显示汉字,而且可以实现汉字动态移动和上下滚屏,实现汉字与图形的混合显示,同时功耗低。

  汉字一般是以点阵式存储的,如16×16,24×24点阵(即汉字的字模),每个汉字由32字节(16点阵)或72字节(24点阵)描述。根据汉字的不同字体,也可分为宋体字模、楷体字模、黑体字模等等。

  汉字的字模其实是汉字字形的图形化。对于16点阵字模,就是把汉字写在一个16×16的网格内,汉字的笔画能过某网格时该网格就对应1,否则该网格对应0,这样每一网格均对应1或0,把对应1的网格连起来看,就是这个汉字。汉字就是这样通过字节表示点阵存储在字库中的。

  为了方便查找所需汉字的点阵,每个汉字都与一个双字节的内码一一对应。通过汉字的内码可以计算出它的点阵起始字节。现以16点阵为例说明。

  (区码×94+位码)×32 于是,可以向后连续读出由32个字节组成的该字的点阵数据。

  汉字占用资源太多(如16点阵,每个汉字就需32字节),因而通常把汉字库放在eeprom里,需要显示某个汉字时,先算出它的区位码,再求出点阵起始位置,从eeprom中顺序调出该字的点阵数据,存在缓冲区里,最后依次送往lcd显示,描出该字。需要说明的是汉字存储方式与lcd显示方式有一定差别。

  本文使用另一种显示方法,即事先将程序用到的汉字、符号和数码(为了节省显示空间,可以将数码压成8×16点阵),编成一个文本文件,用一段小程序做出相应小的汉字库,这个小字库的汉字点阵数据取自于一般汉字库。再经过转换和调整,得到新的汉字库,最后把新字库固化在eeprom中。单片机只需按序号读出点阵字节,送往lcd即可显示所需汉字。减轻了单片机的负担,去除了繁琐的查找内码、求起始位置、转换、调整等工作,提高了系统可靠性。

  典型的汉字库可选用ucdos下的字库,如16点阵字库hzk16。需要256k空间,用了较大的eeprom,又不方便读取,而实际应用中需要的汉字又非常少,因而我们可以自己制作小的汉字库,在这个小字库里只包含系统需要的汉字。这样,一方面节省读取时间,另一方面大大地节省了资源。

  限于篇幅,这里仅仅给出流程图(假定事先将所需汉字写到了一个文本文件),如图1所示。

  2)显示内容:192(列)×64(行)点阵,可显示图形,也可显示12×4(16点阵)汉字;

  主要外部接口1)vss:地;2)d/i:高时表示db7~db0为显示数据,低时表示为显示指令数据;

  1)显示开关控制【0,0,0,0,1,1,1,1,1,d】,d=1表示开显示,可进行各种显示操作;

  4)设置y地址【0,0,0,1,a5,a4,a3,a2,a1,a0】,y可从0~63选,对应cs3~cs1,各包含64列,y可选择其中一列作读写操作起始列,每操作一次y自动加1;

  5)读状态【1,0,bf,0,on/off,rst,0,0,0,0】,其中bf为忙标志,bf=1表示内部正进行操作,不接受外部指令,on/off为显示控制触发器状态,on/off=1为开显示,数据就显示在屏幕上,rst=1表示内部正进行初始化,不接受任何指令和数据;

  如图2所示。ic4为行驱动器,ic3~ic1为列驱动器,各驱动器含有如下功能器件:指令寄存器(ir),数据寄存器(dr),忙标志(bf),显示控制触发器(dff),xy地址计数器,显示数据ram(ddram),z地址计数器(即行扫描计数器,扫完一行自动加1,0~63循环,故可实现滚屏显示)。

  从表1和表2可以看出,汉字库点阵需要经过调整和转换才能显示在lcd上。具体地讲,需要先从行点阵转换到列点阵,再翻转180°。相应程序如下:

  unsignedintfarhzlib[16*1000];转换前的汉字库点阵数组,双字节写入unsignedintfarhzxlib[8*2000];转换后的汉字库点阵数组,单字节写入 这里,转换前的汉字库数组每次按双字节写入16位点阵数据,快捷方便,转换后的汉字库数组按单字节写入。 最后把转换子程序函数加到主程序后面即可。转换子程序如下:voidhz_tzh(){

  (j-8)}}}}6汉字显示应用举例

  <

  <图3示出汉字显示的典型应用框图。

  cpld用来扩展i/o口,单片机通过cpld读取汉字库eeprom点阵数组,缓存到sram中,然后依次写入lcd显示出来,键盘用来输入指令与改变数据。

  1)lcd分3个区cs1~cs3分别选中写入,确定显示位置后,先选中对应区cs再写入;

  2)该型号lcd每行只能显示24个汉字,到边界时注意加一个判断程序,防止显示位置出错;

  3 )程序中可能用到数码,为了节省显示空间,可以事先将数码压成8×16点阵,添加到eeprom汉字库后面。 本系统在信号源产生系统中,已成功使用,速度快,程序简捷,没有出现误码等问题。

推荐阅读

单日轰炸短信高达160万次 企业如何免遭“呼死你”黑产利用?

【TechWeb】10月13日消息,近日,广西壮族自治区来宾市公安局网安支队联合武宣警方,经过近两个月的奋战,成功破获广西首例短信轰炸案件。经审讯,犯罪嫌疑人卓某健交待通过代理短信轰炸(又称呼死你)等非法服务,并以发展下线转包服务的形式从中赚取差价牟

热点新闻

在重庆买房总能买在大涨前低位为何总买不到最有潜力的房子?

www.5wmi.com , 新乡seo推广优化操作 ,最近天气比较热,重庆楼市也开始进入了淡季,我们也去看了一下市场,整体的表现还算不错。 在看房的过程当中,我们遇到了这样一位购房朋友,他说买房子的时候总能买在上涨前的低位,但是总是买不到最有潜力的房子。