小弟正在用st7920的lcd控制器做绘图,要利用到其数据读取功能,但不知那里出错。总是读不了GDRAM里的数据,只能读取到其X地址。读数部分程序如下,读各位大虾指教下: uchar read_data() {uchar u; RS=0; RW=1; do{  0=0xff; E=1; ACC=P0; E=0; }while(BF); RS=1; //RW=1;  0=0xff; E=1; E=0; E=1; u=P0; E=0; return(u); } 这里取用的是并行通信方式。 我个人认为应该可读出绘图的数据值而非X地址值。 主函数如下: main() { uchar x; p_init();//绘图初始化 clear();//清屏 write_com(0x80);//write_com( )为写指令函数,此句为写入Y地址0x80 write_com(0x80);//⑴,此句为写入X地址0x80
write_data(0xf5);//⑵, write_data( );//此句为写入数据0xf5 x=read_data(); write_com(0x80); write_com(0x81); write_data(x); while(1); } 但是读出来的数是⑴中的0x80,而不是⑵的0xf5。 望各位高手指教指教,本人QQ:188158024
|