液晶显示器的汉字显示方法
// 设定液晶控制器的显示缓冲区的偏移地址
tp= address;
for ( i= 0; i 16; i+ + ) / / 写左半部
{
low-ad= ( Uchar) ( tp 0x f f) ;
hig h-ad= ( Uchar) ( tp 8) ;
Disp-address( low-ad, high-ad) ;
/ / 设定写入地址
Lcd-Wait ( ) ;
Lcd-Data = * ( VBYT E( Hz-Dot+ p+ i ) ) ;
/ / 从EEPROM 中提取汉字字模
Lcd-Wait ( ) ;
Lcd-Code= 0xC4; / / 写数据命令
tp= tp+ Wide;
}
address+ + ;
tp= address;
fo r( i= 0; i 16; i+ + ) / / 写右半部
{
low-ad= ( U char) ( tp 0xf f ) ;
hig h-ad= ( Uchar) ( tp 8) ;
Disp-address( low??ad, high??ad) ;
Lcd-Wait ( ) ;
Lcd-Data = * ( VBYTE ( Hz-Dot+ p+16+ i) ) ;
Lcd-Wait ( ) ;
Lcd-Code= 0xC4;
tp= tp+ Wide;
}
}
函数Wr ite??Hz 的参数x 和y 对应液晶屏幕的显示位置, 以屏幕左上角为原点, x 为纵坐标, y为横坐标, 其在液晶控制器显示缓冲区中的地址通过行* * 计算出, 该行中Wide 为事先定义的液晶屏每行字节数, 对于DG12864 液晶模块而言,Wide 为16。
函数Write-Hz 根据16×16 点阵汉字在液晶控制器显示缓冲区的存放形式, 依次改变显示地址, 先将左半部1~ 16 个字节写入显示缓冲区, 再写入右半部17~ 32 个字节。设合肥两字存放在2864 中最前列, 则合字模首字节在2864 中的偏移地址为0, 共32 个字节, 紧跟在后面的肥!字模的首地址为0x20, 若要液晶模块显示合肥!两字, 只要在程序中带显示地址参数调用该函数即可。如:
Write-Hz( 0, 4, 0) ; / / 合
Write-Hz( 0, 10, 0x20) ; / / 肥
4 结 语。
本文介绍了图形液晶的汉字显示方法, 并以8051 单片机为基础, 结合液晶模块与单片机的典型接口电路, 叙述了使用EEPROM 或EPROM存放汉字字模的方法, 并给出C51 程序例子, 具有很强的使用指导性。
led显示器相关文章:led显示器原理
存储器相关文章:存储器原理
评论