Translate

lunes, 22 de diciembre de 2008

Una secuencia para LED's

Ahora que ya sabemos hacer blink en las salidas del PIC, podemos jugar con el puerto para hacer una secuencia de luces. La idea es correr el encendido de los LED's desde RB0 a RB7 y de RB7 a RB0.

Asi que vamos a usar los operadores corriemiento a la derecha(>>) y corrimiento a la izquierda(<<), para cambiar el sentido del corrimiento vamos a utilizar un botón, por lo que necesitaremos que un PIN actúe como entrada. Cuando este activado nos entregara un 1 lógico y la secuencia recorrerá de Rb0 a RB7 y cuando este desactivado nos entregara un 0  lógico y la secuencia recorrerá de RB7 a RB0. 

Para este fin usaremos el siguiente programa:

Como podemos ver el if..else es el que hace toda la tarea dependiendo del estado del botón, dentro del if..else hay un for que nos ayuda a recorrer el BIT 8 veces que son los pines del PORTB y la pausa que nos ayuda a visualizar el corrimiento.

Tenemos que notar que para cambiar el sentido del corrimiento tendremos que esperar a que se termine la secuencia de cada for, ya que no para de forma inmediata, para que se salga de forma inmediata se tendrá que hacer con una condición y la sentencia break, pero ojala eso lo puedan implementar ustedes.

Adjunto el video de la simulación:

1 comentario:

  1. Gracias por el aporte necesitaba algo así de preciso y elaborado gracias por tu dedicación se te agradece de corazón.

    ResponderEliminar