Anda di halaman 1dari 8

LCD 16X2

Descripción: La pantalla de cristal liquido o LCD (Liquid Crystal Display) es un dispositivo


µControlado de visualización grafico para la presentación de caracteres, símbolos o incluso
dibujos (en algunos modelos), es este caso  dispone de 2 filas de 16 caracteres cada una y
cada carácter dispone de una matriz de 5x7 puntos (pixeles), aunque los hay de otro número
de filas y caracteres. Este dispositivo esta gobernado internamente por un microcontrolador y
regula todos los parámetros de presentación, este modelo es el mas comúnmente usado y esta
información se basará en el manejo de este u otro LCD compatible

Características principales:
-Pantalla de caracteres ASCII, además de los caracteres Kanji y Griegos.
-Desplazamiento de los caracteres hacia la izquierda o la derecha.
-Proporciona la dirección de la posición absoluta o relativa del carácter.
-Memoria de 40 caracteres por línea de pantalla.
-Movimiento del cursor y cambio de su aspecto.
-Permite que el usuario pueda programar 8 caracteres.
-Conexión a un procesador usando un interfaz de 4 u 8 bits

Funcionamiento: Para comunicarse con la pantalla LCD podemos hacerlo por medio de sus
patitas de entrada de dos maneras posibles, con bus de 4 bits o con bus de 8 bits, este ultimo
es el que explicare y la rutina también será para este. En la siguiente figura vemos las dos
maneras posibles de conexionar el LCD con un pic.
Conexionado con bus de 4 bits Conexionado con bus de 8 bits

Como puede apreciarse el control de contraste se realiza al dividir la alimentación de 5V con


una resistencia variable de 10K.

Las líneas de datos son triestado, esto indica que cuando el LCD no esta habilitado sus
entradas y salidas pasan a alta impedancia.

Descripción de pines:

PIN Nº SIMBOLO DESCRIPCION


1 Vss Tierra de alimentación GND
2 Vdd Alimentación de +5V CC
3 Vo Contraste del cristal liquido. ( 0 a +5V )
Selección del registro de control/registro de datos: 
4 RS          RS=0 Selección registro de control
         RS=1 Selección registro de datos
Señal de lectura/escritura:
5 R/W          R/W=0 Escritura (Write)
         R/W=1 Lectura (Read)
Habilitación del modulo:
6 E          E=0 Módulo desconectado
         E=1 Módulo conectado
7-14 D0-D7 Bus de datos bidireccional.

JUEGOS DE INSTRUCCIONES:
Estas son las instrucciones para el control del modulo LCD 
 
 CLEAR DISPLAY                                                                               
Borra el módulo LCD y coloca el cursor en la primera posición 
(dirección 0). Pone el bit I/D a 1 por defecto.
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 0 0 1
Tiempo de ejecución: 1.64mS
 
 HOME                                                                                               
Coloca el cursor en la posición de inicio (dirección 0) y hace que el display comience a
desplazarse desde la posición original. El contenido de la memoria RAM de datos de
visualización (DD RAM) permanece invariable. La dirección de la memoria RAM de datos para
la visualización (DD RAM) es puesta a 0.
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 0 1 X
Tiempo de ejecución: 1.64mS
 
 ENTRY MODE SET                                                                            
Establece la dirección de movimiento del cursor y especifica si la visualización se va
desplazando a la siguiente posición de la pantalla o no. Estas operaciones se ejecutan durante
la lectura o escritura de la DD RAM o CG RAM. Para visualizar normalmente poner el bit S=0.
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 0 1 I/D S
Tiempo de ejecución: 40µS
 
 DISPLAY ON/OFF CONTROL                                                             
Activa o desactiva poniendo en ON/OFF tanto al display (D) como al cursor (C) y se establece
si este último debe o no parpadear (B).
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 0 1 D C B
Tiempo de ejecución: 40µS
 
 CURSOR OR DISPLAY SHIFT                                                            
Mueve el cursor y desplaza el display sin cambiar el contenido de la memoria de datos de
visualización DD RAM.
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 0 1 S/C R/L X X
Tiempo de ejecución: 40µS
 
 FUNCTION SET                                                                                 
Establece el tamaño de interfase con el bus de datos (DL), número de líneas del display (N) y
tipo de carácter (F)
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 DL N F X X
Tiempo de ejecución: 40µS
 
 SET THE CG RAM ADDRESS                                                             
El módulo LCD además de tener definidos todo el conjunto de caracteres ASCII, permite al
usuario definir 4 u 8 caracteres gráficos. La composición de estos caracteres se va guardando
en una memoria llamada CG RAM con capacidad para 64 bytes. Cada carácter gráfico definido
por el usuario se compone de 16 u 8 bytes que se almacenan en sucesivas posiciones de la
CG RAM.
 
Mediante esta instrucción se establece la dirección de memoria CG RAM a partir de la cual se
irán almacenando los bytes que definen un carácter gráfico. Ejecutando este comando todos
los datos que se lean o escriban posteriormente, lo hacen desde esta memoria CG RAM.
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 1 Dirección de la CG RAM
Tiempo de ejecución: 40µS
 
 SET THE DD RAM ADDRESS                                                             
Los caracteres o datos que se van visualizando, se van almacenando en una memoria llamada
DD RAM para de aquí pasar a la pantalla.
 
Mediante esta instrucción se establece la dirección de la memoria 
DD RAM a partir de la cual se irán almacenando los datos a visualizar. Ejecutando este
comando, todos los datos que se escriban o lean posteriormente lo harán desde esta memoria
DD RAM. Las direcciones de la 80h a la 8Fh corresponden con los 16 caracteres del primer
renglón y de la C0h a la CFh con los 16 caracteres del segundo renglón, para este modelo de
LCD.
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 1 Dirección de la DD RAM
Tiempo de ejecución: 40µS
 
 READ BUSY FLAG & ADDRESS                                                         
Cuando el modulo LCD esta ejecutando cualquiera de estas instrucciones, tarda un cierto
tiempo de ejecución en el que no se debe mandar ninguna instrucción. Para ello dispone de un
flag llamado BUSY (ocupado) que indica que se está ejecutando una instrucción previa.
 
Esta instrucción de lectura informa del estado de dicho flag además de proporcionar el valor del
contador de direcciones de la CG RAM o de la DD RAM según la última que se haya empleado.
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 1 BF Dirección de la CG RAM o  DD RAM
Tiempo de ejecución: 40µS
 
 WRITE DATA TO GG OR DD RAM                                                      
Mediante este comando se escribe en la memoria DD RAM los datos que se quieren presentar
en pantalla y que serán los diferentes códigos ASCII de los caracteres a visualizar.
 
Igualmente se escribe en la memoria CG RAM los diferentes bytes que permiten confeccionar
caracteres gráficos a gusto del usuario.
 
El escribir en uno u otro tipo de memoria depende de si se ha empleado previamente la
instrucción de direccionamiento DD RAM o la de direccionamiento CG RAM.
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 0 Código ASCII o byte del carácter gráfico
Tiempo de ejecución: 40µS
 
 READ DATA FROM CG RAM OR DD RAM                                           
Mediante este comando se lee de la memoria DD RAM los datos que haya almacenados y que
serán los códigos ASCII de los caracteres almacenados.
 
Igualmente se lee de la memoria CG RAM los diferentes bytes con los que se ha confeccionado
un determinado carácter gráfico.
 
El leer de uno u otro tipo de memoria depende de si se ha empleado previamente la instrucción
de direccionamiento de la DD RAM o la de direccionamiento CG RAM.
 
 
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 1 Código ASCII o byte del carácter gráfico
Tiempo de ejecución: 40µS
ABREVIATURAS:

Abreviaturas empleadas en los códigos anteriores:


 
1 - Desplaza la visualización cada vez que se escribe un dato
S
0 - Modo normal
1 - Incremento del cursor
I/D
0 - Decremento del cursor
1 - Desplaza el display
S/C
0 - Mueve el cursor
1 - Desplazamiento a la derecha
R/L
0 - Desplazamiento a la izquierda
1 - Módulo ocupado
BF
0 - Módulo disponible
1 - Bus de datos de 8 bits
DL
0 - Bus de datos de 4 bits
1 - LCD de dos líneas
N
0 - LCD de una línea
1 - Carácter de 5 x 10 puntos
F
0 - Carácter de 5 x 7 puntos
1 - Parpadeo del cursor ON
B
0 - Parpadeo del cursor OFF
1 - Cursor ON
C
0 - Cursor OFF
1 - Display ON
D
0 - Display OFF
X Indeterminado

Teclado Matricial 4x4


Descripción: Dispositivo de entrada de datos que consta de 16 teclas o pulsadores, dispuestos
e interconectados en filas y columnas. Dispone de un conector SIL (Single In Line) macho de 8
pines que se corresponden con las 4 filas y las cuatro columnas de las que dispone
.

Funcionamiento: En la siguiente figura vemos el esquema de conexionado interno del teclado


matricial y sus correspondientes pines de salida numerados de izquierda a derecha mirando el
teclado tal y como se ve en la foto anterior. Cuando se presiona un pulsador se conecta una fila
con una columna, teniendo en cuenta este hecho es muy fácil averiguar que tecla fue pulsada.
También podemos ver el conexionado típico con el puerto B del microcontrolador PIC.

Las resistencias de 2k son necesarias para poder compartir el puerto del pic
independientemente del teclado y por ejemplo poder conectar un LCD o una barra de leds al
mismo tiempo. Durante la fase de lectura del teclado la mitad de la puerta B es configurada
como entrada y la otra mitad como lectura y durante la escritura en el lcd o otro sistema, la
puerta B es configurada como salidas. Entonces se podrían cortocircuitar accidentalmente las
salidas de los puertos provocando su destrucción, si pulsásemos alguna tecla es ese momento
con lo que al poner estas resistencias evitamos este hecho y así si se produjera el cortocircuito
tan solo circularía una pequeña corriente y el puerto del microcontrolador no correría ningún
riesgo

Para disminuir el número de conexión a usar para detectar la tecla que se esta pulsando,
podemos modificar un teclado matricial tal y como se expone en la siguiente figura:

Solo usaremos las salidas correspondientes a las filas del teclado y de RB0 a RB4 serán
configurables como salida o entrada mientras que RB4 solo será entrada. Para saber la tecla
que se esta pulsando tendremos que configurar una línea como salida y ponerla a nivel alto y
las demás como entrada y comprobar el valor de las entradas para saber que columna se a
pulsado.
Los diodos utilizados son del típico modelo 1N4148. Hay que tener especial cuidado en no
programar mas de una puerta como salida ya que podría destruirse algún diodo debido a una
circulación excesiva de corriente en los mismos. Esto es debido a que el circuito no tiene
resistencias de limitación para protegerlos en estos casos, pero es totalmente viable el uso de
ellas, así que si queremos usar las puertas para controlar el teclado y también para alguna otra
cosa podemos poner unas resistencias de 2k en serie con las puertas RB0 a RB4.

Diagrama de conexiones Teclado Matricial y LCD.

Bibliografía:

http://www.x-robotics.com/rutinas.htm lcd y keypad

AUTOR: X-robotics
TEMA: Características y funcionamiento del Teclado Matricial 4x4 y la LCD
FECHA: 26-11-2010

http://www.ele.uva.es/~jesman/BigSeti/seti2/Practicas/SETI2_Practica_LCD.pdf

AUTOR: Ele.uva
TEMA: Características y funcionamiento de la LCD
FECHA: 26-11-2010

http://www.scribd.com/doc/3856632/MANEJO-DE-LCD

AUTOR: Scribd
TEMA: Manejo de la LCD
FECHA: 26-11-2010

http://www.hispavila.com/3ds/atmega/keypad.html

AUTOR: Hispavila
TEMA: Características y funcionamiento del teclado matricial 4x4
FECHA: 26-11-2010
http://www.ucontrol.com.ar/forosmf/proyectos-con-pic/lcd-16x2/

AUTOR: uControl
TEMA: Conexión de la LCD
FECHA: 26-11-2010

Anda mungkin juga menyukai