Red de conocimientos turísticos - Información de alquiler - En el puerto P2 del microcontrolador, el programa de sincronización que escribí usando el teclado matricial apareció confuso.

En el puerto P2 del microcontrolador, el programa de sincronización que escribí usando el teclado matricial apareció confuso.

Simplemente no entiendo. Después de presionar K1, P2=0x7F (0b0111 1111) donde se encuentra el teclado 3×3 son todos 1. ¿Cómo reconoce el K2 y el K3? detrás de esto.

Este programa hace un uso extensivo de los retrasos. Sería un desastre si no parpadeara.

Este programa no deja de lado la detección, y estarás condenado si no lo agregas al azar.

Se puede ver en TR0=~TR0 que LZ ha aprendido el temporizador. Si sabes cómo usar temporizadores y aún usas Delay, sientes que te lo mereces.

Si lo aprendiste de cierto video en Internet, te sugiero que elimines esos videos. Es realmente perjudicial para las personas.

Si simplemente quieres hacerlo tú mismo, te sugiero que cambies tu forma de pensar en programación.

1. El retraso no se hace por retraso. En el microcontrolador, lo relacionado con el tiempo es el temporizador. Se debe utilizar el método de sincronización del temporizador como estándar de tiempo.

2. La gracia salvadora es que LZ no ha usado while(K==0) en los botones. No es necesario esperar para determinar si se presiona o suelta un botón, siempre que se registre el estado del botón. Pasar de la nada a algo es presionar, y pasar de algo a la nada es soltar.

3. El microcontrolador 51 solo puede reconocer niveles bajos, no niveles altos. El microcontrolador reconoce el nivel alto identificándolo, no considerando el nivel bajo como un nivel alto. Configurar el puerto de escaneo del teclado = 1 solo hará que el microcontrolador no pueda reconocer las teclas.