Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pantallas GLCD PDF
Pantallas GLCD PDF
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.
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.
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
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
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:
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
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:
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"
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