范文无忧网学习方法学习技巧

最近学习MSP430单片机用16M的晶体振荡器怎么产生精准的8M时钟

02月02日 编辑 fanwen51.com

据我所知:

一个时钟周期=MCLK 晶振的倒数。如果MCLK是8M,则一个时钟周期为1/8us;

一个机器周期 =一个时钟周期,即430每个动作都能完成一个基本操作;

一个指令周期 = 1~6个机器周期,具体根据具体指令而定。

msp430的平均指令周期为差不多为3个时钟周期。说这些主要也就是告诉你像楼上那样用while语句或者类似的语句是无法实现8M时钟信号的,更谈不上精准。

注意一点,MSP430F1系列的最高外接晶振好像是450K~8M,2系列以后才提高到16M或者更高。下面说正题:

1,首先你要知道MCLK,SMCLK,ACLK的设置。也就是设置主系统时钟,子系统时钟和辅助系统时钟。如果会,那么接着看,如果不会,那么就先学会了。

2,16MHz的晶振接在XT2 上,启动XT2,设置SMCLK的时钟源选择XT2(即选择16MHz的晶振),同时2分频(得到8MHz的频率)。即SMCLK的频率是8MHz。至于MCLK,ACLK,你随意。

3,找到你所用型号的MSP430芯片SMCLK的输出引脚,设置该引脚为功能引脚输出。这样就可以输出SMCLK了,也就是8MHZ的时钟信号,可以供外围电路使用。

推荐阅读
图文推荐
栏目列表