desktop

conexion pic con el pc por medio de rs232?

Como es el montaje para poder enviar y recibir datos desde el pic al pc y el pc al pic mediante el protocolo RS232.
 
necesitas un adaptador, uno muy usado es el max232, puedes mirar en el datasheet el esquema necesario
 
Que tal podrias utilizar cualquier pic con uart correcto.
efectivamente un max 232 es lo ideal para conectar de pc a pic y de pic a pc

un ejemplo:
Utilizando el pic 16f877 existen 2 pines TX y RX
TX = RC6 y RX = RC7

El dato de salida (TX) debe llegar a cualquiera de las 2 entradas de los buffers del max
llamadas T1IN ó T2IN.

Ahora el dato de entrada(Rx) debe llegar de cualquiera de las 2 salidas de los buffers del max
llamadas R1OUT ó R2OUT

espero no confundirte mucho
lo que tienes que cuidar es la señal del puerto (TX) debe llegar al buffer R1IN ó R2IN del max
y la señal del puerto (RX) debe salir del buffer T1OUT ó T2OUT del max
 
no se si es costoso o no el max232 en ciertos lugares, pero si se pueden reemplazar con transistores, en fin solo es transferencia de datos , nada del otro mundo, no encuentro la opcion de poder adjuntar el circuito , vere la forma de como lo tengan el circuito................saludos
 
buenas yo estoy con el mismo problema de conectar un pic16f876, la cosa es que consigo mandar del pic al pc sin ningun problema, en el hyperterminal me aparece todo lo que he mandado, mi problema es al recibir. He configurado el pic para que cuando reciba un dato del pc salte una interrupcion, y en el vector de interrupcion he hecho que envie un caracter al pc, vamos que intento hacer un eco pero mandando un caracter cualkiera que ponga yo manualmente, no el que me mande el pc. La cosa es q cuando pongo el hyperterminal, en la pantalla me recibe el caracter que deberia de mandar yo en el vector de interrupcion, es decir el caracter sale continuamente en pantalla, sin que yo le mande nada no deberia saltar la interrupcion uqe manda el caracter, pero por lo que parece es como si yo estuviera mandando algo constantemente. Aki va el codigo a ver si alguien puede decirme donde esta el fallo, seguramente estara en la configuracion pero yo no lo veo:

Código:
;<<<<<<------------------- VECTOR DE INTERRUPCION -------------------->>>>>>>

      	ORG   04H      ;Vector de interrupcion

INTER	btfss   PIR1,RCIF   	;¿Interrupcion por recepcion?
      	goto   VOLVER      	;No. Falsa interrupcion
      	bcf      PIR1,RCIF      	;Si. Reponer Flag
	movlw   b'10000000'      ;Envia el caracter, valor binario 
      	movwf   TXREG      ; del codigo ascii
VOLVER	retfie

;<<<<<<----------------- INICIO PROGRAMA PRINCIPAL ------------------->>>>>>>

INICIO  clrf   PORTB      ;Limpia salidas
      clrf   PORTC 

	bsf   RCSTA,SPEN   ;se activa la USART
      bsf   STATUS,RP0   ;Cambio al banco 1 ------------------
      bcf   STATUS,RP1
      clrf	TRISA		;Puerta A como salida
      clrf   TRISB      ;Puerta B como salida
      movlw   80H       ;RC7/Rx entrada,
      movwf   TRISC     ;RC6/Tx   salida y RC5 Salida.
      movlw   04H   	;Configuracion USART
      movwf   TXSTA     ;y activacion de transmision
      movlw   .25      ;9600 baudios
      movwf   SPBRG
      bsf      PIE1,RCIE   	;Habilitacion interrupcion RX
      bcf      STATUS,RP0   	;Cambio al banco 0 -----------------
      ;clrf   PORTB      ;Limpia salidas
      ;clrf   PORTC
      bsf      RCSTA,SPEN   	;se activa la USART
      
      movlw   b'10010000' 	;Configuracion de la usart 
      movwf   RCSTA     ;para recepcion continua
      
      bsf   STATUS,RP0   ;Cambio al banco 1 -------------
      bcf   STATUS,RP1
      bsf   TXSTA,TXEN   ;Habilita la transmision 

      bcf   STATUS,RP0   ;Cambio al banco 0 ------------------
      movlw   0C0H   	;Habilitacion para las 
      movwf   INTCON    ;interrupciones generales

Bukle	goto Bukle

espero vuestra respuesta gracias, saludos :D
 
Última edición por un moderador:
hola :D

tengo un problema con este tipo de comunicación, yo hago que el pic me responda cada vez que envio un caracter pero cuando envio el quinto caracter se daña la comunicación entre la pc y el pic y tengo que resetear el circuito para que funcione otra vez

programo en pic basic y no se si el buffer del pic o del max232 se satura, que creen?
 
gabrielg dijo:
Hola pame

Deberías colocar el circuito en el foro y el programa, estando programado en picbasic es bastante sencillo de analizar.

Podrías probar con el mikrobasic, que es tambien en basic y te permite conectarte a la PC. La direccion es: http://www.mikroe.com/en/compilers/mikrobasic/pic/

Espero te sirva. chau


Que mas gabrielg, te cuento que estoy utilizando Microcode studio que trabaja con picbasic y necesito hacer una conexión serial entre un pic y un sensor que trabaja con 8N1 (bits ‐ parity ‐ # of stop bits). El problema es que basic tiene varias instrucciones por ejemplo HSERIN, SERIN, y SERIN2. no se cual de todas utilizar cual es u diferenci y para que se utiliza cada una. Otra cosa cuando se utiliza un comando de estos hay un pin especifico del pic que queda activado o uno escoge que pin es el de recepción y trasmisión?.
 

Adjuntos

  • dibujo_163.jpg
    dibujo_163.jpg
    101.9 KB · Visitas: 421
La verdad no es por nada , pero no sería mucho mejor una emulación del puerto rs232 mediante usb con el pic18f2550, ya que no se necesita hardware adicional , sino que hay que tener los conocimientos de programación para poder implementarlos. Yo estoy experimentando algo pero me falta un poco para que funcione al 100%
 
Atrás
Arriba