Duda programacion "Semaforo" mediante Pickit1

Hola a todos, soy nuevo por aqui.

Me presento, soy un estudiante de ingenieria industrial de 3er curso y bien tengo un problema, mas que problema desconocimiento sobre programar pic's.

La question es la siguiente, se nos ha propuesto en electronica comprar el Pickit1 de microchip para iniciarnos en la programacion de pics, pues bien no se nos ha explicado nada, vamos que cada uno debe buscarse la vida y la question es:

programar un sistema con el pickit1 que simule el comportamiento de un semaforo, nose como tendra que ir, deduzco, quizas me equivoque, que se trata de encender cada X tiempo el led verde, amarillo y un rojo de los que incluye dicha placa.

La question es que me he leido varios tutoriales, ejemplos y no tengo ni idea de por donde empezar, he programado en visual C un algoritmo que simule el comportamiento de un semaforo de forma que cada X tiempo se vallan encendiendo los diferentes leds (en teoria), este programa lo introduzco en MPLAB, lo cargo, me voy a project wizard, HI-TECH...

Y al final compilas y no hace nada de nada estoy muy perdido...

Haber si alguien me ilumina, la question es simular un semaforo en la placa del pickit, seguro que es algo muy facil, imagino, pero no hay manera.

En resumen, conseguir encender 3 leds con diferencia de tiempo entre ellos.

Gracias.

PD: El aparato en question es este http://upload.wikimedia.org/wikipedia/commons/a/a4/Pickit1_top.jpg
 
Hola elec:

Nunca he utilizado una tarjeta de trabajo original como esa, pero supongo que es lo mismo que conectar una base para el pic a unos leds y pulsadores. Con la diferencia que esta ya trae su propio programador.

No creo que se puedan utilizar los leds verde y amarillo, ya que en el circuito impreso están marcados como POWER (enciende al estar conectado a la PC) y BUSY (Enciende al estar programando o leyendo el PIC), por lo que son de uso del programador únicamente, los que se pueden utilizar son los ocho leds rojos (Aunque claro, puedes quitar dos y cambiarlos por otros del color que necesites).

No has dicho que PIC estás utilizando, así como las conexiones que tiene la base hacia los leds.

La programación del semáforo podría ser en ASM, o en Basic.


El diagrama de flujo podría ser algo como:

____________SEMAFORO 1 ______________________ SEMAFORO 2

1.- Prende led verde - espera X tiempo ___________ Prende led rojo

2.- Parpadea led verde - espera X tiempo __________ .......................

3.- Enciende led amarillo - espera X tiempo _________ .......................

4.- Enciende led rojo __________________________ Enciende led verde - espera X timepo

5.- ...................................................... _____________ Parpadea led verde - espera X tiempo

6.-....................................................... _____________ Enciende led amarillo - espera X tiempo

7.- Regresa al inicio.


Para este proyecto podrías utilizar 6 leds, tres para cada semáforo, el inicio del programa sería automático a menos que quieras iniciarlo por medio del push que tiene la placa.


Espero y te sea útil esta información

Saludos al foro :D
 
Gracias por tu ayuda,

Lo que me has explicado lo he entendido todo, de forma que se programen "2 semaforos" de forma que cuando uno pase a la posicion de rojo el 2º pase a verde y asi sucesivamente.

La idea me parece muy buena y el diagrama de flujo que me has puesto tambien lo entiendo, la idea (guiandome por la imagen que puse) seria hacer los 2 semaforos usando los leds D0,1,2 y D6,5,6 quedaria muy bien.

El problema es que le he estado dando muchas vueltas a la cabeza e intentado programar el programa que hiciera eso y no hoy manera, nose como programar de forma que se enciendan dichos leds y menos programarlos en el tiempo. Haber si alguien me puede ajudar.

Por cierto el pic a programar es un 12F675.

Gracias.
 
Atrás
Arriba