You are on page 1of 15

1

Universidad de Antioquia

Instituto de Fsica

Prctica de Pantalla de Cristal Liquido (LCD)


La finalidad del ejercicio es realizar el estudio y control de una pantalla LCD a
travs de un dispositivo lgico programable.
Para que podamos llevar a cabo el diseo de este ejercicio, resulta imprescindible
un conocimiento exhaustivo del LCD empleado en la tarjeta de aplicacin didctica
Spartan 3E de Xilinx, as como de su conexin a la misma.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
GND +5V RS RW E D0 D1 D2 D3 D4 D5 D6 D7

Asignacin de pines
N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Notas de clase

Asignacin de pines
Smbolo
Funcin
Vss
Vdd
Vo
RS
R/W
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
A
K

Tierra (GND)
Alimentacin (+)
Ajuste del contraste
Selector de seal
Dato Lectura/Escritura
Enable
Lnea del bus de datos
Lnea del bus de datos
Lnea del bus de datos
Lnea del bus de datos
Lnea del bus de datos
Lnea del bus de datos
Lnea del bus de datos
Lnea del bus de datos
LED B/L (+)
LED B/L (-)

profesora: Lucelly Reyes

Instituto de Fsica

2
Universidad de Antioquia

Todo LCD tiene un microcontrolador (C) asociado, de forma que va a ser ste el
que realmente controle y haga funcionar el mdulo. Para programar el C del LCD
hay que hacerlo mandando unos cdigos especficos, que no son otra cosa que el
juego de instrucciones del C con sus operandos.

Bus de datos
El bus de datos de La pantalla LCD est conformado por el conjunto de lneas
DB7 ..... DB0, se puede configurar para funcionar de dos formas diferentes. Bien
como un bus de 8 bits o bien como un bus multiplexado de 4 bits. El utilizar el bus
multiplexado de 4 bits es una opcin muy til para ahorrar bits en el sistema de
control. En vez de utilizar 11 bits en total, se utilizan 7.
En las figuras que siguen aparecen representados los dos tipos de buses:

Notas de clase

profesora: Lucelly Reyes

3
Universidad de Antioquia

Instituto de Fsica

Cuando se utiliza un bus de 4 bits slo se utilizan los pines D4-D7 del display
dejndose D0-D3 al aire. La transferencia de la informacin se realiza de la
siguiente manera: primero los 4 bits ms significativos y luego los 4 menos
significativos.

El bus de control
El bus de control est formado por 3 seales: RS, R/W y E.

La seal E es la seal de validacin de los datos. Cuando no se utiliza el


display esta seal debe permanecer a 0. Slo en las transferencias de
informacin (lecturas o escrituras) es cuando se pone a nivel 1 para validar
los datos, pasando despus de un tiempo a nivel 0. En la siguiente seccin
se explican detalladamente las temporizaciones.
La seal R/W permite seleccionar si la operacin que se va a realizar sobre
el display es una lectura o una escritura. Cuando R/W=1 se realizan
lecturas y cuando R/W=0 escrituras. Lo normal siempre es realizar
escrituras, no obstante, el display ofrece la posibilidad de poder leer los
contenidos de la memoria CG RAM y DD RAM as como leer el estado
interno del display (ocupado o disponible) y el contador de direcciones..
Con la seal RS (Register Select) se selecciona el registro interno del
display sobre el que se va a leer/escribir. El LCD dispone de dos registros
internos: Registro de control y registro de datos. Ambos registros son de
lectura y escritura. RS=0 selecciona el registro de control. RS=1 el registro
de datos.

LECTURA
ESCRITURA

Notas de clase

Registro de control

Registro de datos

Lectura de flag de ocupado (D7) y del


contador de direcciones (D0-D6).
Ejecucin de un comando interno:
borrar display, desplazar el display,
mover cursor....

Lee contenido de la memoria CGRAM o


DD RAM
Escribir en la DD RAM o CG RAM

profesora: Lucelly Reyes

4
Universidad de Antioquia

Instituto de Fsica
Seales
de
control

Comando

Borrar pantalla
Cursor a casa
Modo funcionamiento
Encender / apagar pantalla
Modo desplazamiento
Activar funcin
Direccin CG RAM
Direccin DD RAM
Bandera de ocupado
Escritura CG RAM /DD RAM
Lectura CG RAM / DD RAM

I/D
S
D
C
B
S/C

1
0
1
0
1
0
1
0
1
0
1
0

RS
0
0
0
0

RW
0
0
0
0

D7
0
0
0
0

D6
0
0
0
0

D5
0
0
0
0

0
0
0
0
0
1
1

0
0
0
0
1
0
1

0
0
0
1
BF

0
0
1

0
1

Incrementar
Decrementar
Desplazamiento automtico
Display ON
Display OFF
Cursor ON
Cursor OFF
Cursor binking

Time
(max)

DATO/DIRECCION

R/L
DL

1
0
1
0

D4
0
0
0
0

D3
0
0
0
1

D2
0
0
1
D

D1
0
1
I/D
C

1
S/C
R/L
*
DL Lineas Font
*
Direccin generador RAM
Direccin de datos RAM
AC
Escritura de Dato
Lectura de dato

D0
1
*
S
B

1.64ms
1.64ms
40us
40us

*
*

Desplazamiento a la derecha
Desplazamiento a la izquierda
Bus de 8 bits
Bus de 4 bits

DDRAM: Display Datos RAM

Display desplazando
Mueva cursor

CGRAM: Generador de caracteres RAM

Con estos cdigos o instrucciones, podemos realizar eventos como:

Establecer modo de funcionamiento


RS
0

RW
0

D7
0

D6
0

D5
0

D4
0

D3
0

D2
1

D1
1

D0
0

Codigo0 0 0 0 0 1 I/D S => $06

Con este comando se actualizar el contador de direcciones en la forma


especificada y se establece si el display realiza desplazamientos o no. Estas
acciones se llevan a cabo cada vez que se realiza una lectura o escritura en el
display. Cuando I/D=1, el contador de direcciones se incrementa, lo que provoca
que el cursor avance hacia la derecha cada vez que se imprime un carcter en el
display. Cuando I/D=0 el contador se decrementa y el cursor se mueve hacia la
izquierda al imprimir. Con S=1 se indica al LCD que debe mover el display real una
Notas de clase

profesora: Lucelly Reyes

40us
40us
40us
40us
0us
40us
40us

5
Universidad de Antioquia

Instituto de Fsica

posicin a la derecha cada vez que se imprime un carcter. Con S=0 el display
debe permanecer quieto al imprimir.
(Normalmente se utiliza I/D=1 y S=0, por lo que el comando tpico es 0x06)

Activa funcin de la pantalla


RS
0

RW
0

D7
0

D6
0

D5
1

D4
0

D3
1

D2
0

D1
0

D0
0

Codigo =>$28

D1
0

D0
1

Codigo =>$01

Comando para seleccionar los 4 bit del bus de datos

Borrar la pantalla de cristal liquido (LCD)


RS
0

RW
0

D7
0

D6
0

D5
0

D4
0

D3
0

D2
0

Este comando borra todas las pociones del display virtual y sita el display real
en la posicin inicial.

Cursor a casa
RS
0

RW
0

D7
0

D6
0

D5
0

D4
0

D3
0

D2
0

D1
1

D0
0

Codigo =>$02

Enviar el cursor a la posicin inicial de la primera fila de la pantalla.

Control ON/OFF
RS
0

RW
0

D7
0

D6
0

D5
0

D4
0

D3
1

D2
1

D1
1

D0
0

Codigo 0 0 0 0 1 D C B =>$0E

Activar o desactivar el display, el cursor y el parpadeo


1. Display ON/OFF: D=1 activa el LCD. Cuando D=0 el LCD funciona
normalmente pero no se visualiza ninguna informacin. Es posible realizar
impresiones, enviar comandos, pero nada quedar reflejado en pantalla. Slo
cuando D=1 se puede ver algo en el display.
2. Cursor ON/OFF: C=1 activa el cursor. Con C=0 el cursor no se ve.
3. Parpadeo ON/OFF: B=1 hace que los caracteres situados en la posicin del
cursor parpadeen. Con B=0 no hay parpadeo.
Notas de clase

profesora: Lucelly Reyes

6
Universidad de Antioquia

Instituto de Fsica

Resumen de Comandos
Nombre
LCDL1
LCDL2
LCDCLR
LCDCASA
LCDINC
LCDDEC
LCDON
LCDOFF
CURSON
CURSOFF
CURSBLINK
LCDIZQ
LCDDER
CURSIZQ
CURSDER
LCDCGRAM
LCD_FUNCION

Cdigo
$80
$C0
$01
$02
$06
$04
$0C
$08
$0E
$0C
$0F
$18
$1C
$10
$14
$40
$28
$38

Comentario
direccin comienzo lnea 1
direccin comienzo lnea 2
borra pantalla, cursor a casa
cursor casa, ddram sin cambio
modo incrementa cursor
modo decrementa cursor
pantalla on
pantalla off
pantalla on y cursor on
pantalla on y cursor off
pantalla on y parpadea cursor
desplaza la pantalla a la izquierda
desplaza pantalla a la derecha
mueve cursor a la izquierda
mueve cursor a la derecha
direccin origen cgram
Seleccin de bus 4 bits
Seleccin de bus 8 bits

Si bien el LCD soporta una interface de 8 bits, la placa Spartan 3E utiliza una
interfaz de 4 bits. De acuerdo con el fabricante cuando se tiene un bus de 4 bits,
primero se envan los 4 bits MAS SIGNIFICATIVOS y despus los 4 bits MENOS
SIGNIFICATIVOS.
En Spartan las lneas de datos son compartidas con la memoria StrataFlash por
tanto lo primero que se debe programar es la lnea SF_CE0 ='1' para que los datos
sean atendidos por la pantalla LCD y no por la memoria StartaFlash.
Para evitar escribir/ leer de ambos componentes deben activarse/ desactivarse los
mismo. Existe un modo de operacin de la StrataFlash(en 8 bits) que permite
utilizarlos en forma simultnea.
SF_CE0

SF_BYTE

LCD_RW

StrataFlash disabled. Full read/write access to LCD.

LCD write access only. Full access to StrataFlash.


StrataFlash in byte-wide (x8) mode. Upper data lines
are not used. Full access to both LCD and StrataFlash.

Notas de clase

OPERATION

profesora: Lucelly Reyes

7
Universidad de Antioquia

Instituto de Fsica

Table: LCD/StrataFlash Control Interaction


Si la memoria StrataFlash es en el modo byte-wide (x 8) (SF_BYTE = bajo), la
FPGA tiene acceso de lectura/escritura completo simultneo a la pantalla LCD y la
memoria StrataFlash. En el modo byte-wide, no utiliza la memoria StrataFlash la
lneas de datos SF_D<15:8>.

Nombre de la seal
SF_D<11>
SF_D<10>
SF_D<9>
SF_D<8>
LCD_E

LCD_RS

Notas de clase

Pin en FPGA
M15
P17
R16
R15
M18

L18

Funcin
Data bit DB7
Data bit DB6 Shared with StartaFlash
Data bit DB5
pins SF_D<11:8>
Data bit DB4
Read/Write Enable Pulse
0:Disabled
1: Read/Write operation enabled
Register Select
0: Instruction register dirung write
profesora: Lucelly Reyes

8
Universidad de Antioquia

Instituto de Fsica

LCD_RW

L17

operations. Busy Flash during read


operations
1: Data for read or write operations
Read/Write Control
0:write, LCD accepts data
1: read, LCD presents data

Programacin
Antes de proponer cualquier ejemplo, conviene recordar la necesidad de
comprender claramente los diagramas de tiempo de los circuitos digitales
involucrados en el proceso de inters, sobre todo cuando se quiere disear sus
propias rutinas.
Los tiempos de espera necesarios para el correcto funcionamiento del display
dependen del fabricante (el reloj interno del display suele funcionar a 240 kHz).
Para una escritura normal el tiempo necesario es de 40 microsegundos como
mximo. Para la iniciacin del LCD o para borrar la pantalla, puede ser de hasta
1.64 ms.

Notas de clase

profesora: Lucelly Reyes

9
Universidad de Antioquia

Instituto de Fsica

Las pantallas LCD son mayoritariamente estndar y se controlan de formas muy


parecidas, incluso cuando no coincide el nmero de caracteres.

GND +5V RS RW E D4

D5 D6

D7

Por un lado se tiene el bus de datos D0..D7. Este bus de datos puede ser de
entrada al LCD (para escribir caracteres y enviar instrucciones) o puede ser de
salida del LCD (para poder leer el estado por ejemplo). El LCD tiene tres seales
de control: E sirve para habilitar el LCD; la seal R/W sirve para indicar operacin
de lectura o escritura; por ltimo la seal RS es la de sincronismo de datos e
instrucciones. Adems el LCD tiene seales para alimentacin y una seal (VEE)
que sirve para controlar el contraste de la pantalla.
El cdigo que vamos a implementar es para manejar la pantalla LCD con un bus
de 4 bits.
Este proyecto requiere de 3 mquinas de estado:
1. Para la secuencia de inicializacin,
2. Para transmitir datos y comandos a la pantalla LCD y,
3. Para la secuencia de configurar y escribir en la pantalla LCD.

Secuencia de Iniciacin
Los fabricantes de pantalla de cristal liquido recomiendan una secuencia de
pasos para asegurar una buena sincronizacin del hardware que controla la
interfaz LCD, recuerde que ella ya involucra un microcontrolador.

Notas de clase

profesora: Lucelly Reyes

Instituto de Fsica

10
Universidad de Antioquia

Notas de clase

profesora: Lucelly Reyes

Instituto de Fsica

11
Universidad de Antioquia

Notas de clase

profesora: Lucelly Reyes

Instituto de Fsica

12
Universidad de Antioquia

Notas de clase

profesora: Lucelly Reyes

Instituto de Fsica

13
Universidad de Antioquia

Notas de clase

profesora: Lucelly Reyes

Instituto de Fsica

14
Universidad de Antioquia

Notas de clase

profesora: Lucelly Reyes

Instituto de Fsica

15
Universidad de Antioquia

TABLA DE CARACTERES

Notas de clase

profesora: Lucelly Reyes

You might also like