TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: HEIMDAL13 en 02 de Abril de 2009, 12:42:01

Título: ayuda con reloj en basic
Publicado por: HEIMDAL13 en 02 de Abril de 2009, 12:42:01
hola tengo pensado crear un reloj con un pic 16f84, de momento tengo algunas ideas para hacerlo, como por ejemplo un bucle de 60 veces con pausas de 1 sec,  i otros metodos, pero me gustaria que me aconsegarais alguna manera simple para la rutina principal si es posible, es que creo que mis maneras son poco presisas.
Título: Re: ayuda con reloj en basic
Publicado por: Cryn en 02 de Abril de 2009, 12:51:01
puedes usar un cristal de 32.768KHz como reloj externo del TIMER1 y mediante interrupción obtener 1 o 2 segundos, o quizá un RTC de ser necesario, o puedes buscar más info por el foro

un saludo
Título: Re: ayuda con reloj en basic
Publicado por: HEIMDAL13 en 02 de Abril de 2009, 13:27:25
I no es posible hacerlo sin componentes externos?
Título: Re: ayuda con reloj en basic
Publicado por: Cryn en 02 de Abril de 2009, 13:41:15
claro que es posible, haciéndolo como dijiste contando 60 segundos, o usando solamente el TRM0 en cuenta interna, pero te llevará a "leves" o quizá mayores imprecisiones. Hay un hilo en el foro que propone hacer retardos precisos pero usando un cristal de 3.xxx MHz como OSC del micro.
Título: Re: ayuda con reloj en basic
Publicado por: HEIMDAL13 en 02 de Abril de 2009, 15:57:01
Este codigo estaria bien? o es mejor de otra forma?

codigo:

hours var word
minutes var word
seconds var word

menu:
for seconds = 0 to 60
pause 1000
next
minutes = minutes + 1
if minutes > 60 then inhours
endif
goto menu

inhours:
hours = hours + 1
goto menu
Título: Re: ayuda con reloj en basic
Publicado por: Cryn en 02 de Abril de 2009, 17:34:28
quizá funcione, pero me parece que un  reloj no se lo hace solamente con retardos, pues lo hará bastante impreciso.

Te recomiendo que le des una mirada a usar la interrupción por el timer0 o timer1 y así no estas "perdiendo el tiempo" del micro ejecutando y ejecutando todo el tiempo retardo tras retardo y lo ocupas con otra tarea nose como sensar algo o mostrar algo por leds o displays, etc.

un saludo
Título: Re: ayuda con reloj en basic
Publicado por: HEIMDAL13 en 03 de Abril de 2009, 10:54:08
i como puedo utilizar timer0 i 1 con PBP, porque me parece que solo se puede usar esto en asm no?
Título: Re: ayuda con reloj en basic
Publicado por: septiembre_negro en 03 de Abril de 2009, 16:26:07
no  :mrgreen:

Hola en basic tienes el control a todos los recursos del pic, en este mismo foro hay muchos ejemplos de como trabajar con el tmr0 e incluso ya esta echo lo que pretendes , con algunas rutinas adicionales que mejoran la exactitud del reloj.
Además como dato adiciona se pueden incluir rutinas en asm dentro de un codigo en basic si no mal recuerdo con la libreria  asm endasm
Título: Re: ayuda con reloj en basic
Publicado por: HEIMDAL13 en 03 de Abril de 2009, 16:33:26
ok gracias