单片机MSP430入门--理论③--时钟模块-DCO和BCS寄存器

单片机MSP430入门--理论③--时钟模块-DCO和BCS寄存器

 

上期大概给大家汇总介绍了,MSP430时钟模块的3个晶振和3个主要时钟信号,要知道时钟是单片机的脉搏,如果时钟没设置好,单片机将无法工作

 

本期将重点介绍下,在MSP430环境下的时钟寄存器BCSCTL1,BCSCTL2,以及他们的设置方法

1.0 DCOCTL,DCO寄存控制器

image.png

DCO0-DCO2(BIT5-7):定义了8种频率,而频率由直流发生器的不同电流来定义

MOD0-MOD4(BIT0-4):频率的微调

 

1.1 DCO的调节:

①设置BCSCTL2的DCOR的bit来选择是1为外部电阻还是0为内部电阻,以确定一个基准频率,默认为0

image.png

②通过BCSCTL1寄存器的RSELx来进行分频,确定16种时钟频率;

image.png

③通过DCOCTL寄存器中,DCOx在标称频率基础上分段粗调,选择频率;

④通过DCOCTL寄存器中,MODx的值对频率进行细调,选择DCOx与DCOx+1之间的频率;

image.png

示例:

//DCOCTL初始值为60H,即DCOCTL |= DCO1 +DCO2;

DCOCTL |= DCO0 + DCO1 +DCO2 ;//MAX DCO

//MOD0-MOD4:频率的微调一般保持默认即可

//系统默认BCSCTL1寄存器的RSELx =4

 

2.0 BCSCTL1(Basic Clock System Control 1)寄存器,地址58H,初始值84H

image.png

XT2OFF:控制XT2振荡器的启停,0为开启,1为关闭

XTS:选择LFXT1工作在低频晶体模式(XTS=0)还是高频晶体模式(XTS=1)

DIVA0-DIVA1:选择ACLK的分频系数,当DIVA0跟DIVA1分别组合成0,1,2,3时,对应的ACLK分频系数为1,2,4,8

RSELx(bit0-bit3):当DCOR=1使用外部电阻时,忽略RSEL3,当RSELx=0为最小频率,当为7时为最高

示例:

BCSCTL1 &= ~XT2OFF; //清OSCOFF/XT2

  do

  {

    IFG1 &= ~OFIFG; //清OFIFG

    OSC_Delay = 255; //设定延时时间

    while(OSC_Delay--); //延时等待约50us

  }

  while(IFG1&OFIFG); //再次检查OFIFG,直至等于0,才表示已经起振

  BCSCTL1 |= RSEL0 +RSEL1 +RSEL2; //三个位111就为7,maxRSEL

  BCSCTL1 |= DIVA_2; //对ACLK进行2分频

image.png

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老王工控笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值