a disculpa aqui esta mi codigo:
LIST p=16F877A ; Tipo de procesador PIC16F877A
#include "P16F877A.inc" ; Archivo de definicion de registros del micro
; Palabra de configuracion
__config _CP_OFF & _DEBUG_OFF & _WRT_OFF & _CPD_OFF & _LVP_ON & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
org 0x00
goto main
org 0x04
main
;;;;;;;;;;;;;;;;;;;;;;;CONFIGURACION PARA TRASMISION;;;;;;;;;;;;;;;;;;;;;;;
;----------------------------------------------------------------------------------------------------------------
BSF STATUS,RP0
BCF STATUS,RP1 ;CAMBIAMOS AL BANCO1 BUSCANDO TXSTA
;-------CONFIGURACION DE TXSTA REGISTRO DE TRANSMISION-------;
BCF TXSTA,6;TRANSMISION DE 8 BITS
BCF TXSTA,4;MODO ASINCRONO
BSF TXSTA,2;HIGH BAUD RATE
;---------------------------------------------------------------------------------------------------------------
; CONFIGURACION DE PUERTOS
BSF TRISC,7;
BSF TRISC,6; SETS USART ON
;----------CONFIGURACION DE RCSTA REGISTRO DE RECEPCION-------;
BCF STATUS,RP0;CAMBIAMOS AL BANCO 0
BSF RCSTA,7;CONFIGURA EL PIN RC6 COMO SALIDA SERIAL y RC6 COMO ENTRADA SERIAL
BCF RCSTA,6;
BSF RCSTA,4;HABILITA LA RECEPCION CONTINUA
;----------------------------------------------------------------------------------------------------------------
;--------CONFIGURACION DEL BAUD RATE----------;
BSF STATUS,RP0;CAMBIAMOS AL BANCO 1
MOVLW D'25'
MOVWF SPBRG;CONFIGURAMOS BAUD RATE CON VALOR DE 25
;---------------------------------------------------------------------------------------------------------------
;-----------CONFIGURACION DE ADCON1-----------;
BSF ADCON1,7;RIGHT JUSTIFIED
BSF ADCON1,6;OSCILADOR EN fosc/16
BCF ADCON1,3;CONFIGURACION DE BITS DE PUERTO A
BCF ADCON1,2
BCF ADCON1,1
BCF ADCON1,0
;---------------------------------------------------------------------------------------------------------------
;-----CONFIGURACION DE PUERTOS DE ENTRADA Y SALIDA------;
BSF TRISA,1;CONFIGURAMOS EL PIN 0 DE PORTA COMO ENTRADA
;----------------------------------------------------------------------------------------------------------------
;------------CONFIGURACION DE ADCON0-------------;
BCF STATUS,RP1
BCF STATUS,RP0;CAMBIAMOS AL BANCO 0
BCF ADCON0,7;FOSC/16
BSF ADCON0,6;
BCF ADCON0,5;SELECCIONA CANAL AN0
BCF ADCON0,4
BCF ADCON0,3
BSF ADCON0,0;ENCIENDE EL A/DC
;----------------------------------------------------------------------------------------------------------------
CYCLE
BSF STATUS,RP0; CAMBIAMOS AL BANCO 1 PARA HABILITAR TX
BSF TXSTA,5;HABILITAR TRANSMISION***********************
;;;;;;;;;;;;;;;;;;;;;;;;;;;COMIENZA LA CONVERSION;;;;;;;;;;;;;;;;;;;;;;;
BCF STATUS,RP0
BCF STATUS,RP1;CAMBIAMOS AL BANCO 0
BSF ADCON0,2;PONE EN GO LA CONVERSION
BTFSC ADCON0,2;SI = 0, LA CONVERSION HA TERMINADO.
GOTO $-1
;----------------------------------------------TRANSMIT 1------------------------------------------------
BSF STATUS,RP0;CAMBIAMOS AL BANCO 1
BTFSS TXSTA,TRMT; REVISA BANDERA DE FIN DE TRANSMISION SI 1, REG VACIO
GOTO $-1
MOVF ADRESL,0;MOVEMOS LA CONVERSION A W
BCF STATUS,RP0; CAMBIAMOS AL BANCO 0
MOVWF TXREG; MOVEMOS LA CONVERSION AL REGISTRO DE TRASMISION
CLRW
;-------------------------------------------TRANSMIT 2------------------------------------------------------
BSF STATUS,RP0
BTFSS TXSTA,TRMT; SI 1, YA TRANSMITIO, BUFFER VACIO
GOTO $-1
CALL PAUSE
BCF STATUS,RP0;CAMBIAMOS AL BANCO 0 PARA MOVER LOS BIT RESTANTES DE LA CONVERSION A TXREG
MOVF ADRESH,0; MOVEMOS LA CONVERSION A W
MOVWF TXREG; MUEVE BITS MAS SIGNIFICATIVOS ADRESH A TRANSMISION
CLRW
BSF STATUS,RP0; CAMBIAMOS AL BANCO 1
BTFSS TXSTA,TRMT; SI 1, YA TRASMITIO, BUFFER VACIO
GOTO $-1
CALL PAUSE
GOTO CYCLE
PAUSE
BCF STATUS,RP0
MOVLW 0XFF
MOVWF 0X21
DECFSZ 0X21
GOTO $-1
RETURN
END