zoukankan      html  css  js  c++  java
  • 2012TI杯竞赛学习时钟系统篇

    因为参加了暑假的TI杯电子设计大赛,所以学习MSP430系列单片机,截止目前学习已有十几天,本想等比赛结束再做总结,后与人交流后发现,及时写下学习心得,与他人进行交流,更有益于今后学习。

    430不同于其他单片机,其5种低功耗模式,构成了他的独特性,低功耗模式得益于他的时钟系统,遂首先谈谈时钟系统的学习心得(本人用的是430F149核心板

    1.    msp430f149总共有三个时钟源:

    a.DCO(<5mhz)     b.LFXT1(32678hz)      c.XT2(8mhz)

    2.总共有三个时钟信号

    A.ACLK, 辅助时钟。由LFXT1  1/2/4/8分频得到,用于外围低速设备,如串口通信。

    B.SMCLK 子系统时钟 由XT2,DCO 1/2/4/8分频得到。默认是DCO提供。用于外围高速设备,如ADC,定时器。
    C.MCLK  主系统时钟,三个时钟源均能提供,默认是DCO提供。

    那么SMCLK,MCLK,的时钟源如何选择呢?主要就是通过以下两个寄存器进行设置。

    寄存器BCSCTL1

    BIT7

    BIT6

    BIT5

    BIT4

    BIT3

    BI2

    BIT1

    BIT0

    XT0FF

    XTS

    DIVA.1

    DIVA.0

    XT5V

    RSEL.2

    RSEL.1

    RSEL.0

    XTOFF :控制XT2振荡器,0开启。

    XTS:LFXT1控制位,0是低频方式。

    DIV1.1-DIV.0设置ACLK分频系数。

    后面几位是调节内部DCO频率的。

    寄存器BCSCTL2

    BIT7

    BIT6

    BIT5

    BIT4

    BIT3

    BI2

    BIT1

    BIT0

    SELM.1

    SELM.0

    DICM.1

    DIVM.0

    SELS

    DIVS.1

    DIVS.0

    DCOR

    BIT7-BIT6:选择MCLK的时钟源

    00 -01.DCO

    10   XT2

    11   LFXT1

    BIT5-BIT4: MCLK分频系数

    BIT3:选择SMCLK时钟源 ,置1时为XT2

    BIT2-BIT1:SMCLK分频系数

    BIT0:  选择DCO电阻为内部或外部(一般用不到)

    Msp430系列单片机低功耗是其典型的特征,一般内部DCO时钟源可以满足CPU工作,LFXT1亦可让CPU工作,需要CPU高速运转时,再设置XT2为时钟源。

    eg1.MCLK=XT2.   SMCLK=XT2

    #include<msp430x14x.h>

    void main()

    {

    unsigned char i;

    WDTCTL=WDTPW+WDTHOLD;//关狗

    P5DIR|=0XFF;//P5.4MCLK. P5.5 SMCLK ,P5.6ACLK

    P5SEL |=BIT4+BIT5+BIT6;

    BCSCTL1&=~XT2OFF;

    P2DIR|=0XFF;

    P2OUT|=0XFF;

    do

    {

       IFG1&=~OFIFG;/// IFG1&=~0FIFG ;//清除振荡失效标志

         for(i=0xff;i>0;i--);

    }

    while((IFG1&OFIFG)!=0);

    P2OUT&=~BIT4;

    BCSCTL2|=SELM1+SELS;

    P2OUT&=~0XFF;

    for(; ; );

    }

    用示波器测量发现:MCLK  8MHZ

    SMCLK 8MHZ

    ACLK   32678H

    又测量了内部DCO,差不多在800khz左右。



  • 相关阅读:
    《HTTP权威指南》之HTTP连接管理及对TCP性能的考虑
    TCP/ip
    java scoket http TCP udp
    java ==和equals区别
    Java 流
    android ViewPager,ViewFlipper,ViewFlow实现左右滑动
    java反射详解
    退出清理所有Activity方法
    Android UI 使用Merge,include和 ViewStub--优化(1)
    android resources使用总结
  • 原文地址:https://www.cnblogs.com/stoneFang/p/6715348.html
Copyright © 2011-2022 走看看