Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/11/2010 #1


Dudas con el PIC16F876
Hola, soy recien iniciado en este mudo de los microcontroladores, he empezado estudiando el funcionamiento del PIC16F876 y ya he programado alguns cosillas, decir que todo esto es una pasada, pero ahora quiero enfrentarme a un proyectillo mas grande. A ver, disponogo de una placa con un teclado para la entrada de datos i una pantalla LCD i unos 8 polsadores, bueno eso es lo de menos, mi pregutna es la siguiente:

- Quiero programar el PIC16F876 para que me haga la funcion de reloj digital con multiples aplicaciones. La duda que tengo es que no se hacer para que funcione concurrentemente dos aplicaciones simultaneamente, por ejemplo que funcione el cronometre que tiene i que continue marcando el hora correctamente.

- Otra duda que tengo es la de corregir el tiempo para que no se pierdan cyclos entre las instrucciones i la llamada a las rutinas de interrumpcion del TIMER i que no se me avance o pierdan segundos cada X tiempo.

- I la ultima, que timers me recomendais utilizar para el reloj i para el cronometro?? (el cronometro tiene que mostrarme asta las centecimas)

Gracias a todos,

saludos!!!!
03/11/2010 #2

Avatar de ByAxel

Puedes usar el Timer 1 con cristal externo de 32.768Khz en modo interrupción para contar los segundos exactamente pero con centésimas no creo que salga y cuando no está en interrupción puede hacer el resto de procesos.
Sobre corregir el tiempo y si estás programando en ASM lo más correcto es que averigües cuantos ciclos se demora en hacer algo el PIC (instrucciones simples duran un ciclo, de salto y condicionales duran dos ciclos...) y redondear el tiempo usando "Nop"...

PD: ¿En que lenguaje estás programando?

saludos
03/11/2010 #3


Hola ByAxel, primero que todo gracias por contestar. Despues estoy programando con C, i bueno lo de las centessimas es para el cronometro que quiero programar-le, este quiero que me indique las centessimas tambien.

Asi que me recomiendas que para el reloj(este sole me tiene que mostar horas i minutos) utilize el TIMER 1, i para el cronometro utilizo el TIMER 0 o el TIMER2??

lo de los ciclos, si mal no recuerdo, es como tu bien has comentado "para instrucciones simples duran un ciclo, para instrucciones de salto y condicionales duran dos ciclos.

Mi principal idea era hacer el reloj que me da las horas i minutos con el TIMER1 ia que tiene menos error i metiendole algo para corregir el poco que da(en ese caso seria lo del cristal), pero despues para el cronometro no sabia cual utilizar si el 0 o el 2
03/11/2010 #4

Avatar de ByAxel

De poder, puedes usar otros timer pero el problema es sincronizarlos, ahora si usas un timer para el reloj y otro para el cronómetro, eso ya es distinto...
Con el Timer 1 con cristal externo logras conseguir segundos clavados; de esa forma ya obtienes los minutos y horas.
Con otro timer 0/2 cuentas centésimas pero como estos timer dependen del cristal a la que trabaja el CPU del PIC solo conseguirás una aproximación a las centésimas (dependen de la frecuencia del cristal principal).
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.