hola amigos tengo problemas con este programa
la idea es recibir datos mediante el rx usart y enviarlos por tx usart al pc, la transmision es unidireccional
aqui les dejo lo que tengo.
LIST P=16F870
INCLUDE <P16F870.INC> ; Librerias necesarias
dato equ 0x20
org 0x0000
BSF STATUS,RP0 ; banco 1
BCF STATUS,RP1
CLRF TRISB ; configuramos el puerto B como salida
BCF TXSTA,BRGH
MOVLW D'31' ; configura velocidad de Tx a 9600 baudios
MOVWF SPBRG
BCF TXSTA,SYNC ; limpia bit sync (modo asíncrono)
BSF TXSTA,TXEN ; setea bit txen (habilita Tx)
BCF STATUS,RP0 ; volvemos al banco 0
BSF RCSTA,SPEN ; setea bit spen (habilita puerto serial)
BSF RCSTA,CREN ; habilita recepcion
;***************************** PROGRAMA PRINCIPAL **********************************************
rutina CALL recibir
MOVFW dato
CALL enviar
GOTO rutina
;rutinas que efectuan la transmision y recepcion de los datos por la USART
enviar BSF STATUS,RP0 ; vamos al banco 1
esp BTFSS TXSTA,TRMT ; chequear el buffer de transmision
GOTO esp
BCF STATUS,RP0 ; vamos al banco 0
MOVF dato,W
MOVWF TXREG ; enviamos el registro "dato" por la USART
RETURN
recibir BTFSS PIR1,RCIF ; chequeamos el buffer de recepcion
GOTO recibir
MOVF RCREG,W ; si hay dato, lo movemos a W y
MOVWF dato ; luego lo guardamos en "dato"
RETURN
end
de antemano gracias