Cómo mostrar el tubo digital normalmente sin parpadear cuando se presionan las 51 teclas del microcontrolador y lograr una pulsación larga y continua
char scan_k(char k)
.{
int i=0; //definir una variable que se utilizará para acumular el tiempo de pulsación larga
if ((KEY1amp;amp;.KEY2amp; amp;KEY3amp ;amp;KEY4amp;amp;KEY5amp;amp;KEY6)==0)//Si se presiona una tecla
{
while(!KEY1)//Si se presiona la tecla 1
{
xianshi(neirong); //ejecutar visualización
delay_ms(1); //retraso
i;/ /añadir 1 a i cada vez
if(igt;=1000)
{
k=11; //Tecla 1 pulsada prolongadamente p>
}
else
{
k=1; //tecla1 pulsación corta
}
}
i=0;
mientras(!KEY2)//si se presiona la tecla2
{
xianshi(neirong );/ /ejecutar display
delay_ms(1); //retraso
i ; //agregar 1 a i cada vez
if(igt;= 1000)
{
k=21; //Presione prolongadamente el botón 2
}
else
{ p>
k=2; //Pulsación corta de la tecla 2
}
}
i=0; antes de la siguiente tecla, presione el valor
while(!KEY3)//si se presiona la tecla 3
{
xianshi(neirong); //ejecuta la pantalla.
delay_ms(1); // Retraso
i
}
i=0; while(!KEY4 )//si se presiona la tecla 4
{
xianshi(neirong); //ejecuta la visualización
delay_ms(1); retraso
i;//agregue 1 a i cada vez
if(i gt;=1000)
{
k= 41;// Pulsación larga del botón 4
}
else
{
k=4 //Pulsación corta del botón 4<; /p>
}
}
i=0;
mientras(! KEY5)//Si se presiona la tecla KEY5
{
xianshi(neirong); //Visualización de ejecución
delay_ms(1); / p>
i; //Cada vez que presionas i veces, agrega 1 a ti mismo
if(igt;=1000)
{
k=51; //Pulsación larga de la tecla 5
}
else
{
k=5; //Presione brevemente el botón 5
}
}
i =0;
while(!KEY6)//Si se presiona la tecla 6
{
xianshi( neirong); //ejecutar visualización
delay_ms(1); //retraso
i ; // Agrega 1 a i cada vez
if(igt;=1000)
{
k=61; // Pulsación larga de la tecla 6
}
else
{
k= 6; //Presione brevemente el botón 6
}
}
i=0;
}
return k; // Devuelve el valor de la clave
}
El código anterior no incluye el sistema operativo y no incluye la interrupción. Ajuste el tiempo de pulsación prolongada que desee de acuerdo con el. situación real. Cuando se presiona el botón, si el tiempo de fluctuación es demasiado largo, el tubo digital obviamente parpadeará o se atenuará. Ajústelo según sea necesario.
.