6AV2
MAYO 2016
Tabla de contenido
introduccin
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
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
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.
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)
96x65
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 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.
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
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
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).
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);
se limpia el LCD.
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:
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
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
#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();
imp_datos(); }
void imp_pantalla(void){
CHAR P[ ]="
P(KPa)";//Variables de
escritura
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
Ejercicio
2. Desarrollo de velocmetro
float
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
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//
glcd_text57(1,3,P,1 , 0);
// PRESION
glcd_text57(84,30,T,1 , 0); //
TEMPERATURA
glcd_circle(104,32,1,1,0); //Grados
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
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
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