Вы находитесь на странице: 1из 3

Luces Chispeantes

Introduccin

Este es una Idea que nos trajo Raul Betancur acerca de un juego de luces que
realiza convinaciones segn como lo configuremos. El Proyecto es muy
interesante para aquellos que estan siguiendo el curso, porque dan buena
prctica para manejo de los micros. Est sobretodo interesante pues maneja
algo que aun no hemos visto aqui: El uso de botones y del temporizador. Para
los mas adelantados, podrn adems hacer uso de interrupciones y de la
memoria EEProm, ya que esta en nosotros cuan completo ser el proyecto.
Invito a todos a compartir esta idea y ponernos en prctica con este proyecto
ya que es la nica manera con la que se presentarn las dudas. Tambin
quiero darles la posibilidad de que compartan sus ideas enviandome su
solucin al problema a andres@moraldo.com.ar. Ademas a todos aquellos que
esten interesados se publicar la respuesta del mismo en los proximos das,
para que todos puedan compartir e intercabiar opiniones. Si asi lo deseas y
crees que tu proyecto vale, enviamelo a andres@moraldo.com.ar de la misma
manera que lo hizo Raul y ser publicado en esta pagina web para que todos lo
aprendamos. Demosle las gracias Raul Bentacur (raulbeta@hotmail.com), y a
todas aquellas personas que mandan a diario sus proyectos (entre ellas estoy
yo: andres@moraldo.com.ar)
Luces Chispeantes
Idea: Raul Betancur

El controlador tendr dos entradas (E1, E2) y ocho salidas. Las ocho salidas
estarn conectadas a 8 LED. De esta manera, controlando las ocho salidas, se
puede elegir cules LED estn encendidos y cules no.
Note que el estado de los ocho LED se puede describir usando un byte. En
consecuencia, una secuencia de estados se puede especificar usando un
arreglo de bytes. Para ejecutar una secuencia, basta con poner los bytes
respectivos en las salidas, uno tras otro, mantenindolos un tiempo.
El controlador podr mostrar cuatro secuencias diferentes las cuales estarn
representadas por cuatro arreglos de bytes. La secuencia que se mostrar se
selecciona por medio de las entradas, las cuales son controladas por dos
conmutadores.
DISEO DEL CONTROLADOR
El diseo del controlador de luces se describe a continuacin :
Los pines 6, 7, 8, 9, 10, 11, 12, 13 corresponden a las salidas RB0/INT, RB1,
RB2, RB3, RB4, RB5, RB6 y RB7 (puerto B del PIC). Cada uno de estos pines
estn conectados a un LED.

Los pines 1 y 2, que corresponden a las salidas RA2 y RA3 (puerto A del PIC),
estn conectados a conmutadores. Estos conmutadores determinan cul de las
4 programaciones predefinidas se desea ejecutar.

Cada patrn de programacin de los LED se encuentra almacenado en un


arreglo en memoria de 8 bytes. Es decir, 8 datos de 1 byte cada uno, que
representan los 8 estados de una secuencia. Dos de los patrones deben ser los
siguientes:
Patrn 1 ("Auto fantstico")
00000001
00000010
00000100
00001000
00010000
00100000
01000000
10000000
Patrn 2 ("White Christmas")
01010101
10101010
01010101
10101010
01010101
10101010
Los otros dos patrones quedan a inventiva del programador.
Cada byte de la secuencia indica cules LED deben encenderse en la salida
Algunas Soluciones
Solucion segun Raul Betancur: luchisra.zip (12Kb)

Ayuditas para la realizacin:


Para detectar los botones apretados se debe proseguir de la siguiente manera:
Se lee el puerto a, se le hace un andlw con el numero correspondiente a las
patas de entrada. Luego se carga el registro w con el valor a comparar y se le
sustrae el valor anterior. Si el resultado es 0 (es decir que ambos son iguales)
en el registro status existe un FLAG que nos lo indicar. (Es el bit Z que
corresponde al bit 2 del registro Status).
El uso del temporizador no es muy dificil ya que se accede de manera directa.
Eso si no olvidemos de ponerle el preescaler en un valor distinto de uno ya que
sino nos costara mucho leerlo.(a no ser de utilizar las interrupciones)
Bueno nada mas. Si algo no les sale, no se preocupen, esto es solo el
comienzo.
No se pierdan de armar el grabador de Pic

Вам также может понравиться