Entonces el problema es claro, tu no puedes con el pulsador en forma manual generar un pulso de unos pocos microsegundos, minimamente serán milisegundos, por lo tanto cada vez que accionas un pulsador contaras miles de personas, pero cuando restas con el segundo pulsador, por la forma que hicistes el programa no puedes tener numeros negativos y queda en cero.
Saludos!
Héctor
Hola, con lo que dices al principio me estás dando la razón. Por otra parte, si a la variable
Personas que es de tipo
int le restas con el segundo pulsador, al llegar a cero no se queda allí, sino que pasa a 255 y sigue restando.
Miguel_S, en la simulación que subiste efectivamente se apaga el LED al pulsar el botón B. Para evitar esto y que puedas observar el funcionamiento simplemente insértale unos delays después de cada incremento y decremento de la variable así:
.
Personas++;
delay_ms(100);
.
.
.
Personas--; // Contamos la gente que sale.-
delay_ms(100);
.
Ahí si podrás ver el funcionamiento correcto, excepto en el caso que dejes activado uno de los pulsadores, cosa que puedes solucionar muy facilmente con software como te dije antes.
Saludos!