liuyicheng 发表于 2010-4-19 22:38:58

如何消除LED点阵移动时的托影

我写了个8个16x16点阵的LED广告灯程序,不移动时显示好稳定,不过移动时有托影现在,有没大虾知道怎么解决呢?

ljy0421 发表于 2010-4-19 23:01:14

无图无真相

wowbanui 发表于 2010-4-19 23:12:16

是不是如下的情况:
比如一个竖行,左右滚动的时候好像变成粗了,像两个竖行?
如果是的话那是眼睛的视觉暂留导致的,尝试把滚动速度提高,我做的屏刷新率60HZ,每刷新一次滚动一个灯的话(即每秒滚动60个灯)效果很好,就是屏小的话感觉有点快,如果频率不一样会产生屏幕撕裂的效果(原理同电脑显卡上的“垂直同步”)。

sky_walker 发表于 2010-4-19 23:47:52

无图

zlj2008 发表于 2010-4-20 08:19:48

托影的现象需这样解决:

托影不是速度的问题,如果是速度的问题,就闪了或重影了.

如果你是按行扫描的,问题出在行与行的交替处,即上一行关闭时,下一行进入,在这当中要加一个消隐,如果你的595接了CLS信号,那么在显示下一行时,先加一个CLS信号,之后延时一下.再传送下一行,


   若没有CLS信号,可以关闭上一行,延时一下,再送下一行,经过上面处理后(如果该法不能解决,那么,当中要传送全0信号),托影的现象即可消除.

wajlh 发表于 2010-4-20 08:23:43

顶楼上,是重影问题

flywhale 发表于 2010-4-20 08:51:01

我觉得如果静止显示没问题,移动显示会有拖影,那么一定是刷新速度问题。提高一下刷新速度试试。

zlj2008 发表于 2010-4-20 08:55:29

如果是重影问题,那么就要降低速度!!如果是托影,是前一个数据和当前数据之间没有消隐所至,我在四楼回答的正解!!!

liuyicheng 发表于 2010-4-24 11:49:07

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_548862.jpg
(原文件名:网上的视频.jpg)

这是网上的视频,上一行在移动就变宽了,我自己做的也是这样,试过加快速度,也试过换行时先熄灭上一行,不知道是不是延时不够,托影一样有,如果在移动时加长熄灭时间可以没了托影,不过移动就变到有点闪动了~~~


http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_548864.jpg
(原文件名:未命名.jpg)

这张是我做的图,我把移动速度减低并加了找行熄灭托影减少了,不过还是有一点点存在~~~

kpgood 发表于 2010-4-24 18:20:36

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_548982.jpg
我的也有托影,奇怪 (原文件名:led.jpg)

我的也有,
void main(void)
{
Init();
while(1)
{
for(disrow=0;disrow<16;disrow++)
{
   EN=1;
   Send595();
   EN=0;
   RCK=0;
   RCK=0;            //锁存为高,595锁存信号
   RCK=1;
   Ctrl_port&=0xe0;
   Ctrl_port|=disrow;
   delay(400);    // 这里延时只是降低了亮度,
}
}
}

liuyicheng 发表于 2010-4-26 11:13:04

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_549308.jpg
(原文件名:未命名.jpg)

今次终于比我调到没托影了,不过发觉好难调,是亮和灭的占空比和刷新频率的问题,不知道大家又是怎么处理显示和数据的?有些人在移动前修改数据缓冲区的数值,然后直接显示,不过我发觉做几个16x16点阵的区域还可以,如果太多修改数据就会比较慢了,这样可能会影响显示刷新频率,而我就不修改显示缓冲区的数值,在显示时修改显示进度,大家又有什么其它方法呢?

wangqh1983 发表于 2010-4-27 08:55:21

回复【10楼】liuyicheng
-----------------------------------------------------------------------

老大啊,你搞的是Proteus,这个怎能和硬件效果一样呢?软件处理速度慢。如果想模拟的速度快一些,需要设置软件仿真步进、和刷新频率。如果写到硬件会出现不一样的结果。拖影问题主要处理好消隐就行,刷新频率达到不闪即可,一般在50Hz以上。

liuyicheng 发表于 2010-4-30 12:19:21

回复【11楼】wangqh1983
-----------------------------------------------------------------------

消隐的时间需要比较长吗?我每行亮3/5时间,灭2/5时间,移动时还要灭3/5+2/5=1时间,虽然调到出来,不过比例有少少改变就不行了~~~

zhuyi2576 发表于 2010-4-30 22:30:22

不懂,帮顶

lichengqun85 发表于 2012-12-15 16:30:34

是不怎么好调试 ,呵呵

lichengqun85 发表于 2012-12-15 16:31:14

搜索能力有问题,暂时我还没发现一个介绍比较详细处理拖影的帖子

lichengqun85 发表于 2012-12-15 16:32:37

我的解决办法就是喽上的人说的定时器1ms 只刷新一行, 16次中断之后 刷新完一帧之后,开始移动一次, 这样就没有拖影, 不过速度是比较快点

chengtina 发表于 2012-12-15 16:38:09

这个是不是显示时候送行跟列之间没做消隐处理吧?刷新速度来解决的话,是不是没解决根本问题???

point110 发表于 2013-1-2 18:46:22

在软件上消隐!

woiled 发表于 2013-1-2 21:48:43

wangqh1983 发表于 2010-4-27 08:55
回复【10楼】liuyicheng
-----------------------------------------------------------------------



同意!仿真不能完全替代实物

wangqh1983 发表于 2013-1-3 22:08:46

消隐简单的说就是显示下一帧时,把上一帧完全关闭!

logsoft 发表于 2013-1-5 18:24:35

595发送时要足够快,发送完成再打开oe,我用m16在1M下就没有拖影
页: [1]
查看完整版本: 如何消除LED点阵移动时的托影