有两种情况,一是你的LCD可能用的是总线方式驱动,这种情况,有可能会乱,如果用的好的单片机则没什么问题,你把LCD改成模拟总线驱动的方式。
第二种情况,你的程序里使用的结构体类型的变量,51单片机,结构体类型的变量是不可以放在xdata里执行的,至少我接触的STC12,STC89,SH88系列的,都不可以,会乱,所以,如果你有结构体类型变量,前面加上 data,把它定义到data空间里去。
xdata是访问外部RAM的,通过数据总线和地址总线来访问。
如果ds1302和lcd12864的接口中使用了数据总线或地址总线中的数据,总线就会冲突,自然就不能正常显示了。