• Sábado 4 de Mayo de 2024, 21:51

Autor Tema:  Rs-232  (Leído 2168 veces)

borgo

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Rs-232
« en: Jueves 24 de Noviembre de 2005, 03:38 »
0
Hola Gente!!!!

Este ... bueno es lamentable pero me doy cuenta que el jk1 no tiene puerto usart alguien me tira una mano para hacer una comunicación RS-232.
Se como hacerla con los pic´s pero aca se me acabó la ciencia  :(

Desde ya GRACIAS!!!!!!

Daniel´s

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Rs-232
« Respuesta #1 en: Jueves 24 de Noviembre de 2005, 12:22 »
0
Hi  :hola:
Mirá esta rutina es el transmisor:
Si te fijas está el código para cambiar las diferente velocidades de TX hasta 38400 baudios, está seteada la velocidad de 2.400 baudios, el cristal del micro es de 10Mhz.

******************************************************************
saca_caracter
             ldx #9             ;Bits por caracter inculsive el INICIO
             clc                  ;Borra el carry para el bit de INICIO
saca_bit
             bcc saca_0         ;Si C=0 salta para sacar un 0
             bset 7,Puerto_D    ;Si no saca un 1
             bra otro_bit
saca_0
             bclr 7,Puerto_D
             bra otro_bit
otro_bit
             lda #baudios       ;Carga la velocidad para los Baudios
             jsr Tiempo_Bit       ;Llama al temporizador
             ror caracter       ;Rota para el siguiente bit (pasa por el CARRY)
             decx               ;Se decrementa la cuenta de bits
             bne saca_bit       ;Saca el bit siguiente
bit_stop
             lda #baudios       ;Valor para calcular los baudios
             lsra               ;divido /2 los baudios
             bset 7,Puerto_D
             jsr Tiempo_Bit
             rts

********************************************************************
baudios      equ $8F             ;2400 Baudios cristal de 9.8304 MHZ.
;baudios      equ $20             ;9600 Baudios cristal de 9.8304 MHZ.
;baudios      equ $0e             ;19200 Baudios cristal de 9.8304 MHZ.
;baudios      equ $05             ;38400 Baudios cristal de 9.8304 MHZ.
********************************************************************
* Rutina de demora, calcula el tiempo para la velocidad de comunicacion.
* En el acumulador viene el retardo
********************************************************************
Tiempo_Bit
        nop
        nop
        tsta
        deca
        bne Tiempo_Bit
        rts
********************************************************************

Y esta es la rutina del receptor:
En el receptor la cosa es como en el viejo PIC16F84 cuando recibias el bit de inicio a travez del RB0 o lo detectabas con una interrupción para luego leger uno a uno los bit´s que te llegaban, aca la cosa es parecida, en el modo captura del Timer uno se detecta el flanco de bajada del bit de inicio y lo demas es mas o menos lo mismo, leer bit a bit y rotarlos en un registro.

********************************************************************
;  Rutina de servicio de la interrupción del modo captura del timer.        
********************************************************************

Recibir
        clr caracter
        lda #baudios
        lsra        ;divido /2 los baudios
        jsr Tiempo_Bit
        brset 5,Puerto_D,sale
        lda #$9
        sta Bits
rx_otro
        sec                ;Pongo el carry a 1
        brset 5,Puerto_D,rotar_directamente
        clc                  ;Borrar el carry
rotar_directamente
        ror caracter
        lda #baudios
        jsr Tiempo_Bit  ;Espero el tiempo de un bit
        dec Bits
        bne rx_otro     ;Cuando Bits es 0 el Z se afecta
        brclr 5,Puerto_D,*
        mov caracter,Numero_1
        jsr BCD_ajuste
        jsr saca_caracter
sale
        bclr 7,TSC1
        rti
******************************************************************
 Saludos y suerte!!!!

borgo

  • Miembro activo
  • **
  • Mensajes: 60
    • Ver Perfil
Re: Rs-232
« Respuesta #2 en: Jueves 24 de Noviembre de 2005, 13:29 »
0
Gracias Daniel
Ahora viendo tu código y viendo un poco la información general de estos micros se me presenta la duda, justifica embarcarce en este tipo de tecnología tan complicada cuando tenemos los pic´s que hacen maravillas???
A ver si me entiendes, es que veo que esto es mucho mas complicado que los pic´s donde con solo 35 intrucciónes uno hace de todo, o sea, está bien 16 modos de direccionamiento contra solo cuatro de los pic´s pero estos cuatro ya son suficientes si funcionan muy bien,  para que quiero 16, o es que estoy viendo las cosas mal???  Está claro que tu programas Motorola de manera fluida me gustaría saber porque te pasaste a Motorola o mejor dicho que te llevó a encaminarte por estos micros ya que entiendo programas tambien pic´s.
No me mal entiendas, no es que no me gusten los desafíos es solo que a veces uno piensa si no es mejor ser bueno en una cosa.
Gracias por tu código y saludo.

Daniel´s

  • Nuevo Miembro
  • *
  • Mensajes: 17
    • Ver Perfil
Re: Rs-232
« Respuesta #3 en: Jueves 24 de Noviembre de 2005, 15:25 »
0
Veamos,,,, me da lo mismo Microchip o Motorola o Intel o lo que sea, lo que importa es justamente lo que dices "ser bueno", lo que me permita hacer mejor el trabajo en ese momento es lo mejor sin importar la marca, lo que importa es que tu trabajo la solución que implementas a un problema sea eficiente.
El tema si Microchip o Motorola es como Windows o Linux, no importa, la tecnología es el medio no el fin.
Que Motorola es un poco mas complicado, si quizas esté de acuerdo contigo, y que hay menos información si tambien puedo coincidir ahora si justifica o no eso depende de vos, de tu necesidad, de lo que quieras hacer, no hay un microcontrolador perfecto, hay soluciones a problemas y si tu solución viene de la mano de Microchip ese es el micro perfecto en ese momento.
Sobre tu pregunta, yo no me pasé a Motorola ni me pasé a los PIC´s, son solo herramientas que uso de manera indistinta, en la actualidad Motorola ofrece controladores mas poderosos que los PIC´s a menor precio y eso me sirve, mi trabajo se hace mas eficiente a menor costo, como antes Microchip ofrecía mejor prestaciónes a mas bajo precio. En la actualidad con un micro motorola podes hacer cualquier cosa que hacen los pic´s pero no al reves, siendo que hace unos años cuando aparecieron los pic´s estos hacían cosas que los motorola no hacían.
Y básicamente de eso se trata servirnos de la tecnología para hacer mejores cosas.
Un cordial saludo y a tus órdenes.