单片机或ARM外部晶振最大值由什么因素决定的?比如说Freescale Kinetis Cortex-M0+外部晶振貌似只有8M

这是为什么?为什么不能使用12M的外部晶振?
2024-12-23 15:10:16
推荐回答(2个)
回答1:

单片机或ARM外接晶振频率直接影响到单片机的工作频率,先拿51单片机说一般标准8051比如AT89C51最高可以到24MHZ,低的有12MHZ,但是如果用51单片机做串口通信必须要用到特殊的频率以适应波特率,如11.0592MHZ,22.1184这样的,但工作频率一般不能超过其最大工作频率。
而ARM cortexM0不知道我知道和他几乎一个架构的M3 STM32芯片,他采用8MHZ内部做9倍频最终使工作主频达到72MHZ,而且他的内部比如USB,RS232等都是以72MHZ的整倍数计算的,不过如果你改了晶振后如果倍频数可以达到的话比如12MHZ的晶振你可以接上后把倍频设为6倍频还是72MHZ全速运行,当然如果你不要求这么高的速度,可以降低,比如用6mhz还是9倍频但只有54MHZ的主频了。。但是相关的延时等参数都要跟着修改了,包括51也是一样的,51普通的一般常用12MHZ的因为这样方便计算他的指令周期

回答2:

内部设定了倍频数,8M晶振正好可以倍频到设计值,但是12M应该也可以,就是到时候计算参数起来就不好计算了。比如51你用12M晶振,一个时钟周期是1us,但是你换成13M的就不好计算定时器波特率了。