He estado tratando de utilizar la usart de este pic, sin mucho exito, el pic envia otros datos que no son los que yo digo en el programa, no se a que se deba esto, ya intente resolverlo de varias formas, haber si alguien me puede hechar la mano en esto.
El oscilador es un cristal externo de 4Mhz, baudrate a 2400. Para recibir datos en la pc no utilice ningun dispositivo de interfase entre el pic y la pc, simplemente un cable serial.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Prueba de USART ;
; Pic 16F628A ;
; Cesar Rico ;
; Enero 2005 ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INCLUDE P16F628A.INC
org 0
CONT1 equ 20h
CONT2 equ 21h
;;;;;;;;;config;;;;;;;;;;;;;;;;;;;;;;;;;;;;
movlw b"00100000" ;bank1
movwf STATUS ;bank1
movlw b"11001000" ;option
movwf OPTION_REG
movlw b"00000010" ;b1 = in, b2=out
movwf TRISB
;;;;;;;;;;;;Config USART;;;;;;;;;;;;;;;;;;;
movlw d"25"
movwf SPBRG
CLRF TXSTA
bcf STATUS,RP0 ;bank0
movlw b"10011000"
movwf RCSTA
bsf STATUS,RP0 ;bank1
bsf TXSTA,TXEN
;;;;;;;;;;aqui acaba config;;;;;;;;;;;;;;;;
INICIO
movlw d"65"
call SEND
movlw b"11111111"
call SEND
movlw b"01000011"
call SEND
movlw b"01000100"
call SEND
movlw b"01000101"
call SEND
movlw b"01000110"
call SEND
goto INICIO
;;;;;;;;;;;;;;Subrutinas;;;;;;;;;;;;;;;;;;;
SEND
bsf STATUS,RP0 ;bank1
S1
btfss TXSTA,TRMT
goto S1
bcf STATUS,RP0 ;bank0
movwf TXREG
return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
END