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、滚屏是首尾地址连接起来,形成一个环。执行滚屏命令后,屏幕立刻滚动,执行一次滚动一次。 两行一起滚动,无法分开。