Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
GRFICO (GLCD)
CARACTERSTICAS GENERALES
CARACTERSTICAS GENERALES
Telfonos mviles
Reproductores MP3
Sistemas GPS
Juegos
Juguetes educativos
Automatizacin y control industrial, donde
varias caractersticas de la planta pueden ser
fcilmente monitorizadas o cambiadas.
APLICACIONES GLCD
Este mdulo utiliza dos chips controladores KS0108B y KS0107, los cuales controlan el
funcionamiento interno del GLCD.
La pantalla del GLCD est dividida en dos secciones. El KS0107 maneja los 64 segmentos
horizontales de la pantalla (COM1 - COM64). El primer controlador KS0108B maneja la
mitad de los segmentos ubicados a la izquierda de la pantalla (SEG1 a SEG64) y el segundo
controla los segmentos de la mitad derecha (SEG65 a SEG128).
Las dos mitades de la pantalla pueden ser accedidas de forma individual a travs de
los pines de seleccin CS1 y CS2 ubicados en los dos controladores KS0108B,
respectivamente.
Cada mitad se compone de 8 pginas horizontales (0-7), donde cada pgina es de 8
bits de alto y 8 bytes (64 bits) de ancho. Por lo tanto, cada mitad de la pantalla
consta de 64X64 bits.
Los dos primeros pines (1 y 2) son los pines de seleccin de chip para el lado
izquierdo y derecho del controlador de la pantalla. Estos pines son activados en bajo
en el mdulo AG-12864C, pero podran ser activados en alto en algunos otros
modelos, por eso es importante revisar la hoja de datos del fabricante.
Los pines R/W y E tienen similares funciones como en un mdulo LCD basado en
un controlador HD44780.
Una resistencia fija debe ser conectada en serie con el LED de luz de fondo (pin 19)
para limitar la corriente.
Con D/I se selecciona el registro interno del mdulo GLCD sobre el que se va a
leer/escribir. El GLCD dispone de dos registros internos: registro de control y
registro de datos, ambos registros son de lectura y escritura. Con D/I=0 se
selecciona el registro de control y con D/I=1 el registro de datos.
D/I
R/W
Modo
El microcontrolador lee el estado del GLCD (si est ocupado o listo para otro
comando).
Lectura de datos. Los datos visualizados en la pantalla del GLCD son ledos por
el microcontrolador.
En este caso en particular, como se van a emplear las libreras prediseadas del
compilador CCS se deben utilizar las conexiones propuestas en la ayuda
especificada en la librera, aunque hay la posibilidad de modificar el programa de
estas libreras para poder utilizar los pines que se deseen.
El compilador CCS suministra varios drives para este tipo de LCD grficos, el
GLCD.c, el GRAPHICS.c o el ms especfico el HDM64GS12.c. En esta seccin, se
va explicar las funciones de uso comn de estos drivers previstas para el GLCD de
128x64 pixeles, que trabajan con el controlador KS0108.
La definicin de los pines puede ser cambiada al inicio del programa principal con la
intencin de no modificar la estructura original del driver utilizado.
glcd_init (mode)
Se encarga de inicializar el GLCD. El parmetro mode determina si estar encendido
(si recibe un "ON") o apagado (si recibe un "OFF"). Esta debe ser la primera funcin
en invocarse antes que cualquier otra.
Para enviar cualquier dato o comando al mdulo GLCD se emplea la funcin glcd_writeByte
(chip, data) que est desarrollada en base a los criterios mostrados en el diagrama de flujo y
al cronograma de tiempos para una operacin de escritura mostrado en la Figura. El
programador no interacta directamente con esta funcin, sino que esta es invocada por
otras funciones ms especficas.
Esta funcin lo que hace solo es pintar un pixel, los parmetros "x" e "y" son las coordenadas
donde se encuentra el pixel que se desea pintar y el parmetro color indica si el pixel se pinta o
no, poniendo ON u OFF, respectivamente. La coordenada "x" (horizontal) puede tomar valores
entre 0 a 127 (izquierda a derecha) y la coordenada "y" (vertical) puede tomar valores entre 0 a
63 (arriba a abajo). A partir de esta funcin estn desarrolladas todas las funciones restantes.
glcd_fillScreen (color)
Esta es la funcin que "pinta" toda la pantalla con uno u otro color. Si recibe como parmetro un
"ON", la pintar completamente de negro. Si recibe un "OFF", la limpiar por completo. Por
supuesto, su mayor utilidad es la segunda alternativa.
glcd_update ( )
Escribe en la RAM del GLCD; slo es posible utilizar esta funcin si la variable FAST_GLCD
est definida. Esta funcin nicamente est disponible en el driver HDM64GS12.c
Ejercicio: Realizar un cronmetro que muestre el conteo en horas : minutos : segundos sobre un
mdulo GLCD, adems en la pantalla debe haber una animacin que muestre el paso de cada
segundo. Para realizar la temporizacin se solicita utilizar el Timer 1. El inicio, pausa o finalizacin
(reseteo) del contador est gobernado por tres pulsadores ubicados en cualquiera de los terminales
del puerto A. El estudiante puede aadir la cantidad de elementos y textos que crea conveniente.
Las imgenes que se desean cargar deben ser editadas con anterioridad en algn editor de
imgenes como el Paint de Windows.
Estos archivos deben respetar las dimensiones de la pantalla grfica en este caso de 128x64
pxeles. Por ltimo el archivo debe ser guardado en formato bmp y color monocromtico.
Lo que realmente se necesita de la imagen es el mapa de bits (arreglo de datos) que representa
la informacin de los pixeles en negro y en blanco.
Para la generacin del arreglo de datos se puede utilizar la herramienta gratuita LCD Assistant
(pgina oficial: http://en.radzio.dxp.pl/bitmap_converter/), la cual permite convertir mapas de bits
monocromticos a arreglos de datos para facilitar su uso con programas para sistemas
embebidos con microcontroladores y LCDs grficos monocromticos.
Una vez que se ejecute la aplicacin se abrir una ventana como la mostrada en la Figura. Lo
primero que se debe realizar es cargar la imagen de la cual se desea obtener el arreglo de datos,
para ello dirjase al men File>Load image y en el explorador busque la localizacin de la imagen.
Luego de que la imagen es insertada, coloque en el casillero Table name el nombre del arreglo,
por ejemplo imagen. Los dems parmetros se dejan por defecto y finalmente vaya al men
File>Save output, tras lo cual la matriz de datos se guardar en el archivo con el nombre
especificado. A continuacin, basta con incluir este archivo en el programa principal del
compilador CCS y utilizar el nombre de la matriz (en este caso imagen) como parmetro de la
funcin que cargar el mapa de bits sobre el mdulo GLCD.
El cdigo generado en lenguaje C, puede ser agregado al cdigo del programa principal justo al
inicio en la parte de la declaracin de constantes. Est declaracin es un arreglo de tipo: const
unsigned char.
Se debe mencionar que el arreglo generado tiene 1024 elementos y cada uno de ellos
representa una columna de 8 bits perteneciente a cualquiera de las 8 pginas del GLCD.
El orden como se generan estos datos es considerando que se empieza por la primera columna
de la primera pgina, luego se generan las dems columnas (de izquierda a derecha) hasta llegar
al final de primera pgina, para posteriormente saltar a la primera columna de la segunda pgina
y seguir con el mismo proceso hasta generar la ltima columna de la ltima pgina. Esta
informacin es muy importante de comprender puesto que permitir generar la funcin
encargada de visualizar el arreglo de datos sobre el GLCD, tal y como se muestra en el cdigo
de programacin.
Despus de editar, inicializar, y anexar el mapa de bits en el cdigo fuente se tiene la siguiente
fuente total:
Ejercicio: Realizar una aplicacin dinmica cualquiera en la que se demuestre la existencia de carga
de imgenes sobre un mdulo GLCD. La calificacin de este trabajo estar basada en la complejidad
de la aplicacin.