lucya 发表于 2011-9-15 21:01:29

大侠,12864的GDRAM绘图模式下清屏需要多长时间呢?51的单片机

我这几天天天查画图模式下清屏的快速方法,如果在每一处写(0x00)的话,我的51单片机需要8秒。。。
看的我急死了,而且反显一行就要清一次屏,不然就花屏。到处都是不规则的点点。
12864是带字库的。
已经在百度谷歌和咱坛子里翻了3天了。。。
有没有快一点的方法,在不更换51单片机的情况下?
求指教!!

Jason022 发表于 2011-9-15 21:07:05

并行还是串行方式?你这也太慢了点,除了提速没有别的办法

AIHHLI 发表于 2011-9-15 21:20:43

8秒?晶振多大?串行方式吧?

yisea123 发表于 2011-9-15 21:24:04

贴部分代码出来看看

yklstudent 发表于 2011-9-15 21:25:49

并行没有那么慢的

liucw99 发表于 2011-9-15 21:43:35

我的是一块串行的12864的LCD,但是的确不知道是什么控制芯片。清屏过程很快的,2秒左右就完事了。

http://cache.amobbs.com/bbs_upload782111/files_45/ourdev_676722A01SNJ.JPG
LCD图形显示 (原文件名:P1150226-s.JPG)

lucya 发表于 2011-9-15 21:56:16

回复【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);   // 开绘图显示
}

lucya 发表于 2011-9-15 21:59:51

回复【1楼】Jason022
并行还是串行方式?你这也太慢了点,除了提速没有别的办法
-----------------------------------------------------------------------

并行,51的单片机,我也知道慢啊。怎么提呢?!

lucya 发表于 2011-9-15 22:05:17

回复【5楼】liucw99
我的是一块串行的12864的lcd,但是的确不知道是什么控制芯片。清屏过程很快的,2秒左右就完事了。


lcd图形显示 (原文件名:p1150226-s.jpg)

-----------------------------------------------------------------------

能给我你的清屏方法吗?
我的方法就是挨个写(0x00).
慢的我都能看到一个豆腐块一个豆腐块的移动。

wajlh 发表于 2011-9-15 22:06:02

12864我记得有清屏指令的啊

lucya 发表于 2011-9-15 22:11:21

回复【9楼】wajlh
12864我记得有清屏指令的啊

-----------------------------------------------------------------------

清屏指令字符模式下清DDRAM的,绘图模式下没有这个指令,我需要反显,所以要字符跟绘图两个存储区异或。
但是显示图片这也太太太太慢了。

ssmsky 发表于 2011-9-15 22:50:16

最好是贴完整代码,这样能知道究竟发生了什么事。。。

BDXing6 发表于 2011-9-16 09:32:54

不会那么慢的,我用的是市面上最便宜的那种,不到40元,控制芯片也未知,清屏时间不到一秒,这是字写入的速度,每字的写入速度也在微秒级。如果用我自己编的点对象写的话,大概是2到3秒可清屏,一个点操作时间也就几百微秒,全屏8千多个点。应该是你的程序有问题。另外,12864的显示速度,与用什么MCU基本没关系,因为这屏的速度确实够慢的,再快的MCU也得通过等待才能能完成。

lucya 发表于 2011-9-16 18:12:08

谢谢大家了,我的问题解决了,不是慢,是我程序有个很BC的问题。
以后有问题我要先从根源入手,不能扎进搜索引擎里瞎找。。。

tranquilly86 发表于 2011-11-3 13:02:11

绘图模式下只有写入0,这种清屏方法吗?

delta8921 发表于 2011-11-3 13:46:07

回复【13楼】lucya
-----------------------------------------------------------------------

不厚道哦。
找到问题了,也不说出来让大家分享。

lucya 发表于 2011-11-5 19:13:04

回复【15楼】delta8921
-----------------------------------------------------------------------

我的问题是delay50ms与50us写反了,就是说凡是用50us的地方,实际上我用了50ms,当然慢死。
没说是觉得自己笨死了。

bigradio 发表于 2011-11-28 10:29:20

回复【16楼】lucya
回复【15楼】delta8921
-----------------------------------------------------------------------
我的问题是delay50ms与50us写反了,就是说凡是用50us的地方,实际上我用了50ms,当然慢死。
没说是觉得自己笨死了。
-----------------------------------------------------------------------

原来这样,谢谢。但是也是个经验,显示速度慢了,就成了点点花屏,

xslff 发表于 2011-11-28 10:45:48

。。。。

wanyongpid 发表于 2011-11-28 11:01:10

delay50ms与50us写反了~~~~~~~~~·我就说不可能这么慢啊

liudaolunhui 发表于 2011-11-28 11:11:12

我对这个是很不清楚的!!!!!!!!!

caizhiwei 发表于 2015-7-11 09:45:08

我用stm32控制st7920,gdram清屏确实非常慢,我的要2~3S,已经是延时最少的,目前貌似没找到更有效的方法
页: [1]
查看完整版本: 大侠,12864的GDRAM绘图模式下清屏需要多长时间呢?51的单片机