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 |
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 recibido
![]() |