Está en la página 1de 15

TOGGLE pin

Pin : es una variable/constante que especifica el pin de E/S que se utilizará.

realiza la salida del pin y cambie el estado. En microcontroladores con


pines de entrada/salida configurables, este comando también configura
automáticamente el pin como salida.
Toggle 1
BUTTON

Este comando, es una muy útil función anti-rebote, en la cual podemos configurar
nuestras entradas empleadas con pulsadores. No permite que hallan falsas pulsaciones
por mantener presionado más tiempo del debido el pulsador y a su vez, requiere de un
tiempo dado el cual debe de ser presionado el pulsador, para que este comando lo
interprete como una orden. Con esto último, filtramos posibles interferencias que
disparen la orden equivocadamente en nuestro microcontrolador.

EL comando button, lee el pin de entrada establecido y opcionalmente ejecuta un


procedimiento interno de antirebote y autoprotección; O sea, si al volver del
procedimiento nota que el pulsador sigue presionado, lo ignora hasta que este vuelva
a su estado normal y vuelva a ser presionado.
BUTTON

button Pin, Down, Delay, Rate, Bvar, Action, Etiqueta

Pin: EL valor de Pin, es la entrada elegida para implementar este comando.


Down: Este valor, es para setear el estado del pin de entrada cuando se oprime el
pulsador (0..1)
Delay: este valor, otorga un contador de ciclos antes de que comience la auto-
repetición (0..255). Si es 0, no se efectúa anti-rebote ni auto-repetición. Si es 255 se
eliminan rebotes, pero no auto-repetición
Rate: Valor de auto-repetición (0..255)
BUTTON

button Pin, Down, Delay, Rate, Bvar, Action, Etiqueta

Bvar: Es la variable con tamaño de byte, que se usa internamente para conteo de
demoras y repeticiones. Debe ser inicializada a 0 antes de ser usada y no ser usada en
cualquier lugar del programa, ya que perderíamos los datos almacenados del conteo.

Action: estado del pulsador al ser actuado… puede ser 1 o 0, recuerden que nosotros
podemos invertir el estado de las entradas según nuestras necesidades….

Etiqueta: la ejecución comienza en esta etiqueta si es cierto Action


BUTTON

button Pin, Down, Delay, Rate, Bvar, Action, Etiqueta

inicio:
button 0,0,200,100,b2,0,cont
Toggle 1
goto inicio
cont:
high 7
pause 1000
low 7
goto inicio
PULSIN

Este comando, tiene como función observar el ancho de un pulso en un pin de


entrada o salida determinado. Si la opción “estado” tiene el valor cero, se mide el
ancho de un pulso bajo. Si la opción “estado” tiene el valor uno, se mide el ancho de
un pulso alto.

El ancho o duración medida del pulso así sea con lógica negativo o positiva, se
guarda en la variable que queramos establecer (b1,b2, etc).

Si el flanco del pulso nunca se efectúa, ó el ancho del pulso es demasiado grande para
ser medido, el valor de esta variable será igual a cero. Si se usa una variable de 8 bits,
solo se usan los bits menos significativos de la medición de 16 bits.
PULSIN

pulsin pin, estado, variable

Pin: Este dato en el comando pulsin, se define una variable o constante (0-7) que
especifica el pin de entrada o salida que se usará.

Estado: este dato es una variable o constante con los valores 0 o 1. Estos valores,
configura el tipo de pulso a medir en unidades de 10μs (para un cristal de 4MHz).
PULSIN

pulsin pin, estado, variable

Variable: Este dato en comando, define un registro especifico para almacenar el dato
obtenido.
Una nota muy importante a tener en cuenta, es que si el intervalo de espera ocurre
(.65536s), el resultado obtenido será igual a cero.
La resolución del comando PULSIN depende de la frecuencia de los osciladores, ya
sea internos (RC) u externos. Si se usa un oscilador de 4 MHz, el ancho de pulso se
obtiene en incrementos de 10μs. Si se usa un oscilador de 20 MHz, el ancho de pulso
tendrá una resolución de 2μs.
Definir un valor de OSC no tiene efectos sobre PULSIN. La resolución siempre
cambia con la velocidad del oscilador en uso.
PULSIN

pulsin pin, estado, variable

pulsin 3,1,b1 ‘guarda la longitud del pulso introducido en el pin 1 en la variable b1.
PULSOUT

Genera un pulso en un pin determinado, con un tiempo o periodo especificado. El


pulso se genera activando dos veces el pin, por lo que la polaridad del pulso depende
del estado inicial del pin.
PULSOUT

pulsout pin, tiempo (periodo)

Pin: Este dato, es el numero que especifica la salida que se implementara (0-7) con
este comando.
Tiempo o Período: Esta variable o constante, especifica el tiempo o período (0-
65535) en unidades de 10μs (para un cristal de 4MHz) que tendrá el pulso de salida.
La resolución de PULSOUT, al igual que PULSIN, depende de la frecuencia del
oscilador. Si se usa un oscilador de 4 MHz, el período del pulso generado estará en
incrementos de 10μs. Si se usa un oscilador de 20 MHz, estos períodos tendrán una
duración de 2μs. Definir un valor de OSC no tiene efectos sobre PULSOUT. La
resolución siempre cambia con la velocidad del oscilador en uso.
PULSOUT

pulsout pin, tiempo (periodo)

Inicio:
pulsout 4,150 ‘envía un pulso por el pin 4 de 1,5 ms de duración
pause 20 ‘pausa de 20 mS
goto inicio ‘salta a inicio y repite formando un bucle
PULSIN Y PULSOUT

Aplicaciones

para comunicación entre micros ya sea por intermedio de infrarrojos, radio


frecuencia, y también, nos dan la solución ideal para poder ampliar nuestras entradas
digitales a un máximo ilimitado, y que podemos establecer en nuestra rutina que
determinado pulso, significa un dato determinado, y otra cierta cantidad de pulsos,
otro dato determinado
 Realizar la investigación sobre los comandos
de infrarrojos (infrain, infraout) y realizar la
práctica en picaxe del programa.

También podría gustarte