打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
MSP430基本时钟模块
潇湘竹园
>《单片机学习》
2012.04.28
关注
1.
三个时钟:主时钟
MCLK
,子系统时钟
SMCLK
,辅助时钟
ACLK
。
三个时钟的用途各不相同,其中
MCLK
是用给系统使用的,
SMCLK
用给高速外设使用的,而
ACLK
主要用给低速外设使用。
2.msp430
的振荡器:
LFXT1,XT2,DCO
。
2.1LFXT1
:可接高速和低速晶振,在低速模式下,它可以外接
32k
的晶振而不需要负载电容,在单片机内部已经集成了几个电容供选择。同时,通过寄存器进行配置,它还可以接内部的
VLOCLK
,这个晶振是一个
12k
的低速晶振。高速模式下它可以接
0.4~
16M
的晶振。通常将
LFXT1
配置成一个
32k
的振荡源,为
ACLK
提供低速的时钟信号。
2.2XT2
:高速振荡器,它可以接一个
0.4~
16M
的晶振,它相当于高速模式下的
LFXT1
。通常将它配置成一个高速的振荡源,为
MCLK
何
SMCLK
提供高速时钟信号。
3.DCO
:内部数字控制振荡器,它的频率可以通过
DCOCLK
进行配置。在系统
PUC
之后,
DCOx=7,MODx=3.
在系统
PUC
之后,
SMCLK
与
MCLK
都以
DCO
作为时钟源,震荡频率在
1.1M
左右,
ACLK
以
LFXT1
作为时钟源,工作在
LF
模式下内部
6pF
的负载电容。
时钟模块初始化程序:
#include"msp430x26x.h"
main()
{
WDTCTL=WDTPW+WDTHOLD; //
关看门狗
BCSCTL1&=~XT2OFF; //
开
XT2
晶振
BCSCTL3+=XT2S_2; //
将
XT2
范围设定为
3~
16M
Do
{
for(int i=0xff;i>0;i--); //
延时
IFG1&=~OFIFG; //
清除标志位
}
while((IFG1&OFIFG)!=0); //
检查晶振是否起振
BCSCTL2=SELM_2+SELS; //
将
XT2
设定为
MCLK
和
SMCLK
震荡源
…………………………………………………….
注意:
a.
最好将
IFG1&=~OFIFG;
放入
do –while
循环中,我调了好一阵程序,发现
IFG1
似乎置位之
后不能自动复位。
b.
在
XT2
出现错误的情况下将
XT2
设定为
MCLK SMCLK
的时钟源,单片机会自动的把时钟源更换
为
DCO
振荡器。当时钟信号丢失
50us
时,振荡器失效。如果
MCLK
信号来自
LFXT1
或者
XT2
,
那么
MSP430
自动把
MCLK
的信号切换为
DCO
,这样可以保证程序继续运行。
MSP430
不对低频
模式的
LFXT1
进行监测。
b.BCSCTL2=SELM_2+SELS;
语句必须放在
while
之后,因为当
XT2
没有起振之前,
XT2
处于错误
阶段,因此在
XT2
没有起振之前将它设定为主时钟与子系统时钟后,单片机会自动的将
DCO
设定为
SMCLK MCLK
的时钟源。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
【热】
打开小程序,算一算2024你的财运
MSP430系统时钟寄存器详解
【MSP430时钟】MSP430 5438时钟系统介绍
MSP430的时钟问题
MSP430的时钟系统
MSP430F5529时钟详解
【MSP430趣谈】MSP430第八讲之时钟设置
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×