大侠,12864的GDRAM绘图模式下清屏需要多长时间呢?51的单片机
我这几天天天查画图模式下清屏的快速方法,如果在每一处写(0x00)的话,我的51单片机需要8秒。。。看的我急死了,而且反显一行就要清一次屏,不然就花屏。到处都是不规则的点点。
12864是带字库的。
已经在百度谷歌和咱坛子里翻了3天了。。。
有没有快一点的方法,在不更换51单片机的情况下?
求指教!! 并行还是串行方式?你这也太慢了点,除了提速没有别的办法 8秒?晶振多大?串行方式吧? 贴部分代码出来看看 并行没有那么慢的 我的是一块串行的12864的LCD,但是的确不知道是什么控制芯片。清屏过程很快的,2秒左右就完事了。
http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_676722A01SNJ.JPG
LCD图形显示 (原文件名:P1150226-s.JPG) 回复【3楼】yisea123
贴部分代码出来看看
-----------------------------------------------------------------------
void con_disp (uchar data1,uchar data2,uchar x0,uchar y0,uchar xl,uchar yl)
{
uchar i,j;
for(j=0;j<yl;j++)
{
for(i=0;i<xl;i++)
{
write_12864com(0x34); // 扩展功能
write_12864com(y0+j);// 写Y坐标
write_12864com(x0+i);// 写X坐标
write_12864com(0x30);// 普通功能 关图像显示
write_12864dat(data1); //写数据
write_12864dat(data2); //写数据
}
}
write_12864com(0x36); // 开绘图显示
} 回复【1楼】Jason022
并行还是串行方式?你这也太慢了点,除了提速没有别的办法
-----------------------------------------------------------------------
并行,51的单片机,我也知道慢啊。怎么提呢?! 回复【5楼】liucw99
我的是一块串行的12864的lcd,但是的确不知道是什么控制芯片。清屏过程很快的,2秒左右就完事了。
lcd图形显示 (原文件名:p1150226-s.jpg)
-----------------------------------------------------------------------
能给我你的清屏方法吗?
我的方法就是挨个写(0x00).
慢的我都能看到一个豆腐块一个豆腐块的移动。 12864我记得有清屏指令的啊 回复【9楼】wajlh
12864我记得有清屏指令的啊
-----------------------------------------------------------------------
清屏指令字符模式下清DDRAM的,绘图模式下没有这个指令,我需要反显,所以要字符跟绘图两个存储区异或。
但是显示图片这也太太太太慢了。 最好是贴完整代码,这样能知道究竟发生了什么事。。。 不会那么慢的,我用的是市面上最便宜的那种,不到40元,控制芯片也未知,清屏时间不到一秒,这是字写入的速度,每字的写入速度也在微秒级。如果用我自己编的点对象写的话,大概是2到3秒可清屏,一个点操作时间也就几百微秒,全屏8千多个点。应该是你的程序有问题。另外,12864的显示速度,与用什么MCU基本没关系,因为这屏的速度确实够慢的,再快的MCU也得通过等待才能能完成。 谢谢大家了,我的问题解决了,不是慢,是我程序有个很BC的问题。
以后有问题我要先从根源入手,不能扎进搜索引擎里瞎找。。。 绘图模式下只有写入0,这种清屏方法吗? 回复【13楼】lucya
-----------------------------------------------------------------------
不厚道哦。
找到问题了,也不说出来让大家分享。 回复【15楼】delta8921
-----------------------------------------------------------------------
我的问题是delay50ms与50us写反了,就是说凡是用50us的地方,实际上我用了50ms,当然慢死。
没说是觉得自己笨死了。 回复【16楼】lucya
回复【15楼】delta8921
-----------------------------------------------------------------------
我的问题是delay50ms与50us写反了,就是说凡是用50us的地方,实际上我用了50ms,当然慢死。
没说是觉得自己笨死了。
-----------------------------------------------------------------------
原来这样,谢谢。但是也是个经验,显示速度慢了,就成了点点花屏, 。。。。 delay50ms与50us写反了~~~~~~~~~·我就说不可能这么慢啊 我对这个是很不清楚的!!!!!!!!! 我用stm32控制st7920,gdram清屏确实非常慢,我的要2~3S,已经是延时最少的,目前貌似没找到更有效的方法
页:
[1]