transmisor
TRANSCRIPT
TRANSMISOR
LIST P=16F877A INCLUDE<P16F877A.INC>DATO EQU 0X20INDEX EQU 0X21 ORG 0X2007 DW 0X3F7A
ORG 0
BANKSEL TRISD MOVLW B'00001111' ;CONF PORTB MOVWF TRISB CLRF TRISD BCF TRISC,0 BSF TRISC,1 BSF TRISC,2 BANKSEL PORTD ;DATA 0 CLRF PORTD BCF PORTC,0; ENVIO"OFF" CLRF PORTB
INICIO BTFSS PORTC,2 GOTO $-1 MOVFW PORTB MOVWF DATO CALL TIME BTFSC PORTC,2 GOTO $-2 MOVFW DATO CALL VALOR; TOMA UN VALOR DE LA TABLA MOVWF PORTD BSF PORTC, 0; ENVIO"ON"SENSA BTFSS PORTC, 1; ¿LO RECEPCIONO? GOTO SENSA; NO BCF PORTC, 0; SI
GOTO INICIO
VALOR ADDWF PCL, F DT "0","1","2","3","4","5","6","7","8" DT "9","A","B","C","D","E","F"TIME MOVLW .20 MOVWF 0X30 MOVLW .249 MOVWF 0X31 NOP DECFSZ 0X31,F GOTO $-2 DECFSZ 0X30,F GOTO $-6 RETURN END
RECEPTOR
LIST P=16F877A INCLUDE<P16F877A.INC> CBLOCK 0X20 INDEX,REG,DIR ENDC ORG 0X2007 DW 0X3F7A
ORG 0
BANKSEL TRISD MOVLW 0XFF MOVWF TRISD CLRF TRISB BSF TRISC,0 BCF TRISC,1 CLRF PORTA MOVLW 0X07 ; CONFIGURANDO SALIDAS MOVWF ADCON1; DIGITALES BANKSEL PORTA CALL TLCD CALL CONTROL CALL INICIARLCD INICIAR CLRF DIR FIN BCF PORTC,1 ; CONTROL=0 (RECEPCION ON)SENSA BTFSS PORTC,0 ; ?ENVIO UN DATO? GOTO SENSA ; NO CALL DATO ; LCD MODO DATO MOVFW PORTD; LECTURA DE DATO MOVWF PORTB CALL ENABLE BSF PORTC,1 ; RESPUESTA AL TRANSMISOR "LISTO"SENSA2 BTFSC PORTC,0 ; ?SE ENTERO DE MI RESPUESTA? GOTO SENSA2 ; NO BCF PORTC,0 ; SI, RECEPCION OFF INCF DIR,F ; INCREMENTA DIR MOVFW DIR XORLW 0X28 ; COMPARA TOPE DE RAM LCD BZ UBICAR GOTO FIN;------------------------------------------------;MODOS DEL LCD
CONTROL: BCF PORTA,1 ; RS=0 CONTROL BCF PORTA,0 ; E=0 CALL TLCD RETURN
DATO: BSF PORTA,1 ; RS=1 DATOS BCF PORTA,0 ; E=0 RETURN
INICIARLCD CLRW MOVWF INDEXX5 CALL LCD MOVWF REG SUBLW 0XFF BZ X4 MOVFW REG MOVWF PORTB CALL ENABLE INCF INDEX,F MOVFW INDEX B X5X4 RETURN
;HABILITAR LECTURA DEL LCDENABLE: CALL TLCD BSF PORTA,0 ; E=1 CALL TLCD BCF PORTA,0 ; E=0 CALL TLCD RETURN
LCD: ADDWF PCL,F DT 0X38,0X38,0X38,0X0C,0X01,0xA7,0X05,0XFF
UBICAR CALL TLCD CALL CONTROL MOVLW 0XA7 MOVWF PORTB CALL ENABLE GOTO INICIAR
TLCD: MOVLW .249 MOVWF 0X40LAZO: NOP DECFSZ 0X40,F GOTO LAZO RETURN
END
CIRCUITO COMUNICACIÓN PARALELA