TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado 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?
-
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
-
Gracias Maunix. Todo aclarado