Anda di halaman 1dari 18

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA MECNICA Y


ELCTRICA
UNIDAD TICOMN
INGENIERA AERONUTICA
SISTEMAS ELECTRNICOS DIGITALES
HERNNDEZ BRCENAS RAYMUNDO

PRCTICA NO.9 LCD.


CHVEZ CRUZ ERNESTO
CORTEZ RUBIO LUIS FERNANDO
RODRGUEZ ORTEGA NICOLS
SALDAA FUENTES LILIANA VIANNEY
TLLEZ SANTIAGO DANIEL
VARGAS SNCHEZ BRAULIO

6AV2
MAYO 2016

Tabla de contenido
introduccin

Imgenes digitales y pixeles 3

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn
LCD GRFICAS

LCD Alfanumrico o de caracteres


Objetivo

12

Desarrollo 13
Ejercicio 1. Imprimir nombre del proyecto
Ejercicio 2. Desarrollo de velocmetro

13

14

Conclusin 16
Bibliografa

17

Introduccin
Imgenes digitales y pixeles

Aeronutic Prctica No.7 Microcontroladores.


a
2

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn
Una imagen digital es una representacin binaria (digital) de un conjunto de datos
pictricos bidimensional, las imgenes digitales pueden tener una representacin de mapa
de bits o vector.
Las imgenes o mapa de bits se encuentran definidos sobre una malla 2D de elementos
de imagen, llamados pixeles. Un pixel es un elemento bsico de una imagen ya que
incluye la intensidad o el valor del color utilizado en el mapa de bits.

Figura 1. Pixeles

Como ya hemos visto el uso del LED que ha sido ocupado como dispositivo de
visualizacin en pantallas LEDs de varios segmentos, ha servido de ejemplo para
demostrar la sencillez, eficacia y economa como elementos de visualizacin, no obstante,
existe un inconveniente con este tipo de pantallas ya que al tener la necesidad de
visualizar una gran cantidad de informacin o graficos no es tan eficiente como lo es la
pantalla de cristal lquido O LCD (Liquid Crystal Dislplay).
El panel LCD se basa en una fuente de luz para cada pixel que se encender, apagara o se
pondr en nivel medio dicha luz dependiendo de lo solicitado por el usuario. Una luz de

Aeronutic Prctica No.7 Microcontroladores.


a
3

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn
fondo de la pantalla o comnmente llamada BACKLIGHT mejorara la visualizacin del
dispositivo.

Figura 2. Funcionamiento del panel LCD

La aplicacin de voltaje en los electrodos cambia el nivel de iluminacin en cada subpixel.


El panel se intercala entre lminas frontales para mejorar la presentacin y una luz de
fondo.
Este tipo de dispositivo visual es uno de los mayormente empleados para la proyeccin de
mensajes, variables y casi cualquier otra informacin que se le es transmitida desde un
microcontrolador, dotando a nuestros circuitos de una interface ms agradable y de mayor
ayuda para su uso. Gracias a que es muy flexible, adems de tener una buena visibilidad y
de ser econmica en el mercado de la electrnica se ha introducido de manera
determinante en l.
En sistemas embebidos o fijos
comnmente dos tipos de LCDs:
o
o

funcionando con

microcontroladores son

usados

ALFANUMERICOS
GRAFICOS

LCD GRFICAS
Una pantalla de cristal lquido del tipo grafico o GLCD (Graphical Liquid Crystal Display) es
un dispositivo formado por una matriz de pixeles monocromticos colocados delante de
una fuente de luz o reflectora. Estos dispositivos de gran funcionalidad utilizan pequeas
cantidades de energa elctrica, existe una gran diversidad de controladores como el
Samsung KS0107, KS0108 o el Toshiba T6963.

Aeronutic Prctica No.7 Microcontroladores.


a
4

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn
Las GLCD pueden soportar diferentes lenguajes de caracteres e incluso capacidades
grficas, se pueden representar imgenes de baja resolucin agregndoles movimientos
simples al usar este tipo de dispositivos. Adems de tener funciones de lnea horizontal y
vertical, funciones de punto, algunos textos y funciones de imgenes.

Figura 3. LCD grfica

Las GLCD disponen de una memora RAM interna del mismo tamao de la capacidad que
dispone la LCD, ejemplo de esto, si una pantalla tiene un tamao de 128x64 pixeles
tendr una memoria RAM interna de la misma capacidad.
Por lo general son manejadas por medio de los microcontroladores para su configuracin y
funcionamiento.
Existen diferentes tipos de GLCDs de la clasificacin grfica, que son expresadas por la
cantidad de pixeles que disponen (resolucin).
Ejemplo de los
tamaos habituales son:

240x128
240x64
160x128
128x128
128x66
128x64
96x65 (Usado por el Nokia 1100)

Figura 4. Nokia 1100, GLCD

96x65

Aeronutic Prctica No.7 Microcontroladores.


a
5

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn
Es sencillo dibujar imgenes en una GLCD una vez que la imagen es convertida en un
mapa de bits, existen editores de mapas de bits para GLCD para realizar la conversin de
imagen a mapa de bits, para el uso de esta herramienta es necesario tener un mapa de
bits monocromtico de la imagen, como ejemplo de software para esto puede ser til
PHOTOSHOP o GIMP.
Caractersticas de una Graphical Liquid Crystal Display (128x64), la cual es la que se
encuentra fcilmente en el mercado y es buena opcin al comenzar a utilizar las GLCD.
Est compuesto por una matriz de puntos de visualizacin de 128 pixeles de largo por 64
de ancho.

Figura 5. Puntos de visualizacin de GLCD de 128x64 pixeles

Es de bajo consumo de energa, y pueden ser del tipo monocromtico o se encuentran a


color o RGB
Tiene dos controladores internos (KS0108B y KS0107B), un controlador solo es capaz de
manejar a 4096 puntos, por eso son necesarios dos controladores. La GLCD se divide en
dos partes iguales, la primera mitad de 1 a 64 coulomb que es controlada por el primer
controlador, y el segundo controlador manejara la segunda mitad de 64 a 128 coulomb.

Aeronutic Prctica No.7 Microcontroladores.


a
6

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn

Figura 6. Controladores internos de GLCD de 128x6

Las LCD del tipo grficas, presentan pines de control y de puerto de datos, adems de
contar con distintos pines de alimentacin, para esto es necesario revisar la hoja de datos
del producto antes de conectarlo dada por el proveedor.

Cada mitad est dividida en 8 pginas, cada tamao de la pgina es de 8 filas y 64


Coulomb. Cada pgina contiene 512 puntos o 64 pixeles (8x64/8=64 Pixeles)

Figura 7. Pginas de cada controlador interno

Cada pgina contiene 64 pixeles, con lo cual se puede crear una salida deseada en ellos,
cada pixel es encendido cuando tiene un valor 0 y se apaga cuando es 1, cada pixel
contiene 8 puntos, cada punto se asocia con un D0 hasta el D7.

Aeronutic Prctica No.7 Microcontroladores.


a
7

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn

Figura 8. Puntos de cada pixel

Las GLCDs son diferentes a las LCDs de caracteres ordinarios, ya que en las LCD se
pueden imprimir nicamente smbolos o caracteres predefinidos a la medida, se muestran
normalmente caracteres en una matriz de tamao fijo normalmente de 5x7 o de 5x8,
mientras que en la GLCD tenemos una ventaja al utilizar pixeles ya que al tener una
pantalla de 128x64 puntos podemos mostrar un grfico en el tamao que necesitemos,
incluso podemos presentar una imagen en la pantalla LCD grfica.

Las terminales de conexin (pines) de las pantallas LCD graficas no han sido
estandarizadas es su totalidad pero pueden encontrarse en el mercado GLCD similares,
adems de ser muy parecidos a los pines de los LCDs alfanumricos con sus funciones,
solo que se han agregado dos nuevas terminales, estas son los CS1 y CS2; bsicamente
acta como una direccin de 2 bits, el CS1 tiene la funcin de seleccionar al controlador
de la primera mitad, y el CS2 selecciona al controlador de la segunda mitad; aunque an
existen variantes dependiendo del proveedor, dando como resultado que en la mayora
presentan las caractersticas compatibles que son presentadas en la siguiente descripcin:
Pin No.
1
2
3
4-11
12
13
14

Symbol
VDD
Vss
V0
DB0DB7
CS2
CS1
/RES

Level
5.0V
0V
H/L
L
L
L

Description
Supply voltaje for logic and LCD(+)
Ground
Operating voltaje for LCD (vairable)
Data bit 0-7
Chip select signial for IC2
Chip select signial for IC1
Reset Signial

Aeronutic Prctica No.7 Microcontroladores.


a
8

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn
15

R/W

H/L

16

D/I

17

18
19
20

VEE
A
K

H/L
H, H -->
L
5.0V
0v

H: read
(MUP<- module),
L write
(MPU -> module)
H: data, L: instruction code
Chip enable signial
Operating voltaje for LCD(variable)
Backlight
Backlight

Tabla 1. Ejemplo de las conexiones en los pines para GLCDs.

En su mayora los GLCD usan un controlador KS0108 (o compatible). El controlador tiene


una RAM de 512 bytes y por lo tanto permite controlar un el GLCD de 64x64 pixeles, como
ya sea haba explicado anteriormente, para GLCD mas grandes se utiliza un controlador
por cada fraccin de la pantalla.

Figura 9. LCD Grfica

La mayora de los LCDs tienen en su interior un generador de tensin negativa, necesario


para el manejo de los segmentos de la pantalla. Para el control del contraste, es necesario
usar un preset de 20 K, conectado entre VEE y VDD (en los extremos) y la terminal
media a V0. Las terminales A y K se encuentran conectadas a un LED interno, estas
debern ser conectadas a 5 y 0 V correspondientemente, junto con una resistencia de 100
a 200 en una conexin en serie para la proteccin de los LEDs.

LCD Alfanumrico o de caracteres

Aeronutic Prctica No.7 Microcontroladores.


a
9

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn
Los display de caracteres LCD, son mdulos prefabricados que contienen controladores
incluidos. Estos display cuentan con un bus de datos y un bus de control, para el manejo
de estos dispositivos los compiladores, tienen una librera predefinida para el control de
estos LCD.

Figura 1. Apariencia fsica y la vista en ISIS.

Los display LCD, permiten graficar los caracteres contemplados en el cdigo ASCII.
Adems del cdigo ASCII, los display LCD admiten graficar hasta 8 caracteres diseados
por el desarrollador, otra caracterstica fundamental de los LCD, es la conexin de bus de
datos, fsicamente tienen 8 bits, pero es posible configurar las conexiones con solo 4 bits.
La conexin de 8 bits implica una mayor cantidad de cables para su uso, pero la velocidad
de trabajo es mayor, por consiguiente la conexin de 4 bits minimiza las conexiones pero
disminuye la velocidad de trabajo.
Se acostumbra a utilizar LCD del tipo HD44780, con un nmero de lneas de variable y un
nmero de caracteres por lnea tambin variable (por ejemplo, con 2x16 se trabaja don
dos lneas de 16 caracteres cada una).

Aeronutic Prctica No.7 Microcontroladores.


a
10

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn

Figura 2. El patillaje de un LCD tpico

El bus de datos es de 8 bits, aunque tambin existe la posibilidad de trabajar con 4 bits
(con un menor nmero de caracteres). El compilador C incluye un fichero (driver) que
permite trabajar con un LCD. El archivo es LCD.C y debe llamarse como un #include. Este
archivo dispone de varias funciones ya definidas:
lcd_init();
Es la primera funcin que debe ser llamada.
Borra el LCD y lo configura en el formato de 4 bits, con dos lneas y con caracteres de 5x8
puntos, en modo encendido, cursor apagado y sin parpadeo.
Configura el LCD con un autoincremento del puntero de direcciones y sin desplazamiento
del display real.
lcd_gotoxy (byte x, byte y);
Indica la posicin de acceso al LCD. Por ejemplo, (1,1) indica la primera posicin de la
primera lnea y (1,2) indica la primera posicin de la segunda lnea.
lcd_getc (byte x, byte y);
Lee el carcter de la posicin (x, y)
lcd_put (char s);

Aeronutic Prctica No.7 Microcontroladores.


a
11

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn
S es una variable de tipo char. Esta funcin escribe la variable en la posicin
correspondiente. Si, adems, se indica:
\f

se limpia el LCD.

\n el cursor va a la posicin (1, 2)


\b el cursor retrocede una posicin.
El compilador de C ofrece una funcin ms verstil para trabajar con el LCD:
printf (string)
printf (cstring, values)
printf (fname, cstring, values)
String es una cadena o un array de caracteres, values es una lista de variables separadas
por comas y fname es una funcin.
El formato es %nt, donde n es opcional y puede ser:
1-9 para especificar cuantos caracteres se deben especificar
01-09 para indicar la cantidad de cero a la izquierda
1.1-9.9 para coma flotante.
T puede indicar:

c carcter
s cadena o carcter
u entero sin signo
d entero con signo
x entero Hexadecimal (minsculas)
X entero Hexadecimal (maysculas)
Lx entero largo Hexadecimal (minsculas)
LX entero largo Hexadecimal (maysculas)
f flotante con truncado
g flotante con redondeo
e flotante en formato en formato exponencial
w entero sin signo con decimales insertados. La 1ra cifra indica el total, la 2da el
nmero de decimales
A continuacin se muestran unos ejemplos de los distintos formatos:

Aeronutic Prctica No.7 Microcontroladores.


a
12

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn

Tabla 1. Ejemplo de los distintos formatos.

Objetivo.
Identificar, conocer y aprender a utilizar los distintos tipos de LCD, mediante
#include <16F876.h>
ejercicios en el software de simulacin Proteus.
#fuses XT

Adems de aplicar conocimientos obtenidos anteriormente como la programacin en


C para mostrar
diversas lecturas
en el LCD.
#use delay(clock=
4000000)
#include
<lcd.c>
Todo
esto en
conjunto nos permite llevar a cabo la prctica y comprender los
principios de funcionamiento de los LCD de manera prctica.
void main()
{ int32 t = 1000;

Desarrollo.

Ejerciciolcd_init();
1. Imprimir nombre del proyecto
LCD:
Cdigo
del programa escrito en lenguaje C.
printf(lcd_putc, "\f IPN ");
delay_MS(t);
printf(lcd_putc, "\f ESIME
TICOMAN");
delay_MS(t);
printf(lcd_putc, "\f TCAS WITH
Aeronutic
Prctica No.7 Microcontroladores.
AP");
a
delay_MS(t);
goto LCD;

13

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn

#include <16F877.h>
#device adc=10

while((BIT_TEST(PORTE,0)==
0))
pantalla:

#FUSES XT,NOWDT

#FUSES

imp_pantalla();

#use delay(clock=20000000)

temperatura();

#include <math.h>

patm();

#include <HDM64GS12.c>

dens();

#include <graphics.c>

vel_indicada();

#BYTE TRISE = 0x89

imp_datos(); }

#BYTE PORTE = 0x09

void imp_pantalla(void){

#byte ANSEL = 0x009B

CHAR P[ ]="
P(KPa)";//Variables de
escritura

#byte ADCON0 = 0x001F


#byte ADCON1 = 0x009F
#byte ADRESH = 0x001E

CHAR V[ ]="V(km/h)";

Slo
se ADRESL
cambi el
#byte
= cdigo
0x009Efuentes para imprimir los

CHAR D[ ]
="p(kg/m3)";
siguientes
datos
que podemos ver en las capturas de
#bit ADON
= ADCON0.0

pantalla.
#bit GO_DONE = ADCON0.2

CHAR T[ ]=" T( C)";

Ejercicio
2. Desarrollo de velocmetro
float

CHAR Pt[ ]="Pt:";


temp=0,c1=0,c2=0,pnom=0,
ft=0,ep,p_atm,densidad,q,pt
Cdigo del programa escrito en lenguaje C.
CHAR Pest[ ]
,pest,vi;//Declaracion de
="Pest:";
variables
void imp_pantalla(void);
void temperatura(void);
void patm(void);

glcd_init(ON);//enciende la
pantalla
glcd_fillScreen(0);

void dens(void);
void vel_indicada(void);

glcd_rect(35,56,85,62,0,0);

void imp_datos(void);
/////////////////////////////////////////////

glcd_rect(0,28,41,37,1,1);
/////////////////
Aeronutic
Prctica No.7 Microcontroladores.
/cuadro V//
void main() {
a
setup_adc_ports( AN0_AN1_A
N2_AN3_AN4 );

setup_adc(ADC_CLOCK_INTER
NAL);

glcd_rect(79,28,127,37,1,1);
//cuadro T//

14

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn

set_adc_channel(4);
delay_us(20);

glcd_rect(79,28,127,37,1,1); //cuadro
T//

c2 = read_adc();
glcd_rect(0,38,42,50,0,1);
glcd_rect(78,38,127,50,0,1);
glcd_rect(0,2,41,11,1,1);

temp = (c1*500/1023)(c2*500/1023);
return;

//cuadro

P//

}
glcd_rect(79,2,127,11,1,1); //cuadro

D//

void patm(){
set_adc_channel(0);

glcd_rect(0,12,42,26,0,1);

delay_us(20);

glcd_rect(78,12,127,26,0,1);

c1 = read_adc();

glcd_rect(0,55,50,63,1,1); //cuadro
Pt//

c2 = c1*5/1023;
glcd_rect(69,55,127,63,1,1); //cuadro

Pest//

pnom = ((c2/5)+0.095) / 0.009;


if (temp>=0 && temp<=85)
ft=1.0;

glcd_text57(1,3,P,1 , 0);

// PRESION

glcd_text57(84,30,T,1 , 0); //
TEMPERATURA
glcd_circle(104,32,1,1,0); //Grados

else if(temp<0 )ft=((-.05)*temp)


+1;
else if(temp>85)ft=(.05*temp)3.25;
ep = 1.5*ft;

glcd_text57(1,30,V,1 , 0); //
VELOCIDAD
glcd_text57(80,3,D,1 , 0); //
DENSIDAD
glcd_text57(1,56,Pt,1 , 0); //Pt//

p_atm=pnom-ep;
return;
}
void dens(){

Aeronutic
Prctica No.7
Microcontroladores.
glcd_text57(69,55,Pest,1,0);
//Pest//
a }}
void temperatura(){

densidad=(p_atm*1000)/
((temp+273.15)*(287));

15

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn

Aeronutic Prctica No.7 Microcontroladores.


a
16

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn

Figura 1. Lecturas del velocmetro simulado en Proteus

Conclusin.
El uso del display LCD ha facilitado en gran medida la elaboracin de aplicaciones con PICs
para diferentes propsitos como medio de visualizacin de las funciones que son
programadas mediante lenguaje C con comandos propios que nos facilitan diferentes
comandos para su uso sencillo. Existen LCDs alfanumricas y grficas para diferentes
propsitos, el nuestro durante el desarrollo de la prctica, fue el de programar una
alfanumrica mediante C y simularla en PROTEUS para que mostrara el nombre del
proyecto semestral TCAS AP, se program otra para mostrar los resultados obtuvieron de
la construccin virtual y simulacin de un velocmetro explicado en el desarrollo de esta
prctica. Se utiliz un LCD grfico para representar la Pantalla de Navegacin (en la que se
visualiza el TCAS II) y el Indicador de Velocidad Vertical, de acuerdo con el funcionamiento

Aeronutic Prctica No.7 Microcontroladores.


a
17

Instituto Politcnico Nacional


Escuela Superior de Ingeniera Mecnica y Elctrica
Unidad Ticomn
del TCAS en esta se proyecta el trfico areo prximo al avin y sus diferentes alertas para
evitar una potencial amenaza de colisin. El indicador de Velocidad Vertical muestra la
zona en la que el piloto debe volar cuando tiene una instruccin de ascender o descender,
todo esto coordinado por el o los computadores del TCAS. El conocimiento de lenguajes de
programacin es necesario para realizar cualquier tipo de aplicacin con PICs o LCDs
adems de la familiaridad con los programas de simulacin que permiten el desarrollo de
las mismas antes de que se creen fsicamente.

Bibliografa

http://playground.arduino.cc/uploads/Code/GLCD_Documentation.pdf
http://students.iitk.ac.in/eclub/assets/tutorials/GLCD.pdf
http://eii.unex.es/profesores/jisuarez/descargas/ip/lcd_alfa.pdf
Head Up Display Using a Graphic Liquid Crystal Display, Yutaka Nakagawa, Society
of Automotive Engineers
Embedded Systems Design whit ATMEL AVR Microcontroler, Steven Barrett
Garca Eduardo, Compilador C CCS y simulador PROTEUS para Microcontroladores
PIC, Primera Edicin, Alfaomega Grupo Editor, S.A. de C.V.
Jos M. Angulo Usategui, Microcontroladores PIC, Diseo Prctico de aplicaciones.
Primera Parte. El PIC 16F86
Aircraft Digital Electronic and Computers Systems, Principles, operations and
maintenance, Mike Tooley, PP. 169, 170, 171. First Edition 2007. Ed. ButterworthHeinemann.
Steve Henley TCAS II The Avionics Handbook Ed. Cary R. Spitzer Boca Raton, CRC
Press LLC. 2001 Chapter 18

Aeronutic Prctica No.7 Microcontroladores.


a
18

Anda mungkin juga menyukai