Está en la página 1de 19

PANTALLAS GLCD

USO DE LCD GRFICO


A diferencia de las pantallas LCD de caracteres donde la unidad de la funcin es un personaje, en
el GLCD la unidad de la funcin es un pxel, o un punto. Las pantallas LCD grficas vienen en una
variedad de tamaos, su tamao se describe como el nmero de puntos en una fila, y el nmero
de filas que tiene. Los aficionados y la mayora de electrnicos utilizan la pantalla de tamao
medio, por lo general de 128 x64 puntos.
Hay dos clases principales de grfico LCD, de dos colores (blanco y negro), o un solo color, y otras
varias formas de pantallas LCD de color. En el presente captulo, se concentrar en el uso comn
del LCD grfico de 128 x64.
El LCD grfico no tiene un conjunto de caracteres predefinidos ni tabla de fuente. Con el fin de
utilizar las pantallas GLCD, usted tiene que definir el juego de caracteres. Comnmente la tabla
de caracteres es almacenada en un archivo EEPROM, sin embargo, si el microcontrolador utilizado
tiene suficiente memoria RAM, se pueden almacenar en l tambin. Vamos a hablar de EEPROM
en captulos posteriores. Aqu mi objetivo es explicar que las fuentes se deben almacenar en algn
lugar de la memoria antes de su uso.
Chip controlador
Un gran nmero de fabricantes estn haciendo LCD grfico con sus propios controladores. Sin
embargo, dos son los controladores ms utilizados, Samsung S6B0188 o T6963 de Toshiba. Usted
necesitar bibliotecas apropiadas para hacer frente a cada controlador. Protn IDE PLUS tiene
incorporadas bibliotecas que soportan los controladores de Samsung, y por lo tanto nuestra
discusin se centrara en el uso del LCD grfico Samsung o compatible con el controlador.
La pantalla GLCD funciona en modo de datos de 8 bits, y por lo tanto requieren 8 lneas I/O del
microcontrolador. Aparte de eso la pantalla GLCD tiene, RS (Registro de Seleccin), R/W (lectura
/ escritura), Habilitar, CS1 y CS2 (Chip Select) lneas.
El LCD grfico requiere voltios negativos, por lo general-6V para ajustar el contraste. Generar los
voltios negativos de suministro de 5V estndar se realiza comnmente con CI 7.660. Sin
embargo, algunos GLCD tiene el mismo circuito integrado trazado a bordo del mismo, y un
contraste de -10V est disponible. El contraste In esta vinculado con 10V a travs de un
potencimetro para ajustar el brillo de puntos.

La EEPROM externa es como una parte del circuito cuando el PIC utilizado, no tiene suficiente
memoria de almacenaje, sin embargo el PIC 18f4550 tiene suficiente potencial RAM interno para
trabajar con el.
Declarar pin de Conexiones GLCD
Al igual que con el LCD, las
necesarias definirlas.

conexiones elctricas de la GLCD con el microcontrolador son

LCD_DTPORT = PORTD
LCD_RSPIN = PORTC.0
LCD_ENPIN = PORTC.2
LCD_RWPIN = PORTC.1
LCD_CS1PIN = PORTE.0
LCD_CS2PIN = PORTE.1
LCD_TYPE = GRAPHIC
Vamos a conectar los datos de cristal lquido en PORTD, los 7 bits de PORTD se utilizaran. Los
pines de control sern conectados en PORTC, y los pines de seleccin CS1 y 2 en PORTE.
El LCD_TYPE debe ser mencionado como grfico de otra manera por LCD de caracteres por
defecto lo asume el compilador de PROTON. Es posible que eligiera otros pines de conexin
segn su proyecto.
Una vez que estas conexiones se han definido el comando PRINT se puede utilizar para enviar
datos de texto, y un montn de comandos para los datos grficos a pantalla GLCD.
Fuente Declaracin
Despus de declarar las conexiones elctricas, tenemos que informar al compilador acerca de la
ubicacin de la tabla de fuentes. La fuente de la tabla se puede encontrar en la RAM interna o
EEPROM externa. En segundo lugar ms de un conjunto de tipos de letra se define en la
EEPROM. La direccin de comienzo de la tabla fuente a utilizar tambin tiene que ser definida.
INTERNAL_FONT = On
FONT_ADDR = 0
Estas dos declaraciones definen que vamos a utilizar un chip EEPROM, y el cuadro Font a partir,
del byte 0 de la EEPROM. La fuente se describe en un formato especfico, como:
'Fuente CDATA tabla
'Copiar y pegar esta tabla en su propio programa
'si una fuente interna se requiere.
Font: CData $00,$00,$00,$00,$00,$00
CData $FF,$FF,$FF,$FF,$FF,$FF
CData $07,$07,$07,$00,$00,$00
CData $00,$00,$00,$07,$07,$07
CData $E0,$E0,$E0,$00,$00,$00

'Graphic
'Graphic
'Graphic
'Graphic
'Graphic

character
character
character
character
character

0
1
2
3
4

Esto debe ser declarado en la parte inferior del programa. Aviso de la fuente: - antes de asumir
los datos. El CData esta listo para leer los datos en la memoria del programa, a partir de su
ubicacin en la que se declaro. Los datos en s constan de 6 bytes, el patrn de bits de los
cuales define un carcter completo de la pantalla.

Afortunadamente PROTON IDE PLUS viene con dos archivos de fuentes predefinidos, que se
encuentra en la carpeta de instalacin. Usted puede incluir este archivo en su programa, al
copiar y pegar toda la tabla, o copiando el archivo en su carpeta del proyecto y el uso de include.
Algunas pantallas invierten las seales de chip1 y CHIP2, que dan lugar mal alineados de datos.
Si este es el caso de la pantalla tambin incluir esta declaracin antes de usar la pantalla GLCD.
Declare GLCD_CS_INVERT true
En mi caso debo hacer uso de esta instruccin para utilizar la GLCD dando el Aviso de la
instruccin de inclusin en el programa. Incluyendo el archivo FONT.INC. Este programa imprime
el texto en pantalla grfica LCD. La Notificacin de la sentencia print es exactamente la misma,
pero Internamente se ha ocupado de la complejidad de la pantalla grfica LCD.

DISTRIBUCION DE PINES DEL GLCD

CIRCUITO:

Ejemplo 1:
Mostrar un mensaje simple en una Pantalla GLCD
Device = 18F4550
XTAL = 20
LCD_DTPORT = PORTB
LCD_RSPIN = PORTD.5
LCD_ENPIN = PORTD.1
LCD_RWPIN = PORTD.4
LCD_CS1PIN = PORTD.2
LCD_CS2PIN = PORTD.3
Declare GLCD_CS_INVERT true
Declare GLCD_STROBE_DELAY 1
Declare LCD_INTERFACE =8
Declare GLCD_READ_DELAY 2

Declare LCD_TYPE= SAMSUNG


INTERNAL_FONT = On
FONT_ADDR = 0
Print Cls
Print "CONTROL GLCD SAMSUNG"
End
Include "FONT.INC"
Declare GLCD_STROBE_DELAY 1: Se utiliza cuando el GLCD suele no inicializarse
correctamente, el defecto tpico es que cuando se enciende una vez sale perfecto y otras todo
desgarrado. No poner valores muy altos de no ser necesario el delay puede ser entre 0 y 65535.

Bueno, hay unas cuantas cosas ms que usted puede proporcionar a la orden de impresin, usted
puede utilizar el comando AT, teniendo en cuenta que los nmeros despus de la AT describen la
lnea y la posicin del carcter.
Ejemplo 2: Mostrar un mensaje en la Pantalla GLCD con el comando Inverse 1, el cual
mostrar el texto en formato inverso, que es de color blanco sobre fondo negro.
Device = 18F4550
XTAL = 20
LCD_DTPORT = PORTB
LCD_RSPIN = PORTD.5
LCD_ENPIN = PORTD.1
LCD_RWPIN = PORTD.4
LCD_CS1PIN = PORTD.2
LCD_CS2PIN = PORTD.3
Declare GLCD_CS_INVERT true
'Declare GLCD_STROBE_DELAY 1
Declare LCD_INTERFACE =8
'Declare GLCD_READ_DELAY 2
Declare LCD_TYPE= SAMSUNG
INTERNAL_FONT = On
FONT_ADDR = 0
Print Cls
Print At 4,1,Inverse 1,"Manejo GLCD SAMSUNG"
End
Include "FONT.INC"

Ejemplo 3: Mostrar un lnea negra en la Pantalla GLCD, la cual ira apareciendo y desapareciendo
es de color negro sobre fondo blanco.
Device = 18F4550
XTAL = 20
LCD_DTPORT = PORTB
LCD_RSPIN = PORTD.5
LCD_ENPIN = PORTD.1
LCD_RWPIN = PORTD.4
LCD_CS1PIN = PORTD.2
LCD_CS2PIN = PORTD.3
Declare GLCD_CS_INVERT true
Declare GLCD_STROBE_DELAY 1
Declare LCD_INTERFACE =8
Declare GLCD_READ_DELAY 2
Declare LCD_TYPE= SAMSUNG
INTERNAL_FONT = 0
FONT_ADDR = 0
Print Cls
Dim xpos As Byte
INICIO:
' RUTINA PARA DIBUJAR LINEA
For xpos = 0 To 127
Plot 20 , xpos
DelayMS 10
Next
' RUTINA PARA BORRAR LINEA
For xpos = 0 To 127
UnPlot 20 , xpos
DelayMS 10
Next
GoTo INICIO
End

Cls Imprimir
Plot 20,50
El comando Plot es el comando de la biblioteca grfica, est dispuesto a aceptar y, coordina la
posicin x para mostrar un punto en ubicacin del GLCD. Puede utilizar este comando en una
variedad de maneras para controlar la ubicacin de las coordenadas y la pantalla
puntos. Por ejemplo hacer una forma de onda, a partir de los datos ledos en el puerto
analgico para mostrar sus fluctuaciones.
Lo contrario del comando Plot es el Unplot. Este borra el pxel y, la ubicacin x. El programa
anterior, seala en primer lugar una lnea, por escrito los puntos individuales, y luego
los borra uno por uno.
Ejemplo 4: Se dibuja una secuencia de lneas, el eje x se incrementan en 2. Ya que las lneas se
calculan matemticamente, hay poco de lneas oblicuas
Device = 18F4550
XTAL = 20
LCD_DTPORT = PORTB
LCD_RSPIN = PORTD.5
LCD_ENPIN = PORTD.1
LCD_RWPIN = PORTD.4
LCD_CS1PIN = PORTD.2
LCD_CS2PIN = PORTD.3
Declare GLCD_CS_INVERT true
Declare GLCD_STROBE_DELAY 1
Declare LCD_INTERFACE =8
Declare GLCD_READ_DELAY 2
Declare LCD_TYPE= SAMSUNG
INTERNAL_FONT = On
FONT_ADDR = 0
Dim x As Byte
Print Cls
For x=0 To 127 Step 2
Line 1,x,0,127-x,63
Next x
End
Include "FONT.INC"

Line 1,0,0,127,63
El comando Line se utiliza para dibujar una lnea entre dos coordenadas. El primer argumento 1
en este ejemplo indica si la lnea se va a dibujar o borrar. Una es dibujar. Los siguientes dos pares
son x1, y1, x2, y2 dos conjuntos de coordenadas para indicar las posiciones de fin de lnea.
Ejemplo 5: Realizar un cuadro en el centro de la GLCD
Device = 18F4550
XTAL = 20
LCD_DTPORT = PORTB
LCD_RSPIN = PORTD.5
LCD_ENPIN = PORTD.1
LCD_RWPIN = PORTD.4
LCD_CS1PIN = PORTD.2
LCD_CS2PIN = PORTD.3
Declare GLCD_CS_INVERT true
Declare GLCD_STROBE_DELAY 1
Declare LCD_INTERFACE =8
Declare GLCD_READ_DELAY 2
Declare LCD_TYPE= SAMSUNG
INTERNAL_FONT = On
FONT_ADDR = 0
Dim x As Byte
Print Cls
For x=0 To 127 Step 2
Box 1, 60,30,20
Next x
End
Include "FONT.INC"
Box 1, 60,30,20
El comando Box se hace una caja en la pantalla. El primer parmetro es una vez ms, el
tiempo para mostrar, los prximos dos son las coordenadas x e y del centro de la caja, y el ltimo
parmetro es el tamao de la caja.
Ejemplo 6: Manejo de GLCD con varios mensajes

Device = 18F4550
XTAL = 20
ALL_DIGITAL= TRUE
LCD_DTPORT = PORTB
LCD_RSPIN = PORTD.5
LCD_ENPIN = PORTD.1
LCD_RWPIN = PORTD.4
LCD_CS1PIN = PORTD.2
LCD_CS2PIN = PORTD.3
Declare GLCD_CS_INVERT true
'Declare GLCD_STROBE_DELAY 1
Declare LCD_INTERFACE =8
'Declare GLCD_READ_DELAY 2
Declare LCD_TYPE= SAMSUNG
INTERNAL_FONT = On
FONT_ADDR = 0
Cls
DelayMS 500
Inicio:
Print At 0,1,"Pantalla de cristal"
DelayMS 500
Print At 1,3,"Liquido grafica"
DelayMS 500
Print At 2,3,"Manejo con PIC"
DelayMS 500
Print At 3,4,"128*64 GLCD"
DelayMS 500
Print At 4,3,"con PROTON IDE"
DelayMS 500
Print At 5,2,"y Microcontrolador"
DelayMS 500
Print At 6,5,"pic 18f4550"
DelayMS 500
Print At 7,2,"simulacion Proteus"
DelayMS 500
GoTo Inicio
End
Include "font.inc"
Ejemplo 7: Manejo de GLCD con tamao de fuente de letra Arial 8 y 12.

Device = 18F4550
XTAL = 20
ALL_DIGITAL= TRUE
LCD_DTPORT = PORTB
LCD_RSPIN = PORTD.5
LCD_ENPIN = PORTD.1
LCD_RWPIN = PORTD.4
LCD_CS1PIN = PORTD.2
LCD_CS2PIN = PORTD.3
Declare GLCD_CS_INVERT true
'Declare GLCD_STROBE_DELAY 1
Declare LCD_INTERFACE =8
'Declare GLCD_READ_DELAY 2
Declare LCD_TYPE= SAMSUNG
INTERNAL_FONT = On
FONT_ADDR = 0
GLCD_EXTERNAL_PRINT = PPRINT
Cls
DelayMS 500
Inicio:
Print Font ArialK____12
Print At 2,20,"Glcd-PIC"
DelayMS 500
Print Font ArialK____12
Print At 19,0,"****************"
DelayMS 500
Print Font Arial____8
Print At 36,0,"Tutorial PROTON IDE"
DelayMS 500

Print Font ArialK____12


Print At 49,0,"18F4550 + GLCD"
DelayMS 500
End
Include "Arialk12.txt"
Include "ARIAL8.txt"
VISUALIZACIN DE IMGENES MAPA DE BITS
Las imgenes de mapa de bits se realizan con un convertidor de formato adecuado para su
visualizacin en la pantalla grfica LCD este tipo de formato es con extensin .bmp. Los
programas que permiten esta conversin de formato estn disponibles en Internet uno de ellos es
el convertidor de imgenes jpg a bmp.

Ingresamos a Internet seleccionamos imgenes y escribimos en el buscador lo que deseamos, las


imgenes requeridas deben estar en formato jpg, en este caso ubicamos una ya establecida en la
red.

Abrimos la imagen y la guardamos en la carpeta de mis imgenes con el nombre de mot, por
ejemplo.

Abrimos la carpeta de mis imgenes y ubicamos la imagen con sus respectivas caractersticas:

La imagen seleccionada se debe pasar al formato Bmp de la siguiente forma:

Una vez realizado esto dar clic en el icono de cargar la imagen que ser convertida a formato
Bitmaps [*.bmp] .Los datos convertidos se guardan en una carpeta creada previamente en
consideracin se recomienda crearla en unidad de disco C.

Una vez cargada y guardada la imagen en formato [*.bmp]; se procede a abrir el Software
FasLCD.exe

Esta es la ventana de trabajo del software que se utiliza para cargar la imagen a 128 x64

Se da click en el icono de abrir

y ubicamos la imagen antes trabajada y convertida mot.bmp

Una ver realizado esto cargamos la imagen al entorno de trabajo en el icono Load, seleccionamos
Stretch y selection y por ultimo OK esto es para poder trabjar la imagen a 128 x 64

Una vez realizado lo anterior la imanen aparece en el entorno de trabajo de la siguiente forma:

La imagen esta lista para ser grafica en la GLCD 128 X 64

Guardamos el proyecto en una carpeta para su posterior utilizacin.

Para transformar la imagen en cdigo Basic se utiliza el PicBasic PLus GLCD

Se carga la imagen como se ve a continuacin:

Una
vez
realizado
esto
se
genera
programa\ProtonIDE\PDS\PDS\Includes\Sources

el

Mot.in

en

C:\Archivos

de

Device = 18F4550
Xtal = 20
All_Digital= TRUE
LCD_DTPort = PORTB
LCD_RSPin = PORTD.5
LCD_ENPin = PORTD.1
LCD_RWPin = PORTD.4
LCD_CS1Pin = PORTD.2
LCD_CS2Pin = PORTD.3
Declare GLCD_CS_Invert true
'Declare GLCD_STROBE_DELAY 1
Declare LCD_Interface =8
'Declare GLCD_READ_DELAY 2
Declare LCD_Type= Samsung
Internal_Font = On
Font_Addr = 0
GLCD_EXTERNAL_PRINT = PPRINT
Cls
DelayMS 500
Dim Xpos As Byte
Dim Ypos As Byte
Dim Addr As Word
Dim char As Byte
BASLA:
For Ypos = 0 To 7
For Xpos = 0 To 127
Addr = (Ypos*128)+Xpos
char = CRead mot+Addr
LCDWrite Ypos,Xpos,[char]
Next
Next
DelayMS 100
GoTo BASLA
Include "mot.inc"

Ejemplo 7: Mostrar una imagen obtenida de Internet en la GLCD.


Device = 18F4550
Xtal = 20
LCD_DTPort = PORTB
LCD_RSPin = PORTD.5
LCD_ENPin = PORTD.1
LCD_RWPin = PORTD.4
LCD_CS1Pin = PORTD.2
LCD_CS2Pin = PORTD.3
Declare GLCD_CS_Invert true
'Declare GLCD_STROBE_DELAY 1
Declare LCD_Interface =8
'Declare GLCD_READ_DELAY 2
Declare LCD_Type= Samsung
Internal_Font = On
Font_Addr = 0
GLCD_EXTERNAL_PRINT = PPRINT
Cls

DelayMS 500
Dim Xpos As Byte
Dim Ypos As Byte
Dim Addr As Word
Dim char As Byte
BASLA:
For Ypos = 0 To 7
For Xpos = 0 To 127
Addr = (Ypos*128)+Xpos
char = CRead MOTOS +Addr
LCDWrite Ypos,Xpos,[char]
Next
Next
DelayMS 100
GoTo BASLA
Include "MOTOS.inc"
Circuito

COLOR LCD Y PANELES TCTILES


Aparte de las pantallas LCD de uso grfico, hay monitores LCD tambin. Estos LCD tienen
diferente controlador a bordo, y usted tendr que mirar las hojas de datos de la pantalla para
uso particular. La LCD de color difiere en la profundidad de color. Esto significa que el nmero de
colores se pueden visualizar por pxel.
Paneles tctiles son ahora de uso comn en relacin con el grfico de las pantallas LCD para
obtener la entrada del usuario. EL panel tctil consiste en una hoja separada de la
membrana transparente, incorporando miles de puntos sensibles a tocar. Es disponible por
separado o, en ocasiones incorpora sobre la pantalla. Tiene su propio circuito de control, que
necesita ser calibrado con la pantalla.
Para inquietudes desde http://www.forosdeelectronica.com/f24/tutorial-manejo-proton-ide-27932/

También podría gustarte