LED屏显示不稳定是怎么回事?

2020-01-30 13:42发布

比如说显示一行0xf0,按照道理来讲应当是四个灯亮四个灯灭,
但是显示的结果是五个灯亮,3个灭,或者有时候是四个灯亮四个灯灭,有时候是前半行四个灯亮四个灯灭,后半行全亮,这究竟是怎么回事?

能不能请指点下思路?最有可能问题出在什么地方?

顺便说下,关键部分发送给LED单元板的程序如下:
void serial_input(uchar dat1, uchar dat2)     
{
        uint m;
        SHCP=0;
        for(m=0;m<8;m++)
        {
                if(dat1 & 0x80)
                        DATA1=0;
                else
                        DATA1=1;
               if(dat2 & 0x80)
                        DATA2=0;
                else
                        DATA2=1;



               
                SHCP=1;
                NOP;
                NOP;
                SHCP=0;
                NOP;
                NOP;
                dat1=dat1<<1;
                dat2=dat2<<1;
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
Soul.art
1楼-- · 2020-01-30 19:09
 精彩回答 2  元偷偷看……
wuyiduan
2楼-- · 2020-01-30 22:06
1. 检查硬件,如带的过长,可能会出现这样的现象,如果板子画的不好,也会出现这样的问题。
2. 595的锁存时序没问题吧?
习学发开
3楼-- · 2020-01-31 02:24
wuyiduan 发表于 2013-4-21 22:28
1. 检查硬件,如带的过长,可能会出现这样的现象,如果板子画的不好,也会出现这样的问题。
2. 595的锁存时 ...

595时序应当是这样的吧?

首先STB拉低,然后发送数据,发送时,把数据放到R1 R2(屏是08口)上,然后给一个SCK,等一行全部发完了,STB拉高OE拉低使能让这一行亮,对不?
wuyiduan
4楼-- · 2020-01-31 06:11
时序是这样的
我之前遇到这样的问题是因为板子的问题,走线不好,超过320就出现问题了。后来在信号线上加电容解决的。

一周热门 更多>