reloj digital con interrupciones??

Hola a todos… Debo hacer un reloj digital y por ahora lo que tengo es esto…
Active la interrupción por desbordamiento del TMR0 para cada segundo la cual incrementara una variable segundos y así sucesivamente lo hará con minutos y horas….
Pero debo tener un botón que al ser presionado el conteo se detenga “RB0” y con otros tres botones ponga la hora que yo desee y con el mismo botón “RB0” vuelva a colocar en marcha el conteo…. Entonces se utilizó dos interrupciones una que es cuando se desborda el TMR0 en un segundo y la otra cuando se presiona el botón que se encuentra el en pin RB0, se utilizaron prioridades, la mayor prioridad la tiene el botón y la de baja prioridad la tiene el desbordamiento del timer0, bueno mi pregunta es esta, estoy utilizando assembler y el PIC 18f452, y me gustaría saber si esta configuración es correcta ya que no manejo muy bien las interrupciones, otra cosa todo esto se visualizara por la LCD pero no tengo problemas con esto…. Puede que existan muchas formas de hacer este tipo de reloj pero como es para un trabajo la debo hacer así, toda ayuda que me proporcionen se las agradeceré…..

esta son las partes de las cuales no estoy seguro.....


.
.
.
ORG 0X00
goto start
ORG 0X08
goto BOT_ISR ;interrupcion cuando se presiona RB0
ORG 0X18
goto TMR0_ISR ;interrupcion cuando se desborda TMR en un segundo
ORG 0X262

.
.
.
.
movlw b'11101000'
movwf INTCON
movlw b'00000001'
movwf INTCON2

cuando intento simular por el mplab la parte de la interrupcion por un segundo no se dirige a la interrupcion pasa 1s, 3s, 12s y nada no se dirige a la interrupcion del desbordamiento que la llame TMR0_ISR supuse que debe ser mal configuracion del INTCON...muchas gracias.... :rolleyes:
 
Hola soy tecnico en electronica y aficionado a los PIC, no se si lo que te voy a decir te sirva.

No se si tienes que utilizar ese micro y assembler por obligacion, por eso te recomiendo un PIC16F877 y lenguaje C, a mi parecer te ahorrarías mucho trabajo. No trabaje mucho interrupciones con assembler por que empece a manejar C en esos tiempos, pero te aconsejo que revises si las subrutinas son adecuadas.

SUERTE
 
Atrás
Arriba