MSP430F5529晶振配置

本文详细介绍了MSP430F5529单片机的UCS(通用时钟系统)配置,包括默认状态、时钟源切换以及DCO模块的工作原理。通过三个实验演示了如何将MCLK和SMCLK配置为REFOCLK、VLOCLK、XT1CLK和XT2CLK,并解析了DCOCLK的计算公式和频率调节。
摘要由CSDN通过智能技术生成

MSP430(F5529)相比MSP430(F149)来讲,功能更加强大。

UCS简介
MSP430F5XX/MSP430F6XX系列器件的UCS包含有五种时钟源,依次是:XT1CLK、VLOCLK、REFOCLK、DCOCLK和XT2CLK。这五种时钟的详细介绍请参考该系列芯片的指导手册,其中XT1CLK、VLOCLK、REFOCLK和XT2CLK跟MSP430F1XX系列没有太大区别,学习配置起来也比较简单。

UCS上电默认状态

PUC后,UCS模块的默认状态如下:

  1. XT1处于LF模式作为XT1CLK时钟源。ACLK选通为XT1CLK。  
  2. MCLK选通为DCOCLKDIV  
  3. SMCLK选通为DCOCLKDIV  
  4. FLL使能,且将XT1CLK作为FLL参考时钟。  
  5. XIN和XOUT脚设置为通用IO,XIN和XOUT配置为XT1功能前,XT1保持禁用。  
  6. 如果可用的话,XT2IN和XT2OUT被设置为通用IO且保持禁止状态。  

UCS时钟源切换

由于REFOCLK、VLOCLK、DCOCLK(这里暂时这么认为)默认状态下是可用的,所以,切换的时候只需要通过UCSCTL4来配置ACLK、SMCLK和MCLK的时钟源即可,而XT1CLK和XT2CLK需要根据硬件的具体配置情况确定,所以,这两者的配置比起前三者来讲,就有些不同了。下面,我们做三个实验:

(1)将MCLK和SMCLK配置REFOCLK、VLOCLK
REFOCLK和VLOCLK是芯片默认提供的,只要芯片正常工作,这两个时钟就会正常工作,因此,该时钟配置非常简单,只需要修改UCSCTL4,将SELS和SELM配置为对应的选项VLOCLK或者REFOCLK即可,具体代码如下:

#include <msp430f5529.h>

void main(void) {

  WDTCTL = WDTPW+WDTHOLD;

  P1SEL |= BIT0;

  P1DIR |= BIT0;//测量ACLK用

  P2SEL |= BIT2;

  P2DIR |= BIT2;//测量SMCLK用

  P7SEL |= BIT7;

  P7DIR |= BIT7;//测量MCLK用

  //UCSCTL4 = UCSCTL4&(~(SELS_7|SELM_7))|SELS_1|SELM_1; //将SMCLK和MCLK配置为VLOCLK

  UCSCTL4 = UCSCTL4&(~(SELS_7|SELM_7))|SELS_2|SELM_2; //将SMCLK和MCLK配置为REFOCLK

  while(1);

}

上面的代码就实现了将SMCLK和MCLK切换为VLOCLK和REFOCLK,ACLK的操作也是同样的,不作过多解释。
(2)将MCLK和SMCLK配置XT1CLK

XT1CLK的配置要分为以下几步:

  1. 配置IO口5.4和5.5为XT1功能。  
  2. 配置XCAP为XCAP_3,即12PF的电容。  
  3. 清除XT1OFF标志位
  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MSp430f5529配置可以通过以下步骤完成: 1. 首先,需要在代码中包含MSP430F5529的头文件,例如#include <msp430f5529.h>。\[1\] 2. 接下来,需要配置所需的时钟源。可以使用UCSCTL4寄存器来配置SMCLK和MCLK的时钟源。例如,可以将时钟源配置为XT2,使用UCSCTL4 &= ~(SELS_7|SELM_7) | SELS_5|SELM_5。\[1\] 3. 然后,需要配置所需的IO引脚。可以使用P1SEL、P2SEL、P7SEL和P5SEL寄存器来配置相应的引脚功能。例如,可以将引脚配置为ACLK、SMCLK和MCLK的测量引脚。\[1\] 4. 在配置XT1时钟源时,需要设置XT1的电容和使能XT1。可以使用UCSCTL6寄存器来配置电容和使能XT1。例如,可以将电容配置为12pF,使用UCSCTL6 |= XCAP_3;使能XT1,使用UCSCTL6 &= ~XT1OFF。\[3\] 5. 最后,需要清除时钟错误标志位,并等待时钟稳定。可以使用SFRIFG1寄存器来清除时钟错误标志位,例如SFRIFG1 &= ~OFIFG。然后,可以使用while循环来等待时钟稳定。\[1\]\[3\] 综上所述,以上是配置MSp430f5529的一些基本步骤。具体的配置代码可以根据实际需求进行修改和扩展。 #### 引用[.reference_title] - *1* *3* [MSP430F5529晶振配置](https://blog.csdn.net/wzx104104104/article/details/109105687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [MSP430F5529基于CCS库函数开发——软件安装与库函数配置](https://blog.csdn.net/weixin_44098974/article/details/125686172)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值