msp430系统时钟时钟系统是怎么分类的

时钟初始化和GPIO
本实验的目的是了解用于执行对MSP430 Value Line设备的初始化过程的步骤。在这个练习中,您将编写初始化代码,并运行该设备使用各种时钟资源。
1、写初始化代码
2、运行CPU的MCLK的来源方式:VLO 、32768晶体、DCO
3、主体程序部分
4、观察LED闪光灯速度
MSP430时钟:
1、在MSP430单片机中一共有三个或四个时钟源:
(1)LFXT1CLK,为低速/高速晶振源,通常接32.768kHz,也可以接(400kHz~16Mhz);
(2)XT2CLK,可选高频振荡器,外接标准高速晶振,通常是接8Mhz,也可以接(400kHz~16Mhz);&&&&&
(3)DCOCLK,数控振荡器,为内部晶振,由RC震荡回路构成;
(4)VLOCLK,内部低频振荡器,12kHz标准振荡器。
2、在MSP430单片机内部一共有三个时钟系统:
(1)ACLK,Auxiliary Clock,辅助时钟,通常由LFXT1CLK或VLOCLK作为时钟源,可以通过软件控制更改时钟的分频系数;
(2)MCLK,Master Clock,系统主时钟单元,为系统内核提供时钟,它可以通过软件从四个时钟源选择;
(3)SMCLK,Sub-Main Clock,系统子时钟,也是可以由软件选择时钟源。
Basic Clock Module Registers(基础时钟寄存器)
DCO control register&&&&&&&&&&&&&&&&&&&&&&&& DCOCTL
Basic clock system control 1&&&&&&&&&&&&&&&&&& BCSCTL1
Basic clock system control 2&&&&&&&&&&&&&&&&&& BCSCTL2
Basic clock system control 3&&&&&&&&&&&&&&&&&& BCSCTL3
SFR interrupt enable register 1&&&&&&&&&&&&&&&& IE1
SFR interrupt flag register 1&&&&&&&&&&&&&&&&&& IFG1
3、MSP430的时钟设置包括3个寄存器,DCOCTL、BCSCTL1、BCSCTL2、BCSCTL3
DCOCTL,DCO控制寄存器,地址为56H,初始值为60H
DCO0~DCO2: DCO Select Bit,定义了8种频率之一,而频率由注入直流发生器的电流定义。
MOD0~MOD4: Modulation Bit,频率的微调。
一般不需要DCO的场合保持默认初始值就行了。
BCSCTL1,Basic Clock System Control 1,地址为57H,初始值为84H
RSEL0~RSEL2: 选择某个内部电阻以决定标称频率.0最低,7最高。
DIVA0~DIVA1:选择ACLK的分频系数。DIVA=0,1,2,3,ACLK的分频系数分别是1,2,4,8;
XTS: 选择LFXT1工作在低频晶体模式(XTS=0)还是高频晶体模式(XTS=1)。
XT2OFF: 控制XT2振荡器的开启(XT2OFF=0)与关闭(XT2OFF=1)。
正常情况下把XT2OFF复位就可以了.
BCSCTL2,Basic Clock System Control 2,地址为58H,初始值为00H
DCOR: Enable External Resistor. 0,选择内部电阻;1,选择外部电阻
DIVS0~DIVS1: DIVS=0,1,2,3对应SMCLK的分频因子为1,2,4,8
SELS: 选择SMCLK的时钟源, 0:DCOCLK; 1:XT2CLK/LFXTCLK.
DIVM0~1: 选择MCLK的分频因子, DIVM=0,1,2,3对应分频因子为1,2,4,8.
SELM0~1: 选择MCLK的时钟源, 0,1:DCOCLK, 2:XT2CLK, 3:LFXT1CLK
我用的时候一般都把SMCLK与MCLK的时钟源选择为XT2。
1. LFXT1: 一次有效的PUC信号将使OSCOFF复位,允许LFXT1工作,如果LFXT1信号没有用作SMCLK或MCLK,可软件置OSCOFF关闭LFXT1.
2. XT2: XT2产生XT2CLK时钟信号,如果XT2CLK信号没有用作时钟MCLK和SMCLK,可以通过置XT2OFF关闭XT2,PUC信号后置XT2OFF,即XT2的关闭的。
3. DCO振荡器:振荡器失效时,DCO振荡器会自动被选做MCLK的时钟源。如果DCO信号没有用作SMCLK和MCLK时钟信号时,可置SCG0位关闭DCO直流发生器。
4. 在PUC信号后,由DCOCLK作MCLK的时钟信号,根据需要可将MCLK的时钟源另外设置为LFXT1或XT2,设置顺序如下:
(1)清OSCOFF/XT2
(2)清OFIFG
(3)延时等待至少50uS
(4)再次检查OFIFG,如果仍置位,则重复(1)-(4)步,直到OFIFG=0为止。
(5)设置BCSCTL2的相应SELM。
1、CPU运行在VLO时钟下:
这是最慢的时钟,在约12千赫兹下运行。因此,我们将通过可视化的LED闪烁的红色慢慢地在约每3秒钟率。我们可以让时钟系统默认这种状态,设置专门来操作VLO。我们将不使用任何ALCK外设时钟在此实验室工作,但你应该认识到,ACLK来自VLO时钟。
#include &msp430g2231.h&
void main(void)
WDTCTL = WDTPW + WDTHOLD;&&&&&&&&&& // 关闭看门狗定时器
P1DIR = 0x40;&&&&&&&&&&&&&&&&&&&&&&&&& // P1.6 配置输出
P1OUT = 0;&&&&&&&&&&&&&&&&&&&&&&&&&&& // 关闭LED
BCSCTL3 |= LFXT1S_2;&&&&&&&&&&&&&&&&&& // LFXT1 = VLO
IFG1 &= ~OFIFG;&&&&&&&&&&&&&&&&&&&&&& // 清除OSCFault 标志
__bis_SR_register(SCG1 + SCG0);&&&&&&&&& // 关闭 DCO
BCSCTL2 |= SELM_3 + DIVM_3;&&&&&&&&&& // MCLK = VLO/8
P1OUT = 0x40;&&&&&&&&&&&&&&&&&&&&&& // 开启LED
_delay_cycles(100);
P1OUT = 0;&&&&&&&&&&&&&&&&&&&&&&&&& // 关闭 LED
_delay_cycles(5000);
2、CPU运行在晶振(32768Hz)时钟下:
晶体频率为32768赫兹,约3倍的VLO。如果我们在前面的代码中使用晶振,指示灯应闪烁大约每秒一次。你知道为什么32768赫兹是一个标准?这是因为这个数字是2的15次方,因此很容易用简单的数字计数电路,以每秒一次获得率 &&手表和其他时间时基。认识到ACLK来自外部晶振时钟。
#include &msp430g2231.h&
void main(void)
WDTCTL = WDTPW + WDTHOLD;&&&&&&& // 关闭看门狗定时器
P1DIR = 0x41;&&&&&&&&&&&&&&&&&&&&&& // P1.0 和P1.6配置输出
P1OUT = 0x01;&&&&&&&&&&&&&&&&&&&&& // 开启P1.0
BCSCTL3 |= LFXT1S_0;&&&&&&&&&&&&&&& // LFXT1 = 32768Hz 晶振
while(IFG1 & OFIFG)
IFG1 &= ~OFIFG;&&&&&&&&&&&&&&&&&& // 清除 OSCFault 标志
_delay_cycles(100000);&&&&&&&&&&&& // 为可见的标志延时
P1OUT = 0;&&&&&&&&&&&&&&&&&&&&& // 关闭P1
__bis_SR_register(SCG1 + SCG0);&&&& // 关闭 DCO
BCSCTL2 |= SELM_3 + DIVM_3;&&&&& // MCLK = 32768/8
P1OUT = 0x40;&&&&&&&&&&&&&&&&&& // 开启 LED
_delay_cycles(100);
P1OUT = 0;&&&&&&&&&&&&&&&&&&&& / / 关闭LED
_delay_cycles(5000);
3、CPU运行在晶振(32768Hz)和DCO时钟下:
最慢的频率,我们可以运行DCO约在1MHz(这也是默认速度)。因此,我们将开始切换MCLK到DCO下。在大多数系统中,你会希望ACLK上运行的VLO或32768赫兹晶振。由于ACLK在我们目前的代码是在晶体上运行,我们会打开DCO计算。
#include &msp430g2231.h&
void main(void)
WDTCTL = WDTPW + WDTHOLD;&&&&&&&&&&& // 关闭看门狗定时器
if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)
while(1);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // If cal const erased, 挂起
BCSCTL1 = CALBC1_1MHZ;&&&&&&&&&&&&&&& // Set range
DCOCTL = CALDCO_1MHZ;&&&&&&&&&&&&&&& //设置DCO模式
P1DIR = 0x41;&&&&&&&&&&&&&&&&&&&&&&&&& // P1.0 和P1.6配置输出
P1OUT = 0x01;&&&&&&&&&&&&&&&&&&&&&&&& // P1.0 开启
BCSCTL3 |= LFXT1S_0;&&&&&&&&&&&&&&&&&& // LFXT1 = 32768Hz
while(IFG1 & OFIFG)
IFG1 &= ~OFIFG;&&&&&&&&&&&&&&&&&&&&&& // 清除OSCFault 标志
_delay_cycles(100000);&&&&&&&&&&&&&&&& // 为可见标志延时
P1OUT = 0;&&&&&&&&&&&&&&&&&&&&&&&&&& // P1.6 关闭
// __bis_SR_register(SCG1 + SCG0);&&&&&& // 关闭DCO
BCSCTL2 |= SELM_0 + DIVM_3;&&&&&&&&& // MCLK = DCO
P1OUT = 0x40;&&&&&&&&&&&&&&&&&&&&&& // P1.6 开启
_delay_cycles(100);
P1OUT = 0;&&&&&&&&&&&&&&&&&&&&&&&& / / P1.6 关闭
_delay_cycles(5000);
4、CPU运行在DCO时钟下:
最慢的频率,我们可以运行DCO约在1MHz(这也是默认速度)。因此,我们将开始切换MCLK到DCO下。在大多数系统中,你会希望在VLO或者是晶振下运行ACLK。由于ACLK在我们目前的代码是在VLO上运行,我们会打开DCO运行。
#include &msp430g2231.h&
void main(void)
WDTCTL = WDTPW + WDTHOLD;&&&&&&&&&&&&&&& // 关闭看门狗定时器
if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)
while(1);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // If cal const erased,挂起
BCSCTL1 = CALBC1_1MHZ;&&&&&&&&&&&&&&&&&&&& // Set range
DCOCTL = CALDCO_1MHZ;&&&&&&&&&&&&&&&&&&&& // 设置DCO模式
P1DIR = 0x40;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // P1.6 配置输出
P1OUT = 0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // P1关闭
BCSCTL3 |= LFXT1S_2;&&&&&&&&&&&&&&&&&&&&&&& // LFXT1 = VLO
IFG1 &= ~OFIFG;&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 清除 OSCFault 标志
//__bis_SR_register(SCG1 + SCG0);&&&&&&&&&&&&& // 关闭DCO
BCSCTL2 |= SELM_0 + DIVM_3;&&&&&&&&&&&&&&&& // MCLK = DCO/8
P1OUT = 0x40;&&&&&&&&&&&&&&&&&&&&&&&&& // P1.6 关闭
_delay_cycles(100);
P1OUT = 0;&&&&&&&&&&&&&&&&&&&&&&&&&&& // P1.6 开启
_delay_cycles(5000);
阅读(...) 评论()set_time MSP430G2553单片机的时钟设置程序,原创,有注释。 SCM 开发 238万源代码下载-
&文件名称: set_time
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 105 KB
&&上传时间:
&&下载次数: 18
&&提 供 者:
&详细说明:MSP430G2553单片机的时钟设置程序,原创,有注释。-MSP430G2553 set MCU clock procedures, original, with comments.
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&设置时钟&&........\Debug&&........\.....\Exe&&........\.....\...\设置时钟.d43&&........\.....\List&&........\.....\Obj&&........\.....\...\main.pbi&&........\.....\...\main.pbi.cout&&........\.....\...\main.r43&&........\.....\...\设置时钟.pbd&&........\.....\...\设置时钟.pbd.browse&&........\main.c&&........\path.txt&&........\settime.eww&&........\settings&&........\........\settime.wsdt&&........\........\设置时钟.cspy.bat&&........\........\设置时钟.dbgdt&&........\........\设置时钟.dni&&........\设置时钟.dep&&........\设置时钟.ewd&&........\设置时钟.ewp&&........\设置时钟CustomSfr.sfr
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 建立单频矩形脉冲信号,时间反转镜仿真,计算信号时反过后的能量增益
&[] - 1991年,SUN MicroSystem公司的Jame Gosling、Bill Joe等人的研究小组针对消费电子产品开发应用程序,由于消费电子产品种类繁多,各类产品乃至同一类产品所采用的处理芯片和操作系统也不相同,就出现了编程语言的选择和跨平台的问题。当时最流行的编程语言是C和C++语言,但对于
&[] - XilinxISE破解说明及其重要的Linces
&[] - msp430G2553的nrf24l01无线通信模块驱动
&[] - MSP 430 湖南省TI杯竞赛相关说明文件
&[] - 超低功耗测角仪,2013年电子设计竞赛的题目之一,msp430G2553单片机控制
&[] - 基于msp430G2553的PWM输出控制,AD采集,及430内部各模块的初始化,包括:AD、I/O口、系统时钟管理、定时器、捕获、中断处理、以及利用串转并实现的LCD显示。
&[] - msp430G2553单片机控制超声波测距程序
&[] - msp430G2553+74HC595数码管显示
运用74HC595串入并出的方式显示8位共阴数码管,本实验是用P2.0,1,2
利用看门狗定时器,实现电子表。即:数码管高两位显示时,中间两位显示分
最后两位显示秒。msp430的TACLK是什么意思?是外部输入的辅助时钟的意思吗?_百度知道
msp430的TACLK是什么意思?是外部输入的辅助时钟的意思吗?
提问者采纳
ACLK是辅助时钟,作用和SMCLK类似。注意。SMCLK是子系统时钟,msp430内核中有三种时钟信号。但可以通过配置寄存器改变它们的频率,比如定时器、USCI等。它是上述所有时钟信号的来源。注意:MCLK是主时钟,TACLK跟ACLK没有直接的联系。所有外设都无法获取MCLK信号。默认情况下,ACLK,通过设置TASSEL,msp430的时钟信号的来源不必须是外置晶体或晶振,可供给硬件外设使用TACLK是外部时钟信号,可供给外设使用,SMCLK或INCLK作为自己的定时基准,供给运算内核使用。另外说一下。DCO是msp430内部的数控振荡器,msp430不用外接晶振也可以工作,ACLK出低速的时钟信号,SMCLK出高速的时钟信号。定时器可以选择TACLK。另外SMCLK和ACLK都可以通过引脚输出到外部
TACLK是外部时钟信号,是供谁使用的?是外部子时钟还是外部辅助时钟?
TACLK用于计数器timer,属于外部辅助时钟。
提问者评价
其他类似问题
为您推荐:
msp430的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁您的举报已经提交成功,我们将尽快处理,谢谢!
ADC转换,在线路没问题的情况下(供电要正确啊,数据采集电路也要连接正确哦),
要做以下步骤:
1.系统初始化(其中必须包括ADC也初始化)
2.ADC通...
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'二次元同好交流新大陆
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(971)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Msp430时钟设计与寄存器说明',
blogAbstract:'
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 msp430f5529时钟配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信