用PIC24写一个LCD12864的程序,写了三天,都不行,将51的程序。M430的程序修改了,运行都不行,三天都调试不出来,心情是很郁闷的啊,后来用单步运行的时候,发觉程序在单步运行的时候,可以显示出来,但是在全速运行的时候,就是出不来结果,显示不出来字。查了一些资料,说是失序有问题,延迟delay函数,我也倾向于这个问题,因为单步显示的时候能出来结果,但是在其他没写的地方也显示出来了错误的点,LCD12864RAM中没有写的地方也有了值,我也觉得可能真的是我的时序出错了,所以修改了很久的时序,都没成功,后来想到会出现错误的乱码会不会是我PIC端口的问题,查了一下PIC 的I/O的手册,发觉I/O口的PORT的读写很是容易产生错误的数值。连续对PORT的读写,会产生错误,要对引脚赋值,最好就是对LAT锁存器赋值,这样值写进去之后不会和PORT口一样产生错误。对I/O的读写要区分对待,读比较好用PORT口,但是写端口用LAT比较好,不会产生错误的数据
如果对PORT端口的读写出现错误,则改成对LAT锁存器写