用中断程序实现LED灯亮灭

用三个按键分别控制三个LED灯,当按下某个按键,对应的LED灯状态翻转,采用中断方式;
先按下按键S3或S4时,对应的灯翻转,然后再按S4或S3不变化;必须先按一下S5按键,对应
LED翻转,然后再操作S3或S4功能恢复正常。
类似代码如下
#include <STC15.h>
#include <intrins.h>
sbit KEY0=P3^2;
sbit KEY1=P3^3;
sbit KEY2=P3^6;
sbit LED0=P2^0;
sbit LED1=P2^1;
void Delay10us()
{
unsigned char i;

nop();
i = 25;
while (--i);
}
void EXINT_Init(void)
{
EX0=1;
IT0=1;
EX1=1;
IT1=0;
INTCLKO|=1<<4;
EA=1;
}
void EXINT0(void) interrupt 0
{
Delay10us();
if(KEY0==0)
{
LED0=!LED0;
}
}
void EXINT1(void) interrupt 2
{
Delay10us();
if(KEY1==0)
{
LED1=0;
}
if(KEY1==1)
{
LED1=1;
}

}
void EXINT2(void) interrupt 10
{
Delay10us();
if(KEY2==0)
{
LED0=!LED0;
LED1=!LED1;
}
}
void LEDstar()
{
LED0=0;
LED1=1;
}
void IOstar()
{
P1M1 &= 0<<0; //准双星口弱上拉
P1M1 &= 0<<4;
P1M0 |= 0<<0;
P1M0 |= 0<<4;
}
void main(void)
{
LEDstar();
IOstar();
EXINT_Init();
while(1);
}

你先画逻辑图出来,根据逻辑图组织代码

代码里只有两个LED啊。
你说的S3 S4 S5分别对应代码里的哪个KEY,哪个中断?