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){ } }