Programa de interrupción del programa
¿Vacío? int1_srv()? ¿interrumpir? 2 // Función de servicio de interrupción INT1, vector de interrupción número 2.
{?
my _ delay _ 10ms(1); //Retraso en el rebote
KEY_BIT? =?1;//Configure el puerto IO de MCS51 antes de leer.
if(KEY_BIT?==?0)//La tecla sigue presionada.
{
// while(KEY_BIT?==?0);//Esperando que se proponga la clave.
Esta pieza no es necesaria. Con la activación por flanco, no es necesario esperar a que se suba la tecla porque el primer flanco descendente ya inició la interrupción. Si el hardware es una placa de desarrollo disponible en el mercado, no hay necesidad de preocuparse. Si se trata de una placa de circuito casera, recuerde agregar un condensador antivibración de 10 uF a P3.3. Puede consultar la imagen del circuito antivibración.
Puede que mi consejo no sea correcto, pero inténtalo.