MAUMIX GRACIAS POR RESPONDER A MI INQUITUD.
Te soy sincero, la verdad apenas estoy dando mis primeros pasos en los micros, el lenguaje de programacion estoy utilizando MPASM del programa MPLAB
Te cuento en detalle que es lo que nececito.
Con un micro 16f877, utilizando el conversor A/D con resolucion de 10bits , tomo la señal y la envio por el pin TX. esta señal pasa por un modulador FSK y lugo de nuevo por un demodulador FSK. En este punto debo tener de nuevo la señal enviada por el primer micro. La idea es tomar esta señal y entrarla a un micro en forma serie y pasarla a uno delos puertos y visualizarla en 10 leds, luego utilizar este puerto y con una escalera R2R hacer un conversor D/A.
La programacion del primer micro es:
LIST P=16F877A
INCLUDE P16F877A.INC
OPCION EQU 81
CBLOCK 20H
UNI,DEC,CEN,AUX,
REG1,REG2,REG3,REG4,REG8,REG9,AUX1
ENDC
ORG 00
GOTO CONFI
ORG 05
CONFI NOP
BANKSEL RCSTA
BSF RCSTA,SPEN ;
BSF STATUS,5 ;Banco 1
BCF STATUS,6
MOVLW B'10001110' ;Justifica ala derecha ADRESH y
MOVWF ADCON1 ;selecciona AN0
CLRF TRISC ;Selecciona puerto C como salida
MOVLW B'00000010'
MOVWF TXSTA
MOVLW .6
MOVWF SPBRG
BANKSEL PIR1
BSF PIR1,TXIF
CLRF PORTC ;Limpia puerto C
GOTO TX
TX NOP
CALL CONVAD
CALL BINBCD
CALL INTX
GOTO TX
INTX MOVF CEN,W
ADDLW 30
CALL INTX1
MOVF DEC,W
ADDLW 30
CALL INTX1
MOVF UNI,W
ADDLW 30
CALL INTX1
MOVLW .20
CALL INTX1
RETURN
INTX1 MOVWF TXREG
BANKSEL TXSTA
BSF TXSTA,TXEN
BANKSEL PIR1
PREG2 BTFSS PIR1,TXIF
GOTO PREG2
BCF PIR1,TXIF
BANKSEL TXSTA
BCF TXSTA,TXEN
BANKSEL PORTA
RETURN
CONVAD MOVLW B'00000001' ;Frecuencia de nuestreo, canal RA0/AN0 y
MOVWF ADCON0 ;prende conversor
CALL PAUSA
BSF ADCON0,2 ;Inicia proceso de conversión
PREG BTFSC ADCON0,2 ;Salta cuando termina proceso de conversión
GOTO PREG
BANKSEL TRISA ;Banco 1
MOVF ADRESL,W ;Lleva el dato a REG8
BANKSEL PORTA
MOVWF REG8
RETURN
PAUSA MOVLW .5
MOVWF REG9
PAUSA1 DECFSZ REG9
GOTO PAUSA1
RETURN
BINBCD MOVF REG8,W
MOVWF AUX
CLRF UNI
CLRF DEC
CLRF CEN
MOVLW .100
DCENT SUBWF AUX
BTFSS STATUS,C ;Cundo resultado positivo C=1
GOTO CORREG
INCF CEN
GOTO DCENT
CORREG ADDWF AUX
MOVLW .10
DDEC SUBWF AUX
BTFSS STATUS,C ;Cundo resultado positivo C=1
GOTO CORRE1
INCF DEC
GOTO DDEC
CORRE1 ADDWF AUX
MOVF AUX,W
MOVWF UNI
RETURN
END
No tengo ni idea como aherlo, si no es mucho pedir y me disculpas la confianza me podrias hacer un programa que me realice lo que requiero.
Muchas gracias