Professional Documents
Culture Documents
Universidad de Antioquia
Instituto de Fsica
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 (-)
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
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.
LECTURA
ESCRITURA
Notas de clase
Registro de control
Registro de datos
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
Display desplazando
Mueva cursor
RW
0
D7
0
D6
0
D5
0
D4
0
D3
0
D2
1
D1
1
D0
0
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)
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
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
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
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
Notas de clase
OPERATION
7
Universidad de Antioquia
Instituto de Fsica
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
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
9
Universidad de Antioquia
Instituto de Fsica
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
Instituto de Fsica
10
Universidad de Antioquia
Notas de clase
Instituto de Fsica
11
Universidad de Antioquia
Notas de clase
Instituto de Fsica
12
Universidad de Antioquia
Notas de clase
Instituto de Fsica
13
Universidad de Antioquia
Notas de clase
Instituto de Fsica
14
Universidad de Antioquia
Notas de clase
Instituto de Fsica
15
Universidad de Antioquia
TABLA DE CARACTERES
Notas de clase