MSP430始终怎么设置?

 我来答
百度网友f6f87e3
2010-09-12 · TA获得超过302个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:157万
展开全部
ACLK 辅助时钟 只由LFXT1CLK时钟源提供 有低频(默认) 和高频两种工作模式
常用的为32768Hz

MCLK 主系统时钟 可由XT2CLK、LFXT1CLK、DCOCLK提供时钟源,默认为DCOCLK提供。常用为8MHz

SMCLK 辅助系统时钟 可由DCOCLK和XT2CLK提供时钟源,默认为DCOCLK。

LFXT1:可接高速和低速晶振,在低速模式下,它可以外接32k的晶振而不需要负载电容,在单片机内部已经集成了几个电容供选择。同时,通过寄存器进行配置,它还可以接内部的VLOCLK,这个晶振是一个12k的低速晶振。高速模式下它可以接0.4~16M的晶振。通常将LFXT1配置成一个32k的振荡源,为ACLK提供低速的时钟信号。

XT2:高速振荡器,它可以接一个0.4~16M的晶振,它相当于高速模式下的LFXT1。通常将它配置成一个高速的振荡源,为MCLK何SMCLK提供高速时钟信号。

DCO:内部数字控制振荡器,它的频率可以通过DCOCLK进行配置。在系统PUC之后,DCOx=7,MODx=3.

在系统PUC之后,SMCLK与MCLK都以DCO作为时钟源,震荡频率在800KHz左右,ACLK以LFXT1作为时钟源,工作在LF模式下内部6pF的负载电容。

主要由两个寄存器控制时钟:基本时钟系统控制寄存器:BCSCTL1,BCSCTL2,DCOCLK

BCSCTL1: 控制XT2的开启和关闭以及LFXT1的工作模式 默认XT2关闭,LFXT1的工作模式为低频。还控制ACLK的分频比 默认为/1。

BCSCTL2: 控制MCLK和SMCLK的时钟源的选择以及它们的分频比。

OFIFG是振荡器标失效标志位,当用外部晶振时,如果外部晶振起震了,那OFIFG就会变为0,默认是1

寄存器IFG1的OFIFG位在时钟的应用步骤:
(1) 复位Oscoff,即打开要打开的晶体振荡器。
(2) 清除OFIFG
(3) 延时等待时间大于50us
(4) 再次检查OFIFG,如果仍然置位则重复2,3步骤,直到OFIFG==0

例子

#include<msp430x14x.h>
#define unsigned char uint;
main()
{
uint i=0;

WDTCTL=WDTPW+WDTHOLD ; //关闭看门狗

BCSCTL1 &=~XT2OFF ; //启动XT2,XT2上电后默认是关闭的

do
{
IFG1&=~OFIFG ; \\清除震荡器失效标志
for(i=0;i<0xff;i++); \\延时,待稳定

}

while((IFG1&=OFIFG )!=0) \\检查震荡器失效标志

BCSCTL2 |= SELM1; //使MCLK =XT2

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式