0 Usuarios y 1 Visitante están viendo este tema.
' Ejemplo de cómo utilizar la interrupcion INT_RB en PBP DEVICE 16F877A ALL_DIGITAL=TRUE SYMBOL RBIF = INTCON.0 ' Flag de interrupcion del puerto B SYMBOL RBIE = INTCON.3 ' RB Port Change Interrupt Enable SYMBOL GIE = INTCON.7 ' Global Interrupt Enable TRISB=%11111111 ' portb entradas TRISD=%00000000 PORTD=0 INTCON = $88 ' Habilita las interrupciones en los pines RB4 a RB7 On Interrupt GoTo mi_int ' Define donde salta cuando hay interrupcion loop: RBIF=0 RBIE=1 GIE=1 High portd.7 'Enciende el LED GoTo loop 'comienza nuevamente el programa 'Rutina de Interrupcion Disable ' Desabilita las interrupcionesmi_int: GIE=0 Low portd.7 ' Apaga el Led Pause 500 ' Espera de 1/2 segundo RBIF=0 ' Borra la bandera de interrupcion GIE=1 Resume ' vuelve al programa Enable ' Habilita nuevamente las interrupciones end
Efectivamente debes hacer una lectura del puertoB, aunque no la uses para nada, para limpiar el RBIF.