MSP430外部中断源程序

#include <msp430x41x.h>

unsigned int L7=~((0X01)<<6);
unsigned int L8=~((0X01)<<7);


void main(void)
{
  WDTCTL = WDTPW + WDTHOLD; // 禁止看门狗定时器
  //P1DIR |= 0x01; // 设置P1.0为输出方向
  P2DIR = 0xff;                   //设置P2口方向为输出  
  P2OUT = 0xff;
  
  P2OUT |= BIT0; 
  
  P1IE |= 0x10; // P1.4中断使能
  P1IES |= 0x10; // P1.4设置为高低边沿中断 
  P1IFG &= ~0x10; // P1.4中断标志位清零 
  
  _BIS_SR(LPM4_bits + GIE); // 进入LPM4中断
  while(1) // 等待中断
  {
  }
}

// 端口1的中断服务历程
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
  P2OUT ^= 0x01; // P1.0 状态翻转
  P1IFG &= ~0x10; // P1.4 中断标志清零
}



使用一根杜邦线,一端接VCC,一端用来触碰P1.4口,就会发现LED灯在7和8之间闪烁

你可能感兴趣的:(程序)