main(430单片机按键P1.3中断程序)


#include "msp430g2553.h"


void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P1DIR&=~BIT3; //P1.3为输入
P1SEL&=~BIT3;
P1REN|= BIT3; //P1.3加上拉电阻
P1OUT|=BIT3;

P1DIR|=BIT0+BIT6;
P1OUT|=BIT0+BIT6;

P1IE|=BIT3; //P1.3设中断
P1IES|=BIT3; //上升沿中断
P1IFG=0; //中断清零
_BIS_SR(LPM0_bits+GIE); //
while(1);
}
#pragma vector=PORT1_VECTOR
__interrupt void P1_3(void)
{
unsigned int i;
if (!(P1IN&BIT3))
{
for(i=100;i>0;i--);
if (!(P1IN&BIT3));
{
while(!(P1IN&BIT3));
}
for(i=100;i>0;i--);
while(!(P1IN&BIT3));
P1OUT^=BIT6+BIT0;
}
P1IFG&=~BIT3;
}




相关文档
最新文档