buenas tengo un problema al conectar un pic16f876 al pc por medio del rs232, la cosa es que consigo mandar caracteres del pic al pc sin ningun problema, en el hyperterminal me aparece todo lo que he mandado, mi problema es al recibir. He configurado el pic para que cuando reciba un dato del pc salte una interrupcion, y en el vector de interrupcion he hecho que envie un caracter al pc, vamos que intento hacer un eco pero mandando un caracter cualquiera que ponga yo manualmente, no el que me mande el pc. La cosa es que cuando pongo el hyperterminal, en la pantalla me recibe el caracter que deberia de mandar yo en el vector de interrupcion, es decir el caracter sale continuamente en pantalla, sin que yo le mande nada no deberia saltar la interrupcion uqe manda el caracter, pero por lo que parece es como si yo estuviera mandando algo constantemente. Aqui va el codigo a ver si alguien puede decirme donde esta el fallo, seguramente estara en la configuracion pero yo no lo veo:
espero vuestra respuesta gracias, saludos
Código:
;<<<<<<------------------- VECTOR DE INTERRUPCION -------------------->>>>>>>
ORG 04H ;Vector de interrupcion
INTER btfss PIR1,RCIF ;¿Interrupcion por recepcion?
goto VOLVER ;No. Falsa interrupcion
bcf PIR1,RCIF ;Si. Reponer Flag
movlw b'10000000' ;Envia el caracter, valor binario
movwf TXREG ; del codigo ascii
VOLVER retfie
;<<<<<<----------------- INICIO PROGRAMA PRINCIPAL ------------------->>>>>>>
INICIO clrf PORTB ;Limpia salidas
clrf PORTC
bsf RCSTA,SPEN ;se activa la USART
bsf STATUS,RP0 ;Cambio al banco 1 ------------------
bcf STATUS,RP1
clrf TRISA ;Puerta A como salida
clrf TRISB ;Puerta B como salida
movlw 80H ;RC7/Rx entrada,
movwf TRISC ;RC6/Tx salida y RC5 Salida.
movlw 04H ;Configuracion USART
movwf TXSTA ;y activacion de transmision
movlw .25 ;9600 baudios
movwf SPBRG
bsf PIE1,RCIE ;Habilitacion interrupcion RX
bcf STATUS,RP0 ;Cambio al banco 0 -----------------
;clrf PORTB ;Limpia salidas
;clrf PORTC
bsf RCSTA,SPEN ;se activa la USART
movlw b'10010000' ;Configuracion de la usart
movwf RCSTA ;para recepcion continua
bsf STATUS,RP0 ;Cambio al banco 1 -------------
bcf STATUS,RP1
bsf TXSTA,TXEN ;Habilita la transmision
bcf STATUS,RP0 ;Cambio al banco 0 ------------------
movlw 0C0H ;Habilitacion para las
movwf INTCON ;interrupciones generales
Bukle goto Bukle
espero vuestra respuesta gracias, saludos