比如说显示一行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;
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2. 595的锁存时序没问题吧?
595时序应当是这样的吧?
首先STB拉低,然后发送数据,发送时,把数据放到R1 R2(屏是08口)上,然后给一个SCK,等一行全部发完了,STB拉高OE拉低使能让这一行亮,对不?
我之前遇到这样的问题是因为板子的问题,走线不好,超过320就出现问题了。后来在信号线上加电容解决的。
一周热门 更多>