打印

MSP430时钟设置及应用总结

[复制链接]
1755|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1228goto|  楼主 | 2012-8-29 16:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
hongong| | 2012-8-29 17:41 | 只看该作者
谢谢分享 果断拿走了

使用特权

评论回复
板凳
张凤武| | 2012-8-29 18:14 | 只看该作者
下载看看先

使用特权

评论回复
地板
wjzx111056| | 2012-8-30 22:08 | 只看该作者
好资料!谢谢分享!就是像这样的交流才会促进技术进步!谢谢!

使用特权

评论回复
5
爱之翼V| | 2012-8-31 12:48 | 只看该作者
多谢多谢,对时钟设置比较感兴趣

使用特权

评论回复
6
tee.| | 2012-8-31 13:58 | 只看该作者
在MSP430单片机中,一个时钟周期 = MCLK晶振的倒数。如果MCLK是8MHz,则一个时钟周期为1/8us。
一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作。
一个指令周期 = 1~6个机器周期,具体根据具体指令而定。
另外,指令长度只是一个存储单位,与时间没有必然的关系。
MSP430单片机的时钟模块主要包括:
     三个时钟:辅助时钟ACLK 、主时钟MCLK 、子系统时钟SMCLK
三个振荡器:低频时钟源LFXT1 、高频时钟源XT2 、数字控制RC振荡器DCO
而MSP430单片机工作所需时钟就是由这些振荡器振荡后经处理产生的。
(1)ACLK:是LFXT1CLK信号经1/2/4/8分频后得到的,主要用作低速外围的时钟
(2)MCLK:是LFXT1CLK,XT2CLK,DCOCLK的三者之一决定,由软件选择,然后经1/2/4/8分频后得到,主要用于CPU和系统
(3)SMCLK:可由LFXT1CLK和DCOCLK,或者XT2CLK与DCOCLK决定,然后经1/2/4/8分频后得到,主要用于高速外围模块
MSP430的时钟模块由DCOCTL,BCSCTL1,BCSCTL2,IE1,IFG1这五个寄存器来确定,具体的功能如下所示:
      DCOCTL:控制DCO振荡器
     BCSCTL1:控制XT2,LFXT1,DCO振荡,并控制ACLK的分频情况
      BCSCTL2:设置三个时钟源分别选择什么振荡器
我们在程序里对寄存器的设置,也就是对三个振荡器进行设置,时钟振荡器设置好了,还要对时钟模块进行设置,也就是让三个时钟模块MCLK SMCLK ACLK选择相应的时钟振荡器以得到不同频率的时钟。
PUC信号后,系统选择内部电阻以实现频率的输出。RSELx = 4 与 DCOx = 3,开始时使DCO有一个适中的频率。MCLK与SMCLK的时钟信号全部来自DCO,约为800KHz(芯片手册)。PUC信号后将LFXT1设置到LF模式(XTS=0),并且关断HF模式(XTS=1)与关断XT2振荡器。
(1)DCOCTL:DCO控制寄存器,地址为56H,初始值为60H
//       7    6    5    4    3    2    1    0
//     DCO2 DCO1 DCO0 MOD4 MOD3 MOD2 MOD1 MOD0
//
//  DCO0~DCO2:DCO Select Bit,定义了8种频率之一,而频率由注入直流发生器的电流定义
//  MOD0~MOD4:Modulation Bit,频率的微调
//
// DCO的设置:通过设置DCOCTL和BCSCTL1,设置DCO的频率
//  (1)DCO的调节:
设置DCOR比特来选择是外部电阻还是内部电阻,以确定一个基准频率
通过BCSCTL1寄存器的RSELx来进行分频,确定时钟频率;
通过DCOCTL寄存器中DCOx在标称频率基础上分段粗调,选择频率;
通过DCOCTL寄存器中MODx的值对频率进行细调,选择 DCOx 与 DCOx+1 之间的频率

不错,多谢了。

使用特权

评论回复
7
321weare| | 2012-8-31 16:35 | 只看该作者
:D楼上应该注意哪些表情。。。老冒出来

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名: 哦哦哦。。no   我的泡面呢........

0

主题

100

帖子

0

粉丝