TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: todopic en 27 de Septiembre de 2003, 19:30:00

Título: empleo de un solo pin para TX/rx en rs232
Publicado por: todopic en 27 de Septiembre de 2003, 19:30:00
esto me lo envio el amigo Dennis Crawley  
------------8<------------------8<---------------8<-------------
Utilizando RA4 con un pull up, podemos aprovecharnos de la posibilidad de
modificar los estados del pin.
Mientras se esperan los tiempos entre bit y bit se intercalan las rutinas de
un buffer circular de 37 caracteres,... ese era el desfío.

Para obtener los tiempos correctos se eligió un cristal de 18.432Mhz ya que
es divisible por potencia de dos, dando fracciones exactas para 115kpbs, o
dicho sea de paso, para casi cualquier baudrate. Utilizando estas fracciones
sólo resta elaborar el receptor y transmisor serial.

No está muy comentado pero seguro alguno encontrará una forma de mejorarlo.

Con un programa de terminal tipo Hyperterminal se recibirá el saludo y a
continuación se podrá enviar un texto de 37 caracteres.
Este texto deberá salir como echo, una vez que se termine de recibir el
caracter 37.

que lo aprovechen!.

El sitio de donde saqué el gráfico es www.bitscope.com.

Saludos
Dennis
------------------8<--------------------8<----------------8<-------

Grande Dennis!!!, esto estaba en el foro, pero por una lamentable perdida de datos en el servidor.... asi que ahora nuevamente disponible
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: PantheR en 13 de Julio de 2006, 17:55:43
esta es la rutina para la transmicion serial por un pin cualquiera de cualquier micro pic y el retardo para transmitir a 9600bps .
TX_DATA   

   BSF   tx    ;tx es el puerto que escogiste
   CALL   TIME
   CALL   TIME
   MOVLW   8
   MOVWF   CONT8
   BCF   STATUS,C   ;LIMPIAMOS EL CARRY
   BCF   tx
   CALL   TIME   ;BIT DE START
BIT2
   RRF   TXDATA,F      ;ROTO EL DATO A LA DERECHA
   BTFSS   STATUS,C   ;ES 1 EL CARRY?   
   BCF   tx
   BTFSC   STATUS,C   ;ES 0 ES CARRY?
   BSF   tx
   CALL   TIME
DECON
   DECFSZ   CONT8,F      ;DECREMENTO EL CONTADOR DE BIT
   GOTO   BIT2
   BSF   tx         ;BIT DE STOP
   CALL   TIME
   CLRF   TXDATA      ;LIMPIO REGISTRO DE TRANSMICION
   CALL   RETA
   RETURN
;********************************************
TIME
   MOVLW   1      ;RETARDO 104uS
   MOVWF   REG1
T3
   MOVLW   .28
   MOVWF   REG2
T4
   DECFSZ   REG2,F
   GOTO   T4
   DECFSZ   REG1
   GOTO   T3
   NOP
   NOP
   RETURN
   
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: beatAurex1 en 24 de Agosto de 2007, 17:12:09
Yo tengo una duda, es posible implemetar la transmision serial (pic a pic) pero  por un solo pin?  usando el modulo usart que trae el pic , puenteando los cables y claro realizando las rutians necesarias ASM?  o la unica ,manera de hacerlo es como se expone en el codigo  de ejmplo que muestras.
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: BrunoF en 22 de Septiembre de 2007, 05:57:57
Hola.

Es perfectamente factible! Yo lo estoy haciendo entre muchisimos PICs, pero pasando de RS232 a RS485(gracias MGLsoft!).

Saludos!

Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: scabreram en 22 de Octubre de 2007, 00:11:33
VOY A PROBARLA, MUCHAS GRACIAS
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: stk500 en 02 de Noviembre de 2007, 03:51:52
esto me lo envio el amigo Dennis Crawley  <img border=0 src="http://pics.miarroba.com/caretos/bounce.gif">
------------8<------------------8<---------------8<-------------
Utilizando RA4 con un pull up, podemos aprovecharnos de la posibilidad de
modificar los estados del pin.
Mientras se esperan los tiempos entre bit y bit se intercalan las rutinas de
un buffer circular de 37 caracteres,... ese era el desfío.

Para obtener los tiempos correctos se eligió un cristal de 18.432Mhz ya que
es divisible por potencia de dos, dando fracciones exactas para 115kpbs, o
dicho sea de paso, para casi cualquier baudrate. Utilizando estas fracciones
sólo resta elaborar el receptor y transmisor serial.

No está muy comentado pero seguro alguno encontrará una forma de mejorarlo.

Con un programa de terminal tipo Hyperterminal se recibirá el saludo y a
continuación se podrá enviar un texto de 37 caracteres.
Este texto deberá salir como echo, una vez que se termine de recibir el
caracter 37.

que lo aprovechen!.

El sitio de donde saqué el gráfico es <a href="http://www.bitscope.com" target="_blank">www.bitscope.com[/url].

Saludos
Dennis
------------------8<--------------------8<----------------8<-------

Grande Dennis!!!, esto estaba en el foro, pero por una lamentable perdida de datos en el servidor.... asi que ahora nuevamente disponible <img border=0 src="http://pics.miarroba.com/caretos/bounce.gif">
lo que seria muy interesante no solo pensar el RS232 sino todas forma de protocolo de comunicacion y no solo en PC,
a ver si usted se anima y pone en el foro implementaciones de protocolo de diverso tipo I2c,RS232,DMX ISP ETC
asi no tendria las gente que preguntar, es mi opnion  :mrgreen:
ya me gustaria cooperar para que este Foro sea mas amplio en todos Aspecto electronico informatico
 :mrgreen:
Solo le digo que cuente conmigo para cualquier cosas
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: stk500 en 20 de Noviembre de 2007, 05:31:04
Hola norberto!
haber si tu me da una idea muy corta de usar TX y RX  en DMX, como se haria el Baudrate y la division etc, no quiero que lo haga tan largo, claro he vistos tantos por
ahi pero ni idea tengo en microchip :mrgreen:

Un saludo  :-/ :-/
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: diego_z en 14 de Mayo de 2009, 20:12:08
hola , bueno mi consulta es que distancia podre lograr en rs232 sin los max232 , ya que siendo pic a pic no creo necesitarlos saludos
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: ASTROCAR en 22 de Enero de 2010, 06:44:40
muy interezante el tema de comunicacion via un solo hijo serial eso lo he visto en el protocolo de comunicacion que usan para programar algunos micro motorola de la serie hcs12, dicho protocolo que sito lo llaman BDM y es muy comoda su conecion ya que es un standars.

Saludos y me animo a estar perdiente del tema.
Atten.
Alexander Santana.
Venezuela-Barcelona
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: RedPic en 22 de Enero de 2010, 08:38:26
hola , bueno mi consulta es que distancia podre lograr en rs232 sin los max232 , ya que siendo pic a pic no creo necesitarlos saludos

Un simple aclaración sobre los términos que usamos.

Entre PIC y PIC puedes comunicarlos mediante una comunicación serie sin un MAX232 pero entonces tenemos una comunicación serie digital a nivel TTL, ceros y unos se representan con 5V y 0V, pero no podemos hablar en este caso de RS-232 que consistiría en una comunicación serie digital a nivel V.24/EIA-232-E, ceros y unos se representan con +12V y -12V.

La diferencia es solo de qué niveles de tensión son los que representan los ceros y unos, pero es una diferencia importante y podemos llevar a engaño a algún amigo que esté empezando. Y es mejor utilizar los términos correctamente y dentro de su ámbito de validez.  :mrgreen:

Con RS-232-C no se aconseja una distancia mayor de 15 metros, a nivel TTL nunca se han de sobrepasar los 5 metros

http://perso.wanadoo.es/pictob/comserie.htm#enlace_ttl

¡¡¡ Cogno !!! He puesto en San Google "distancia máxima comunicaciones TTL" y el primer resultado que me da es un post mio en este Foro Teoría y praxis de las comunicaciones serie TTL con los PIC's 16F ... (http://www.todopic.com.ar/foros/index.php?topic=23222.0) Ja, ja, ja  :D :D :D

Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: todopic en 22 de Enero de 2010, 11:24:55
 :D :D Entonces, si el maestro Diego lo dice... pues así sera ja ja ja  :D :mrgreen:

(mientras no se demuestre lo contrario)  :mrgreen:

Norberto
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: RedPic en 22 de Enero de 2010, 16:49:27
¡¡¡ Cogno !!! He puesto en San Google "distancia máxima comunicaciones TTL" y el primer resultado que me da es un post mio en este Foro Teoría y praxis de las comunicaciones serie TTL con los PIC's 16F ... (http://www.todopic.com.ar/foros/index.php?topic=23222.0) Ja, ja, ja  :D :D :D

¿Como que no? ja, ja, ja  :D :D :D

Lo que pasa es que no se si en otras ediciones nacionales de San Google ocurrirá lo mismo.

(http://picmania.garcia-cuervo.net/images/distancia_ttl_google.jpg)
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: migsantiago en 22 de Enero de 2010, 18:12:00
Pues en México también eres autoridad Redpic  :D

http://www.google.com.mx/#hl=es&source=hp&q=distancia+m%C3%A1xima+comunicaciones+ttl&btnG=Buscar+con+Google&meta=&aq=f&oq=distancia+m%C3%A1xima+comunicaciones+ttl&fp=e46a928a38f756f4
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: RedPic en 22 de Enero de 2010, 18:15:27
Pues en México también eres autoridad Redpic  :D

http://www.google.com.mx/#hl=es&source=hp&q=distancia+m%C3%A1xima+comunicaciones+ttl&btnG=Buscar+con+Google&meta=&aq=f&oq=distancia+m%C3%A1xima+comunicaciones+ttl&fp=e46a928a38f756f4

Si, ja ja ja  :D :D :D veo que los cambios empiezan a partir del segundo resultado  :mrgreen: :mrgreen: :mrgreen:
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: MGLSOFT en 22 de Enero de 2010, 18:20:34
Idem para Argentina...

(http://img696.imageshack.us/img696/968/busquedagoogleredpic.jpg)
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: MLO__ en 22 de Enero de 2010, 23:30:18
Pues, acá en Colombia, el señor RedPic también es la autoridad  :mrgreen: ... el que es bueno, es bueno, sin importar donde este.

(http://img199.imageshack.us/img199/7239/redpic.png)
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: escalera en 30 de Julio de 2012, 12:24:03
esta rutina
TX_DATA  

   BSF   tx    ;tx es el puerto que escogiste
   CALL   TIME
   CALL   TIME
   MOVLW   8
   MOVWF   CONT8
   BCF   STATUS,C   ;LIMPIAMOS EL CARRY
   BCF   tx
   CALL   TIME   ;BIT DE START
BIT2
   RRF   TXDATA,F      ;ROTO EL DATO A LA DERECHA
   BTFSS   STATUS,C   ;ES 1 EL CARRY?  
   BCF   tx
   BTFSC   STATUS,C   ;ES 0 ES CARRY?
   BSF   tx
   CALL   TIME
DECON
   DECFSZ   CONT8,F      ;DECREMENTO EL CONTADOR DE BIT
   GOTO   BIT2
   BSF   tx         ;BIT DE STOP
   CALL   TIME
   CLRF   TXDATA      ;LIMPIO REGISTRO DE TRANSMICION
   CALL   RETA
   RETURN
;********************************************
TIME
   MOVLW   1      ;RETARDO 104uS
   MOVWF   REG1
T3
   MOVLW   .28
   MOVWF   REG2
T4
   DECFSZ   REG2,F
   GOTO   T4
   DECFSZ   REG1
   GOTO   T3
   NOP
   NOP
   RETURN

Sirve para comunicar 2 PIC's? osea puedo enviar datos con esta rutina y que el pic contrario reciba los BIT en su registro RCREG? para leerlos como si fuera UART?
es algo que no se y es un poco frustrante, ambos pic trate de comunicarlos y estan trabajando a una velocidad de 4Mhz con FOSC interno y son un PIC16F1827 y un PIC12F1822, hice una liga para ver si respondian pero sigo buscando mientras alguien contesta :/
http://www.todopic.com.ar/foros/index.php?topic=38918.msg324136#msg324136
Título: Re: empleo de un solo pin para TX/rx en rs232
Publicado por: escalera en 31 de Julio de 2012, 12:28:11
Ya pude con mi problema gracias de todas formas, voy a publicar el algoritmo en la liga que mencione antes
Título: Re:empleo de un solo pin para TX/rx en rs232
Publicado por: Dencraw en 27 de Marzo de 2023, 15:42:59
hola.
he aquí mi programa y el esquema al que refiere este mensaje . Saludos!.