Вы находитесь на странице: 1из 49

1

Unidad de aprendizaje 2:
Herramientas de programacin y visualizacin en la
implementacin sobre Microcontroladores

Logro especfico de aprendizaje:

Al finalizar la unidad los estudiantes manejan las herramientas


de simulacin, depuracin y programacin de los
microcontroladores dsPIC.

Ing. Juan Vega Martinez 2


Semana 6: Manejo del Visualizador LCD 16x2

Logro de la sesin:

Al trmino de la sesin el alumno comprende el


manejo del controlador HD47780 para imprimir textos
y smbolos en un LCD16x2

Ing. Juan Vega Martinez 3


Sumario

Introduccin
Controlador HD47780
Procedimiento para imprimir un carcter en el LCD
Libreras.
Ejemplo

Ing. Juan Vega Martinez 4


Introduccin

Ing. Juan Vega Martinez Visualizador LCD16x2 5


Introduccin

Es un display alfanumrico
de matrix de puntos formado
por una pantalla de cristal
lquido, sobre la cual se
pueden mostrar mensajes
formados por distintos
caracteres.

Ing. Juan Vega Martinez Visualizador LCD16x2 6


Tipos del LCD

Ing. Juan Vega Martinez Visualizador LCD16x2 7


Conexiones LCD

Ing. Juan Vega Martinez Visualizador LCD16x2 8


Conexiones LCD

Ing. Juan Vega Martinez Visualizador LCD16x2 9


Funcionamiento del LCD

4 bits
8 bits

Ing. Juan Vega Martinez Visualizador LCD16x2 10


Controlador HD44780

Es uno de los controladores que mas comnmente se


encuentran en los LCDs.
Para poder visualizar caracteres, se requiere mandar una serie de
comandos e instrucciones detallados por el controlador
HD44780 como limpiar pantalla, posicionar cursor , etc . Estos
comandos son necesarios para mostrar mensajes de una manera
sencilla.

Ing. Juan Vega Martinez Visualizador LCD16x2 11


Controlador HD44780

Ing. Juan Vega Martinez Visualizador LCD16x2 12


Controlador HD44780

El controlador tiene 2 registros de 8 bits y estos son:

Registro de Datos (RD)


Almacena temporalmente los datos a la DDRAM (display data
RAM) y CGRAM

Registro de Instrucciones(RI)
Registra los cdigos de instrucciones como display clear, cursor
shift , etc

Ing. Juan Vega Martinez Visualizador LCD16x2 13


Controlador HD44780

Funcionamiento general
Registro de Instrucciones

Registro de Instrucciones(RI)
Registra los cdigos de instrucciones como
display clear, cursor shift , etc

Ing. Juan Vega Martinez Visualizador LCD16x2 14


Controlador HD44780

Funcionamiento general
Registro de datos

Registro de Datos (RD)


Almacena temporalmente los datos a la
DDRAM (display data RAM) y CGRAM

Ing. Juan Vega Martinez Visualizador LCD16x2 15


Controlador HD44780

Display Data RAM (DDRAM)


Esta memoria DDRAM es usada para almacenar el dato del
display representado en cdigos de caracteres de 8 bits. La
capacidad es de 80x8bits o 80 caracteres.

Ing. Juan Vega Martinez Visualizador LCD16x2 16


Controlador HD44780

Character Generator ROM


(CGROM)

La CGROM genera un
caracteres patrones de 58
puntos o 510 desde codigos
de caracteres de 8-bit

Ing. Juan Vega Martinez Visualizador LCD16x2 17


Controlador HD44780

Character Generator ROM (CGROM)

Ing. Juan Vega Martinez Visualizador LCD16x2 18


Controlador HD44780

Character Generator
RAM (CGRAM)

En la CGRAM, El usuario
puede personalizar el
caracter por programa.
Una vez escrito en la
CGRAM, los caracteres
nuevos pueden ser
escritos en la memoria
DDRAM.

Ing. Juan Vega Martinez Visualizador LCD16x2 19


Controlador HD47780

Character
Generator RAM
(CGRAM)

Se pueden formar
hasta 8 caracteres
de una matrix de
5x8

Ing. Juan Vega Martinez Visualizador LCD16x2 20


Controlador HD47780
Character
Generator RAM
(CGRAM)

Direcciones

Ing. Juan Vega Martinez 21


Inicializacin

8 Bits

Ing. Juan Vega Martinez Visualizador LCD16x2 22


Inicializacin

4 Bits

Ing. Juan Vega Martinez Visualizador LCD16x2 23


Controlador HD44780

Instrucciones

Ing. Juan Vega Martinez Visualizador LCD16x2 24


Controlador HD44780

Instrucciones

Ing. Juan Vega Martinez Visualizador LCD16x2 25


Software para LCD

Generador de caracteres :

http://bitmap2lcd.com/

http://www.vwlowen.co.uk/arduino/cgramdesigner.zip

Ing. Juan Vega Martinez Visualizador LCD16x2 26


Procedimiento para imprimir
un carcter en el LCD

1) Iniciar el LCD en modo 4 bits 8 bits


2) Posicionar el cursor en la direccin DDRAM donde
queremos imprimir el carcter
3) Escribir el dato del cdigo para que se imprima
desde la CGRAM o CGROM hacia la DDRAM.

Ing. Juan Vega Martinez


Procedimiento para imprimir
un carcter en el LCD

1) Iniciar el LCD en modo 4 bits 8 bits

cursor

Matriz de 5x8
2 Lneas
4 bits

0 1 0 x x

Ing. Juan Vega Martinez


Funciones

Funciones

0 1 0 x x
0 0 1 0 1 0 0 0 Byte de configuracin

Ing. Juan Vega Martinez Visualizador LCD16x2 29


Funciones

0b00101111
&

0b00111011

=
FOUR_BIT & LINES_5x7
0b00101011

0 1 0 x x
0 0 1 0 1 0 x x Byte de configuracin

Ing. Juan Vega Martinez Visualizador LCD16x2 30


Funciones

0b00101011

Ing. Juan Vega Martinez Visualizador LCD16x2 31


Procedimiento para imprimir
un carcter en el LCD
2) Posicionar el cursor en la direccin DDRAM donde
queremos imprimir el carcter

Columna 0 Columna 15

Fila 0
Fila 1

Ing. Juan Vega Martinez


Procedimiento para imprimir
un carcter en el LCD
3) Escribir el dato del cdigo para que se imprima
desde la CGROM hacia la DDRAM.

Caso CGROM:

Ing. Juan Vega Martinez


Procedimiento para imprimir
un carcter en el LCD
3) Escribir el dato del cdigo para que se imprima
desde la CGROM hacia la DDRAM.

Caso CGROM:

Ing. Juan Vega Martinez


Procedimiento para imprimir
un carcter en el LCD
3) Escribir el dato del cdigo para que se imprima
desde la CGROM hacia la DDRAM.

Si quisiramos escribir todo un texto.


Caso CGROM:

Ing. Juan Vega Martinez


Procedimiento para imprimir
un carcter en el LCD
3) Escribir el dato del cdigo para que se imprima
desde la CGRAM hacia la DDRAM.

Primero hay que definir la informacin de las matrices en la


CGRAM. Luego escribir en la memoria CGRAM con la funcin:

Ing. Juan Vega Martinez


Definiendo la informacin del
carcter para la CGRAM

Cdigo del Patrones de la CGRAM


Caracter Direccin CGRAM 7 6 5 4 3 2 1 0

0 0 0 0 0 x x x 0 0 0 0 0
0 0 0 0 1 x x x 0 1 0 1 0
0 0 0 1 0 x x x 0 1 0 1 0
0x00 0 0 0 1 1 x x x 0 0 0 0 0
0 0 1 0 0 x x x 1 0 0 0 1
0 0 1 0 1 x x x 1 0 0 0 1
0 0 1 1 0 x x x 0 1 1 1 0
0 0 1 1 1 x x x 0 0 0 0 0

Ing. Juan Vega Martinez Visualizador LCD16x2 37


Definiendo la informacin del
carcter para la CGRAM

const char smile[8]={ 0b00000000,


0b00001010,
0b00001010,
0b00000000,
0b00010001,
0b00010001,
0b00001110,
0b00000000};

const char smile[8] = {0x00, 0x0A, 0x0A, 0x00, 0x11,


0x11, 0x0E, 0x00};
Ing. Juan Vega Martinez Visualizador LCD16x2 38
Definiendo los arreglos en C para
la CGRAM

const char smile[8]={ 0b00000000,


0b00001010,
0b00001010,
0b00000000,
0b00010001,
0b00010001,
0b00001110,
0b00000000};

const char smile[8] = {0x00, 0x0A, 0x0A, 0x00, 0x11,


0x11, 0x0E, 0x00};
Ing. Juan Vega Martinez Visualizador LCD16x2 39
Preguntas?

Ing. Juan Vega Martinez 40


Ejercicio:
Determinar los valores en Hexadecimal del arreglo en
lenguaje C para que se pueda sacar un smbolo de
batera en el LCD , utilizando la CGRAM.

Ing. Juan Vega Martinez


Procedimiento para imprimir
un carcter en el LCD
3) Escribir el dato del cdigo para que se imprima
desde la CGRAM hacia la DDRAM.

Ejemplo de uso:

Ing. Juan Vega Martinez


Procedimiento para imprimir
un carcter en el LCD
3) Escribir el dato del cdigo para que se imprima
desde la CGRAM hacia la DDRAM.

Ejemplo de uso:

Ing. Juan Vega Martinez


Librerias

LCD.H

Ing. Juan Vega Martinez Visualizador LCD16x2 44


Funciones

XLCD.h

Ing. Juan Vega Martinez Visualizador LCD16x2 45


Funciones

XLCD.h

Ing. Juan Vega Martinez Visualizador LCD16x2 46


Programacin en MPLABx

Ing. Juan Vega Martinez Visualizador LCD 47


Se ha logrado comprender
el funcionamiento del
controlador HD47780 para
imprimir textos y smbolos
en un LCD16x2

Ing. Juan Vega Martinez 48


Juan Vega Martinez
Ing. Electrnico
Ing. Juan Vega Martinez 49

Вам также может понравиться