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

简介:

与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作为主时钟,时钟模块初始化程序如下:


  1. WDTCTL = WDTPW + WDTHOLD;                 //关闭看门狗  
  2.     /*------选择系统主时钟为8MHz-------*/  
  3.     BCSCTL1 &= ~XT2OFF;                       // 打开XT2高频晶体振荡器  
  4.     do  
  5.     {  
  6.         IFG1 &= ~OFIFG;                       //清除晶振失败标志  
  7.         for (i = 0xFF; i > 0; i--);           // 等待8MHz晶体起振  
  8.     }  
  9.     while ((IFG1 & OFIFG));                   // 晶振失效标志仍然存在?  
  10.     BCSCTL2 |= SELM_2 + SELS;                 //主时钟和从时钟都选择高频晶振  
…………………………………………………….

 

注意: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://www.cnblogs.com/emouse/archive/2010/08/05/2198212.html,如需转载请自行联系原作者

相关文章
|
10月前
|
Windows
MSP430F5529学习笔记(6)——导入MSP430Ware,查看例程
MSP430F5529学习笔记(6)——导入MSP430Ware,查看例程
450 0
|
10月前
MSP430F5529——中断理解
MSP430F5529——中断理解
82 0
|
10月前
|
存储 芯片
MSP430F5529库函数——模数转换模块(ADC12)软件触发
MSP430F5529库函数——模数转换模块(ADC12)软件触发
159 0
MSP430-中断的使用
MSP430-中断的使用
95 0
MSP430-中断的使用
MSP430-定时器的寄存器介绍以及测试应用
MSP430-定时器的寄存器介绍以及测试应用
119 0
MSP430-定时器的寄存器介绍以及测试应用
MSP430-时钟系统和GPIO
MSP430-时钟系统和GPIO
188 0
MSP430-时钟系统和GPIO
msp430 I/O端口中断实验
单片机的P1.0引脚连接一个LED灯, P1.1引脚连接一个开关。要求 编写程序,利用中断方法检测P1.1引脚处的开关是否被按下。每按一下开关,P1.0连接的LED 亮灭状态就变换一次。
109 0
msp430 I/O端口中断实验
MSP430-ADC配置寄存器使用
MSP430-ADC配置寄存器使用
64 0
MSP430-ADC配置寄存器使用
MSP430-定时器的使用(PWM)
MSP430-定时器的使用(PWM)
67 0
MSP430-定时器的使用(PWM)