我用89S52做74HC595控制16*32位的LED,显示字时感觉很闪?

我用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;
}

进行逐行扫描,每次送显32位,共16此循环。另加快单片机运行速度,如提高晶振频率。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-14
扫描时别一个一个扫,把两个16*16的点阵一块扫
相似回答