1、写数据和指令需在LCDEN电平上升沿,为实现其应该:在程序执行其他指令时保证LCDEN=0;
在完成执行读写数据和指令之后必须立刻拉低LCDEN电平;
保证在执行写数据指令子函数前LCDEN=0例如:
……
LCDEN=0;
……
void write_dat(char a)
{
char e=1;
while(e)e=read();
RS=1;
RW=0;
P0=a;
LCDEN=1;
for(e=127;e>0;e--);
LCDEN=0;
}
不能只在写数据指令子函数中执行拉高LCDEN电平之前进行LCDEN电平拉低操作而不进行延时,例如这是错的:
void write_cmd(char a)
{
char e=1;
while(e)e=read();
LCDEN=0;
RS=0;
RW=0;
P0=a;
LCDEN=1;
for(e=127;e>0;e--);
}
2、若使用画面滚动滚屏方式,写入数据前设置的显存地址是光标停止的位置。例如
写入"QQ 814921012"
地址设置:write_cmd(0x82);
则屏幕最终显示为:12_
3、在程序开始进行屏幕初始化时,应该执行清屏命令。在程序过程中也应适时加入清屏命令。
4、滚屏是首尾地址连接起来,形成一个环。执行滚屏命令后,屏幕立刻滚动,执行一次滚动一次。
两行一起滚动,无法分开。