mira aqui hay un pequeño esquema con el RLP434, es sencillo, o tambien estan los zigbee a mayor frecuencia,
sobre la comunicacion te paso un codigo en asm para el pic18F no se que micro uses pero es facil acoplar el codigo
espero te sirva, esta facil...
lo que hace el codigo es transmitir y recibir por las termianles C0 (tx)y C1 (rx) (cabe mencionar que no es necesario que tu pic tenga hardware para comunicacion serial estas estan trabajando con entradas y salidas de datos digitales) , y en las salidas esta un arreglo de leds tipo matriz de 5x3, esto pues te despliega letras, tu puedes cambiar en el codigo las letras que ocupes o el tipo de datos, y las entradas B funcionan para que coloques el codigo a mandar, y con la entrada B5 creo!!, se manda la instruccion para mandar el codigo, esta fue una practica que hice en la escuela asi que le falta depurar, pero para algo didactico te puede serivr, saludos
;Bloque de declaraciones y bla bla blah
; Nuestro formato de letras se llama codigo IEP el quebra cocos, es de 5 bits
;00000 nulo
;00001 A
;00010 B
;00011 C
;00100 D
;00101 E
;00110 F
;00111 G
;01000 H
;01001 I
;01010 J
;01011 K
;01100 L
;01101 M
;01110 N
;01111 ñ N_
;10000 O
;10001 P
;10010 Q
;10011 R
;10100 S
;10101 T
;10110 U
;10111 V
;11000 W
;11001 X
;11010 Y
;11011 Z
;11100 GUION BAJO _
;11101 <
;11110 >
;11111 secuencia de prueba
#INCLUDE <p18F4550.inc>
LECTURA EQU 0x0050 ;Variable de estado
LECTURA_PRUEBA EQU 0x0055 ;Variable de estado
temp EQU 0x0054
temp_retraso EQU 0x0051
temp2_retraso EQU 0x0052
temp3_retraso EQU 0x0053
Ind_Buf EQU 0x00 ; Contador de número de datos copiados
Buf_Dat EQU 0x20 ; Bufer de recepción/transmisión
ORG 0x00 ;Vectorizacion
; GOTO inicio
;------------------------------------------
. BCF INTCON,7 ;DESACTIVAR INTERRUPCIONES
BCF WDTCON,0 ;dESACTIVAR WDT
MOVLW b'00000000' ;timer 0 apagado
MOVWF T0CON ;
;registros de interrupciones
BCF INTCON,7 ;deshabilitar interrupciones
; configurar puertos
CLRF PORTB ; Initialize LATB by clearing output data latches
CLRF LATB ; Alternate method to clear output data latches
MOVLW 0Eh ; Set RB<4:0> as
MOVWF ADCON1 ; digital I/O pins (required if config bit PBADEN is set)
MOVLW 0xFF ; Value used to initialize data direction
MOVWF TRISB ; Set RB<3:0> as inputs RB<5:4> as outputs RB<7:6> as inputs
CLRF PORTD
CLRF LATD
MOVLW 0x00 ;d SALIDA DE MATRIZ DE LEDS
MOVWF TRISD
CLRF PORTC
CLRF LATC
MOVLW 0xFE ;C configuramos primero para leer si hay cambios
MOVWF TRISC ;en las entradas de transmision, si los hay se va
;11111110 ;al codigp para recivir datos,
; para entrar en modo de transmision, al haber 1 en
; rb5 se pasa al codigo de transmision que debera de cargar
; MOVLW b'11111100' a TRISC
;==========================================================================================
;=========antes de hacer algo primero debe de comparar si estara como transmisor o receptor
;==========================================================================================
inicio:
;goto secuencia_prueba
;BTG LATC,0,0
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
;goto LETRA_B
CALL transmisor
;BTG LATC,2,0
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
;goto LETRA_A
GOTO receptor
GOTO inicio ; aqui hay un ciclo infinito hasta que se precione B5 o reciba por primera vez
;============================================
;============TERMINA LA RECEPCION============
;============================================
;==PRUEBA PARA SACAR EL DATO QUE MANDAMOS EN EL PUERTO B
loop_infinito
goto loop_infinito
;==PRUEBA PARA SACAR EL DATO QUE MANDAMOS EN EL PUERTO B
; *****************
; *****************
; **TRANSMISOR*****
; *****************
; *****************
transmisor: ;C0=CLK CI=INFO
BCF LATC,0
CLRF LECTURA_PRUEBA ;BORRAME<,----------------
BSF LATC,0 ;c0=CLK=1 ESTO INDICARA AL RECEPTOR QUE EMEPIECE A RECIVIR, RECIBIRA DESPUES DEL SIGUEINTE PULSO ALTO
BCF TRISC,1 ;C1=OUT --> C1=INFO ; EVENTO A- ESTO PONE cIN COMO SALIA PARA TRANSMITIR INFO, AL FINALIZAR LA TRANSMISION DEBE REGRESAR A C1=OUT
CALL retraso_
BCF LATC,0 ;C0=O clk=0
BCF LATC,1 ; info=0
CALL retraso_
;LECTURA DE B0
BTFSC PORTB,0,0 ;leer B0 SI B0=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF LATC,1 ;C1=1 - INFO= 1
BSF LATC,0 ;C0=1 - CLK =1
CALL retraso_ ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
; leer el codigo en c0 e interpretar el cambio de CLK
BCF LATC,0 ; CLK=0
BCF LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL retraso_
BTFSC PORTB,0
BSF LECTURA_PRUEBA,0
;LECTURA DE B1
BTFSC PORTB,1,0 ;leer B1 SI B1=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF LATC,1 ;C1=1 - INFO= 1
BSF LATC,0 ;C0=1 - CLK =1
CALL retraso_ ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
; leer el codigo en c0 e interpretar el cambio de CLK
BCF LATC,0 ; CLK=0
BCF LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL retraso_
BTFSC PORTB,1
BSF LECTURA_PRUEBA,1
;LECTURA DE B2
BTFSC PORTB,2,0 ;leer B2 SI B2=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF LATC,1 ;C1=1 - INFO= 1
BSF LATC,0 ;C0=1 - CLK =1
CALL retraso_ ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
; leer el codigo en c0 e interpretar el cambio de CLK
BCF LATC,0 ; CLK=0
BCF LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL retraso_
BTFSC PORTB,2
BSF LECTURA_PRUEBA,2
;LECTURA DE B3
BTFSC PORTB,3,0 ;leer B3 SI B3=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF LATC,1 ;C1=1 - INFO= 1
BSF LATC,0 ;C0=1 - CLK =1
CALL retraso_ ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
; leer el codigo en c0 e interpretar el cambio de CLK
BCF LATC,0 ; CLK=0
BCF LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL retraso_
BTFSC PORTB,3
BSF LECTURA_PRUEBA,3
;LECTURA DE B4
BTFSC PORTB,4,0 ;leer B4 SI B4=1 C1=1, SI NO LO MANTIEN EN SU ESTADO ANTERIOR, OSEA 0
BSF LATC,1 ;C1=1 - INFO= 1
BSF LATC,0 ;C0=1 - CLK =1
CALL retraso_ ; aqui daremos u pequeño intervalo de tiempo para dalr tiempo al receptor en
; leer el codigo en c0 e interpretar el cambio de CLK
BCF LATC,0 ; CLK=0
BCF LATC,1 ; INFO=0----se borra para aplicar el criterio de coparacion siguietne
CALL retraso_
BTFSC PORTB,4
BSF LECTURA_PRUEBA,4
BSF TRISC,1 ;C1=INFO --> C1=IN ; EVENTO B- ESTO PONE cINFO COMO entrada PARA detectar una transmision
;proveniente de otro micro, AL zomenzar LA TRANSMISION DEBE cambiar C0=OUT-->C0=info recivida (evendo 'c')
;====================================
; FIN DE LA TRANSMISION
;====================================
; MOVFF LECTURA_PRUEBA,LATD; BORRAME<<<<<<<<<<<<<<<<<---------------
return ; REGRESARA DE DONDE LE HABLARON
;============================================
;============INICIA LA RECEPCION=============
;============================================
receptor: ;c0=info c1= clk
BSF TRISC,0 ; co=INFO OUT SE PONE EN IN Y RECIBIRA LA INFORMACION (evento 'c'), al temrinar debe de regresar c0=Cinfo --> C0=Cout
CLRF LECTURA
BTFSC PORTC,1,0 ;leer c1=clk y SALTARA hasta que clk=0 <<<salta si es cero>>>
goto receptor
; EMPIEZA CICLO PARA DIGITO 0
BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 salta
BRA $-1
;LECTURA0
BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF LECTURA,0 ;ACTIVA LECTURA0
BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1
BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
; FINALIZA CICLO PARA DIGITO 0
;LECTURA1
BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF LECTURA,1 ;ACTIVA LECTURA1
BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1
BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
;LECTURA2
BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF LECTURA,2 ;ACTIVA LECTURA2
BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1
BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
;LECTURA3
BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF LECTURA,3 ;ACTIVA LECTURA3
BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1
BTFSS PORTC,1,0 ;leer c1=clk SI ES 1 SALTA
BRA $-1
;LECTURA4
BTFSC PORTC,0,0 ;leer c0=INFO SI ES 1
BSF LECTURA,4 ;ACTIVA LECTURA4
BTFSC PORTC,1,0 ;leer c1=clk SI ES 0 SALTA
BRA $-1
BCF TRISC,0
;============================================
;============TERMINA LA RECEPCION============
;============================================
MOVFF LECTURA,LATD
; goto loop_infinito; BORRAME<<<<<<<<<<<<<<<<<---------------
;====================
;====================DISQUE TABLA DE COMPARACION===================
;====================
; PARA LETRA A
MOVLW 0x01
CPFSGT LECTURA ;Compara FILE con WREG, salto si FILE > WREG SALTA
GOTO LETRA_A ;Si LECTURA NO FUERA > 0x01 (en este caso no salta porque 01 = 01)
; no salta y me manda a A
; PARA LETRA B
MOVLW 0x02
CPFSGT LECTURA ;Compara FILE con WREG, salto si FILE > WREG SALTA
GOTO LETRA_B ;Si LECTURA NO FUERA > 0x02 (en este caso no salta porque 02 = 02)
; no salta y me manda a B
MOVLW 0x03
CPFSGT LECTURA
GOTO LETRA_C
MOVLW 0x04
CPFSGT LECTURA
GOTO LETRA_D
MOVLW 0x05
CPFSGT LECTURA
GOTO LETRA_E
MOVLW 0x06
CPFSGT LECTURA
GOTO LETRA_F
MOVLW 0x07
CPFSGT LECTURA
GOTO LETRA_G
MOVLW 0x08
CPFSGT LECTURA
GOTO LETRA_H
MOVLW 0x09
CPFSGT LECTURA
GOTO LETRA_I
MOVLW 0x0A
CPFSGT LECTURA
GOTO LETRA_J
MOVLW 0x0B
CPFSGT LECTURA
GOTO LETRA_K
MOVLW 0x0C
CPFSGT LECTURA
GOTO LETRA_L
MOVLW 0x0D
CPFSGT LECTURA
GOTO LETRA_M
MOVLW 0x0E
CPFSGT LECTURA
GOTO LETRA_N
MOVLW 0x0F
CPFSGT LECTURA
GOTO LETRA_N_
MOVLW 0x10
CPFSGT LECTURA
GOTO LETRA_O
MOVLW 0x11
CPFSGT LECTURA
GOTO LETRA_P
MOVLW 0x12
CPFSGT LECTURA
GOTO LETRA_Q
MOVLW 0x13
CPFSGT LECTURA
GOTO LETRA_R
MOVLW 0x14
CPFSGT LECTURA
GOTO LETRA_S
MOVLW 0x15
CPFSGT LECTURA
GOTO LETRA_T
MOVLW 0x16
CPFSGT LECTURA
GOTO LETRA_U
MOVLW 0x17
CPFSGT LECTURA
GOTO LETRA_V
MOVLW 0x18
CPFSGT LECTURA
GOTO LETRA_W
MOVLW 0x19
CPFSGT LECTURA
GOTO LETRA_X
MOVLW 0x1A
CPFSGT LECTURA
GOTO LETRA_Y
MOVLW 0x1B
CPFSGT LECTURA
GOTO LETRA_Z
MOVLW 0x1C
CPFSGT LECTURA
GOTO GUION_BAJO
MOVLW 0x1D
CPFSGT LECTURA
GOTO MENOR_QUE
MOVLW 0x1E
CPFSGT LECTURA
GOTO MAYOR_QUE
MOVLW 0x1F
CPFSGT LECTURA
GOTO SECUENCIA_DE_PRUEBA
LETRA_A:
MOVLW b'11011110'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111110'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_A
LETRA_B:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01101110'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_B
LETRA_C:
MOVLW b'11001110'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_C
LETRA_D:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01101110'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_D
LETRA_E:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_E
LETRA_F:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01100001'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_F
LETRA_G:
MOVLW b'11001110'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_G
LETRA_H:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_H
LETRA_I:
MOVLW b'11010001'
MOVWF LATD
MOVLW b'10111111'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_I
LETRA_J:
MOVLW b'11101000'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01101111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_J
LETRA_K:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10101010'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_K
LETRA_L:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01110000'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_L
LETRA_M:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10101100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_M
LETRA_N:
MOVLW b'11011110'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111100'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_N
LETRA_N_:
MOVLW b'11011101'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_N_
LETRA_O:
MOVLW b'11001110'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01101110'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_O
LETRA_P:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01100111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_P
LETRA_Q:
MOVLW b'11000010'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_Q
LETRA_R:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111010'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_R
LETRA_S:
MOVLW b'11010010'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01101001'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_S
LETRA_T:
MOVLW b'11000001'
MOVWF LATD
MOVLW b'10111111'
MOVWF LATD
MOVLW b'01100001'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_T
LETRA_U:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_U
LETRA_V:
MOVLW b'11001111'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01101111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_V
LETRA_W:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10100110'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_W
LETRA_X:
MOVLW b'11011011'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111011'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_X
LETRA_Y:
MOVLW b'11000111'
MOVWF LATD
MOVLW b'10100111'
MOVWF LATD
MOVLW b'01100111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_Y
LETRA_Z:
MOVLW b'11011001'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01110011'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO LETRA_Z
;==============CARACTERES==========
GUION_BAJO:
MOVLW b'11010000'
MOVWF LATD
MOVLW b'10100001'
MOVWF LATD
MOVLW b'01100000'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO GUION_BAJO
MENOR_QUE:
MOVLW b'11000100'
MOVWF LATD
MOVLW b'10101010'
MOVWF LATD
MOVLW b'01110001'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO MENOR_QUE
MAYOR_QUE:
MOVLW b'11010001'
MOVWF LATD
MOVLW b'10101010'
MOVWF LATD
MOVLW b'01100100'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO MAYOR_QUE
;==============numeros=============
NUMERO_0:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110001'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_0
NUMERO_1:
MOVLW b'11010010'
MOVWF LATD
MOVLW b'10111111'
MOVWF LATD
MOVLW b'01110000'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_1
NUMERO_2:
MOVLW b'11011101'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01110111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_2
NUMERO_3:
MOVLW b'11010101'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_3
NUMERO_4:
MOVLW b'11000111'
MOVWF LATD
MOVLW b'10100100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_4
NUMERO_5:
MOVLW b'11010010'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_5
NUMERO_6:
MOVLW b'11011111'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111101'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_6
NUMERO_7:
MOVLW b'11000001'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_7
NUMERO_8:
MOVLW b'11011011'
MOVWF LATD
MOVLW b'10110101'
MOVWF LATD
MOVLW b'01111011'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_8
NUMERO_9:
MOVLW b'11000111'
MOVWF LATD
MOVLW b'10110100'
MOVWF LATD
MOVLW b'01111111'
MOVWF LATD
CLRF LATD
BTFSC PORTC,1,0 ;leer C1 si es 0 salta
GOTO receptor
BTFSC PORTB,7,0 ;leer B5 si es 0 salta
CALL transmisor
GOTO NUMERO_9
LETRA_ESPACIO:
LETRA_SIGNO:
LETRA_NUMERO:
LETRA_FIN:
retraso:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
return
;btfss LATD,1,0 ;CON D1=1 EJECUTA C
SECUENCIA_DE_PRUEBA: ; esto enciende un led a la vez
MOVLW b'11000001'
MOVWF LATD
call retraso_
MOVLW b'11000010'
MOVWF LATD
call retraso_
MOVLW b'11000100'
MOVWF LATD
call retraso_
MOVLW b'11001000'
MOVWF LATD
call retraso_
MOVLW b'11010000'
MOVWF LATD
call retraso_
MOVLW b'10110000'
MOVWF LATD
call retraso_
MOVLW b'10101000'
MOVWF LATD
call retraso_
MOVLW b'10100100'
MOVWF LATD
call retraso_
MOVLW b'10100010'
MOVWF LATD
call retraso_
MOVLW b'10100001'
MOVWF LATD
call retraso_
MOVLW b'01100001'
MOVWF LATD
call retraso_
MOVLW b'01100010'
MOVWF LATD
call retraso_
MOVLW b'01100100'
MOVWF LATD
call retraso_
MOVLW b'01101000'
MOVWF LATD
call retraso_
MOVLW b'01110000'
MOVWF LATD
call retraso_
; BTFSC LATC,1,0 ;leer C1 si es 0 salta
; GOTO receptor
; BTFSC LATB,5,0 ;leer B5 si es 0 salta
; CALL transmisor
CLRF LATD
GOTO inicio
;==========rutina de retrasos=============
retraso_:
movlw 0x05
movwf temp3_retraso
decfsz temp_retraso,1,0
; goto retraso ;alta frec
goto retraso1 ;baja frec
movlw 0xFF
movwf temp_retraso
return
retraso1:
decfsz temp2_retraso,1,0
; return
goto retraso1 ; baja frec segun yo
; goto retraso2 ;BIEN
movlw 0xFF
movwf temp2_retraso
goto retraso_
retraso2:
decfsz temp3_retraso,1,0
; return
goto retraso2
movlw 0x05
movwf temp3_retraso
goto retraso1
;------------------------------------------
Fin_intT0:
RETFIE
END
;------------------------------------------