Hola que tal, leete el manual del pic, ahi hay algo acerca de modificar el stack que es lo que necesitas hacer, de esta manera manipulas directamente e stack, y la interrupcion y banderas las activas tmb a como tu desees..
el stack, tengo entendido que es el registro donde se guardan las direcciones de retorno, pero tmb hay un auxiliar de ese registro que es un contador, que indica cual es la posicion que guarda la direccion a la cua debe de regresar.
Hola que tal soy nuevo por estos rumbos , quisiera ver si me pudieran aconsejar como hacer un reloj digital con un pic 16f877 utilizando la multiplexacion y la programacion por interrupciones.
Gracias.
Necesitas 2 timers, uno para refrescar los display y otro para el contador de tiempo.
hh:mm:ss
hay un timer que te da hasta 5xx,xxx micro segundos, lo puedes programar para que te de 500000 microsegundos, y cada 2 desbordes del mismo te aumente los segundos.
en cuanto a los displays, debes de refrescar uno solo al menos 24 veces por segundo para evitar el parpadeo, como son 6 displays multiplexados:
24*(6displays)=144 veces por segundo para los 6 displays en total.
un segundo tiene 1000000 microsegundos
1000000/144=6944 microsegundos aprox.
esto significa usando la tcnica de multiplexacion, donde solo puedes encender uno a la vez, cada uno debera permanecer encendido durante 6944 microsegundos, para asi lograr que los 6 displays se enciendan 24 veces en 1 segundo.
hay bastante información de esto en el foro, te recomiendo crear un nuevo topic, cuando es distinto el objetivo. ya que la mayoria de nosotros no tendemos a leer la fecha del post inicial y publicamos respuestas sin leer los demas posts saludos!