MSP430F149;一、基本时钟

2019-10-25来源: eefocus关键字:MSP430F149  基本时钟

TI官方的提供的代码

/* --COPYRIGHT--,BSD_EX

 * Copyright (c) 2012, Texas Instruments Incorporated

 * All rights reserved.

 *

 * Redistribution and use in source and binary forms, with or without

 * modification, are permitted provided that the following conditions

 * are met:

 *

 * *  Redistributions of source code must retain the above copyright

 *    notice, this list of conditions and the following disclaimer.

 *

 * *  Redistributions in binary form must reproduce the above copyright

 *    notice, this list of conditions and the following disclaimer in the

 *    documentation and/or other materials provided with the distribution.

 *

 * *  Neither the name of Texas Instruments Incorporated nor the names of

 *    its contributors may be used to endorse or promote products derived

 *    from this software without specific prior written permission.

 *

 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,

 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR

 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR

 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,

 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;

 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,

 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR

 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,

 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 *

 *******************************************************************************

 * 

 *                       MSP430 CODE EXAMPLE DISCLAIMER

 *

 * MSP430 code examples are self-contained low-level programs that typically

 * demonstrate a single peripheral function or device feature in a highly

 * concise manner. For this the code may rely on the device's power-on default

 * register values and settings such as the clock configuration and care must

 * be taken when combining code from several examples to avoid potential side

 * effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware

 * for an API functional library-approach to peripheral configuration.

 *

 * --/COPYRIGHT--*/

//******************************************************************************

//  MSP-FET430P140 Demo - Basic Clock, Output Buffered SMCLK, ACLK and MCLK

//

//  Description: Output buffered MCLK, SMCLK and ACLK.

//  ACLK = LFXT1 = 32768, MCLK = DCO Max, SMCLK = XT2

//  //* XTAL's REQUIRED - NOT INSTALLED ON FET *//

//  //* Min Vcc required varies with MCLK frequency - refer to datasheet *//

//

//                MSP430F149

//            -----------------

//        /||              XIN|-

//         | |                 | 32k

//         --|RST          XOUT|-

//           |                 |

//           |            XT2IN|-

//           |                 | XTAL (455k - 8Mhz)

//           |RST        XT2OUT|-

//           |                 |

//           |             P5.4|-->MCLK = DCO Max

//           |             P5.5|-->SMCLK = XT2

//           |             P5.6|-->ACLK = 32kHz

//

//  M. Buccini

//  Texas Instruments Inc.

//  Feb 2005

//  Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.21A

//******************************************************************************


#include


int main(void)

{

  WDTCTL = WDTPW +WDTHOLD;                  // Stop Watchdog Timer

  DCOCTL = DCO0 + DCO1 + DCO2;              // Max DCO

  BCSCTL1 = RSEL0 + RSEL1 + RSEL2;          // XT2on, max RSEL

  BCSCTL2 |= SELS;                          // SMCLK = XT2

  P5DIR |= 0x70;                            // P5.6,5,4 outputs

  P5SEL |= 0x70;                            // P5.6,5,5 options


  while(1)

  {

  }

}


简单说明

这里用到了

DCOCTL ;BCSCTL1;BCSCTL2 ;//寄存器

并通过P5.6,5,4 引脚的第二功能输出对应时钟频率。

有兴趣的可以直接拷入代码试试,用示波器来看对应的时钟频率;


时钟说明

由下图可以知道,ACLK的时钟只能是有LFXT1CLK提供;

在这里插入图片描述

MCLK由XT2CLK或者DCOCLK或者LFXT1CLK提供;主要设置SELMx;

SMCLK由XT2CLK或者DCOCLK提供;主要设置SELS;

在这里插入图片描述

寄存器说明

配置好时钟主要看懂以下5个寄存器就好,算是比较容易了,刚开始比较麻烦,后来看了带锁频器的F5438A有9个寄存器来控制时钟系统,突然觉得这个还是可以接受的,哭脸一个.

在这里插入图片描述

上面的注意有一个复位是用POR不是PUC;


DCOCTL是调制DCOCLK时钟源的频率的(所以说,这个是个可调频率的振荡器,不是市面上卖的那种,是多少就是多少那种);对定时要求不是特别严格的,可以直接用默认的就好;

DCOx主调

MODx微调

在这里插入图片描述

1&2就是开始做选择了,时钟的分频呀啥啥啥的,哎,其实还好,比5.1稍稍麻烦一点点而已

在这里插入图片描述
在这里插入图片描述

两个中断相关寄存器。中断使能位和中断标志位。

两个寄存器目前用到了这两位,就先写出这两位,其他位其实是有东西的

在这里插入图片描述

关键字:MSP430F149  基本时钟 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic478332.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MSP430x2xx的时钟配置
下一篇:MSP430设置时钟

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430G2553与MSP430F5336系列单片机总结[4]——比较器B的使用
参考电压稳定  __bis_SR_register(LPM4_bits); // 进入LPM4}4.比较器B输入通道CB0接外部模拟输入信号,并且引至比较器+输入端,内部参考电压发生器利用提醒电阻电路产生#include /* *比较器B输入通道CB0接外部模拟输入信号,并且引至比较器+输入端,内部参考电压发生器利用提醒电阻电路产生 *Vcc*3/4和Vcc/4的参考电压,通过CBOUT输出进行控制引至比较器-输入端,最终当CB0输入模拟信号电压高于Vcc*3/4时,CBOUT输出高电平,当CB0输入模拟信号低于Vcc/4时,CBOUT输出低电平 *该程序在MSP430F5336当中跑
发表于 2019-11-06
MSP430F5529 时钟 25MHz 设置方法
MSP430F5529的launchpad是 TI送的比较多的一款开发套件,至少我们实验室就是人手一块,很多人都嫌他慢,确实相比较于STM32F103(72MHz) 和STM32F407(168MHz)的速度而言  默认状态下主频只有1MHz的 MSP430F5529就是个弟弟,而且处理位宽也是只有16位,,, 还不支持位带操作  ,但是就超低功耗这一点就足以让他在单片机界立足 ,废话少说,来正题。这次跟大家分享的是标题所说的  MSP430F5529的升频方案。要升频,首先我们得能‘看见’系统的频率,TI的工程师们充分考虑到了这个问题,他们有得引脚可以直接输出时钟信号!!!在芯片datesheet中
发表于 2019-10-29
MSP430F5529 时钟 25MHz 设置方法
win10下使用Energia开发MSP430F5529LP 基本流程及遇到的问题
energia.nu上下载energia安装驱动,部分电脑可能要禁用数字签名,常规操作不多说,官网上也有禁用数字签名的方法。都装好后打开energia,页面几乎和arduino一样,就是红得晃眼睛。什么东西都不写,先编译一下,就报错 大概意思是一个文件中的浮点数常量超出double范围 从来没见过这种错误,检查了一下自己安装的64位也没啥问题,到处找方法,论坛贴吧资料都很少,最后看到energia.exe附近有个arduino-builder.exe点击运行一下,再回去编译,就ok了,blink烧写进去也完全正常。后来发现还是有点问题,直接把报错的那个文件删除就好,不会有任何问题,亲测。当然最好留个备份,后面有关于这个函数的问题了再
发表于 2019-10-28
win10下使用Energia开发MSP430F5529LP 基本流程及遇到的问题
MSP430F149学习笔记——时钟
由于近期的需要,开始学习TI的MSP430 MCU。脑子不好使记不下来,只能辛苦一一敲在这里,便于大脑短路时随时查阅。首先学习了F149的时钟系统。F149拥有一个名为DCOCLK的内部数控振荡器,可外接两个晶振,通常一个晶振提供32768Hz实时时钟(LFXT1CLK),另一个晶振提供最大8MHz的系统主时钟(XT2CLK)。以上3个时钟源可以产生三个时钟信号:ACLK:辅助时钟。可由LFXT1CLK经1/2/4/8分频得到,可软件配置作为各种外设提供时钟信号。MCLK:主时钟。可由DCOCLK/LFXT1CLK/XT2CLK经1/2/4/8分频得到,作为CPU和系统时钟。SMCLK:副时钟。可由DCOCLK/LFXT1CLK
发表于 2019-10-25
基于MSP430F5529的μc/os嵌入式实时操作系统移植
()    //OS启动时调用,加载用户最高优先级的任务 OSCtxSw()       //任务级调度 OSIntCtxSw()      //中断级调度 OSTickISR()       //时钟中断响应,将检测到延时结束的任务加入就绪队列,    .cdecls C, LIST, "msp430.h";用户钩子,对应os_cpu_c.c中的HOOK函数    .ref     OSIntExit    .ref     OSIntNesting 
发表于 2019-10-25
STM8L051F3基础功能:内部时钟;TIM2定时器;串口及printf
STM8L051调试笔记之基础功能:系统时钟、串口、定时器都是基础而且必须的功能,这里放在一起统一记录,之所以用TIM2定时器,是因为想实现STM32的滴答定时器功能这些基础功能没什么好理解的,就直接贴代码了main.c:main.c:  void main(void)  {    enableInterrupts();    Sysclk_Init();    LED_Init();    Uart1_Init();          printf("
发表于 2019-12-14
STM8L051F3基础功能:内部时钟;TIM2定时器;串口及printf
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved