Documente Academic
Documente Profesional
Documente Cultură
w Interrupciones
w Timer 0
w Timer 1
w Timer 2
El Timer 0
movlw 10 movlw 10
movwf TMR0 movwf TMR0
LAZO:
goto LAZO
Una vez alcanzado el valor 255, el registro TMR0 es puesto a cero automáticamente
reemprendiendo entonces el conteo nó desde el valor originariamente cargado sino
desde cero.
El Registro TMR0
(Bloques Internos)
Fosc/4 es una señal generada
internamente por el PIC Posibles fuentes de
tomada del circuito de reloj y reloj para el TMR0
que es igual a la frecuencia PSA = 1 watchDOG
del oscilador dividida por
cuatro. PSA = 0 TIMER0
Cristal de 4MHz
Ejemplo de funcionamiento
Ejemplo de funcionamiento:
Prescaler
0 0 0 2 500.000
0 0 1 4 250.000
0 1 0 8 125.000
TIMER0 :
Donde:
Tosc = 1 / Fosc
Ftimer = Fosc/4
El Timer 1
INICIANDO TIMER0
init_timer0
Bank1
movlw b'11010111'
movwf OPTION_REG ; inicializa Timer0
Bank0
clrf TMR0 ; Cuenta desde 0
;--------------------------------
bsf INTCON,T0IE ; Habilita interrupcion Externa
return ; return from subroutine
Interrupciones !
?
Interrupciones: Causas (Fuentes)
Rebosamiento TMR0
•
Convertidor A/D
•
Rebosamiento TMR1
•
TMR2
•
1. Para evitar que se produzca otra interrupción mientras dura el tratamiento de la que se
ha aceptado, el bit GIE se pone a 0.