首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

【博客大赛】MSP4305438开发板看门狗定时器设置实验程序

【博客大赛】MSP4305438开发板看门狗定时器设置实验程序

//============================================================//
//                                                                                                                                            //
// 文件:  MAIN.C                                                                                                                //
// 说明:  MSP4305438开发板看门狗定时器设置实验程序                                        //
//         设置看门狗定时器每秒中断一次,翻转LED驱动端输出,                               //
//         控制LED以每2秒一次闪烁                                                                                    //                                                                                            
// 编译: CCS5.2                                                                                                               //
// 日期:  2013.05.19                                                                                                       //
//============================================================//

#include "msp430x54x.h"
#include <stdlib.h>
#include <stdio.h>

#include "PIN_DEF.H"

#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer (void)
{
  P1OUT   ^= 0xF0                                         ;
  P9OUT   ^= 0x0F                                         ;
}

//***************************************************************************//
//                                                                                                                             //
//  Init_Port(void): 设置IO端口                                                                            //
//                                                                                                                             //
//***************************************************************************//
void Init_Port(void)
{
  P5DIR  |= POWER                                             ; // 主电源
  MAIN_POWER_ON                                           ;
  P7DIR  |= LED_PWR                                        ; // 发光二极管电源
  P7OUT  &=~LED_PWR                                   ;
  P1OUT   = 0xF0                                                 ; // 设置LED控制端IO属性
  P1DIR   = 0xF0                                                  ;
  P9OUT   = 0x0F                                                 ;
  P9DIR   = 0x0F                                                  ;
}


int main( void )
{
  WDTCTL   = WDTPW + WDTHOLD                               ;
  Init_Port()                                                                            ;
  P7SEL   |= 0x03                                                                 ; // 使能XT1
  UCSCTL6 &=~XT1OFF                                                    ;  
  UCSCTL6 |= XCAP_3                                                       ;
  UCSCTL4 |= SELA_0                                                       ; // ACLK时钟源选择XT1  
  SFRIE1  |= WDTIE                                                             ; // 使能WDT中断
  WDTCTL   = WDT_ADLY_1000         ; // 设置WDT为INTERVAL模式,中断间隔1000ms
  _EINT()                                                   ;
  LPM3                                                       ;
}

//2013-08-20
//14:58
//深圳
返回列表