历史上的今天
今天是:2025年01月19日(星期日)
2021年01月19日 | MSP430 基本时钟配置
2021-01-19 来源:eefocus
根据用户知道手册时钟来源分为3种分别是,LFXT1CLK,XT2CLK,DOC如下图
1 LFXT1CLK 低频/高频振荡器 可用于外接32768HZ的低频晶体或者450KZH~8Mhz的高频振荡晶体,可作为ACLK(辅助系统时钟)或者MCLK(主系统时钟)
2 XT2CLK 高频振荡器 外接450Khz~8MHZ高频晶振 可作为MCLK(主系统时钟)或者SMCLK(子系统时钟)
3 DCO 具有rc型特性的内部数控振荡器(DCO) (没咋深入了解,也没咋深入应用)
4 ACLK 辅助系统时钟,主要来源是LFXT1CLK,使用低频晶振, 使用DIVAX进行1/2/4/8分频 ,辅助系统时钟可作为外设模块的时钟源
5 MCLK 主系统时钟,又三种时钟来源,分别是 LFXT1CLK,XT2CLK,DOC MCLK使用SELMX选择器来确定使用哪种时钟源,经过DIVX分频器选择1/2/4/8分频,MCLK可作为外设模块的时钟源
6 SMCLK 子系统时钟,有两种时钟源,分别是XT1CLK和DOC,SMCLK使用SELS选择器来选择使用哪种时钟源,然后使用DIVSX分频器进行1/2/4/8分频作为子系统时钟,SMCLK可作为外设模块时钟源。
7 MSP430配置时钟由以下几个寄存器来实现
<1>DCOCTL(DCO控制寄存器)
<2>BCSCTL1(基本时钟状态寄存器1)
<3>BCSCTL2(基本时钟状态寄存器2)
<4>IE1(中断使能寄存器)
<5>IFG1(中断标志寄存器)

8 那么我们应该如何配置430系统始终呢?官方给了我们明确的操作步骤
经过PUC(上电复位清除)后系统时钟由DCO实现MCLK(不过大部分情况下我们使用外接晶振时钟)
MCLK可来自于XT2或XT1步骤如下
<1>打开晶体振荡器。(XT2在系统上电时默认是关闭的)
<2>清除标志位OFIFG。
<3>等待50us(系统启动需要时间)
<4>测试标志位OFIFG,重复步骤1~4直到标志位被清除。
注意:所有的操作都应基于官方操作指南
9 接下来进行代码实战吧
这里我们选择XT2外接8MHZ高频晶振作为MLCK和SMCLK
/**********渃畔***********/
/*
芯片: MSP430F169
功能: 配置系统时钟点亮LED
芯片8/9引脚外接8MHZ晶振作为时钟
led接P6.4引脚
*/
#include "msp430x14x.h"
void basic_clock(void);
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
basic_clock(); //初始化系统时钟
P6DIR |= BIT4;
while(1)
{
P6OUT |=BIT4; //LED开
for(inti=0;i<1000;i++)
P6OUT &=~BIT4; //LED关
for(inti=0;i<1000;i++)
}
}
void basic_clock(void)
{
unsigned int iq0;
BCSCTL1&=~XT2OFF; //基本定时器1 默认关闭T2CLK 开启T2CLK
do
{
IFG1&=~OFIFG; //等待开启晶振
for(iq0=0xff;iq0>0;iq0--);
}
while((IFG1&OFIFG)!=0);
BCSCTL2=0x88; //基本时钟状态寄存器2 MCLK8MHZ 1分频 SMCLK 8MHZ 1分频
}
推荐教学视频
https://www.bilibili.com/video/BV1cE411Z79d?from=search&seid=15656799615629348503
https://www.bilibili.com/video/BV1rE41167yG?from=search&seid=6968580456886645765
上一篇:MSP430 IO口配置
下一篇:MSP430 DMA程序库
史海拾趣
|
上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:1. 驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。2. 下级电路的 ...… 查看全部问答> |
|
问题一: 如下是服务器端的部分程序,accept成功后,客户端给服务器端发送两次消息,分别为\"01\",\"02\". 发现:如果把szText[]的大小改为3,则只能成功接受一次数据,改成16就能接受两次。 ...… 查看全部问答> |
|
紧急求助专家帮忙。本人大四毕业设计,做DSP的SPWM技术实现。用的是2407的芯片,要求仿真出波形图,并且还要进行算法的计算和改进,提出优化,对误差进行分析,并对死区控制进行分析。 本人现在急求 2407的SPWM C语言的程序,并且最好给张仿真的波 ...… 查看全部问答> |
|
各位硬件达人,我现在是研一,现在面临选向的问题,本科是自动化(并非电气自动化,就是传说中的“万金油”的那个自动化专业),研究生我没有报双控,报的是模式识别与智能系统(我是在研究所读研,报那个不重要,关键是自己选向)。师哥建议我搞电 ...… 查看全部问答> |
|
谁有LM3S8962的SD读写程序,发上来个研究一下我这边的stellarisware光盘里面的SD卡程序用不了,谁有个能用的,给个!谢谢… 查看全部问答> |




