Programación de circuitos clave
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.
}
}