Escritura de un programa de función de retardo en lenguaje C basado en 51 microcontroladores
El programa para el retardo de 5 segundos del oscilador de cristal de 12M es el siguiente:
void delayus2x(char n)//delay nx2 us
{
while(-n) ;
p>
}
retrasos nulos(unsigned int t)//retraso t x 1ms<
{
mientras (t--)
{
delayus2x(245);
delayux2x(245);
}
}
delays(50,000); //llama a esto para retrasar 5s
En cuanto a que no puede ser mayor que 255, porque tu tipo de datos es char, 8 bytes, el máximo El valor es 255, 2 por 8 menos 1.