• MSP430学习小结3MSP430基本时钟模块


    与51、AVR等单片机不同msp430的时钟信号源有LFXT1,XT2,DCO三种。

    1、LFXT1:可接高速和低速晶振,在低速模式下,它可以外接32k的晶振而不需要负载电容,这种方式较为常见主要用来为ACLK提供低速的时钟信号,以供低速外设使用。

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

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

    前面介绍了MSP430中有三个个时钟信号源,MSP430的时钟信号也有三种主时钟MCLK,子系统时钟SMCLK,辅助时钟ACLK。
    其中MCLK是用给系统使用的,SMCLK用给高速外设使用的,而ACLK主要用给低速外设使用。

    在系统PUC之后,默认SMCLK与MCLK都以DCO作为时钟源,震荡频率在1.1M左右,ACLK以LFXT1作为时钟源,工作在LF模式下内部6pF的负载电容。
    一般情况下选择XT2作为主时钟,时钟模块初始化程序如下:


    …………………………………………………….

    注意:a.最好将IFG1&=~OFIFG;放入do –while循环中,我调了好一阵程序,发现IFG1似乎置位之

      后不能自动复位。

       b.在XT2出现错误的情况下将XT2设定为MCLK SMCLK的时钟源,单片机会自动的把时钟源更换

      为DCO振荡器。当时钟信号丢失50us时,振荡器失效。如果MCLK信号来自LFXT1或者XT2,

      那么MSP430自动把MCLK的信号切换为DCO,这样可以保证程序继续运行。MSP430不对低频

      模式的LFXT1进行监测。

       b.BCSCTL2=SELM_2+SELS;语句必须放在while之后,因为当XT2没有起振之前,XT2处于错误

      阶段,因此在XT2没有起振之前将它设定为主时钟与子系统时钟后,单片机会自动的将DCO

      设定为SMCLK MCLK的时钟源。

    ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com
  • 相关阅读:
    .Net转Java自学之路—Spring框架篇二(IOC注解、AOP)
    .Net转Java自学之路—Spring框架篇一(IOC入门)
    深入浅出ES6(七):箭头函数 Arrow Functions
    深入浅出ES6(六):解构 Destructuring
    深入浅出ES6(五):不定参数和默认参数
    深入浅出ES6(四):模板字符串
    深入浅出ES6(三):生成器 Generators
    深入浅出ES6(二):迭代器和for-of循环
    深入浅出ES6(一):ES6是什么
    父子页面之间跨域通信的方法
  • 原文地址:https://www.cnblogs.com/emouse/p/2198212.html
Copyright © 2020-2023  润新知