博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
msp时钟设置程序
阅读量:4485 次
发布时间:2019-06-08

本文共 1586 字,大约阅读时间需要 5 分钟。

吐槽一下MSP430需要明白的东西:

在430中,一个时钟周期 = MCLK晶振的倒数。如果MCLK是8M,则一个时钟周期为1/8us;

 一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作;
 一个指令周期 = 1~6个机器周期,具体根据具体指令而定。
 另:指令长度,只是一个存储单位与时间没有必然关系。

 

MSP430根据型号的不同最多可以选择使用3个振荡器。我们可以根据需要选择合适的振荡频率,并可以在不需要时随时关闭振荡器,以节省功耗。这3个振荡器分别为:

(1)DCO  数控RC振荡器。它在芯片内部,不用时可以关闭。DCO的振荡频率会受周围环境温度和MSP430工作电压的影响,且同一型号的芯片所产生的频率也不相同。但DCO的调节功能可以改善它的性能,他的调节分为以下3个步骤

    a:选择BCSCTL1.RSELx确定时钟的标称频率;
    b:选择DCOCTL.DCOx在标称频率基础上分段粗调;
    c:选择DCOCTL.MODx的值进行细调。

 (2)LFXT1  接低频振荡器。典型为接32768HZ的时钟振荡器,此时振荡器不需要接负载电容。也可以接450KHZ~8MHZ的标准晶体振荡器,此时需要接负载电容。

 

(3)XT2  接450KHZ~8MHZ的标准晶体振荡器。此时需要接负载电容,不用时可以关闭。

        低频振荡器主要用来降低能量消耗,如使用电池供电的系统,高频振荡器用来对事件做出快速反应或者供CPU进行大量运算。当然高端430还有锁频环(FLL)及FLL+等模块,但是初步不用考虑那么多。

MSP430的3种时钟信号:MCLK系统主时钟;SMCLK系统子时钟;ACLK辅助时钟。

(1)MCLK系统主时钟。除了CPU运算使用此时钟以外,外围模块也可以使用。MCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频作为其信号源。

 

(2)SMCLK系统子时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。SMCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频作为其信号源。

 

(3)ACLK辅助时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。但ACLK只能由LFXT1进行1、2、4、8分频作为信号源。

PUC复位后,MCLK和SMCLK的信号源为DCO,DCO的振荡频率默认为800KHZ。ACLK的信号源为LFXT1。

       

MSP430内部含有晶体振荡器失效监测电路,监测LFXT1(工作在高频模式)和XT2输出的时钟信号。当时钟信号丢失50us时,监测电路捕捉到振荡器失效。如果MCLK信号来自LFXT1或者XT2,那么MSP430自动把MCLK的信号切换为DCO,这样可以保证程序继续运行。但MSP430不对工作在低频模式的LFXT1进行监测。

 

 看图:有图可知,P5.4,P5.5,P5.6的第二功能可以对外输出时钟时钟

 示例代码:

#include 
void main( void ){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; DCOCTL = DCO0+DCO1+DCO2;//表示把三位全部置位为1,使内部的频率达到最大 BCSTL1 =RSEL0+RSEL1+RSEL2;//设置BCSCTL1 BCSCTL2 |=SELS;//设置BCSCTL2 P5DIR |=0x70;//设置P5.5,P5.6,P5.7的输入输出 P5SEL |=0x70; while(1); }

版权所有,转载请注明链接地址:

 

 

转载于:https://www.cnblogs.com/fengdashen/p/3404162.html

你可能感兴趣的文章
Windows Store App之数据存储
查看>>
English class 82 The Importance of traveling
查看>>
python用递归函数解汉诺塔游戏
查看>>
Redis与Python交互
查看>>
Maximum-SubsequenceSum
查看>>
Android无法删除项目+导入项目报错
查看>>
poj 2349(最小生成树应用)
查看>>
python接口自动化测试二十五:执行所有用例,并生成HTML测试报告
查看>>
c# 指定的存储区提供程序在配置中找不到,或者无效
查看>>
最简陋的python数据
查看>>
第一堂java web课
查看>>
操作系统简介
查看>>
第1周小组博客作业--1703班06组
查看>>
vue项目中icon图标的完美引入
查看>>
C语言指针
查看>>
Java的安装
查看>>
0920 JSON数据 蓝懿
查看>>
Azure Cosmos DB 使用费用参考
查看>>
C# 子线程与主线程通讯方法一
查看>>
006——修改tomacat的编码
查看>>