Autor Tema: LCD. Caracteres en modo inverso???  (Leído 4866 veces)

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

Desconectado joebar

  • PIC10
  • *
  • Mensajes: 25
LCD. Caracteres en modo inverso???
« en: 19 de Mayo de 2008, 20:14:23 »
Hola a todo@s.

Bueno, lo normal en un LCD es tener el fondo iluminado (o por lo menos el que necesito), pues resulta que ando buscando (si es que lo hay) la manera de cambiar el modo del caracter a inverso (normal= fondo claro + caracter negro, inverso=celda de caracter negro y sobre el, el caracter en blanco o iluminado, no se si me entendéis), el caso es que ando buscando el código que realiza esta función como por ejemplo el siguiente código: LCDOUT $FE, $0F que activa el cursor parpadeante.

Este efecto es el que quiero conseguir: MODO NORMAL - MODO INVERSO
« Última modificación: 20 de Mayo de 2008, 09:15:50 por joebar »

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: LCD. Caracteres en modo inverso???
« Respuesta #1 en: 19 de Mayo de 2008, 22:05:03 »
Saludos!
Guao joebar, está bien interesante!
Bueno pues lo que tendrías que hacer sería diseñar todos los caracteres y escribirlos en la memoria CGRAM del pic... si quieres leer cómo hacerlo lo puedes ver Aqui , en la página 10 del archivo... pero te diré que no es un trabajito nada fácil... seguramente alguien ya lo haya hecho... lamentablemente no he sido yo  :D
Ojalá alguien más en el foro tenga la respuesta a tu problema.
El otro detalle es que la cgram es una memoria reducida, almacena una cantidad limitada de caracteres... tendrías que estar escribiendo en la cgram muchas veces para imprimir sólo una frase...
Tal vez existan displays especiales con la configuración que tú buscas, tampoco lo sé... pero los expertos del foro seguro te ayudarán mejor  :)
Ok nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado joebar

  • PIC10
  • *
  • Mensajes: 25
Re: LCD. Caracteres en modo inverso???
« Respuesta #2 en: 20 de Mayo de 2008, 09:26:25 »
Buenísimo el enlace Firepic, muchas gracias, me lo voy a estudiar y hacer pruebas a ver que tal, solo necesito crear 7 caracteres, no más, así que a ver como sale la cosa, iré comentando que tal va.  :mrgreen:

Si alguien puede aportar algo más, se lo agradeceré.  :mrgreen:

Saludos.

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: LCD. Caracteres en modo inverso???
« Respuesta #3 en: 20 de Mayo de 2008, 13:05:28 »
Hola amigos, si solo son 7 caracters puedes hacer lo que te sugiere firepic osea crear caracteres nuevos en la CGram, sinó directamente te puedes comprar un lcd que trabaja con las letras iluminadas y el fondo oscuro.
saludos!!
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado joebar

  • PIC10
  • *
  • Mensajes: 25
Re: LCD. Caracteres en modo inverso???
« Respuesta #4 en: 20 de Mayo de 2008, 13:15:26 »
Hola amigos, si solo son 7 caracters puedes hacer lo que te sugiere firepic osea crear caracteres nuevos en la CGram, sinó directamente te puedes comprar un lcd que trabaja con las letras iluminadas y el fondo oscuro.
saludos!!

Gracias Flaco por el consejo, miraré de crearlos, por otro lado, ¿que tal se ven los LCD de fondo negro a la luz del día?, no los he probado nunca...

Saludos.

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: LCD. Caracteres en modo inverso???
« Respuesta #5 en: 20 de Mayo de 2008, 13:48:46 »
Pues no deben verse tan "cool" como de noche  :D
Nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado raraavis

  • PIC10
  • *
  • Mensajes: 47
Re: LCD. Caracteres en modo inverso???
« Respuesta #6 en: 09 de Junio de 2008, 21:30:42 »
Ejemplo en Proton

        DEVICE = 16F874
        DECLARE REMINDERS = Off
        XTAL = 4        'Define oscilador de 4 MHz

DECLARE LCD_TYPE = 0       
DECLARE   LCD_DTPIN      PORTB.0
DECLARE   LCD_RSPIN      PORTB.4
DECLARE   LCD_ENPIN      PORTB.5
DECLARE LCD_LINES      2
DECLARE LCD_INTERFACE   4


    TRISB = %00000000
    ADCON0 = 0
    ALL_DIGITAL = TRUE
    PORTB_PULLUPS = OFF

    PRINT $FE,1       
    DELAYMS 500
    PRINT $FE,$0C   ' Oculto cursor
   
    PRINT AT 1,4,"Hola Mundo"
 

    ' Ojo ! la pata R/W del LCD va a 0v para habilitar Escritura.
   
    ' Print 254 es igual a Print $Fe y 64 es la primera posicion de la CGram
    ' El caracter creado ocupa 8 bits asi que la segunda posicion es 72 (64 + 8 = 72) y asi..
    ' solo admite crear 8 Caracteres


    PRINT 254,64,31 ,17 ,23, 19 ,23 ,23 ,31 ,0 'cgram posicion 0   Letra F invertida.
    PRINT 254,72,31 ,17 ,23, 17 ,29 ,17 ,31 ,0 'cgram posicion 1   Letra S invertida.
    PRINT 254,80,29 ,25 ,17 ,1 ,17 ,25 ,29 ,31 'cgram posicion 2    Flecha Izquierda  "<"
    PRINT 254,88,23 ,19 ,17 ,16 ,17 ,19 ,23 ,31 'cgram posicion 3   Flecha Derecha ">"
    PRINT 254,96,0 ,16 ,8 ,4 ,2 ,1 ,0 ,0        'cgram posicion 4    Barra Invertida  "\"
    CLS
    ' Mostrar resultado en el LCD

ver:
    PRINT AT 2,1,0  ' F
    PRINT AT 2,3,1   ' S
    PRINT AT 2,5,2  ' <
    PRINT AT 2,7,3  ' >
    PRINT AT 2,9,4   ' \
    GOTO ver

    END

Tambien te dejo un programita que te ayuda a crear las letras.


 

anything