我用89S52做74HC595控制16*32位的LED,显示字时感觉很闪?
就16行扫描的显示,开始每一行加个延时,显示一行一行下来很慢,调试时延时慢慢减,一行一行显示会快一点,但调试到没有延时,最后整个屏还是闪得厉害,不能像外面那样广告牌上显示的字看不出闪的样子,89S52用的晶震是12MHz的,
74HC595的驱动如下,帮我看看什么问题?请有经验者多多指教。
void in595 (unsigned char Data)
{
unsigned char i;
for(i = 0; i < 8; i++)
{
SCL1 = 0;
SDA1 = Data & 0x80;
Data <<= 1;
SCL1 = 1;
}
}
/*----------------并行数据输出----------------------------*/
void out595(void)
{
SCL2 = 0;
delay11(1);
SCL2 = 1;
}