Autor Tema: Interrupcion RBIF  (Leído 3175 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Battic

  • PIC10
  • *
  • Mensajes: 6
Interrupcion RBIF
« en: 02 de Mayo de 2009, 22:57:18 »
Hola a todos, estoy utilizando un PIC18f4680, lo que pasa es que tengo un problema con una interrupcion. No se muy bien que es lo que le pasa pero se traba al entrar a la rutina de interrupcion. Ya no regresa al codigo ni nada.
Este es el dodigo:

LIST P=18F4680, F=INHX32   ;directive to define processor
#include <P18F4680.INC>   ;processor specific variable definitions

org 0x800 ;reset vector
goto Main

org 0x808
goto ISR

Main:

bsf      RCON,7         ;Enable priority interrupts
bcf      INTCON,RBIF      ;RBIF limpiar bandera
bsf      INTCON,RBIE      ;RBIE enables PORTB interrupt
bsf      INTCON,7      ;Activador General de Interrupciones

inicio
bsf      PORTA,0
btfsc    PORTB,3
goto     inicio
setf           PORTA
goto            supci

supci
movf    0x40,W              ;0x40=1
decfsz   0x50,F
goto           cicloA
bcf      INTCON,0      ;apago bandera de interrupcion
goto      fin

cicloA
btg      PORTA,0
movlw    0x0B
movwf    TMR0H
movlw    0xDC
movwf    TMR0L
cicloB
btfss    INTCON,2
goto            cicloB   
bcf            INTCON,2
goto     supci

ISR
btfsc           INTCON,0
retfie
bcf      PORTA, 1
clrf        WREG
movf    0x40,W       ;W=1
addwf   0x43,F      ;0x43=1+0x43
movf           0x43,W      ;W=valor en 0x43
cpfseq   0x49              ;lo comparas con un 2, si no, se regresa a cicloPrin
retfie
movlw   0x01       ;W=1
addwf   0x45,F      ;0x45=1+0x45
movf           0x41,W
addwf   0x49,F
retfie   

END

Yo se que le faltan muchas cosas, pero solo puse lo de la interrupcion aqui.
Todo lo que hace el codigo es que esta esperando a que presione un boton, ya que esta presionado se va al timer de 1 segundo y lo cuenta cuantas veces le pongo que cuente en el registro 0x50.
Pero a la vez quiero que la interrupcion sirva para contar las veces que uno de los switches <RB7:RB4> es oprimido.

Desconectado DanMech21

  • PIC10
  • *
  • Mensajes: 31
Re: Interrupcion RBIF
« Respuesta #1 en: 03 de Mayo de 2009, 03:56:21 »
Hola battic ... mira no soy un genio pero creo que tal vez no consigas respuestas por que segun mi ver ... tu programa esta en ASM y esta parte del foro creo que es para lenguaje BASIC ... asi que te recomiendo postear o pedirle al administrador que mueva tu hilo al Almasen de asm

Espero haber sido util, saludos
Aprendiendo cada dia algo nuevo.

Desconectado Battic

  • PIC10
  • *
  • Mensajes: 6
Re: Interrupcion RBIF
« Respuesta #2 en: 03 de Mayo de 2009, 14:19:05 »
Gracias, disculpa la molestia.


 

anything