第二章 UCS寄存器
2.1 UCSCTL0
上述的两个区域并不需要设置,在配置FFL的时候直接设置成0即可,FLL配置完成后会自动被设置。
2.2 UCSCTL1
DCORSEL,DCOCLK的频率范围设置参数,通过它来设置DCOCLK的频率范围,比如:设置DCOCLK的输出频率范围为0.64~14.0MHz
如下图所示,可知设置频率为0.64~14.0MHz的DCO需要将DCORSEL的值设置为3.
UCSCTL1 = DCORSEL_3; //DCORSEL_3是宏定义,为0x0030
2.3 UCSCTL2 & UCSCTL3
2.3.1 寄存器示意图
2.3.2 锁频环FLL
上述两个是关于锁频环FLL的控制寄存器,FLL示意图如下,务必背过此图
2.3.3 FLL的计算公式
2.3.4 寄存器中各个位的解释
2.4 UCSCTL4
2.4.1 寄存器示意图
这个寄存器的作用是,为SMCLK、ACLK、MCLK选取信号源。在UCS的实验中几乎是必用的。
2.4.2 寄存器功能
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
这个寄存器只需要知道两个位:
BITS FIELD Description 默认
8 XT2OFF 关闭XT2CLK 关闭
0 XT1CLK 关闭XT1CLK 关闭
注意,这里的关闭的条件是,该时钟信号没有被作为ACLK、SMCLK、MCLK、FLL参考时钟的时钟源。
2.6 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
*2.8 BAKCTL
LOCKBAK:在使用XT1CLK的时候,需要先将这一位置0来解锁XT1CLK的引脚。
while(BAKCTL & LOCKBAK) // Unlock XT1 pins
BAKCTL &= ~(LOCKBAK);
上一篇:浅谈msp430f5529入门(2)——时钟配置、例程分析
下一篇:msp430f5529时钟笔记(一)
推荐阅读最新更新时间:2024-11-18 10:24
设计资源 培训 开发板 精华推荐
- 红外通信02--ASK整形与滤波
- KSZ8873MLL-EVAL,使用 KSZ8873MLL 的评估板 - 单 3.3/2.5V 电源,集成 3 端口 10/100 管理型交换机
- LT8330ES6 48V 升压转换器的典型应用电路
- 一种用于汽车照明的 LED 高亮度 LED 驱动器
- LTC2992IDE 双路 12V 高功率监视器和一个负电压监视器的典型应用
- 手机 I/O 控制器
- AD584 引脚可编程精密电压基准的典型应用,用于输出微调
- VFD-LITE时钟
- AD5331 并行接口、单电压输出、10 位 DAC 的典型应用
- STBB2、800mA、2.5MHz、高效双模升降压DC-DC转换器可调版典型应用示意图