El siguiente programa debe transmitir por el puerto C un dato a otro pic 16F876. De acuerdo a la hoja de datos para configurar el Puerto C se debe poner el bit 7 y 6 en uno (eso es lo que dice la hoja de datos); pero de esta forma no funciona.
¿Alguien me puede decir dónde está el error?
ESTADO EQU H"03" ;
INTCON EQU H"0B" ;
OPCION EQU H"81" ;
TRISA EQU H"85" ;
TRISB EQU H"86" ;
TRISC EQU H"87" ;
TMR0 EQU H"01" ;
PORTA EQU H"05" ;
PORTB EQU H"06" ;
PORTC EQU H"07" ;
RCREG EQU H"1A"
TXREG EQU H"19"
RCSTA EQU H"18"
TXSTA EQU H"98"
SPBRG EQU H"99"
PIE1 EQU H"8C"
PIR1 EQU H"0C"
COM EQU H"20"
COM_2 EQU H"21"
SEG EQU H"23"
ORG 00 ;la 1º inst. es guardada la posicion 00
goto CONFIG
ORG 04
;INICIO DE LA SUBRRUTINA DE TIEMPO
DECFSZ COM,1
GOTO CLOK
MOVLW H"11"
MOVWF COM
DECFSZ COM_2,1
GOTO CLOK
INCF SEG
MOVLW H"08"
MOVWF COM_2
CLOK
MOVLW H"05"
MOVWF TMR0
BCF INTCON,2
RETFIE
NOP
ORG 20
;el progama se graba desde la posicion 20
;;;;;;;;;;;;;;;;;;configuracion de los registros ;;;;;;;;;;;;;;
CONFIG ;
MOVLW H"E0" ;1010 0000
MOVWF INTCON ;
MOVLW H"38" ;0011 1000
MOVWF ESTADO ;
MOVLW H"00" ;0000 0000
MOVWF TRISA ;
MOVLW H"FF" ;1111 1111
MOVWF TRISB ;
MOVLW H"F0" ;1011 0000
MOVWF TRISC ;
MOVLW H"04" ;X010 01XX
MOVWF TXSTA
MOVLW H"00" ;0001 1001
MOVWF SPBRG
MOVLW H"10" ;XX01 XXXX
MOVWF PIE1
CLRF OPCION
BCF ESTADO,5 ;
MOVLW H"80" ;1000 XXXX
MOVWF RCSTA
MOVLW H"FF"
MOVWF COM
MOVLW H"08"
MOVWF COM_2
INICIO
BTFSC PIR1,4
NOP
MOVF SEG,0
MOVWF PORTC ; a efectos de verficar funcionamiento pic
BTFSS SEG,2
GOTO INICIO
CLRF SEG ; empieza la transmisión
BSF RCSTA,7
BSF ESTADO,5
BCF TXSTA,4
BTFSC TXSTA,1
NOP
BCF ESTADO,5
MOVLW H"05"
MOVWF TXREG
BSF ESTADO,5
BSF TXSTA,5
BCF ESTADO,5
GOTO INICIO
END
Gracias,
Mariana