Modulay:
el receptor IR que tengo no se la marca, lo compre en la electroncia con una carcaza metalica, parece ser que la salida de datos del IR es la pata del medio, ya que al alimentarlo esta pata del medio me tira 5V al no recivir señal
Por otro lado no utilizo interrupcion para detectar el flanco decendente ya que RB0 no lo utilido.... Por otro lado la unica interrupcion que utilozo es por desbordamiento del TMR0
Es decir cuando llega un bit a TMR0 lo carorgo con F1 y activo la interrupcion, luego cuando termino de almacenar el bit en la ram espero a que se active la interrupcion ahi es cuando pasaria 1.8 ms y asi susecivamente
La pata que utilizo es RA0 y chequeo esta pata de la siguiente manera
;*******************************************************************************************
;------------------------- Comienzo de la norma RC5 ---------------------------------------*
ARRANQUE btfsc PORTA , 2 ; Esperamos el bit de arranque
goto $-1 ; ......
call INTERRUPCION ; Configuarmos la interrupcion para TMR0
movlw 0xF1 ; tiempo de 1.788 ms
movwf TMR0 ; TMR0 = F1
bsf INDF , 0 ; Primer bit
incf CONTBIT , F ; incrementamos el contador de bits
;*******************************************************************************************
;*******************************************************************************************
ESPERA goto ESPERA ; Esperamos hasta que pasen los 1.788 ms
LUEGO de ke se produzca la interrupcion salto a la rutina RC5 para ir capturando los bits..... yasi susecivamente...
;*******************************************************************************************
;*******************************************************************************************
RC5 call INTERRUPCION ; Configuamos interrupcion
btfss PORTA , 2 ; 0 o 1 ???
goto UNO ; Capturamos nivel alto
goto CERO ; Capturamos nivel bajo
;*******************************************************************************************
;*******************************************************************************************
;---------------------- Captura los bit de nivel alto -------------------------------------*
UNO rlf INDF , F
incf CONTBIT , F
bsf INDF , 0
movlw 0xF1
movwf TMR0
btfsc CONTBIT , 3
goto RESET
goto ESPERA
;---------------------- Captura los bit de nivel bajo -------------------------------------*
CERO rlf INDF , F
incf CONTBIT , F
bcf INDF , 0
movlw 0xF1
movwf TMR0
btfsc CONTBIT , 3
goto RESET
goto ESPERA
;------------------------------------------------------------------------------------------*
RESET clrf CONTBIT
incf CONTBYTE, F
btfsc CONTBYTE, 1
goto VISUALIZA
incf FSR , F
clrf INDF
goto ESPERA
;*******************************************************************************************
;---------------------- Configuracion de interrupciones -----------------------------------*
INTERRUPCION bsf STATUS , RP0
movlw 0xA0
movwf INTCON
movlw 0xD7
movwf OPTION_REG
bcf STATUS , RP0
return
esta es la parte ke mas destaco ya ke no me anda la recepcion, si vos tenes alguna idea o si me ayudas a depurar mas el codigo... te agradeceria tus opiniones...
Nmos vemos en la proxima
PD: mi msn si kieren agregarme a su lista es
diecco@hotmail.com