Autor Tema: Datos seriales PC-PIC-LCD...????  (Leído 7164 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Datos seriales PC-PIC-LCD...????
« en: 13 de Julio de 2005, 00:37:00 »
Hola Compañeros:

estaba tratando de hacer lo siguiente:

Tengo una pequeña aplicacion en Visual Basic que envia datos en forma serial, pero lo que no logro hacer es que esa cadena lea el pic y vizualice en un lcd...

Dicho de otra forma:

Tengo un Textbox en el que escribo algo y cuando hago click en un Command Button quiero que lo que escribi en el text por ejemplo "Hola Mundo" vaya a un pic y este muestre ese mismo texto en un LCD...

Como puedo hacer esto Avergonzado.

Alguien tiene una idea....?

Un abrazo... Sonrisa Gigante

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #1 en: 13 de Julio de 2005, 21:58:00 »
Hola, explicame mejor que es lo que necesitas.... Que pic estas usando? vas a usar USART? ya tienes el programa en VB?, funciona?

Pues lo mas factible que uses es un 16F876 o alguno que tenga puerto USART y que recibas la trama serial por interrupcion, de esa manera es mas sencillo recibir el caracter y enviarlo al LCD. Por otro lado debes configurar bien la velocidad del PIC 19200, 9600,2400, etc... en el PIC y tu programa en VB. Trata de probar tu programa uniendo la entrada y salida serial. De esa manera podras leer lo que estas enviando por el puerto serial.

Espero haberte aclarado en algo tu problema...

Nos vemos.Rebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #2 en: 13 de Julio de 2005, 22:07:00 »
Hola:

Pues estoy utilizando un 16F871 y el programa en VB va ok... las velocidades son las mismas estoy probando a 2400, lo que habia hecho es enviar desd el pic a la PC datos como "Hola" y los visualizaba en un textbox y sin problma y luego desde el PC solo un caracter como "C" y tambien no habia problemas pero enviar palabras o frases nunk lo habia hecho y no tengo idea de como hacerlo...

habia hecho algo como esto:

SERIN 1,N2400,["A"],B0
LCDOUT $FE, 1, #B0

pero lo unico que visualiza es el ascii de un solo caracter que envio luego de la "A"...

es decir si envio:

"AHOLA"

lo que me muestra en el LCD es solamente el ascii de la H....

No se como pueda hacerlo....

Un abrazo... Sonrisa Gigante

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #3 en: 13 de Julio de 2005, 23:08:00 »
A ver, primero que nada deberias usar el puerto USART y recibir el caracter por una interrupcion.o estar revizando siempre el buffer de recepcion RCREG.
Algo asi:

Loop:
if PIR1.5=1 then                                  " buffer serial lleno
select case rcreg
case13                                                 " llego un ENTER (lo puedes enviar como
            lcdout $FE,1                             " primer dato para limpiar el lcd)
case else
           lcdout #rcreg
endselect
pir1.5=0                                               " limpiamos el buffer
endif

Antes de eso debes setear la velocidad de la transmision utilizando los registros txsta,rcsta y spbrg, ademas de utilizar el puerto c (RC.7 ) como entrada para que reciba la data corractamente.

Ojala no te haya confundido.... es mejor utilizar el hardware que el software, sino para tal caso usa un 16f84. Revisa su PDF del pic.

Nos vemos...
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #4 en: 13 de Julio de 2005, 23:22:00 »
Hola Artifox:

Puesa gracias por la ayuda, y d verdad si me perdi habia hecho ejemplos solamnte por softwar utilizando serin y serout pero por algo tiene que tener el puerto USART...

Me podrias indicar para que sirve pir1.5 y como puedo setear la velocidad de la transmision utilizando los registros txsta,rcsta y spbrg...?

Tienes algun ejemplo para que lo pueda probar y entenderlo...? o este basta...?

Gracias por tu tiempo... Sonrisa Gigante

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #5 en: 13 de Julio de 2005, 23:52:00 »
Mira esto encontre en la pagina de Melabs www.melabs.com

" Read and write hardware USART
B1      var     byte
" Initialize USART
        TRISC = %10111111       " Set TX (PortC.6) to out, rest in
        SPBRG = 25              " Set baud rate to 2400
        RCSTA = %10010000       " Enable serial port and continuous receive
        TXSTA = %00100000       " Enable transmit and asynchronous mode
" Echo received characters in infinite loop
loop:   Gosub charin            " Get a character from serial input, if any
        If B1 = 0 Then loop     " No character yet
        Gosub charout           " Send character to serial output
        Goto loop               " Do it forever
" Subroutine to get a character from USART receiver
charin: B1 = 0                  " Preset to no character received
        If PIR1.5 = 1 Then      " If receive flag then...
                B1 = RCREG      " ...get received character to B1
        Endif
ciret:  Return                  " Go back to caller
" Subroutine to send a character to USART transmitter
charout: If PIR1.4 = 0 Then charout     " Wait for transmit register empty
        TXREG = B1              " Send character to transmit register
        Return                  " Go back to caller
END

Es un programa para leer y escribir usando USART, recuerda ue de todas maneras tienes que revisar el PDF del PIC, es la mejor forma que aprendas a cofigurarlo, no es dificil... Si tienes mas problemas avisas...Fumador

Nos vemos Rebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado jorgeansuini

  • PIC18
  • ****
  • Mensajes: 340
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #6 en: 14 de Julio de 2005, 12:54:00 »
Hola

Lord:
Después del lcdout ¿retornas al serin?

Yo hice un terminal basicamente con ese código y trabajo sin problemas.Mañana veo si pego el código que yo hice.-

Saludos
Jorge

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #7 en: 14 de Julio de 2005, 13:07:00 »
hola jorgeansuini:

pues en efecto regreso al serin... pero solamente me muestra el ascci de una letra... Llorica

Desconectado jorgeansuini

  • PIC18
  • ****
  • Mensajes: 340
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #8 en: 15 de Julio de 2005, 19:11:00 »
Hola lord:

Proba este codigo:


SERIN 1,N2400,B0
LCDOUT $FE, 1, #B0


El problema que tenias es que detecta la primera "A" y guarda la prómima letra en B0,luego volvía a esperar la llegada de otra "A".-

Saludos

Jorge



Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #9 en: 15 de Julio de 2005, 20:07:00 »
Hola:

gracias jorgeansuini voy a probarlo ahora mismo a ver como me va...

Un abrazo...Sonrisa Gigante

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #10 en: 27 de Julio de 2005, 17:30:00 »
Hola Amigos:

lo que busco es algo parecido a lo que puso el amigo Artifox en su ultimo mensaje, cuando envio "HOLA" lo que veo es Hola pero todo en ascci 72797665 el problema ahora es como hacer para ver en el LCD "HOLA" hay una funcion STR pero no se como funciona, debe ser con esa me imagino xq las funciones BIN DEC y HEX muestran el valor ya sea en hexadecimal, binario o decimal...?  estoy en lo correcto?

Alguien me puede ayudar...?

Un abrazo... Sonrisa Gigante

Desconectado ognat

  • PIC10
  • *
  • Mensajes: 9
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #11 en: 29 de Julio de 2005, 18:16:00 »
hola a todos.....una pregunta...como podriamos hacer para en vez de visualizar el voltaje con el 7107...y cuatro led-disp,hacerlo con un pic que contenga puertos analagicos y conversion A/D, como el pic 16F877...y un lcd de 2x16....

estoy tratando de hacerlo andar...pero no logro una rutina (en picbasic) para obtener un voltaje con 1 o 2 decimales, me los redondea en 2 digitos, y no tiene una mediad precisas, me han dicho que tengo que usar un voltaje de referencia....y apartir de ahi....desarrollar un algoritmo de medida ----.....como podria hacer?....

tienen alguna idea?....

desde ya muchas gracias.......

Buenos Aires - Argentina

Desconectado electronando

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 427
RE: Datos seriales PC-PIC-LCD...????
« Respuesta #12 en: 22 de Agosto de 2005, 22:00:00 »
EN LA PAGINA DE MELABS HAY UN ACAPITE EN DONDE DAN ARCHIVOS PARA PUNTO FLOTANTE QUIZAS DEBIUERAS VER ESA PARTE ME BAJE LOS ARCHIVOS PERO AU NO LO E PUESTO A ANDAR ASI QUE SERA MEJOR QUE TE DES UN PASEO POR MELABS HAY EJEMPLOS INTERESANTES , SUERTE

Desconectado lowus

  • PIC10
  • *
  • Mensajes: 11
Re: Datos seriales PC-PIC-LCD...????
« Respuesta #13 en: 30 de Mayo de 2008, 22:02:18 »
Hola como estan?, bueno soy bastante nuevo tanto en el foro como con los pic y pbp, quiero enviar datos (texto) del pc al pic y al LCD, hasta ahora solo he podido enviar numeros de un lado a otro y codigo ascii pero no cadenas de texto completas. alguien tiene algun ejemplo que me pueda ayudar, uso un 16f877a y un LCD 16x2 no entiendo eso del usart ni el codigo que pusieron mas arriba. alguien me lo podría explicar mejor. gracias  :)

Desconectado garquetti

  • PIC10
  • *
  • Mensajes: 14
Re: Datos seriales PC-PIC-LCD...????
« Respuesta #14 en: 31 de Mayo de 2008, 09:09:48 »
Estimado Lord:

Tuve un problema similar, con una comunicación PIC-PIC-LCD, si reemplazamos el primer PIC por la PC el problema es el mismo. Yo lo rsolvi asi:

Código: [Seleccionar]
linea1 var byte[32]
Main:
serin2 portb.1,16780,200,NOAK,[str linea1\32]
lcdout $FE, 1, linea1[0],linea1[1],linea1[2],linea1[3],linea1[4],linea1[5],linea1[6],linea1[7],linea1[8],linea1[9],linea1[10],linea1[11],linea1[12],linea1[13],linea1[14],linea1[15]
lcdout $fE, $C0 , linea1[16],linea1[17],linea1[18],linea1[19],linea1[20],linea1[21],linea1[22],linea1[23],linea1[24],linea1[25],linea1[26],linea1[27],linea1[28],linea1[29],linea1[30],linea1[31]
NOAK:
goto main

Debes tener en cuenta que la PC envia siempre una cadena de 32 caracteres para un LCD de 2x16, si no utilizas todos los caracteres los completas con espacios. Espero que te se de utilidad. Si necesitas el esquema en ISIS, avisame.

Saludos...