Red de conocimientos sobre prescripción popular - Como perder peso - El profesor de microcontroladores nos pidió que controláramos las luces LED para aumentar lentamente el brillo.

El profesor de microcontroladores nos pidió que controláramos las luces LED para aumentar lentamente el brillo.

//Las variables son demasiado confusas. Déjame darte un ejemplo.

# include & ltreg52.h & gt//Incluye archivos de encabezado y generalmente no es necesario cambiarlos. El archivo de encabezado contiene definiciones de registros de funciones especiales.

sbit led0=p1^0; //Utilice la palabra clave sbit para definir el LED para el puerto P1.0. Los LED son símbolos definidos arbitrariamente y fáciles de recordar.

Retraso no válido(entero sin signo t); //Declaración de función

/* -

Funciones principales

- */< / p>

Gerente general no válido (no válido)

{

Período entero sin signo = 600, PWM _ LOW = 0 // Definir el período y asignar un valor.

Mientras (1) // Bucle principal

{

led 0 = 1

Retraso (60000); retrasado, se puede ver el proceso de extinción.

for(PWM_LOW = 1; PWM_LOW & lt loop; PWM_LOW++){ //PWM_LOW representa el nivel bajo.

//Tiempo de nivel, la duración del nivel bajo en este ciclo se acumula de 1 al valor de CYCLE (ciclo), que es 600 veces.

LED0 = 0 //Enciende el LED.

DELAY(PWM_LOW); //Duración del retardo, aumentando de 1 a 599 en 600 ciclos.

led 0 = 1; //Apagar LED

Delay(Period-PWM_Low); //Duración del retardo, 600 ciclos reducidos de 599 a 1.

}

LED0 = 0

for(PWM _ LOW = CYCLE-1;PWM _ LOW & gt0;PWM _ LOW-){//y El proceso de cambio de fase gradual.

LED0 = 0

DELAY(PWM_LOW);

LED0 = 1

DELAY(CYCLE-PWM_LOW) nivel);

}

//Agregue otros programas que necesiten funcionar todo el tiempo en el bucle principal.

}

}

/* -

Función de retardo, el parámetro de entrada es un entero t sin signo y no hay retorno valor.

Unsigned int es una variable entera sin signo cuyo rango de valores es

0~65535

- */

Retraso no válido (entero sin signo t)

{

mientras(-t);

}