搜索
bottom↓
回复: 21

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

[复制链接]

出0入0汤圆

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

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2011-9-15 21:07:05 | 显示全部楼层
并行还是串行方式?你这也太慢了点,除了提速没有别的办法

出0入0汤圆

发表于 2011-9-15 21:20:43 | 显示全部楼层
8秒?晶振多大?串行方式吧?

出0入0汤圆

发表于 2011-9-15 21:24:04 | 显示全部楼层
贴部分代码出来看看

出0入0汤圆

发表于 2011-9-15 21:25:49 | 显示全部楼层
并行没有那么慢的

出0入0汤圆

发表于 2011-9-15 21:43:35 | 显示全部楼层
我的是一块串行的12864的LCD,但是的确不知道是什么控制芯片。清屏过程很快的,2秒左右就完事了。


LCD图形显示 (原文件名:P1150226-s.JPG)

出0入0汤圆

 楼主| 发表于 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);   // 开绘图显示
}

出0入0汤圆

 楼主| 发表于 2011-9-15 21:59:51 | 显示全部楼层
回复【1楼】Jason022
并行还是串行方式?你这也太慢了点,除了提速没有别的办法
-----------------------------------------------------------------------

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

出0入0汤圆

 楼主| 发表于 2011-9-15 22:05:17 | 显示全部楼层
回复【5楼】liucw99
我的是一块串行的12864的lcd,但是的确不知道是什么控制芯片。清屏过程很快的,2秒左右就完事了。


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

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

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

出0入4汤圆

发表于 2011-9-15 22:06:02 | 显示全部楼层
12864我记得有清屏指令的啊

出0入0汤圆

 楼主| 发表于 2011-9-15 22:11:21 | 显示全部楼层
回复【9楼】wajlh
12864我记得有清屏指令的啊

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

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

出0入0汤圆

发表于 2011-9-15 22:50:16 | 显示全部楼层
最好是贴完整代码,这样能知道究竟发生了什么事。。。

出0入0汤圆

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

出0入0汤圆

 楼主| 发表于 2011-9-16 18:12:08 | 显示全部楼层
谢谢大家了,我的问题解决了,不是慢,是我程序有个很BC的问题。
以后有问题我要先从根源入手,不能扎进搜索引擎里瞎找。。。

出0入0汤圆

发表于 2011-11-3 13:02:11 | 显示全部楼层
绘图模式下只有写入0,这种清屏方法吗?

出0入0汤圆

发表于 2011-11-3 13:46:07 | 显示全部楼层
回复【13楼】lucya
-----------------------------------------------------------------------

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

出0入0汤圆

 楼主| 发表于 2011-11-5 19:13:04 | 显示全部楼层
回复【15楼】delta8921
-----------------------------------------------------------------------

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

出0入0汤圆

发表于 2011-11-28 10:29:20 | 显示全部楼层
回复【16楼】lucya
回复【15楼】delta8921  
-----------------------------------------------------------------------
我的问题是delay50ms与50us写反了,就是说凡是用50us的地方,实际上我用了50ms,当然慢死。
没说是觉得自己笨死了。
-----------------------------------------------------------------------

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

出0入0汤圆

发表于 2011-11-28 10:45:48 | 显示全部楼层
。。。。

出0入0汤圆

发表于 2011-11-28 11:01:10 | 显示全部楼层
delay50ms与50us写反了~~~~~~~~~·我就说不可能这么慢啊

出0入0汤圆

发表于 2011-11-28 11:11:12 | 显示全部楼层
我对这个是很不清楚的!!!!!!!!!

出0入0汤圆

发表于 2015-7-11 09:45:08 | 显示全部楼层
我用stm32控制st7920,gdram清屏确实非常慢,我的要2~3S,已经是延时最少的,目前貌似没找到更有效的方法
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-24 00:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表