void key_init(void)
{
DDRE|=0xf0; //PE4~7为输出
PORTE&=0x0f; //输入为0
}
void int2_init(void)
{
SREG|=0x80;
EIMSK|=0X0c;
EICRA&=0X00; //低电平产生中断
sei();
}
SIGNAL(SIG_INTERRUPT2)
{
cli();
cbi(PORTD,PD2);
DDRE&=0x0f; //PE4~7为输入
PORTE&=0x0f; //输入为0
if(!PINE4)
key=0;
else if(!PINE5)
key=1;
else if(!PINE6)
key=2;
else if(!PINE7)
key=3;
key_init();
loop_until_bit_is_set(PIND,PD2) ;
sei();
}