Buscando la programación de MCU 89c51, requisitos: presione la tecla 1 (P3.4, P3.5) 3 veces, todos los LED del puerto P1 se iluminarán y luego presione la tecla 1 1 vez
Cristal 4MHZ, P3.4, P3.5 interfaz clave1
Función : presione la tecla 1 tres veces, la luz P1 se enciende, presiónela nuevamente para apagarla y repita.
******************/
#include& lt;reg51. h>
sbit key1 = P3^4;
/************* *****
void delay40us(uint time)
Parámetro de entrada: tiempo
Parámetro de salida: ninguno
Función: retraso programa 40us
*** **************/
void delay40us(unsigned int time)
{
caracteres sin firmar
while(time != 0)
{
for(ks=0;ks<10; ks++)
{ }
tiempo--
}
}
void main()<; /p>
{
número de caracteres sin firmar, bandera;
bandera=0;num=0;
P3=0x10;
mientras(1)
{
si((clave1==0)&&(bandera==0))
{
delay40us(250 ); //retrasa 10 ms para eliminar la fluctuación
if(key1==0) //determina nuevamente si se presiona la tecla 1
{
while(!key1); // Determina si la tecla key1 está liberada
delay40us(250); //Retraso de 10 ms para eliminar la fluctuación
while(!key1); //Determina nuevamente si la tecla1 está liberada
num++;
}
}
if(num>2) //Presiona el botón 3 veces, la luz del puerto P1 se enciende
{
num = 0;
flag = 1;
P1 = 0 ; //La luz del puerto P1 está encendida, lo que indica que la luz de bajo nivel de salida del puerto P1 está encendida
}
if((key1==0)&&(flag==; 1))
{
demora40us(250
if(key1==0)
{
<); p>mientras(! key1);delay40us(250);
while(!key1);
bandera = 0;
P1 = 0xff; //La luz indicadora del puerto P1 está apagada y la luz indicadora de alto nivel de salida del puerto P1 está apagada
}
}
}
}
}
}