Ayuda, por favor. Programa pulsadores sencillo (novato )

Hola: estoy intentando hacer un programa con 2 pulsadores M1 y M0 ( los pulsadores introducen 0 sin presionarlos y 1 al presionarlos ) y una salida T. Tengo en cuenta rebotes de pulsadores
Si pulso y suelto M0 cuatro veces enciendo y apago el led en la salida T.
Si pulso y suelto M1 dos veces enciendo y apago el led en la salida T.
Al pulsar M1=1 y M==1, es decir, presionar los 2 pulsadores al mismo tiempo no logro encender y apagar el led en la salida T.
Ya que entra en un if anterior, depende si presiono primero M1 o presiono M0. Y después el programa hace cosas raras.
Estoy haciendo la simulación con proteus y primero tengo que presionar un pulsador y después otro, no tengo otra alternativa. Gracias por vuestra ayuda de antemano.
El programa:
int M0=3;
int M1=2;
int T=13;
int veint=0;
int cinc=0;
int cen=0;

void setup()
{
pinMode(M0,INPUT);
pinMode(M1,INPUT);
pinMode(T,OUTPUT);
digitalWrite(T,LOW);
}

void loop()
{

if( digitalRead(M1)==LOW && digitalRead(M0)==HIGH )
{
veint++;

while(digitalRead(M0)==HIGH);
delay(100);
}

if(veint==0)
{

digitalWrite(T,LOW);

}

if(veint==4)
{
digitalWrite(T,HIGH);
delay(500);
digitalWrite(T,LOW);
delay(500);
veint=0;
}

if( digitalRead(M1)==HIGH && digitalRead(M0)==LOW )
{
cinc++;

while(digitalRead(M1)==HIGH);
delay(100);
}

if(cinc==0)
{

digitalWrite(T,LOW);

}

if(cinc==2)
{
digitalWrite(T,HIGH);
delay(500);
digitalWrite(T,LOW);
cinc=0;
}

if( digitalRead(M1)==HIGH && digitalRead(M0)==HIGH)
{

digitalWrite(T,HIGH);
delay(1000);
digitalWrite(T,LOW);
delay(1000);

}

}

Moderador:
Edita tu post usando etiquetas de código.
Lee las normas de este foro.
En ellas se explica que Ayuda es una palabra considerada INUTIL porque el foro solo brinda Ayuda asi que para que indicarlo en el título?

Lee las Normas del foro

Gracias[/color]