¿Cuál es el significado de debounce en el microcontrolador 8051?

Debouncing es un término general que no es específico de ningún chip controlador en particular …

Antes de conocer el rebote, debemos ser claros acerca del rebote …

Cuando se utiliza una interfaz de botón en microcontroladores (especialmente botones).

Considere que está utilizando un borde ascendente de una señal causada por presionar un botón para realizar alguna acción (por ejemplo, alternar el estado del led).

Pero debido a limitaciones de diseño mecánico y efecto de envejecimiento … Es posible que estos botones pulsadores no tengan un buen contacto, por lo tanto, pueden producir varios bordes ascendentes (por supuesto, también bordes descendentes …) en una sola pulsación …

También ocurre al volver a presionar el botón … Lo que puede conducir a una interpretación errónea del controlador como pulsaciones múltiples … Y alterna el estado del led tantas veces, lo que lleva a un funcionamiento erróneo del controlador …

Esto produce un proceso más engorroso que involucra contadores … Cuenta una sola pulsación como varias pulsaciones (y este “varios” no es predecible) …

Y este fenómeno indeseable involucrado entre el botón y los pines del controlador se llama rebote.

Los métodos que utilizamos para evitar los problemas debidos al rebote se llaman Debouncing.

Que se clasifica como

Eliminación de rebotes de hardware y eliminación de rebotes de software

Rebote de hardware:

Usando condensadores a través de terminales del interruptor para evitar el tren de pulsos de alta frecuencia (causado por el rebote) y hacerlo como una señal de un solo paso para el controlador.

Eliminación de rebote del software:

Escribir un programa de tal manera que cuando el pin perciba un borde ascendente, entre en la rutina de retardo para algunos (digamos 250 – 500 ms) y verifique nuevamente si el pin está en estado alto o bajo (para confirmar si el botón se presionó intencionalmente) o no).

Si esta comprobación finaliza, el procesador debe continuar.

Este retraso de 250 – 500 ms da tiempo para ignorar todos los pseudo flancos ascendentes. Por lo tanto, evita el problema causado por el rebote … 🙂

La pregunta es un poco ambigua. Si entendí bien, te estás refiriendo a Key Press y al rebote asociado.

Para leer exactamente la presión de un botón (o la liberación del botón), leemos continuamente el estado del pin GPIO durante un período de tiempo particular (según nuestra aplicación), digamos aproximadamente 50 ciclos de reloj o más. Esto es lo que se conoce como software antirrebote.

Esto se hace para filtrar cualquier ruido que pueda leerse accidentalmente al presionar una tecla. Esto se hace asumiendo que el ruido no dura más de 50 ciclos de reloj. Espero que esto responda a su consulta.

Cuando conectas el teclado con el 8051, en ese momento aparecerá un rebote. El rebote es en realidad un intervalo de tiempo entre presionar y soltar la tecla del teclado.

Por ejemplo, suponga que necesita mostrar el valor de conteo de cuántas veces se ha presionado un particular en ese momento si tiene que ocuparse del factor de tecla “Debounce”.