单片机
返回首页

MSP430单片机各种寄存器总结(2)——UCS

2019-10-18 来源:eefocus

第二章 UCS寄存器

2.1 UCSCTL0

UCSCTL0

image.png

上述的两个区域并不需要设置,在配置FFL的时候直接设置成0即可,FLL配置完成后会自动被设置。


2.2 UCSCTL1

UCSCTL1

DCORSEL,DCOCLK的频率范围设置参数,通过它来设置DCOCLK的频率范围,比如:设置DCOCLK的输出频率范围为0.64~14.0MHz


如下图所示,可知设置频率为0.64~14.0MHz的DCO需要将DCORSEL的值设置为3.

DCO Frequency


UCSCTL1 = DCORSEL_3; //DCORSEL_3是宏定义,为0x0030


2.3 UCSCTL2 & UCSCTL3

2.3.1 寄存器示意图

UCSCTL2
UCSCTL3

2.3.2 锁频环FLL

上述两个是关于锁频环FLL的控制寄存器,FLL示意图如下,务必背过此图

FLL

2.3.3 FLL的计算公式

image.png

2.3.4 寄存器中各个位的解释

image.png

2.4 UCSCTL4

2.4.1 寄存器示意图

UCSCTL4

这个寄存器的作用是,为SMCLK、ACLK、MCLK选取信号源。在UCS的实验中几乎是必用的。


2.4.2 寄存器功能

image.png

2.4.3 例程

SMCLK=MCLK=DCOCLK,ACLK=XT1CLK


//注意这里的赋值用“=”,而不是“|=”,区别不讲了,重复过很多次了

UCSCTL4 = SELA__XT1CLK + SELM__DCOCLK + SELS__DCOCLK;

/*

#define SELA__XT1CLK           (0x0000)

#define SELS__DCOCLK           (0x0030)

#define SELM__DCOCLK           (0x0003)

*/


2.5 UCSCTL6

UCSCTL6

这个寄存器只需要知道两个位:

image.png

BITS FIELD Description 默认

8 XT2OFF 关闭XT2CLK 关闭

0 XT1CLK 关闭XT1CLK 关闭

注意,这里的关闭的条件是,该时钟信号没有被作为ACLK、SMCLK、MCLK、FLL参考时钟的时钟源。


2.6 UCSCTL7

UCSCTL7

振荡器故障标志位寄存器,如果想要稳定XT1CLK,需要将这个寄存器的相应区域置0(复位)。

例如下列程序:


do

{

UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); // Clear XT2,XT1,DCO fault flags

SFRIFG1 &= ~OFIFG; // Clear fault flags

}while (SFRIFG1&OFIFG); // Test oscillator fault flag


* 2.7 SFRIE1 & SFRIFG1

SFRIE1
SFRIFG1

image.png

*2.8 BAKCTL

BAKCTL


LOCKBAK:在使用XT1CLK的时候,需要先将这一位置0来解锁XT1CLK的引脚。


while(BAKCTL & LOCKBAK) // Unlock XT1 pins

    BAKCTL &= ~(LOCKBAK);

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

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

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

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

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

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

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

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

    相关电子头条文章