Family User's Guide  用户指南

UCS 模块最多含有 5 个时钟源:
XT1CLK:低频/高频振荡器,可以使用低频 32768HZ 晶振和外部振荡器或者通过外部输入源输入 4MHZ~32MHZ 时钟。
VLOCLK:内部低消耗,低频振荡器。典型值为 12KHZ。
REFOCLK:内部低频振荡器,典型值为 32768HZ,作为 FLL 基准源。
DCOCLK:内部数字控制振荡器(DCO)可以通过 FLL 来稳定。
XT2CLK:可选择的高频振荡器,可以使用标准晶振,振荡器或者外部时钟源输4MHZ~40MHZ。

外部:XT1CLK    XT2CLK
内部:VLOCLK    REFOCLK     DCOCLK

UCS 模块可以产生三个时钟信号供cpu和外设使用:
ACLK       辅助时钟
MCLK      主时钟
SMCLK    子系统时钟
对这张核心的图,做一些解释:
(1)内部超低功耗低频振荡器VLO

无须外部晶振,提供约10khz

(2)内部参考时钟REFO

在不要求或不允许使用外部晶振的应用中,REFO可以用作内部高精度时钟。经过内部调整,REFO的典型频率为32768Hz

(3)XT1振荡器

XT1DRIVE控制驱动力,低了省电。

XCAP调整负载电容。

XT1OFF清零,XT1无论在任何模式下都可用。

XT1BYPASS的三角形,在数字电路中是驱动门,提升驱动能力。

XT1与通用I/O端口公用引脚,应注意上电复位的默认值,以我手中的这块板为例:

 crystal mode 和 bypass mode区别

(4)XT2振荡器(参考XT1)

代码解析:

//配置时钟ACLK = SMCLK = MCLK = XT2=32768HZ
void clock(void)
{P7SEL |= BIT0 + BIT1; // 端口选择外部低频晶振XT1UCSCTL6 &= ~XT1OFF;  // 使能外部晶振UCSCTL6 |= XCAP_3;   // 设置内部负载电容do{UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG); // 清除 XT2,XT1,DCO 错误标志SFRIFG1 &= ~OFIFG;} while (SFRIFG1 & OFIFG);            // 检测振荡器错误标志UCSCTL4 |= SELA_0 + SELS_0 + SELM_0; // ACLK = SMCLK = MCLK = XT2=32768HZ
}

1.P5SEL     |= 0x0C         //把某一位变成1           0x0C=1100

注意控制寄存器以及位

不同型号可能不太一样,MSP430 的 PxSEL1, PxSEL0 说明_宝山电子工作室-CSDN博客

2.UCSCTL6   &= ~XT2OFF  //把某一位变成0

XT2OFF上电默认1,即关闭

(5)FLL锁频环(em..电路老师提过,锁频环技术)

(6) 内部模块振荡器MODOSC

可产生约4.8MHZ的MODCLK时钟,flash控制器模块,ADC_12模块等片上外设都可以使用MODCLK作为内部参考时钟

有条件/无条件启用请求

例如:flash,adc无条件启用请求


时钟失效以及安全操作

如图:部件内的检测电路

当时钟刚打开没有正常工作时,晶振故障失效标志位 XT1LFOFFG, XT1HFOFFG 或XT2OFFG 将置位,一旦被置位,即使晶振恢复到正常状态也将一直保持置位,直到手动用软件将故障失效标志位清零。清零之后,若晶振故障失效情况仍然存在,晶振故障失效标志位将自动再次被置位。

DCOFFG总的标志位

tips:断允许位重新置位,以接收新的晶振故障失效请求。注意,振荡器故障失效事件不受中断允许控制位(GIE)的控制。


 msp430内置函数总结 __bic_SR_register(),__delay_cycles(x)_u011123091的博客-CSDN博客  (内置函数)


例:

//***************************************************************************//
//                                                                           //
//                 初始化主时钟: MCLK = XT1×(FLL_FACTOR+1)                  //
//                                                                           //
//***************************************************************************//
#ifdef   INTERNAL_HF_OSC
void Init_CLK(void)
{WDTCTL     = WDTPW + WDTHOLD                            ; // 关看门狗P7SEL     |= 0x03                                       ; // 端口选择外部低频晶振XT1UCSCTL6   &=~XT1OFF                                     ; // 使能外部晶振 UCSCTL6   |= XCAP_3                                     ; // 设置内部负载电容UCSCTL3   |= SELREF_2                                   ; // DCOref = REFOUCSCTL4   |= SELA_0                                     ; // ACLK   = XT1  __bis_SR_register(SCG0)                                 ; // 关闭FLL控制回路UCSCTL0    = 0x0000                                     ; // 设置DCOx, MODxUCSCTL1    = DCORSEL_7                                  ; // 设置DCO振荡范围UCSCTL2    = FLLD__1 + FLL_FACTOR                       ; // Fdco = ( FLL_FACTOR + 1)×FLLRef = (649 + 1) * 32768 = 21.2992MHz__bic_SR_register(SCG0)                                 ; // 打开FLL控制回路                                                            __delay_cycles(1024000)                                 ; do{UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG); // 清除 XT2,XT1,DCO 错误标志                                                            SFRIFG1 &= ~OFIFG                                     ; }while(SFRIFG1&OFIFG)                                   ; // 检测振荡器错误标志
}
#endif

更多:MSP430杂谈--时钟资源UCS的配置_魔法师の屋子★↓☆-CSDN博客

MSP430单片机:时钟系统(UCS 模块)相关推荐

  1. MSP430杂谈--时钟资源UCS的配置

    MSP430(F5529)相比MSP430(F149)来讲,功能更加强大. UCS简介 MSP430F5XX/MSP430F6XX系列器件的UCS包含有五种时钟源,依次是:XT1CLK.VLOCLK. ...

  2. 基于MSP430单片机的简单门禁系统

    一.课设选题 基于MSP430单片机的门禁 二.选题介绍 门禁系统通过6位密码的键入,然后与设定密码比较,若相同,门开启(电动机转动),同时人数计数器加一.若不同,按AC键清零,重新键入密码. 三.课 ...

  3. 利用单片机最小系统外接DS12C887 在LCD1602上显示实时时钟

    我在上一篇文章中焊接了单片机最小系统板,并且成功驱动了LCD1602,我没有在最后展示LCD显示部分,就放到这篇文章在外接DS12C887的情况下和大家分享一下. 需要准备的模块如下: 1.单片机的最 ...

  4. 【单片机】辉光管时钟系列<一>--单片机最小系统

    已经有两个多月没有写文章了,这两个多月都忙着毕业的事.在业务时间也重拾了大学期间的单片机知识,准备做个辉光管时钟.现在程序和电路都已经完成了,就等着PCB板回来了.下面我将以一系列的文章来介绍辉光管时 ...

  5. 单片机课程学习的数字时钟系统模块化设计研究

    摘要:随着人们生活环境的不断改善和美化,人们希望通过在生活中得到更多的乐趣,来满足我们日益增长的精神需求.单片机课程学习的数字时钟系统模块化设计研究能够给人们的生活带来丰富多彩的滋味,低廉的造价以及控 ...

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

    作者:BerenCamlost 本文针对于MSP430单片机原理与应用课程,请在复习时使用. 参考资料: PPT MSP430F6638用户手册 实验教程 本章最新更新日期:2018.12.23 第二 ...

  7. 为什么单片机需要时钟系统,时钟信号在单片机中扮演怎样的角色?

    现在想想,我自学单片机都快一年了.我自学过8051.msp430和STM32,做一些基本的小项目,参加过2018年江苏省电子设计大赛,还获得了一等奖. 我懂,也不懂单片机.不懂就要去查资料,然后弄懂, ...

  8. 基于单片机的数字时钟系统

    设计简介: 本设计是基于单片机的数字时钟系统,主要实现以下功能: 可通过LCD1602显示时间.温度: 可通过按键切换到倒计时.秒表的界面: 可通过按键设置闹钟时间: 可通过按键语音播报时间和温度. ...

  9. 基于单片机病房呼叫系统数码管显示房号设计-基于单片机工业生产现场的光照强度控制设计-基于单片机多功能智能台灯设计-基于单片机二维码LCD显示设计-基于单片机多功能时钟闹钟万年历控制系统设计【毕设分享】

    1641基于单片机病房呼叫系统数码管显示房号设计 设计思路:此设计实现的功能通过按键模拟房号,当按键按下时会将房号编号发送到数目管上进行显示,并通过声光进行提示.包含的电路有:数码管显示电路.按键电路 ...

最新文章

  1. 5.基于STM32F103+OV7670的网络摄像头
  2. redis安装及错误排查
  3. JavaWeb实现文件上传下载功能实例解析
  4. PostgreSQL — Prepared Statement 预编译
  5. (翻译) MongoDB(7) 安装MongoDB
  6. 第四周实践项目6 循环双链表应用
  7. 文巾解题 557. 反转字符串中的单词 III
  8. 1.7 Java创建对象详解(显式创建和隐含创建)
  9. Linux后台运行打包Jar的方法
  10. 为什么说学人工智能一定要学Python?
  11. 分布式理论(七): 一致性协议之 ZAB
  12. 消除软硬件鸿沟,芯客网完美支持智能硬件在移动互联时代的爆发
  13. [JavaScript][转]offsetParent和parentElement的区别
  14. opencv-api morphologyEx
  15. 这台计算机上缺少此项目引用的 NuGet 程序包,DotNetCompilerPlatform
  16. Windows投屏android电视,Windows电脑无线投屏到电视
  17. [病毒木马] LSP劫持
  18. python实现SGD(stochastic gradient descent)算法
  19. python 儿童教程_教孩子学编程PYTHON语言版PDF_Python教程
  20. ie加载项存在残留是什么_残余IE加载项无法修复

热门文章

  1. 帆软报表——多源分片与冻结
  2. c语言测试你的性格,测试你性格中最真实的一面
  3. kkFileView安装及使用——文件预览解决方案
  4. 【iis】解决:Could not load type ‘System.ServiceModel.Activation.HttpModule‘ from assemb
  5. webpack css中字体文件路径问题
  6. spring boot入门 -- 介绍和第一个例子
  7. 能量原理与变分法笔记03:证明两点之间直线最短
  8. 海尔微型计算机云悦t3G276ia,没了海尔云悦miniA 迷你主机界尽失半壁江山
  9. 黄铭钧:院长创业与酒
  10. 文献记录(part107)--Detecting Meaningful Clusters From High-Dimensional Data ...