Académique Documents
Professionnel Documents
Culture Documents
Registro TMR0
Interrupciones
movlw 10 movlw 10
movwf TMR0 movwf TMR0
LAZO:
goto LAZO
Una vez alcanzado el valor 255, el registro TMR0 es puesto a cero automticamente
reemprendiendo entonces el conteo no desde el valor originariamente cargado sino
desde cero.
0 0 0 2 500.000
0 0 1 4 250.000
0 1 0 8 125.000
2. Para evitar que se produzca otra interrupcin mientras dura el tratamiento de la que se
ha aceptado, el bit GIE se pone a 0.
#include <p16F877A.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _HS_OSC & _WRT_ENABLE_ON & _LVP_OFF & _DEBUG_OFF & _CPD_OFF
org 0x00
1 clrf PCLATH
goto PRINCIPAL
rutina_int:
;Bloque de la rutina interrupcin. 6
TMR0 = 158
PASOS:
Banco1
movlw B'10000111 ; pull-up=off,preescalador a TMR0=1:256
movwf OPTION_REG
Banco0
; Habilitacin de Interrupciones
movlw b'11000000' ;GIE=1,PEIE=1 hab. int perif., noTMR0
movwf INTCON
; Programa Principal e Inicio
INICIO:
bsf INTCON,T0IE ; Se habilitan interrupciones del TMR0
uC Ton=10ms
RD1
Toff=10ms
RD2
Interrupciones: IntTimer0.asm