Red de conocimientos turísticos - Conocimientos sobre calendario chino - Comentarios detallados sobre cada declaración en el programa del microcontrolador 89C51 y análisis del funcionamiento de todo el programa.

Comentarios detallados sobre cada declaración en el programa del microcontrolador 89C51 y análisis del funcionamiento de todo el programa.

#?Incluir<reg 51.h>

#?Definición? ¿Uchar? ¿No firmado? Té

#?Definición? uint? ¿No firmado? (Igual que las organizaciones internacionales) Organizaciones internacionales

Uchar? ¿datos? clave2

¿Código? ¿Uchar? dirtab[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80? };? //Mostrar tabla de códigos

¿No es válido? ¿llave? (?)?//Función de gestión de claves

{?Uchar? clave 1;

p 1 = 0x ff; //Leer clave

clave 1 = p 1;

if(key1!=0xff)? //Si se presiona una tecla,

{?int? delay(); //Retraso del rebote

p 1 = 0x ff; //Leer de nuevo

key 1 = p 1;

if(key1 ! =0xff)//? Si la clave aún es válida

{ key 1 = p 1;

¿Cambiar? (clave1)//Conversión clave-valor

{¿Caso? 0xff? :tecla 2 = 8; romper; // sin botón

¿Caso? 0xfe? :key 2 = 0; break; //Reasigna cada tecla por turno.

¿Caso? 0x FD:clave 2 = 1;

¿Caso? 0x FB:clave 2 = 2;

¿Caso? 0xf 7:clave 2 = 3;

¿Caso? 0x ef:clave 2 = 4;

¿Caso? 0x df:clave 2 = 5;

¿Caso? 0x BF:clave 2 = 6;

¿Caso? 0x7f:clave 2 = 7;

¿Incumplimiento de contrato? :break

}

}

}

}

¿No es válido? main()

{ clave 2 = 8

mientras(1)

{?key() //Botón de escaneo

P3 = dirtab[key 2]; //Busca la tabla y muéstrala

}

}