|
介紹P1.2按鍵使用
#include"ioCC2530.h"
#define LED1 P1_0
#define LED2 P1_1
#define LED3 P1_3
#define LED4 P1_4
#define SW1 P1_2
unsigned int KeyTouchtimes=0;
void delay(unsigned int time)
{unsigned int i;
unsigned char j;
for(i=0;i<time;i++)
{for(j=0;j<240;j++)
{ asm("NOP");
asm("NOP");
asm("NOP");
}
}
}
void init()
{P1SEL&=0xE0;
P1DIR|=0x1B;
P1DIR&=0XFB;
P1INP&=0xFB;
P2INP&=0xBF;
LED1=0;
LED2=0;
LED3=0;
LED4=0;
PICTL&=~0X02;
P1IEN|=0X04;
IEN2|=0X10;
EA=1;}
#pragma vector=P1INT_VECTOR
__interrupt void ENIT_ISR(void)
{
EA=0;
if(P1IFG&0X04)
{
while(SW1==0);
delay(100);
while(SW1==0);
KeyTouchtimes=KeyTouchtimes+1;
P1IFG&=~0X04;
}
EA=1;
}
void main(void)
{
init();
while(1)
{if(KeyTouchtimes==1)
{
LED1=1;
}
else if(KeyTouchtimes==2)
{
LED2=1;
}
else if(KeyTouchtimes==3)
{LED3=1; }
else if(KeyTouchtimes==4)
{LED4=1;}
else if(KeyTouchtimes==5)
{
LED1=0;
LED2=0;
LED3=0;
LED4=0;
KeyTouchtimes=0;
}}}
|
|