TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: LEONARDO_59 en 28 de Agosto de 2007, 19:15:35
-
Amigos tengo un problema para enviar datos desde un PIc 16F877 a mi PC, el programita que uso es el siguiente
LIST P=16F877
INCLUDE <P16F877.INC>
ORG 0000H
bsf STATUS,RP0 ; Banco-1
movlw .25
movwf SPBRG ; Vtx = 9600bps
movlw B'00100100'
movwf TXSTA ; Tx = 8 bits / TX-ON / BRGH=1
bcf STATUS,RP0 ; Banco-0
bsf RCSTA,SPEN ; SPEN=1
;-----------------------------------------------
REPITE
movlw 'P'
call TX_DATO
movlw 'E'
call TX_DATO
movlw 'R'
call TX_DATO
movlw 'U'
call TX_DATO
goto REPITE
;-----------------------------------------------
TX_DATO
bcf STATUS,RP0 ; Banco-0
movwf TXREG ; Inicia Tx
return
END
El sunto es que este programa funciono en una demo que hicieron en un laboratorio de programación de PICs, pero el circuito que utilizaron no lo tengo, estoy utilizando el circuito que adjunto, y quisiera saber porque mi PC no recibe los datos, si alguien puede indicarme en que estoy fallando
LEONARDO_59
-
Hola LEONARDO_59,
me parece que el problema lo tienes en el conector J1, esto es, el DB9 que va al PC.
La recepción del PC se realiza por la patilla 2 del DB9 y tú has utilizado la patilla 4.
Creo que deberías modificar tu circuito, conectando el pin 14 del MAX232 al pin 2 del DB9, en lugar de hacerlo al pin 4 del DB9, qeu es como lo tienes ahora.
Espero que te sirva de ayuda y nos informaes con el resultado.
Saludos.
-
Gracias eclipse, ya hice esa modificación tengo conectado el pin 14 del MAX232 al pin 2 del DB9 y hasta el momento no recepciono la data que existe, no tendrás algun circuito que te haya funcionado del MAX232 para verificarlo con los circuitos que tengo, ya que he efectuado varias modificaciones y hasta ahora el Hypérterminal no recibe los datos...te gradecería muchisimo...
LEONARDO_59
-
Hola LEONARDO_59,
no dispongo de ningún esquema que enviarte sobre el MAX232. Pero mirando de nuevo tu esquema me he dado cuenta de otro detalle: has puesto la masa en el pin 1 del DB9 y el pin 5 lo has conectado al pin 2.
Normalmente, la masa va en el pin 5. El ordenador te estará poniendo el pin 5 a masa y al tenerlo conectado al pin 2, te está tirando a masa la línea de recepción.
Modifica tu circuito y en el DB9 haz solo las siguientes conexiones, olvidándote del resto de pines:
Pin 2 --> al pin 14 del MAX232
Pin 3 --> al pin 13 del MAX232
Pin 5 --> a masa.
Espero que te sirva de ayuda y nos informes del resultado.
Saludos.
-
Hola Leonardo, lo que te dice Eclipse es correcto, esta mal el DB9
El max232 puedes ver del datasheet su circuito
Suerte!
Norberto
-
Gracias eclipse por tu apoyo ya tengo la comunicación, gracias a Norberto tambien
LEONARDO_59
-
Me alegra que ya lo hayas conseguido.
Un saludo y hasta la próxima.
Eclipse.