Para el receptor usaremos el protocolo

que es el que usa sony es corto y efectivo
así que si lo deseamos no tenemos que hacer el transmisor
ya que podremos usar cualquier control universal

PROTOCOLO SIRCS

inicio
comando
tipo de aparato
1111
01
011
01
01
01
01
01
011
01
01
01
01

G

D0
D1
D2
D3
D4
D5
D6
C0
C1
C2
C3
C4
2400 useg
comando 3
tv

 

este codigo es representado en forma binaria como sigue

1111 010110101010101 01101010101

HACEMOS 01 = 0

Y 011 = 1

tenemos un codigo de 12 bits mas la cabecera

1111 010000010000

 

el trabajo se concentra en los 7 bits lógicos después de la cabecera

ya que los últimos 5 son para identificar el aparato
primero hacemos una Subrutina que cheque
cuando se recibe la cabecera

 

        checacb  
               CLRF   Temp          ; borramos el registro temp
        cbz1  
               INCF   Temp,F 
               BSF    GPIO,3 
               MOVLW  D'250'        ; checa si la cabecera 
               SUBWF  Temp,W    ; es mayor a 3 mseg 
               GOTO   cbz0            ; y aborta 
               GOTO   cbz1            ; si no sigue en el ciclo
               MOVLW  D'138'        ; checa si la cabecera 
               SUBWF  Temp,W     ;es menor de 1 mseg
               RETLW  0                 ; y aborta
        cbz0   
               RETLW  0 

 

después una Subrutina recibe el código y checa los tiempos
de cada pulso recibido esta tiene 7 x 7 = 49 + 3
candados para dar por valido el código reci
bido

y por ultimo comparamos sí el código recibido
es igual al que tenemos grabado en el pic