Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Juanp en 26 de Abril de 2007, 01:32:37
Título: No me funciona la interrupción por overflow del TMR1
Publicado por: Juanp en 26 de Abril de 2007, 01:32:37
Buenas, tengo un problema. Configuro mi pic para realizar una interrupción por overflow del TMR1 pero no pasa nada. Alguien sabría decirme en que me estoy equivocando? Configuro el programa de la siguiente forma. Configuro el TMR1 como contador, y estimo que el overflow se produce luego de pasar por el valor FFFF, es correcto esto?
BSF PIE1,TMR1IE ; Activa Interrupción por Overflow del TMR1
BCF STATUS,RP0 ; Selecciono Banco 0
MOVLW 80 ; Cargo 10000000 para configurar las interrupciones MOVWF INTCON ; GIE=1 CLRF TMR1H ; Limpio las direcciones del Timer1 CLRF TMR1L
BSF T1CON,0 ; Comienza a Contar WAIT GOTO WAIT ; Espero interrupción
ADI BTFSC PIR1,0 ; Verifico si hubo desborde del TMR1 GOTO ETC ; si hubo desborde del TMR1 voy a rutina ERROR RETFIE
ETC.. bla bla
Nada más gentes, un saludo.
Título: Re: No me funciona la interrupción por overflow del TMR1
Publicado por: dhmejia en 26 de Abril de 2007, 09:33:20
Para habilitar la interrupción del timer1 debes también habilitar la interrupción de periféricos, bit 6 (PEIE) del registro INTCON, para configurar el INTCON debería ser:
Código: ASM
movlw 0xC0;11000000
movwf INTCON ; GIE =1, PEIE = 1
saludos,
Título: Re: No me funciona la interrupción por overflow del TMR1
Publicado por: maunix en 26 de Abril de 2007, 11:21:58