单片机
返回首页

MSP430时钟分析

2016-08-15 来源:eefocus

最近开始学习MSP430,在所有单片机学习中,时钟的设置无疑是最基本的一项工作! 尤其对于现在的单片机,外部有低速,高速两种晶振,内部还有PLL的内部时钟源,设置好系统工作的时钟则是工作完美开始的表现。
     我一共用了两种系列的430单片机,MSP430F149和MSP430F437,系列的不同,时钟的设置也略有不同,下面从149的时钟一步一步来说吧!
     在f149中,基础时钟是被叫做basic clock module,
     其一共有三个时钟源:
          一个LFXT1CLK,为低速/高速晶振源,通常接32.768khz,也可以接(400khz~8Mhz)
          一个为XT2CLK,外接标准高速晶振,通常是接8Mhz,也可以接(400khz~8Mhz)      
         还有一个叫DCOCLK,为内部晶振,有RC震荡回路构成。
    在430内部一共有三个时钟系统 
        一个为ACLK,通常由LFXT1CLK作为时钟源,可以通过软件控制改时钟的分频系树。     
       一个为MCLK,即Main CLK,一听就知道是主时钟单元,为系统内核提供时钟,它可以通过软件从三个时钟源选择,
       一个为SMCLK,称作辅助主时钟,也是可以由软件选择时钟源。
Basic Clock Module Registers(基础时钟寄存器)
DCO control register                         DCOCTL
Basic clock system control 1              BCSCTL1
Basic clock system control 2              BCSCTL2
SFR interrupt enable register 1           IE1
SFR interrupt flag register 1               IFG1
DCOCTL寄存器是用来配置DCOCLK的,这里暂且不提
BCSCTL1 与BCSCTL2 寄存器则显得比较重要,这两个寄存器控制了你整个系统中430的工作时钟系统。
BCSCTL1寄存器:
    7            6     5  4         3        210
XT2OFF    XTS   DIVAx    XT5V   RSELx
XT20FF: 用来控制XT2晶振的开启和关闭,置1时关闭,置0时,开启
XTS:      用来选择低速晶体的工作模式(可忽略)
DIVAx:   用来选择ACLK的分频系数
XT5V:      无用
RSELx:   选择电阻(没用过,一般置0)
BCSCTL2
7 6            5 4       3        2 1         0
SELMx    DIVMx   SELS   DIVSx    DOCR
SELMx:  选择MCLK的时钟源,
00 DCOCLK  
01 DCOCLK  
10 XT2CLK  
11 LFX1CLK
DIVMx: MCLK的分频
00 1分频
01 2分频
10 4分频
11 8分频
SELS:SMCLK的时钟源,0时为内置DCO,1时为外置高速XT2
DIVSx:SMCLK的分频,同MCLK分频
DCOR:控制频率的电阻是内部还是外部(没用过)
实例初始化程序
void Init_CLK(void)
{
   unsigned int i;
   BCSCTL1=0x00;  //XT2开启,LFXTCLK为低频模式,ACLK分频为0
  do
  {
      IFG1&=~OFIFG;
     for(i=0x20;i>0;i--);
  }
   while((IFG1&OFIFG)==OFIFG);   //当OSCFault=1 即晶振不起振则等待
   BCSCTL2=0X00;
   BCSCTL2|=SELM1;                  //MCLK 时钟为XT2,
   BCSCTL2|=SELS;                    //SMCLK时钟为XT2
}
进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章