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

2013-8-20 15:00 1322 11 11 分类: MCU/ 嵌入式

 

//============================================================//
//                                                                                                                                            //
// 文件:  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
//深圳
 

 

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条