Puertos

¿Cómo se comportan los puertos del microcontrolador cuando son entradas y salidas?

Los puertos de los microcontroladores pueden configurarse como entradas o salidas, cuando es salida el puerto se comporta como colector abierto, por lo tanto debemos poner una resistencia Pull-up a Vcc de 1 Kohm. Cuando es configurada como entrada, funciona como disparador Schmitt Trigger por lo que puede reconocer señales con un poco de distorsión.
 
¿Sabes que es el rebote de un interruptor?

El rebote en un interruptor es un efecto mecánico-eléctrico que se presenta cuando se cierra o abre un interruptor, aunque uno sabe que se está presionando el botón, a nivel microscópico hay pequeños rebotes mecánicos, es decir el contacto se cierra y se abre varias veces antes de quedar en la posición cerrada final. Esto se traduce en un pequeño tren de impulsos en lugar de un cambio de nivel simple.


Si lo que estás realizando es contar el número de veces que el botón es pulsado, entonces contarás una cantidad igual al número de impulsos que componen a cada tren.

Así que debemos tomar en cuenta dicho efecto al momento de programar cuando utilicemos interruptores, por ejemplo con el siguiente algoritmo y el diagrama de flujo hecha con la herramienta de flowchart de PICAXE, en el cual se considera que cuando se presiona el interruptor da un 1 lógico:

Inicio:
Si PUERTODEFINIDO = 1 entonces
            Delay 100ms
            Si PUERTODEFINIDO = 0 entonces
                        Acción
Vuelve a inicio

Este pequeño ejemplo muestra que cuando recibe un 1 lógico en su puerto espera 100 milisegundos para realizar la siguiente acción y si cumple la segunda condición realiza la tarea.