TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: lhyaz en 15 de Noviembre de 2008, 02:55:20

Título: Contador temporizador
Publicado por: lhyaz en 15 de Noviembre de 2008, 02:55:20
Hola a todos.

Estoy por construir un contador a cero para aplicarlo como temporizador con el 16f873. Tengo la idea de como funcionaria, pero no se bien como estructurar el codigo en C.  aqui el diagrama de flujo:

(http://i48.photobucket.com/albums/f232/lalo_007/Diagramadeflujo.jpg)

La idea que tengo es contar con 4 pulsadores N.O. (abiertos), dos de ellos para incrementar los valores de Hrs y Min por cada pulso que se les de (mientras dichos pulsadores esten habilitados), otro para inicio y otro de reinicio del sistema.

Generalizando, el sistema inicia con los 3 display en 0, y se incrementan en uno con los pulsadores H (un display 7 segementos, hasta 9) y M(dos display 7 segmentos hasta 59). Podria aplicar aqui un decoder externo?

Los valores se convierten en segundos para comenzar la cuenta desde ese valor hasta 0 al accionar un tercer pulsador, y con el cual se activará un relé que controlará una carga.
En este punto entra mostrar en los display, ahora, el tiempo restante (horas en el primer display y minutos en el segundo y tercero) hasta llegar a 0 en los 3

Llegando a 0 el contador, el sistema queda listo para una nueva cuenta.

El pulsador reset supongo que es el general del pic no?  con este en cualquier momento se lleva todo al inicio.

Bueno, espero no causarles muchas molestias y agradesco de antemano cualquier ayuda que me puedan facilitar.

Saludos a todos!
Título: Re: Contador temporizador
Publicado por: lhyaz en 16 de Noviembre de 2008, 20:35:28
Bueno, he decidido utilizar un contador externo para simplificar un poco el proyecto.

No se si el codigo del contador se puede meter ahora al pic para comenzar desde ahi la cuenta a cero?  es posible hacerlo asi?
Título: Re: Contador temporizador
Publicado por: MLO__ en 16 de Noviembre de 2008, 21:34:30
Hola.

Si quieres simplicarlo mejor usa las interrupciones de algun timer

saludos