Red de conocimiento informático - Aprendizaje de código fuente - Programación de circuitos clave

Programación de circuitos clave

#Contiene " reg51.h "

Carácter sin firmar led[]={0xfe, 0xfd, 0xfb, 0xf 7}; //Datos del modo de luz LED

Retraso nulo (ninguno Carácter firmado time){ //Función de retardo

Unsigned int j = 15000;

for(;time gt0;time-)

for(;j gt0;j -);

}

void main(){

Bit dir=0, run = 0 //Definición e inicialización del bit de bandera

char I;

while(1){

switch (P0 amp0x0f){ //Leer valor clave

caso 0x0e: run = 1; break; // acción K1, dejar correr = 1.

Caso 0x0d: ejecutar=0, dir = 0; break; // acción K2, dejar ejecutar=dir=0.

caso 0x0b: dir = 1; break; //Acción K3, establecer dir=1.

Caso 0x 07: dir = 0; break; //Acción K4, establecer dir=0.

}

If (run) // Si run=dir=1, fluye de arriba a abajo.

Si (dirección)

for(I = 0; ilt=3; i){

P2 = led[I];

Retraso(200);

}

Otro

for(I = 3; i gt = 0; I-) {//run = 1 , dir=0, flujo ascendente.

P2 = led[I];

Retraso(200);

}

De lo contrario P2 = 0x ff; run=0, todas las luces están apagadas.

}

}