Multitarea por hardware
Aristides (MicrosParallax.com.ar)
Es posible que en algunas aplicaciones el microcontrolador se encuentre realizando alguna tarea mientras en un Pin de entrada ingresa una señal de corta duración que desaparece antes de ser registrada, por lo que se pierde.
Esto se evita con un circuito bastante simple, que consta de un par complementario de transistores de pequeña señal que forman un tiristor de dos entradas. Una se puede disparar con nivel bajo y la otra con nivel alto (cualquiera de las dos es válida), el LED indica que se produjo una entrada y aporta un umbral de tensión que ayuda al apagado.
LISTADO DEL CÓDIGO
Este programa fue realizado para un BASIC Stamp con el propósito de demostrar
el funcionamiento del circuito, pero también se puede adaptar fácilmente
a cualquier otro microcontrolador.
Si se produce una entrada momentánea mientras se estaba ejecutando la
pausa de la rutina "inicio:", se dispara el tiristor, esto enciende
el LED y pone el Pin en cero hasta que el programa salte a la rutina "avisar:",
que después de hacer parpadear el LED apaga el tiristor.
'{$STAMP BS2}
INPUT 0
x VAR BYTE
inicio:
IF IN0=0 THEN avisar
PAUSE 5000
GOTO inicio
avisar:
FOR x=0 TO 4
LOW 0
PAUSE 500
REVERSE 0
PAUSE 500
NEXT
GOTO inicio
END
|