//MSP430F14-运用IO中止方法完成按键检测程序
//以下是结合MC430F14开发板来完成的按键检处理程序试验.
//别离运用了采个三个按键接到MSP430的通用IO口,按恣意一个按键能够使板上的LED回转.
//例程中,单片机一向处于最低功耗状况,用户能够经过按下按键后唤醒单片机.单片机唤醒
//后再进行去颤动动作.一起履行键处理程序.处理完后再次进入LPM4低功耗形式.
//在本程序中用户能够灵敏地修正程序来完成你相关的功用.
//本程序适用在手持设备或电池供电的规划中.此程序结构比较通用,级用户可参加或套用修正.
//运用方针板:MC430F14x开发板
#include <msp430x14x.h>
#define key1 0x01
#define key2 0x02
#define key3 0x04
#define delay_small 200
#define key_1 0xfe
#define key_2 0xfd
#define key_3 0xfb
void key_process_0(void);
void key_process_1(void);
void key_process_2(void);
void key_check (void);
unsigned char key_value;
//*************************************************************************
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
P1OUT |= BIT1;
LPM4;
while(1)
{
}
}
//*************************************************************************
//P2中止服务程序
#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
switch (P2IFG)
}
//*************************************************************************
void key_process_0(void)
{
P1OUT ^= BIT1;
}
//*************************************************************************
void key_process_1(void)
{
P1OUT ^= BIT1;
}
//*************************************************************************
void key_process_2(void)
{
P1OUT ^= BIT1;
}
//**************************************************************************
void key_check (void)
{ unsigned int i;
for(i=0;i
if(0xff !=(P2IN & 0xf8))
else
}
//**************************************************************************
//如果在按键电路中加RC滤波电路,完成按键去颤动的作用会更明显此.