4911|6

826

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

MSP430G2开发板学习(五):低功耗模式下的IO学习 [复制链接]

MSP430最大的特点是超低功耗,本次学习的是超低功耗模式下的IO操作。
/******************************************************************************
* 超低功耗频率 1.5KHZ   
* P1.0有1/100的周期激活
* 超低功耗的范例
* ACLK = VL0, MCLK = VLO/8 ~1.5kHz, SMCLK = n/a,主时钟选择超低功耗,超低频率的内部晶振的8分频,
* VLO:Internal Very-Low-Power Low-Frequency Oscillator 内部的超低功耗,低频率振荡器
* BCSCTL3 是 Basic clock system control 3 ,Mode 2 for LFXT1。
* 选择模式2
* IFG1:SFR interrupt flag 1(Special Function)
* INTERRUPT SOURCE:Oscillator fault 晶振错误标志位
* INTERRUPT FLAG:OFIFG
* DCO:digitally controlled oscillator 数字信号控制的晶振
* BCSCTL2 :Basic clock system control 2
* SELM_3:MCLK Source Select 3: LFXTCLK
* DIVM_3:MCLK Divider 3: /8  MCLK时钟8分频
* MCLK:  Main clock 主时钟
* SCG1 + SCG0都是状态标志位
* LFXT1:Low Frequency XT1 (低频晶振1)
*******************************************************************************/
#include    //MSP430G2231头文件
/*********************************************************************************************************
* Function name:      main
* Descriptions:       主函数
* input parameters:   无
* output parameters:  无
* Returned value:     无   
* 超低功耗模式下的IO端口操作
*********************************************************************************************************/
void main(void)
{
  volatile unsigned int i;                  // Volatile to prevent removal
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer 禁止看门狗
  BCSCTL3 |= LFXT1S_2;                      // LFXT1 = VLO ,低频晶振选择内部的超低功耗,超低频率晶振。                                                                              
  IFG1 &= ~OFIFG;                           // Clear OSCFault flag,清除晶振错误标志位
  __bis_SR_register(SCG1 + SCG0);           // Stop DCO   禁止数控晶振
  BCSCTL2 |= SELM_3 + DIVM_3;               // MCLK = LFXT1/8 主时钟源选择LFXT1,分频系数选择8分频。  
  P1DIR = 0xFF;                             // All P1.x outputs        所有的P1端口都设置为输出
  P1OUT = 0;                                // All P1.x reset    P1端口值都清零
  P2DIR = 0xFF;                             // All P2.x outputs        所有的P1端口都设置为输出
  P2OUT = 0;                                // All P2.x reset  P2端口值都清零

  for (;;)                                                                        // 主循环
  {
    P1OUT |= 0x01;                          // P1.0 set   P1.0置位
    for (i = 10; i > 0; i--);               // Delay 1x   延时
    P1OUT &= ~0x01;                         // P1.0 reset P1.0清零
    for (i = 1000; i > 0; i--);             // Delay 100x 延时
  }
}

最新回复

刚刚接触msp430。想问一下,为什么在设置MCLK之前要清除晶振错误标志位?  详情 回复 发表于 2012-8-8 16:29
 
点赞 关注

回复
举报

826

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

我对原来的寄存器都做了详细的解释

如果大家有什么问题我们可以一起探讨
 
 

回复

826

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 板凳 ghij748 的帖子

晕倒了我
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

4
 

向你学习

不错 内容对我很有帮助和启发 希望有机会可以多讨论
 
 
 

回复

44

帖子

0

TA的资源

一粒金砂(中级)

5
 
mark一下。
 
 
 

回复

256

帖子

0

TA的资源

一粒金砂(高级)

6
 
en 搜索资料中
 
个人签名追求卓越,成功就会在不经意间追上你
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

7
 
刚刚接触msp430。想问一下,为什么在设置MCLK之前要清除晶振错误标志位?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表