就只是将12Mhz晶振换成24Mhz晶振STC单片机运算速度会快吗?

我就是用STC89C52单片机处理48个数码管,用动态扫描,用12Mhz晶振扫描太慢,数码管出现闪烁,想改成24Mhz晶振,就是换个晶振就可以提高单片机扫描速度了吗?数码管不再闪烁?或要从单片机(内部地址)指令改下什么或从源代码写什么指令?

如果没有定时或串口之类,可以直接换晶振,如果有换后要改参数才能正常工作,仅是动态扫描是可以换的,晶体提高一倍,处理速度提高了一倍。
另外,用12兆处理48颗应该没问题的,可能是程序中哪些地方不合理耗时太大了,应先优化程序。追问

因为48个数码管大部分都是显示不同数字的!所以程序里面有比较多的判断,我只用三个I/0去驱动

追答

我没明白三个io怎么驱动?实际上人眼在大于三十赫时就基本分辩不出闪烁了,程序中的判断可以釆用先刷新后判断,或者刷新用定时器控制,运算在空闲时执行,另外还有一种长留影的显示,刷新慢点都不怕

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-10
要想不出现闪烁,刷新率就得提上去,电脑屏幕的刷新频率在 60Hz以上,LZ可参考。
如采用60Hz刷新率,则周期T=1/16Hz=16.7ms,48个数码管为一周期,每个数码管点亮时间为16.7ms/48=347us,按这个时间计算就不会出现闪烁现象。
不过,48个数码管,采用动态扫描,数码管亮度可能严重不足。
第2个回答  推荐于2016-02-26
48个数码管,用动态扫描,
如果是一个、一个的发光,各个数码管,轮流显示一遍,时间太长,频率就会太低,闪烁明显。
况且,每个数码管发光的时间,比例太小了,亮度不足。
提高电流,可以亮一些,但是也会受到引脚驱动能力的限制。

一般来说,超过 10 几位数码管,动态显示,就有些困难。

修改程序,无济于事,应该改进显示电路。本回答被提问者和网友采纳
第3个回答  2013-06-10

    优化程序。

    提高晶振。换到24M可行。注意芯片支不支持这么高的晶振。一般没什么问题。如果跑飞了之类的,再换稍低一些的。22.1184M

    使用驱动芯片直接驱动数码管。单片机不负责刷新工作了。