msp430g2553 内部VLO配置与使用
1、作为演示,借助于Launchpad中LED2来显示观察!电路图如下所示,对应单片机引脚为P1.6,当P1.6输出高电平时,LED2会发光;当P1.6输出低电平时,LED2会熄灭。
2、查阅手册,可以知道MSP430G2553单片机上电复位默认开启看门狗,由于学习的时候并不需要看门狗,所以需要关闭,如下所示:
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
3、为了便于观察LED2灯变化,需要配置单片机引脚P1.6,配置为输出模式,并初始化为关闭LED2状态(低电平),如下所示:
P1DIR |= BIT6; // P1.6 as output pin
P1OUT &= ~BIT6; // LED2 off
4、需要配置低速时钟源为VLO,通过基础时钟控制器3来设定低速时钟源为VLO,如下所示:
BCSCTL3 |= LFXT1S_2; //VLO Clock select
设定好时钟源之后,需要清除中断标志位OFIFG,如下所示:
IFG1 &= ~OFIFG; //Clear oscillator fault flag
5、设定好MCLK为VLO之后,由于不需要DCO数字控制振荡器,所以需要通过置位SCG0/SCG1来关闭DCO模块,如下所示:
__bis_SR_register(SCG1 + SCG0); // Turn off DCO dc generator
6、设定MCLK时钟源为VLO并且8分频,如下所示,MCLK为VLO时钟8分频提供给CPU:
BCSCTL2 |= SELM_3 + DIVM_3; // LFXT1CLK or VLOCLK, /8 divider
7、最后通过LED2的亮灭来表示CPU执行速度快慢:
while (1)
{
P1OUT |= BIT6; //LED2 on
__delay_cycles(100);
P1OUT &= ~BIT6; //LED2 off
__delay_cycles(5000);
}