La Red de Conocimientos Pedagógicos - Conocimientos universitarios - El conjunto de 51 microcontroladores controla 8 luces de marcha

El conjunto de 51 microcontroladores controla 8 luces de marcha

Idea:

Bucle para controlar el valor del estado siempre activo y cíclelo desde el bit más alto al bit más bajo. Esto se utiliza para la luz constante en el último estado.

En el ciclo de luz constante, todos los demás bits que no siempre están encendidos se controlan para que realicen un ciclo nuevamente, pasando gradualmente del bit más bajo al más alto.

El código es el siguiente: #include?

unsigned?char?PData;?//Resultado general

unsigned?char? CurrData;//El bit de cambio más alto

p>

//Retraso, esta función es un retraso impreciso. Si se requiere un retraso preciso, el número de bucles debe ajustarse después de un cálculo preciso de acuerdo con el. declaración de ensamblaje de esta función

void?delay(unsigned? int?ms){?

unsigned?char?i;

while(ms--) {

for(i=0;i<120; t++){

}

}

}

void?main(){

unsigned?char ?i=0,j=0;

PData=0x00;//Estado de destrucción total

for?(i=8;i>0;i--){// Controla la posición siempre activa, comenzando desde el bit más alto y pasando al bit más bajo

for?(j=0; j

P1=~(PData+(1<

delay(500);

P1= ~PData;//El i-ésimo bit está desactivado

delay(500) ;

}

PData=PData+(1<<(i-1)); //Establece el bit más alto en siempre activado

P1=~PData ;

retraso(500);

}

// Detener

mientras(1){

}

}