利用stc89c52的单片机 产生一个1.536Mhz频率的时钟信号输出,我用的晶振是25Mhz的,请问如何实现啊?

尽可能的详细点的 ~3Q~

52单片机并不是固定的晶振频率为11.0592MHZ,这个晶振频率是你外部给的,并不是单片机自带的。实际上,单片机的晶振可以选择很多频率,从1MHZ到32MHZ的各种频率晶振都有,你到电子市场一看就知道了,呵呵。为什么很多单片机要选用11.0592MHZ呢?原因有很多,但是很重要的一个原因是,11.0592MHZ的晶振在计算最大波特率及其误差的时候,其最大波特率达到了57600,几乎能满足绝大多数应用,其他晶振都达不到这个波特率或者误差太大;同时在波特率误差方面,11.0592MHZ晶振的误差为0。
至于为什么单片机要预分频,这是因为你选择的单片机的原因。在单片机发展的早期,工艺不足,如果你给的时钟频率太高,单片机运转的频率也就越大,器件的性能不够,程序很容易跑飞,非常不稳定。因此早期的单片机系列一般都有预分频的策略,将频率降下来,增加程序执行的稳定性。当然,随着制作工艺的提高,现在新的型号的单片机已经逐渐放弃预分频策略或者将分频功能设置为可选了。

可以用单片机pwm脉冲调制,产生这样的时钟信号
参考资料:http://hi.baidu.com/dzkfw/blog/item/4a188216fd986b12c83d6d05.html 单片机宝典
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-10
stc89c52不能频率合成,所以25M产生1.536M是不好实现的。
把晶振换成24.576MHz的,程序里16分频出来就可以了。
25M换成24.576M对其它程序的速度影响不大。
第2个回答  2011-12-10
用这个单片机,用这个晶振,不可能产生1.536MHz的时钟信号。
可以大概算一下:25MHz,12分频以后指令周期是2点几MHz,按照2MHz计算,即使你的程序只是在不停的取反也最大只能产生1MHz的信号。
要想得到你需求的1.536MHz信号,只能选择1T的单片机或者选用更高频率的晶振。建议你选择1T的单片机。本回答被提问者采纳
第3个回答  2011-12-11
这个就要去算的,一般人家的程序里也会有的,不过要看人家设的值的,还有人家有的多大的晶振
第4个回答  2011-12-10
做GPS吧, 买现成的晶振, 有卖的.
相似回答