中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 存储设计 >>电子行业新闻正文

液晶显示器汉字字模存储方法

时间:2007/12/15 10:39:00  作者:  来源:ic72  浏览人数:1202
 
 

      液晶显示器件(LCD)独具的低压、微功耗特性使他在单片机系统中特得到了广泛的应用,常用的液晶显示模块分为数显液晶模块、点阵字符液晶模块和点阵图形液晶模块,其中图形液晶模块在我国应用较为广泛,因为汉字不能象西文字符那样用字符模块即可显示,要想显示汉字必须用图形模块。

      1 液晶模块显示汉字方法

      使用图形液晶模块以点阵形式来显示汉字和图形,每8个点组成1个字节,每个点用一个二进制位表示,存1的点显示时在屏上显示一个亮点,存0的点则在屏上不显示,最常用的16×16的汉字点阵由32个字节组成。

      以在我国应用较为普及的液晶显示驱动控制器T6963C为例,在液晶屏上横向8个点为1个字节数据。 

      其他规格的汉字存放方式以此类推。

      2 液晶控制器典型接口电路

      通过单片机将已提取的汉字的字模输入液晶控制器,即可按设定的液晶模块显示屏上现实需要的汉字。

       液晶模块与单片机的接口电路,在图中选用我国应非常广泛的8051单片机作为MCU,采用DG12864(128×64)液晶模块,其内置的液晶显示驱动控制器为日本东芝公司的T6963C。

      在电路中,地址线A12-A15和WR,RD信号通过GAL16V8译码出外扩芯片的片选信号,其中液晶的译码地址为0xE000,将地址线A0与液晶控制口的C/D相连。当A0为低时液晶控制器接收数据,A0为高时液晶控制器接收命令码,因此液晶数据端口地址为0xE000,液晶命令端口为0xE001,采用Keil C51进行程序设计,在程序中可进行如下定义。

      #define XBYTE((unsigned char volatile xdata* )0)

      #define Lcd_Data XBYTE[0xE000] //液晶数据端口

      #define Lcd_Code XBYTE[0xE001] //液晶命令端口

      单片机的数据线通过74HC245双向缓冲器与液晶控制器的数据口相连,用液晶控制器的片选信号/LCD_CS作为74HC245的使能信号,单片机的写信号/WR控制数据传送方向。/WR为低时,单片机数据写入液晶控制器;/WR为高时,CPU读取液晶控制器的数据和状态;

      3 汉字字模存储及提取方法

      在单片机系统中对字模的存储,根据单片机的程序存储容量和其寻址空间情况,可采取3种方式。

      (1)将提取的汉字字模数据作为常量数组存放在程序存储区内,这种方法较为常用,针对程序不大或单片机无外部扩展数据存储区功能的情况。

      如下面程序所示,将提取的要显示汉字的字模数据定义成常量数组,如要显示合肥”两字。

ic72新闻中心

      再编制汉字显示子函数Write_Hz。其中要调用另外两个子函数Lcd_wait和Disp_address。Lcd_wait为读取液晶控制器是否忙函数,而Disp_address为液晶控制器显示缓冲区地址设置函数,可根据液晶控制器资料编制[1]。

ic72新闻中心

ic72新闻中心

      函数Write_Hz的参数x和y对应液晶屏幕的显示位置,其与液晶控制器显示缓冲区中的地址通过行**可计算出,该行中的Wide为事先定义的液晶屏每行字节数,对于DG12864液晶而言,Wide为16。

      函数Write_Hz根据16×16点阵汉字液晶控制器显示缓冲区的存放形式,依次改变显示地址,先将左半部1-16个字节写入显示缓冲区,再写入右半部17-32个字节。若要液晶显示“合肥”两字,只要在程序中带显示地区参数调用该函数即可。如:

      write_Hz(0,4,0);//合

      write_Hz(0,10,0x20);//肥
     
      (2)将提取的汉字字模数据存放在EPROM或E2PROM内,作为扩展的数据存储器供单片机调用[2]。

      采用哈佛结构的单片机,如8051单片机及其派生产品,程序存储器(ROM)和数据存储器(RAM)可分别寻址,51单片机ROM和RAM最大的寻址空间均为64K,通常来说,对于中型的嵌入式系统,尤其是带液晶的单片机系统,64k的程序空间并不富裕,而将汉字字模作为常量数组会大大占用ROM的空间,而相对来说,数据存储器只需几k就够用了,剩下很多空间可用于功能芯片的扩展。

      将提取的汉字字模数据存放在EPROM或E2PROM内,并设定该芯片的片选地址,则只要知道某个汉字字模数据在该芯片的存储位置,通过程序计算出偏移地址,即可实现显示功能,例如:设存放汉字字模数据的E2PROM的片选地址为0x9000,则通过程序定义:

      #define Hz_Dot 0x9000

      #define VBYTE (unsigned char volatile xdata*)

      若要编制汉字显示子函数Write_Hz,只要将上面Write_Hz函数中

      ***行换成Lcd_Data=*(VBYTE(Hz_Dot+p+i));

      ****行换成Lcd_Data=*(VBYTE(Hz_Dot+p+16+i);

      (3)将整个汉字字库存放在EPROM或E2PROM内,程序根据要显示汉字的机内码来调用汉字字模[3]。
      
      某些高端单片机,如Motorola的M68300系列32位单片机,寻址范围可达8M,液晶显示常用的16×16汉字库二进制数据文件为两百多k,将汉字字库存入大容量的E2PROM,通过地址线可寻址到汉字库中的每一个汉字。

      在计算机中对汉字的识别是通过机内码来实现的,汉字标准机内码为两字节代码。汉字在汉字库中是按照区位来排列的,每一区中有94个汉字,每个汉字都对应唯一的区号和在本区的位号,汉字输入法中就有区位码方法,实际上,汉字机内码和区位码有标准的对应关系,某个汉字在字库中的区号加上0xa0等于其机内码的高字节,位号加上0xa0等于其机内码的低字节,因此很容易通过程序计算出要显示的汉字在汉字库中的区位号,即得到了其在汉字库中的偏移地址。

      由于E2PROM中存储了整个汉字库,只须在硬件上设定存放汉字库的存储器片选地址,直接将汉字作为字符数组付给汉字显示函数,通过机内码计算出区号和位号,即可方便地对汉字字模进行调用了。与前两种方法相比,无须事先提取字模和设定其地址用于程序调用,因此在进行程序升级,涉及到汉字显示时,不用更改汉字字模数据。

      4 结语

      本文介绍了图形液晶的汉字显示方法,并以8051单片机为基础,结合液晶模块与单片机的典型接口电路,介绍了3种存放汉字字模的方法,并给出C51程序例子,具有很强的使用指导性。

 
【相关文章】
·液晶显示器汉字字模存储方法
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9