原创 【博客大赛】MSP430学习笔记--时钟

2013-7-22 21:01 1649 11 13 分类: MCU/ 嵌入式

        单片机可以看成是在时钟驱动下的时序逻辑电路,单片机在工作过程过程中,所有工作都是在时钟信号的控制下进行的,每执行一条指令,CPU的控制器都要发出一系列特定的控制信号。时钟电路是微型计算机的心脏,它控制着计算机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能的。

       MSP430f149的时钟可以自由选择,它包括一个内部DCO时钟和另外两个外部时钟。内部时钟频率可设置,其中最高可达到1042KHZ;外部可以接两个时钟,一个可接钟表晶振或标准晶振,另一个接最高时钟频率为8MHZ 的晶振,8M 是单片机的最高工作频率,对于晶振的选择,对基础时钟的控制,只需要对相应的控制寄存器写入相应的控制位就可以产生需要的时钟,还可以从相应的端口测出时钟频率。            

       MSP430F149有3种时钟信号输出,MCLK(主系统时间),SMCLK(子系统时钟),ACLK(辅助系统时钟),来源有所不同。基本时钟框图如下:小q截图-20130708081843.jpg

       上电复位后,MCLK默认是DCO(数字控制振荡器)时钟源,同时默认了大小(大约800K),可以改变寄存器调节时钟频率,也可以根据需要,将MCLK的时钟源另外设置为LFXT1和XT2。

例程1:设置好各时钟并输出,驱动外部芯片或供用户测量。对比用户手册基础时钟寄存器设置和引脚图。

        ACLK = LFXT1 = 32768, MCLK = DCO Max, SMCLK = XT2

#include

void main (void)

{

     WDTCTL=WDTPW+WD THOLD;                //停止关门狗

    DCOCTL=DCO0+DCO1+DCO2;                 //最大DCO

    BCSCTCTL1=RSEL0+RSEL1+RSEL2;     //SMCLK=XT2,最大RSEL

     P5DIR |=0X70;                                               //P5.6,5,4为输出

    P5SEL |=0X70;                     //P5.6,5,4为外围模块用作 ACLK,SMCLK,MCLK的输出

   whlie(1);

   {

   }

}

 例程2  设置主时钟MCLK=XT2,从P5.4口输出(P5.4和MCLK复用)。OFIFG(振荡器失效标志)

#include

void main (void)

{

     WDTCTL=WDTPW+WD THOLD;                //停止关门狗

     P5DIR |= 0x10;                                               // P5.4输出 

     P5SEL |= 0x10;                                            // P5.4为外围模块用作MCLK的输出
 
     BCSCTL1 &= ~XT2OFF;                              // XT2有效
 
  do
  {  
      unsigned int i;
      IFG1 &= ~OFIFG;                                   //清除振荡器失效标志
 
      for (i = 0xFF; i > 0; i--);                           // 延时,待稳定
  }
       while ((IFG1 & OFIFG));                     // 若振荡器失效标志有效
 
            BCSCTL2 |= SELM_2;                        // 使MCLK= XT2 
 
             for (;;);                                  
}

 

文章评论2条评论)

登录后参与讨论

用户1629625 2013-7-10 16:02

多谢哦

345002072_353389109 2013-7-10 14:13

写的条理很清晰
相关推荐阅读
用户1629625 2013-10-23 11:35
【博客大赛】mini2440串口助手测试
mini开发板上的CON1,2 ,3分别对应cpu的UART0,1,2,3。因为只有UART0已经转换为RS232电平。为了避免麻烦就直接用UART0测试。 连接好PC,打开开发板 上的“串口...
用户1629625 2013-10-22 19:45
【博客大赛】win7安装超级终端连接mini2440
win7没有xp自带的超级终端,必须自己安装。 其实就可以直接使用xp自带的超级终端文件,可下载:http://download.csdn.net/detail/kimherojae/6337...
用户1629625 2013-10-21 20:46
【博客大赛】mini2440 fedora9建立交叉编译
    在LINUX平台下,要建立交叉编译环境。  1 将  资料中linux中的arm-linux-gcc-4.4.3.tar.gz复制到 某个 目录下如/tmp,然后进入该目录并解压 ...
用户1629625 2013-10-10 09:48
【博客大赛】mini2440和PC机虚拟机ping
连接好开发板附带的网线连好mini2440开发板和PC机,查看pc机和开发板IP。 查看PC机IP方法1,win+r,cmd,ipconfig(即菜单->运行cmd进入界面输入ipcon...
用户1629625 2013-10-01 20:30
【博客大赛】虚拟机 fedora9上网设置
桥连接(briged方式) 1 禁用VMware Network Adapter VMnet1和VMware Network Adapter VMnet8 打开网络共享中心,点击更改适配器...
用户1629625 2013-08-08 20:27
【博客大赛】MSP430MSP430学习笔记--USART的同步模式SPI
   当MSP430F149的USART模块控制器UxCTL的SYNC位置位时,串行模块工作在SPI模式,通过4线(SIMO,SOMI,UCLK及STE)或者3线(SIMO,SOMI,UCLK)同...
我要评论
2
11
关闭 站长推荐上一条 /2 下一条