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左右。



posted @ 2012-07-29 19:23  stoneFang  阅读(150)  评论(0编辑  收藏  举报