MSP430始终怎么设置?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 04:40:23
MSP430始终怎么设置?

MSP430始终怎么设置?
MSP430始终怎么设置?

MSP430始终怎么设置?
ACLK 辅助时钟 只由LFXT1CLK时钟源提供 有低频(默认) 和高频两种工作模式
常用的为32768Hz
MCLK 主系统时钟 可由XT2CLK、LFXT1CLK、DCOCLK提供时钟源,默认为DCOCLK提供.常用为8MHz
SMCLK 辅助系统时钟 可由DCOCLK和XT2CLK提供时钟源,默认为DCOCLK.
LFXT1:可接高速和低速晶振,在低速模式下,它可以外接32k的晶振而不需要负载电容,在单片机内部已经集成了几个电容供选择.同时,通过寄存器进行配置,它还可以接内部的VLOCLK,这个晶振是一个12k的低速晶振.高速模式下它可以接0.16M的晶振.通常将LFXT1配置成一个32k的振荡源,为ACLK提供低速的时钟信号.
XT2:高速振荡器,它可以接一个0.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
#define unsigned char uint;
main()
{
uint i=0;
WDTCTL=WDTPW+WDTHOLD ; //关闭看门狗
BCSCTL1 &=~XT2OFF ; //启动XT2,XT2上电后默认是关闭的
do
{
IFG1&=~OFIFG ; \\清除震荡器失效标志
for(i=0;i