LED屏显示不稳定是怎么回事?
比如说显示一行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;
}
} 扯~~~你行扫描有问题,这代码没问题 1. 检查硬件,如带的过长,可能会出现这样的现象,如果板子画的不好,也会出现这样的问题。
2. 595的锁存时序没问题吧? wuyiduan 发表于 2013-4-21 22:28 static/image/common/back.gif
1. 检查硬件,如带的过长,可能会出现这样的现象,如果板子画的不好,也会出现这样的问题。
2. 595的锁存时 ...
595时序应当是这样的吧?
首先STB拉低,然后发送数据,发送时,把数据放到R1 R2(屏是08口)上,然后给一个SCK,等一行全部发完了,STB拉高OE拉低使能让这一行亮,对不? 时序是这样的
我之前遇到这样的问题是因为板子的问题,走线不好,超过320就出现问题了。后来在信号线上加电容解决的。
页:
[1]