TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: xago en 08 de Abril de 2008, 15:31:47

Título: Dudas sobre temporizaciones e interrupciones
Publicado por: xago en 08 de Abril de 2008, 15:31:47
Hola a todos, estoy empezando a estudiar el tema de las interrupciones y temporizaciones y me surgieron algunas dudas, que agradecería que alguien que me ayudara.
 En una secuencia de programa parecida a esta:

movlw 0xD6
movwf  TMR0
.                            ; ¿A partir de este momento el TMR0 empezaría a temporizar?
bsf   INTCON,T0IE   ; Estamos habilitando la interrupción del TMR0. ¿Sería suficiente para generar la interrupción o además se necesitaría que bit GIE estuviera a 1?
.
bsf   INTCON,GIE     ; ¿Con esta instrucción estamos habilitando las interrupciones, empezaría el TMR0 a temporizar o tendría el efecto semejante a la instrucción 
                                 "call" respecto a la interrupción?
Título: Re: Dudas sobre temporizaciones e interrupciones
Publicado por: maunix en 09 de Abril de 2008, 16:44:06
Asumo que de un PIC16Fxx , en ellos el TMR0 está todo el tiempo funcionando , no se detiene.

Ahora bien, cuando cargas su registro TMR0 el incremento del mismo queda inhibido por 2 ciclos de instrucción.  Esto pudiera cambiar de micro a micro pero en los que he usado en la familia 16F esto es así.

En tu caso por 2 ciclos el TMR0 mantendrá el valor 0xD6.

Con respecto al GIE sí, es necesario que esté activado para que salte una INTERRUPCIÓN, ahora el FLAG T0IF se activará tengas o no activada la interrupción.

Saludos
Título: Re: Dudas sobre temporizaciones e interrupciones
Publicado por: xago en 10 de Abril de 2008, 11:13:16
Gracias Maunix. Todo aclarado