时钟系统是 MSP430 单片机中最为关键的部件,通过时钟系统不仅可以切换时钟源,通过
软件随时更改 CPU 运行速度,为不同的外设产生不同频率的时钟,还可以在必要时关闭获降低
某些设备的时钟以降低功耗。MSP430 最多有三个振荡器:(1)系统默认的 DCO 内部振荡器。
(2)LFXT1 外接低频振荡器, 常见的 32768HZ, 不用外接负载电容; 也可接高频 450KHZ-8M,
需接负载电容。(3)XT2 接高频 450KHZ-8MHZ,加外接电容。 MSP430 单片机通过时钟系统的
配置产生三种时钟,分别是 MCLK(主时钟)、SMCLK(子系统时钟)、活动时钟(ACLK)。本测试
系统单片机的时钟配置为:主系统时钟 MCLK 时钟源为 DCO,子系统时钟 SMCLK 时钟源为
XT2CLK(8MHz),辅助系统时钟 ACLK 选用时钟源为 LFXT1CLK(32768Hz),配置的具体
程序如下:
void init_CLK()
{
FLL_CTL1&=~XT2OFF;
do
{
IFG1 &= ~OFIFG;
for (i=256;i>0;i--);
}
while ((IFG1 & OFIFG) != 0);
FLL_CTL1 =SELM1+SELS; //MCLK 时钟源为 DCOCLK;SMCLK 时钟源为 XT2CLK(8MHz),
return;
}
MCLK 是专为 CPU 提供的时钟,一旦关闭 MCLK,CPU 也随之停止工作。SMCLK 也称
辅助时钟,它是为单片机内部某些设备提供时钟源的,并独立于 MCLK 的,当关闭 MCLK 让
CPU 停止工作时,SMCLK 仍可以开启,从而让外设继续工作。ACLK 是 32.768kHz 晶体直接
产生的低频时钟,在单片机运行过程中一般不关闭,用于产生节拍时基,或和定时器配合间歇
唤醒 CPU。 |