Pic18f45 e interrupciones

necesito la solucion a este problema: programar un pic18f4520 para que se realice una temporizacion de 5 segundos cuando se active un pulsador colocado en RB1. Durante la temporizacion, se debe encender un diodo led colocado en RC0
el problema radica en que el pulsador hay que controlarlo por medio de interrupciones.
 
ai amigo los micros tienes ese tipo de interrupcion en este caso seria una Interrupcion externa "int_ext" es decir en este cado el (pulsador) y no seria muy complicado hacerlo en que compilas los programas yo lo hago en ccs _ picc el funcionamiento es sencillo solamente habilitas la interrupcion especifica , configuras la forma de tomar la interrupcion es decir ( de alto a bajo ) o viceversa y habiltas las interrupciones dentro de dicha interrupcion podrias obtener el temporizador ,, saludos y estamos en comunicacion
 
Es para INT en RB0 - 16F84A



; ESTE PROGRAMA EJEMPLIFICA EL USO DE LA INTERRUPCION POR RB0/INT EN FLANCO DE BAJADA

LIST P=PIC16F84A
LIST C=132

INCLUDE P16F84A.INC
ERRORLEVEL -302
__CONFIG _WDT_OFF & _CP_OFF & _HS_OSC & _PWRTE_ON


ORG 0x0000
GOTO CONFIGU
ORG 0x0004
;-------------------------------------------------------------------
INTERRUPT NOP
BTFSS INTCON,1 ; CHECA SI HUBO INTERRUPCION POR RB0
RETFIE
BCF INTCON,INTF ; SI FUE POR RB0, BORRA EL FLAG
; HACER OPERACIONES
RETFIE
;-------------------------------------------------------------------
CONFIGU NOP

BSF STATUS,RP0 ; Bank 1
MOVLW 0xFF
MOVWF TRISA
CLRF TRISB
BSF TRISB,0
MOVLW B'10000000'
MOVWF OPTION_REG
BCF STATUS,RP0 ; Bank 0

MOVLW B'10010000'
MOVWF INTCON

CLRF PORTB

INICIO NOP
GOTO $



END
 
Atrás
Arriba