Autor Tema: Incrementar TMR0 Mplab sim  (Leído 3842 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado tavisho

  • PIC12
  • **
  • Mensajes: 94
Incrementar TMR0 Mplab sim
« en: 03 de Febrero de 2008, 23:51:07 »
Hola a todos los foreros de mplab sim, esta es una pregunta que he buscado en toda la red y no he encontrado su respuesta.
Debido a que quiero analizar los valores cargados en los registros durante las interrupciones quiero desbordar a Tmr0 para generar 1, y no se como lograrlo; no encuentro forma alguna en stimulus. lo que quiero es que tmr0 se valla incrementando como si fuera un circuito real, para que cuando se desborde se ocasione la interrupcion y ver como funciona la rutina y a donde me manda retfie. Alguien que pueda darme una luz al respcto? :-)

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: Incrementar TMR0 Mplab sim
« Respuesta #1 en: 04 de Febrero de 2008, 02:45:22 »
ahora, el timer0 lo vas a usar como contador o como temporizador? ya que si es como lo primero, ahi si puedes usar los stimulus, pero si es como lo segundo deberias avanzar el programa hasta la parte donde comienze a incrementarse el tmr0 y despues y detenerlo con un brake en donde salte a la interrupcion que desees o a la siguiente linea  del programa

Desconectado tavisho

  • PIC12
  • **
  • Mensajes: 94
Re: Incrementar TMR0 Mplab sim
« Respuesta #2 en: 04 de Febrero de 2008, 03:58:43 »
Pues yo lo uso como temporizador, mas no he entendido tu explicacion, podrias ser un poco mas especifico?

Desconectado Jorge_

  • PIC10
  • *
  • Mensajes: 30
Re: Incrementar TMR0 Mplab sim
« Respuesta #3 en: 04 de Febrero de 2008, 17:59:57 »
Lo que dijo, es que agregues un breakpoint en la rutina de intrrupción del timer0, y en el mpsim hagas click sobre run, hasta que se detenga por el breakpoint, en ese momento el timer0 desbordó.

JoseV

  • Visitante
Re: Incrementar TMR0 Mplab sim
« Respuesta #4 en: 04 de Febrero de 2008, 18:08:26 »
Hola:
A ver si te vale esto que acabo de dejar en el foro
http://www.todopic.com.ar/foros/index.php?topic=20125.0
Saludos
JoseV

Desconectado tavisho

  • PIC12
  • **
  • Mensajes: 94
Re: Incrementar TMR0 Mplab sim
« Respuesta #5 en: 04 de Febrero de 2008, 21:29:09 »
Creo que ya he entendido las interrupciones, desde mi particular punto de vista. Aquí se los expongo y si sienten que estoy errado ojalá me lo escriban.
Cuando hemos habilitado el bit GIE y también el de el pin RBO/int (por decir alguno) el pic está avisado que pueden ocasionarse interrupciones de algún tipo, una vez hecho esto, el pic hace correr el programa con toda tranquilidad hasta que detecta una de las causas de interrupción y va hacia la dirección 0x04 del vector de interrupción para su tratamiento.
Esto quiere decir que cuando habilitamos una causa de interrupción el micro se da cuenta de la misma sin que nosotros nos preocupemos por hacer una rutina para encontrarla? ( quiero decir que el micro en segundo plano está atento de las interrupciones mientras en el primero sigue on el curso normal del programa).
La única duda que me queda es hacia donde nos regresa la instrucción retfie, siempre hacia una dirección del pc en particular?
O hacia la dirección donde se encontraba corriendo el programa hasta q se originó la interrupción?
Me inclino por la segunda.
Por su atención gracias

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: Incrementar TMR0 Mplab sim
« Respuesta #6 en: 05 de Febrero de 2008, 03:46:24 »
sobre tu conceto sobre la interrupcion, esta bien, ahora con respecto a esto:

La única duda que me queda es hacia donde nos regresa la instrucción retfie, siempre hacia una dirección del pc en particular? O hacia la dirección donde se encontraba corriendo el programa hasta q se originó la interrupción? Me inclino por la segunda. Por su atención gracias

cuando se produce un interrupcion, el PIC antes de atender la interrupcion, guarda en su PILA, el valor del PC+1(la siguiente instruccion antes de la interrupcion) y de ahi parte hacia el vector de interrupcion, con el retfie pone a 1 el bit GIE y coge de la PILA ese valor que guardo anteriormente y lo carga al PC.


 

anything