zz from
一、上电复位 POR 和 上电xx PUC
二、低功耗控制
但系统时钟发生器基本功能建立之后,CPU内的状态寄存器SR中的SCG1、SCG2、OscOff、CpuOff是低功耗的重要控制位;
系统工作模式一共有6种,1种活动模式和5种低功耗模式;
可以通过设置控制位使MSP430进入低功耗模式,由中断唤醒CPU,在执行完中断服务程序之后再回到低功耗模式,也可以在执行中断程序的时候间接访问堆栈修改状态寄存器的值,这样中断程序执行完之后就会进入另外一种低功耗模式或者处于活动模式。
三、时钟模块
(一)、MSP430F149有三个时钟输入源:
1、LFXT1CLK:如果LFXTCLK没有作用于SMCLK、MCLK信号,可以用OscOff置位以禁止LFXT1CLK工作;
2、XT2CLK:若XT2CLK没有作用于SMCLK、MCLK信号,可以用控制位XT2OFF关闭XT2;
3、DCO振荡器:MSP430F149的两个外部振荡器产生的时钟信号都可以经过1、2、4、8分频后用作系统主时钟MCLK;当外部振荡器失效后,DCO振荡器会自动被选作MCLK的时钟源;
(二)、MSP430F149提供3三种时钟信号:
1、ACLK----辅助时钟,一般用于低速外设,由LFXT1CLK信号分频而得;
2、MCLK----系统通过主时钟,一般用于CPU和系统,由以上三个时钟源任意一个分频而得;
3、SMCLK---主要用于高速外设,由XT2CLK+XT2CLK 或 LFXT1CLK+DCO分频而得。
(三)、如何控制MSP430的DCOCLK频率?——时钟模块的控制由5个寄存器来完成
1、DCOCTL:定义8总频率之一
2、BCSCTL1:
控制XT2CLK的开启与关闭;
控制LFXT1CLK的工作模式(低频或高频,高频下需要接高频时钟源);
控制ACLK分频。
3、BCSCTL2
选择MCLK时钟源;
选择MCLK分频;
选择SMCLK时钟源;
选择SMCLK时钟源分频。
来源:() - MSP430F149内部资源(一)_心灵港湾_新浪博客
4、中断使能寄存器-IE1
IE1.1 位为振荡器故障中断允许位,置位允许中断,复位禁止中断;
5、中断标志寄存器-IFG1
IFG1.1 (OFIFG)为振荡器失效中断标志位,置位表明有振荡器失效,复位则没有。
MSP430F149的硬件电路能够检测振荡器是否失效,一般当振荡器丢失大约100个振荡周期时,设置振荡器失效标志位OscFault,OscFault能够令中断标志位OFIFG置位,如果OFIE也处于置位,振荡器失效中断将请求一个非屏蔽中断,非屏蔽中断响应后,OFIE自动复位。OFIE的初始态是复位的,即使有错误情况发生也不会有振荡器失效中断请求,所以需要软件置位IFIE。
四、MSP430各种端口P0-P6
(一)、端口可以直接用于输入/输出,且可以位寻址;另外这些端口不仅仅具有I/O功能,而且还是MSP430的各个内部模块的控制位。
(二)、其中P1和P2还具有中断的功能
(三)、PO-P6口的寄存器资源
1、PxDIR--输入/输出方向寄存器
0----输入模式; 1----输出模式;
2、PxIN 输入寄存器----只读寄存器,此时引脚方向必须定义为输入;
3、PxOUT---输出寄存器----可读可写,在读取输出缓冲的内容的时候不受方向的影响;
4、PxSEL---功能选择寄存器
0---选择引脚位I/O端口, 1---引脚为外围模块功能;
以下几个是P0和P1所特有的:----和中断相关
1、PxIE----中断使能寄存器
0----禁止中断, 1---中断允许
2、PxIFG---中断标志寄存器
0---没有中断请求, 1----有中断请求
3、PxIES---中断触发沿选择寄存器
0---上升沿使相应标志位置, 1---下降沿使相应中断标志位置
只有跳变才能使相应中断标志位置。