58 lines
911 B
C
58 lines
911 B
C
#include "ioCC2530.h"
|
|
|
|
#define LED1 (P1_0)
|
|
#define LED2 (P1_1)
|
|
#define SW1 (P1_2)
|
|
|
|
unsigned char count = 0;
|
|
//P52ÍØÕ¹Á·Ï°2
|
|
void initial_gpio(){
|
|
//P1 &=~0x1B;
|
|
|
|
P1SEL &=~0X07;
|
|
P1DIR |=0X03;
|
|
P1DIR &=~0X04;
|
|
P1INP &=~0X04;
|
|
P2INP &=~0X40;
|
|
}
|
|
|
|
void initial_interrupt(){
|
|
EA = 1;
|
|
IEN2 |=0X10;
|
|
P1IEN |=0X04;
|
|
PICTL |=0X02;
|
|
}
|
|
|
|
#pragma vector = P1INT_VECTOR
|
|
|
|
__interrupt void P1_INT(void){
|
|
if(P1IFG & 0x04){
|
|
count++;
|
|
switch(count){
|
|
case 1:
|
|
LED1=1;
|
|
break;
|
|
case 2:LED2=1;
|
|
break;
|
|
case 3:
|
|
LED1=0;
|
|
break;
|
|
case 4:
|
|
LED2=0;
|
|
break;
|
|
default:P1 &=~0x03;
|
|
count = 0;
|
|
}
|
|
}
|
|
P1IFG &=~0X04;
|
|
P1IF = 0X00;
|
|
|
|
}
|
|
void main(void){
|
|
initial_gpio();
|
|
initial_interrupt();
|
|
LED1=0;
|
|
LED2= 0;
|
|
for(;;);
|
|
}
|