transmisor

5
TRANSMISOR LIST P=16F877A INCLUDE<P16F877A.INC> DATO EQU 0X20 INDEX 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

Upload: gloriamaria-pimentel-ysla

Post on 04-Aug-2015

77 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Transmisor

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

Page 2: Transmisor

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

Page 3: Transmisor

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

Page 4: Transmisor

CIRCUITO COMUNICACIÓN PARALELA