Está en la página 1de 3

MICROPROCESADORES

LABORATORIO 2

1. Introducción

La práctica 2 del laboratorio de microcontroladores, busca introducir al estudiante en el manejo del


rebote presente en entradas mecánicas, como pulsadores. En este documento se presentan los
fundamentos esenciales a tener en cuenta al momento de hacer lectura de dichas entradas
mecánicas, garantizando que no se generen entradas indeseadas, debido al rebote.

2. Objetivos

 Identificar la presencia de rebote en una entrada donde hay conectado un pulsador.


 Identificar las distintas metodologías que existen para la eliminación del rebote.
 Incluir las técnicas de eliminación de rebote en un ejemplo de aplicación.

3. Herramientas necesarias

Para el desarrollo de esta práctica se requiere:


 Un PC con el software ATMEL STUDIO 7.0 instalado.
 Un PC con el software WINAVR instalado. Esto es necesario si no se utiliza un programador
oficial.
 Programador de ATMEL. Para esta práctica se usará el AVR USBASP
 Un microcontrolador ATMEGA328.
 Dos pulsadores distintos entre sí.
 Un switch de dos posiciones
 Un reedswitch con un iman.
 Protoboard, resistencias y elementos de conexión.

4. Procedimiento

Implemente un circuito con un ATMega328p, donde tenga conectado un led en el pin PB2 y un
pulsador en el pin PD4. Configure el pin PD4 para que funcione como entrada digital, haciendo uso
de la resistencia de pull-up interna.

4.1 Prueba de rebote

Digite el programa mostrado en la Ilustración 1, y súbalo al microcontrolador. Tenga en cuenta que no


se muestra la sección de variables y configuración.

De acuerdo al programa mostrado, cada vez que se presione el pulsador, el led deberá conmutar de
estado. Pruebe el funcionamiento del programa, presionando 10 veces el pulsador, e indicando en la
Tabla 1 los estados inicial y final del led. Indique cuántas veces el estado final del led fue correcto.

Al medir el pin de entrada con un osciloscopio, el rebote debe aparecer como una serie de cambios
rápidos entre dos estados estables de la señal digital (ver Ilustración 2). Para cada pulsación del
botón, mida con el osciloscopio el tiempo de la señal espuria y regístrelo en la tabla.
MICROPROCESADORES
LABORATORIO 2

Tabla 1. Prueba de rebote

Prueba Estado Estado después de Estado final Tiempo


inicial liberar el pulsador correcto señal
del led espuria.
1
2
3
4
5
6
7
8
9
10

Ilustración 1. Código
Ilustración 2. Vista del rebote pulsador

Repita la Tabla 1 para el otro pulsador, el interruptor y el reedswitch. Compare los resultados y
responda.
¿Cuál de los elementos genera la señal espuria más corta?¿Cuál de los elementos genera la señal
espuria más larga?.

4.2 Eliminación por delay

Una forma de eliminar rebote es haciendo dos lecturas


consecutivas de la entrada, separadas por un pequeño tiempo. Si
las dos lecturas son iguales, se asume que el estado del pulsador
es estable.
Modifique el bloque de entradas como se muestra en la Ilustración
3.
Observe que se introduce un pequeño delay entre dos lecturas
consecutivas del mismo pin. Repita la Tabla 1 con este nuevo programa, utilizando como entrada
uno de los pulsadores. Compare los resultados. De acuerdo a la medición de la señal espuria
obtenida, ¿Cuánto debería ser el delay mínimo para eliminar el rebote?
Ilustración 3. Lectura con
delay
MICROPROCESADORES
LABORATORIO 2

Elimine la línea del delay. Pruebe de nuevo el programa y concluya ¿Cuál fue el efecto de eliminar
esa línea?

4.3 Eliminación por timer.


Uno de los inconvenientes con usar el delay es que el microcontrolador se bloquea mientras
hace la espera. Una forma de solucionar esto es usando los Timer del micro para temporizar las
dos lecturas consecutivas.
Modifique el bloque de entradas como se muestra en la Ilustración 4.

Ilustración 4. Timer para eliminar rebote

Defina las variables que considere necesarias. Configure uno de los timer para que
incremente la variable timer_10msOverFlow cada 10 milisegundos.
Repita la prueba de la Tabla 1 para este nuevo programa.

4.4 Implementación
Implemente un contador binario de 4 bits cuyo avance se controle con un pulsador y cuyo
retroceso se controle con el reedswitch. Debe asegurar que cada presión del pulsador
incremente sólo en una unidad el contador y que un paso del imán decremente sólo una unidad
el contador. Muestre el diagrama esquemático del circuito implementado y el código del mismo.

4.5 Investigación.
Investigue al menos dos formas de hacer eliminación de rebote por hardware. Ponga los
circuitos y explique su funcionamiento.

También podría gustarte