首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 电子技术 > 光电应用
图形LCD模块ACM19264ASB的汉字显示
来源:本站整理  作者:佚名  2009-02-26 16:02:06



  如图2所示。IC4为行驱动器,IC3~IC1为列驱动器,各驱动器含有如下功能器件:指令寄存器(IR),数据寄存器(DR),忙标志(BF),显示控制触发器(DFF),XY地址计数器,显示数据RAM(DDRAM),Z地址计数器(即行扫描计数器,扫完一行自动加1,0~63循环,故可实现滚屏显示)。

4.5显示数据存储单元地址表

表2示出显示数据存储单元地址。


  表2图形显示LCD模块ACM19264ASB的DDRAM地址表

5汉字库到LCD的调整与转换

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

  先将#include加到头文件中,然后设置数组:

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

  inti,j,k,GetBit;for(k=0;k{for(i=0;i<16;i++);先转换低16字节{for(j=7;j>=0;j--){GetBit=(HzLib[16*k+j]>>(15-i))-(HzLib[16*k+j]>>(16-i))*2;取每个字节的相同位,实现行到列的转换HzXLib[i+32*k]+=GetBit<时,高低位顺序倒转180°}}for(i=16;i<32;i++);再转换高16字节{for(j=15;j>=8;j--){GetBit=(HzLib[16*k+j]>>(31-i))-(HzLib[16*k+j]>>(32-i))*2HzXLib[i+32*k]+=GetBit<<(j-8)}}}}

  6汉字显示应用举例

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

CPLD用来扩展I/O口,单片机通过CPLD读取汉字库EEPROM点阵数组,缓存到SRAM中,然后依次写入LCD显示出来,键盘用来输入指令与改变数据。

  使用过程中应注意几个问题:

  1)LCD分3个区CS1~CS3分别选中写入,确定显示位置后,先选中对应区CS再写入;
  2)该型号LCD每行只能显示24个汉字,到边界时注意加一个判断程序,防止显示位置出错;
  3 )程序中可能用到数码,为了节省显示空间,可以事先将数码压成8×16点阵,添加到EEPROM汉字库后面。 本系统在信号源产生系统中,已成功使用,速度快,程序简捷,没有出现误码等问题。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:49,531.25000 毫秒