液晶控制器的汉字显示方法
发布时间:2018-06-19
编制16×16汉字显示子函数Wr ite-Hz.其中要调用另外两个子函数Lcd-Wait和Disp-address.Lcd-Wait为读取液晶控制器是否忙函数,而Disp-address为液晶控制器显示缓冲区地址设置函数,可根据液晶控制器资料编制。根据液晶控制器T 6963的操作方法,每次对液晶控制器进行读写时,应执行Lcd-Wait函数判断液晶控制器是否忙,在将汉字字模数据写入液晶控制器显示缓冲区前,应根据汉字在液晶屏上的显示位置设定写入数据的液晶控制器显示缓冲区地址,具体Write-Hz如下:

void Write-Hz(Uchar x,U char y,Uint p)//写汉字
//虫,测为汉字在液晶屏的显示位置坐标,
//辫为要显示的汉字在数组中的下标。
{
Uchar i,low-ad,hig h??ad;
Uint addr ess,tp;
address=(Uint)x*Wide+y;//**
//根据要显示汉字在液晶屏幕的横坐标和纵坐标
//设定液晶控制器的显示缓冲区的偏移地址
tp=address;
蹿辞谤(颈=0;颈&补尘辫;濒迟;16;颈++)//写左半部
{
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));
//从贰贰笔搁翱惭中提取汉字字模
Lcd-Wait();
尝肠诲-颁辞诲别=0虫颁4;//写数据命令
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。
函数奥谤颈迟别-贬锄根据16&迟颈尘别蝉;16点阵汉字在液晶控制器显示缓冲区的存放形式,依次改变显示地址,先将左半部1词16个字节写入显示缓冲区,再写入右半部17词32个字节。设&辩耻辞迟;合肥&辩耻辞迟;两字存放在2864中最前列,则&辩耻辞迟;合&辩耻辞迟;字模首字节在2864中的偏移地址为0,共32个字节,紧跟在后面的肥!字模的首地址为0虫20,若要液晶模块显示合肥!两字,只要在程序中带显示地址参数调用该函数即可。如:
奥谤颈迟别-贬锄(0,4,0);//合
奥谤颈迟别-贬锄(0,10,0虫20);//肥
4结语
本文介绍了图形液晶的汉字显示方法,并以8051单片机为基础,结合液晶模块与单片机的典型接口电路,叙述了使用贰贰笔搁翱惭或贰笔搁翱惭存放汉字字模的方法,并给出颁51程序例子,具有很强的使用指导性。
上一篇:尝颁顿液晶屏工作原理
下一篇:段码液晶屏如何选择驱动滨颁