hola tonio
muchas gracias por tu ayuda pero ya hice lo que dijiste pero sigue fallando sale algo asi
aaaaa$%$#aaaaaaaaaaaaa#"!"$%aaaaaaaaaa a veces esta estandar pero falla
mi circuito lo he armado en una tarjeta prototipo la cual tiene un socalo para el pic ,su cristal de 20mhz y sus condensadores de 22 picos y luego nada mas el pin de reset lo he mandado a positivo y lo alimento con 5 voltios .
luego para la interface con la pc uso un max 232n el cual tiene 5 condsensadores para su polarizacion como manda su datasheet de 10uf y es alimentado con 5 voltios.
a veces pienso que entra ruido por las otras patita y eso influye
puedes mandarme tu codigo el que te funciona para probarlo en mi pic ,el pic no creo que sea porq ya cambie de pic 2 veces.
por eso quisiera que me mandes un programita sencillo que mande una letra o letras ala pc para guiarme
el max 232n las entradas q no uso debo mandarlas a tierra para evitar ruido ?
muchas gracias al foro y si alguien me podria ayudar con esto aqui esta mi programa ok
LIST P=16F628 ;Tipo de procesador
#include "P16F628.INC" ;Definiciones de registros internos
dato_enviar equ 0x20
dato_recibir equ 0x21
DATO_A equ 0x22
DATO_B equ 0x23
CONTA_B equ 0x24
portb equ PORTB
bank0 MACRO
bcf STATUS, RP0
bcf STATUS, RP1
ENDM
bank1 MACRO
bsf STATUS, RP0
bcf STATUS, RP1
ENDM
org 0x00 ;Vector de Reset
goto Inicio
org 0x04
goto Inicio ;Salva vector de interrupción
Inicio
bank0 ;banco 0
nop
nop
movlw .7
movwf CMCON
bcf INTCON,7
bank1
clrf TRISB
movlw 0x00
movwf VRCON
bsf OPTION_REG, 7
bank0
call inicia_TX
seguir movlw "a"
call TX_DATO
call DELAY_20MS
call DELAY_20MS
call DELAY_20MS
call DELAY_20MS
call DELAY_20MS
goto seguir
inicia_TX
bank1
bcf TRISB,2 ; RB2 como salida
movlw B"00100100"
movwf TXSTA ; Modo asincrono / Tx Enable / 8 bits / BRGH = 1
movlw .129
movwf SPBRG ; 9600 bps
bank0
bsf RCSTA,7 ; Habilita Puerto Serial
bcf PIR1,TXIF
return
inicia_RX
bank1
bsf TRISB,1 ; RB1 como entrada
bsf TXSTA,BRGH ; BRGH="1"
movlw .129
movwf SPBRG ; 9600 bps
bank0
movlw B"10010000"
movwf RCSTA ; Modo asincrono / Rx Enable / 8 bits
bcf PIR1,RCIF
return
;**********************************
; Transmite el dato que está en W *
;**********************************
TX_DATO nop
espera_USART
btfss PIR1,TXIF ; espera a que el buffer este vacio.
goto espera_USART
bcf PIR1,TXIF
movwf TXREG
; bank1
;TX btfss TXSTA,TRMT
; goto TX
; bank0
return
DELAY_1MS movlw .100
movwf DATO_B
movlw .10
movwf DATO_A
DELAY_1 nop
nop
decfsz DATO_B,1
goto DELAY_1
movlw .99
movwf DATO_B
decfsz DATO_A,1
goto DELAY_1
return
DELAY_20MS movlw .20
movwf CONTA_B
DELAY_5 call DELAY_1MS
decfsz CONTA_B,1
goto DELAY_5
return
end
SI ALGUIEN LE ENCUENTRA UN EEROR ME LO HACE SABER OK
CUANDO GRABO EN EL PIC ME MANDA ALGO ASI
aaaaÿaaaaaÿÿaaaaaaÿaaaaaaaÿaaaaaaaÿáaaaaaÃaaaaaÁàÿaaaaaaaÿÁÿaaaaaaaÿ
esto no se que pasara
gracias y espero contar con su ayuda