MICROCONTROLADORES

MICROCONTROLADORES
MICROCONTROLADORES

LCD 2x16 y ejemplo "Hola mundo"

Es de suma importancia el manejo de dispositivos de visualización que nos permitan saber que es lo que esta sucediendo con alguna variable en cualquier instante de un proceso, es por eso que hoy en día se implementa el uso de lcd 2x16.

Las pantallas de cristal líquido LCD o display LCD para mensajes (Liquid Cristal Display) tienen la capacidad de mostrar cualquier carácter alfanumérico, permitiendo representar la información que genera cualquier equipo electrónico de una forma fácil y económica.

La pantalla consta de una matriz de caracteres (normalmente de 5x7 o 5x8 puntos) distribuidos en una, dos, tres o cuatro líneas de 16 hasta 40 caracteres cada línea.

El proceso de visualización es gobernado por un microcontrolador incorporado a la pantalla, siendo el Hitachi 44780 el modelo de controlador más utilizado.


 
Las características generales de un módulo LCD 16x2 son las siguientes:

· Consumo muy reducido, del orden de 7.5mW

· Pantalla de caracteres ASCII, además de los caracteres japoneses Kanji, caracteres griegos y símbolos matemáticos.

· Desplazamiento de los caracteres hacia la izquierda o a la derecha

· Memoria de 40 caracteres por línea de pantalla, visualizándose 16 caracteres por línea

· Movimiento del cursor y cambio de su aspecto

· Permite que el usuario pueda programar 8 caracteres

· Pueden ser gobernados de 2 formas principales:

o Conexión con bus de 4 bits

o Conexión con bus de 8 bits
 
Patillaje.
 
A continuación se presenta la descripción de señales empleadas por el módulo LCD así como el número de patilla a la que corresponden.


DDRAM

El módulo LCD posee una zona de memoria RAM llamada DDRAM (Data Display RAM) donde se almacenan los caracteres que se van a mostrar en la pantalla.

Tiene una capacidad de 80 bytes, 40 por cada línea, de los cuales sólo 32 se pueden visualizar a la vez (16 bytes por línea).

De las 80 posibles, las dos direcciones más importantes de la DDRAM son:

· Dirección 00h, que es el comienzo de la primera línea

· Dirección 40h, que el comienzo de la segunda línea
 
CARACTERES DEFINIDOS EN LA CGROM
 
El LCD dispone de una zona de memoria interna no volátil llamada CGROM donde se almacena una tabla con los 192 caracteres que pueden ser visualizados.



Cada uno de los caracteres tiene su representación binaria de 8 bits. Para visualizar un carácter debe recibir por el bus de datos el código correspondiente.



Por ejemplo:



“A” àb’01000001’
 

Ejemplo "Hola mundo".

Nuestro siguiente ejemplo se trata de la visualización del mensaje "Hola mundo" en una LCD de 2x16. El código y la expliacción del mismo se muestra a continuación.

#include <16f84a.h> //PIC a utilizar


#FUSES XT,NOWDT,NOPROTECT,NOPUT

#use delay (clock=4000000) //Fosc=4Mhz

#define use_portb_lcd TRUE //Definir portb para la lcd

#include //Libreria manejo lcd



///////////////PROGRAMA//////////////////

void main(void)

{

lcd_init(); //inicializa lcd

printf(lcd_putc," hola mundo" ); //muestra por pantalla el mensaje

}

//////////////////////////////////////////////////////

En C el manejo de una LCD de 2x16 es sumamente sencillo el secreto son las librerias que contiene el Compilador que estamos utilizando. En el código vemos que declaramos el uso de una librería para el manejo de la LCD, en ella tenemos una serie de funciones que nos facilitan el trabajo. La librería fue echa para manejar LCD´S 2x16 con PIC´S que contienen puerto D pero también puede ser utilizada por el PIC 16f84 unicamente indicandole al programador que se va a utilizar el puerto B para la LCD.

El listado de conexxiones entre el PIC y la LCD es la siguiente:

//  B0 -> E

// B1 -> RS

// B2 -> RW

// B4 -> D4

// B5 -> D5

// B6 -> D6

// B7 -> D7
 
Una vez generado y compilado el código de nuestro ejemplo procedemos a realizar el circuito en proteus.