703|0

6943

帖子

19

资源

纯净的硅(中级)

MSP430单片机时钟错误中断 程序 [复制链接]

时钟错误中断代码如下:
#include "msp430x42x.h"             /*430单片机寄存器头文件*/
void main( void )                       // 主程序
{ int i;
  WDTCTL=WDTPW+WDTHOLD;  //停止看门狗
  FLL_CTL0|=XCAP18PF;          //配置晶振负载电容
  FLL_CTL0 &=~ XTS_FLL;                     // 设置振荡器类型为低频  (可省略)
  FLL_CTL0 |=  XCAP18PF;                     // 设置晶振匹配电容18pF左右
  SCFQCTL = SCFQ_2M;                          // 倍频至2MHz(64倍频,2.09MHz)
  SCFI0 |= FN_2 ;                              // DCO中心频率2MHz左右(1.3~12.1 MHz)
  P2DIR |= BIT0;                        // P2.0设为输出
  P2OUT &=~BIT0;                        // P2.0设为低电平(LED灭)
  for(i=0;i<100;i++);                   // 略延迟,等待倍频器输出时钟稳定
  IFG1 &=~ OFIFG;                       // 清除上电过程引起时钟错误标志
  IE1|=OFIE;                            // 打开时钟错误中断

  while(1)
  {
     //...do some thing...              // 正常工作的程序                           
  }
}

#pragma vector = NMI_VECTOR                  //NMI中断源
__interrupt void NMI_ISR(void)        //声明一个中断服务程序,名为NMI_ISR()
{
  if(IFG1 & OFIFG)                    //如果是时钟错误引发的NMI中断   
  {
    P2OUT |= BIT0;                    //将P2.0置高(点亮LED)
    IFG1 &=~ OFIFG;                   //清除时钟错误标志
  }
}



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

查找数据手册?

EEWorld Datasheet 技术支持

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

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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