msp430g2553 内部VLO配置与使用

2025-10-03 01:05:07

1、作为演示,借助于Launchpad中LED2来显示观察!电路图如下所示,对应单片机引脚为P1.6,当P1.6输出高电平时,LED2会发光;当P1.6输出低电平时,LED2会熄灭。

msp430g2553 内部VLO配置与使用

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

msp430g2553 内部VLO配置与使用

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);

  }

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢