LCD Ampliado

58
1 Conexión de periféricoa a Microcontroladores Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo VISUALIZADORES DE INFORMACIÓN EN SISTEMAS BASADOS EN MICROCONTROLADORES: DISPLAYS DE CRISTAL LÍQUIDO (LCD)

Transcript of LCD Ampliado

Page 1: LCD Ampliado

1

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

VISUALIZADORES DE INFORMACIÓN EN SISTEMAS BASADOS EN MICROCONTROLADORES:

DISPLAYS DE CRISTAL LÍQUIDO (LCD)

Page 2: LCD Ampliado

2

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

• ¿Qué son los cristales líquidos?

Son sustancias que presentan características duales de un cristal yde un líquido:

En un cristal las moléculas ocupan unas posiciones fijas en la estructura global y no se mueven respecto a las adyacentes, justo lo contrario queen un líquido. (¿ ?)

Las moléculas de un cristal líquido tienen una forma alargada y cilíndricay la posición relativa entre ellas depende de diversos factores como son la temperatura y el campo eléctrico al que están sometidas

NOCIONES BÁSICAS:

Page 3: LCD Ampliado

3

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

•¿Cómo funcionan?

La aplicación de un campo eléctrico a estas sustancias provoca que laposición de sus moléculas cambie de una posición indeterminada a otraperfectamente uniforme

El cristal liquido será opaco o transparente en función de cómo estén organizadas las moléculas, que depende a su vez del campo eléctrico presente

Page 4: LCD Ampliado

4

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Una Pantalla de Cristal Líquido consta de los siguientes elementos (desde atrás hacia delante):

A.- Un espejoB.- Un filtro polarizador vertical C.- Una capa de vidrio con un electrodo transparente común (óxido de estaño) D.- Sucesivas capas de cristal líquido E.- Una capa de vidrio con un electrodo transparente y con las forma que se

quiera representarF.- Un filtro polarizador horizontal

Luz exterior

Page 5: LCD Ampliado

5

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

•El cristal líquido está organizado en sucesivas capas de manera que la posición de las moléculas de cada capa está desfasada ligeramente respecto a las adyacenteshasta conseguir que entre la primera y la última capa haya un desfase total de 90ºcuando no está presente ningún campo eléctrico

•La luz incidente sobre el display se hace pasar por un filtro óptico o polarizador que hace que la fase de las ondas de luz que lo atraviesan coincida con la fase de las moléculas de la primera capa, con lo que la luz atraviesa ésta y es entregada a la siguiente capa con su correspondiente desfase y así sucesivamente.

•Cuando la luz llega a la última capa, su fase ha cambiado 90º respecto a la entrante y se encuentra con un filtro posterior cuyo ángulo de filtrado estádesfasado 90º respecto al primero. Por tal motivo este filtro es transparente a la luz que incide,quelo atraviesa y se refleja en un espejo.

Comportamiento sin campo eléctrico entre electrodos:

Page 6: LCD Ampliado

6

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

•Si se aplica un campo eléctrico en una zona determinada y en todas las capas del cristal,las moléculas de esa zona toman una posición igual y en fase con el primer filtro pero no con el posterior, no dejando pasar éste la luz y por lo tanto no se refleja nada en el espejo posterior.

•Las zonas no afectadas por el campo eléctrico siguen siendo transparentes y se obtiene un contraste luz/oscuridad entre zonas transparentes y opacas

•El campo eléctrico se consigue mediante la aplicación de una tensión entre un electrodo que tiene la forma que se quiere visualizar (un punto, un segmento, un número, un icono,...) y otro electrodo común sin forma específica.

Comportamiento con campo eléctrico entre electrodos:

Page 7: LCD Ampliado

7

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Circuitos Eléctricos:

•El modelo eléctrico equivalente de un LCD es el de un condensador real, el dieléctrico sería el cristal líquido y los electrodos serían, por un lado el común o posterior y el otro el que se corresponde con cada segmento,punto, etc. que sea posible representar

•La tensión entre los electrodos ha de ser alterna puesto que una tensióncontinua aunque también permitiría la visualización, provocaría una electrolisis de los electrodos y su posterior destrucción.

•La tensión de excitación entre electrodos se genera mediante circuitoselectrónicos y un oscilador de frecuencias comprendidas entre varias decenas y cientos de Hertzios (frecuencias menores harían visibles efectos de parpadeo y mayores frecuencias elevarían en exceso el consumo del circuito)

Page 8: LCD Ampliado

8

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

CONTROL ESTÁTICO:

El electrodo común está sometido a una tensión alterna permanente generada por el osciladorLos electrodos de los elementos de imagen están sometidos a la misma señaldel oscilador si se desea que aparezcan como transparentes o a la señal deloscilador invertida si se desea que aparezcan como opacos

CONTROL DE LCD:

•Control estático: si hay pocos elementos a visualizar•Control multiplexado: si son muchos los elementos de imagen

Page 9: LCD Ampliado

9

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

CONTROL MULTIPLEXADO (I):

Se dispone de una matriz de dos grupos de líneas de control (filas y columnas)que se corresponden con los electrodos posteriores y con los electrodosfrontales. Se van activando secuencialmente y la intersección de una fila (electrodo posterior) y una columna (electrodo frontal) genera la activación del correspondiente elemento de imagen

Control multiplexado de display numérico de 7 segmentos

Siguiente Dígito

Page 10: LCD Ampliado

10

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

CONTROL MULTIPLEXADO (II)

Los electrodos posteriores (COMn)mantienen siempre una forma de ondaalterna e idéntica con valor medio nulo

Disposición matricial

Los electrodos de los segmentos que sequieran representar deben tener unaforma como la indicada

Page 11: LCD Ampliado

11

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

CONTROL MULTIPLEXADO (III):

Relación contraste - valor eficazde tensión entre los electrodos

Valor umbral

Ejemplo de formas de onda aplicadas:

Con contraste

Sin contraste

Page 12: LCD Ampliado

12

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

CONTRASTE DEL LCD:

La temperatura afecta a las propiedades del cristal, con demasiado frío el cristal es opaco y con temperaturas altas el cristal es transparente

La temperatura ambiente puede afectar de modo importante al contrasteal igual que la tensión de excitación

Se pueden incluir circuitos de compensación de contraste como el que se muestra en la figura con diodos que se comportan como R dependientes de Tª

Page 13: LCD Ampliado

13

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Tipos de LCD:

• Reflectivos: con espejo posterior que refleja la luz incidente. No sirven enambientes sin luz pero tienen consumos muy bajos.

• Transmisivos: con un generador de luz posterior (incandescencia, cátodo frío,diodos led)

• Transreflectivos: mixtos combinación de los dos anteriores

Page 14: LCD Ampliado

14

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

TECNOLOGÍAS DE FABRICACIÓN:

•De plano común:

Pocos electrodos posteriores para aplicaciones simples: relojes, calculadoras

•De matriz pasiva

Para generar imágenes en una configuración matricial de electrodos en laparte frontal y en la posterior, la intersección de cada horizontal y verticalforma los puntos, elementos de imagen o píxels. (256x256 líneas genera 65536 píxels). Modo multiplexado y con circuitos integrados especializados

•De matriz activa (TFT)

En la cara interna posterior existe una matriz de transistores de películafina (Thin Film Transistor) y condensadores. La tensión de cada condensadorpuede controlar el nivel de contraste (escala de grises)

Page 15: LCD Ampliado

15

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

TECNOLOGÍAS DE LCD EN COLOR

• Cada píxel se divide en 3 sub-píxels, cada uno con un filtro óptico diferente

• Cada sub-píxel tiene su propio transistor/condensador que puede generar 256niveles de contraste por lo que la combinación de colores posibles sería de 256x256x256=16,7 millones de colores

Page 16: LCD Ampliado

16

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

APLICACIONES BASADAS EN MICROCONTROLADORES:

• Representación de caracteres alfanuméricos la mayoría de las veces

• Posibilidades:

a).- Control de los electrodos: el microcontrolador genera las formasde onda necesarias para la representación (Driver hardware para LCD)

b).- Usar un LCD con su driver específico: se trataría de comunicarcon el micro del driver (p.e. HD44780 de Hitachi como más popular)

COM-SEG:

Page 17: LCD Ampliado

17

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Opción 1: Control directo de los electrodos del LCD

• Algunos microcontroladores PIC de la gama media (PIC16) y alta de 8 bits (PIC18)disponen de un módulo interno para el manejo directo de pantallas LCD

• El driver tiene la capacidad de generar los tiempos y las formas de onda necesariaspara la visualización de los elementos visibles existentes

• Permite tanto un control estático (único electrodo común) como multiplexado (hasta4 electrodos comunes en los PIC16F91x)

• El número de segmentos (electrodos frontales) que se pueden manejar depende de laversión del microcontrolador (hasta 24 en el caso del PIC16F914 ó PIC16F917)

• Pueden ser seleccionados 3 fuentes distintas para el reloj y también es configurableel valor de un posible divisor de frecuencia o prescaler

• También es posible seleccionar entre 3 niveles de tensión de polarización para lageneración de las formas de onda a aplicar en los electrodos.

• El driver puede estar activo incluso con el micro en modo dormido (SLEEP)

Page 18: LCD Ampliado

18

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

***

**

****

*

*

***

*

****

**

**

*

*

*

**

24 segmentos x 4 comunes = 96 elementos visibles (máximo)

Disposición de los pines en PIC16F917

Driver interno del LCD

***

Entradas tensiones de polarización

Page 19: LCD Ampliado

19

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Driver interno del LCD

Diagrama de bloques del módulo interno

Registros de configuración:

LCDCON:configuración del modo de funcionamiento

LCDPS: formas de onda y prescaler

LCDSEn: habilitación del pin para segmento de LCDo pin de E/S normal

LCDDATAx: establecen si el pixel o elemento correspondiente a la intersección entre cada segmento y cada común debe aparecer visibles (oscuros) o no (claro)

Page 20: LCD Ampliado

20

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Driver interno del LCD

Registro LCDCON (posición 0x107): Registro de Control del LCD

Selección del reloj, se buscará f ≈ 1kHz(se puede usar prescaler, configurándolo con LCDPS)

Nº de electrodos comunes

a multiplexar

Activación de las entradas de tensión de polarización

Habilitación del módulo LCD

Módulo LCD activado durante modo dormido

Se escribió en un registro de datosLCDDATAx cuando no estaba permitido

Page 21: LCD Ampliado

21

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Driver interno del LCD

Tensiones de polarizaciónLos pines VLCD3, VLCD2 y VLCD1 se utilizan para situar (de manera opcional)unas tensiones externas de polarización mediante divisores de tensión.

Se puede seleccionar uno de los 3 tipos de polarización indicados:• Estático (sólo 2 niveles)• Polarización a 1/2 (3 niveles)• Polarización a 1/3 (4 niveles)

Se deben colocar externamente las resistencias del divisor

La tensión en VLCD3 puedeser VDD (alimentación) u otratensión inferior

Page 22: LCD Ampliado

22

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Tensiones de polarizaciónLas tensiones de polarización se utilizan para generar los “escalones” de tensionesintermedias en las formas de onda

Polarización 1/2 (3 niveles) Polarización 1/3 (4 niveles)

Page 23: LCD Ampliado

23

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Selección del reloj

Selección de prescaler

Nº de electrodos comunes

Generación del reloj

• La velocidad a la que cambian las salidas COM y SEG se llama frecuencia de trama (frame)

Frec.trama = fclk/(4·1·(Prescaler+1)) caso EstáticoFrec.trama = fclk/(2·2·(Prescaler+1)) 2 Comunes (1/2 Mux)Frec.trama = fclk/(1·3·(Prescaler+1)) 3 Comunes (1/3 Mux)Frec.trama = fclk/(1·4·(Prescaler+1)) 4 Comunes (1/4 Mux)

Page 24: LCD Ampliado

24

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Driver interno del LCD

Registro LCDPS (posición 0x108): Registro de Selección de prescaler y Control del LCD

Valor del prescaler del reloj

Selección Forma de onda (tipo A ó B)

Modo de polarización (depende del nº de electrodos comunes)

Módulo activo o inactivo

Se permite la escritura en registros LCDDATAx

Page 25: LCD Ampliado

25

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Driver interno del LCD

Formas de onda

Para la generación de las formas de onda que hacen que un determinado elemento seavisible o no se deben de tener en cuenta dos condiciones:

• El valor medio de la tensión aplicada entre electrodos debe ser cero (sin nivel DC)

• La tensión aplicada en cada terminal común (COM) presentará una evolución idénticacon un cierto desfase entre los COM multiplexados. La tensión aplicada en los segmentos(SEG) condiciona realmente la aparición o no del elemento comprendido entre amboselectrodos (COM-SEG). La señal COM-SEG será siempre alterna y podrá tomar solo dosvalores eficaces distintos.

•Si s e pretende que un elemento aparezca como visible, el valor eficaz de la señal ACdebe ser el mayor de los dos posibles. Si se quiere que no sea visible, el valor eficaz debe ser el menor

• Las formas de onda con este driver pueden ser de 2 tipos: tipo A y tipo B y se puedenseleccionar mediante la configuración del módulo. Las formas de onda de tipo A mantienena cero el promedio de tensión (DC) en cada trama, mientras que las de tipo B utilizan 2tramas para anular el valor de continua.

Page 26: LCD Ampliado

26

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Formas de onda tipo A y de tipo B

Driver interno del LCD

Page 27: LCD Ampliado

27

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Driver interno del LCD

Habilitación de Segmentos (Registros LCDSEn)

• Los registros LCDSEn se utilizan para seleccionar la función de los pines asociadosa los segmentos: como pines de gobierno de segmentos de LCD (bit a 1) o bien comopines genéricos del microcontrolador (bit a 0)

• En el caso de que se configuren como pines de gobierno de segmentos, no es necesarioestablecer la dirección de los datos en el TRISx correspondiente.

• En el caso del PIC16F917, se dispone de hasta 24 segmentos, por tanto se necesitan 3registros de habilitación de segmentos:

LCDSE0 (dir 0x11C) SEG. 7 a 0

LCDSE1 (dir 0x11D) SEG. 15 a 8

LCDSE2 (dir 0x11E) SEG. 23 a 16

• La selección de segmentos dependerá del tipo de LCD que se tenga conectado y delos que se utilicen.

Page 28: LCD Ampliado

28

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Ejemplo: caso del microcontrolador en la PICDEM Mechatronics

LCDSE0 = B’01001111’

LCDSE1 = B’00001000’

LCDSE2 = B’11100001’

Carga necesaria

Page 29: LCD Ampliado

29

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Driver interno del LCDControl de Elementos de visualización (Registros LCDDATAx)

• Los registros LCDDATAx contienen la información sobre el estado que debe presentarcada elemento de visualización o pixel. Un bit por elemento (pixel)

• Debe existir un bit por cada elemento visualizable, en el caso del PIC16F917 seríanpor tanto necesarios 96 bits, lo que precisa de un total de 12 registros de 8 bits, desdeLCDDATA0 hasta LCDDATA11. Cada bit se corresponde con cada intersección SEG-COM

Si en el bitse escribe un “1”

el elemento asociadoserá visible (oscuro)y si se escribe un “0”

no lo será (transparente)

Page 30: LCD Ampliado

30

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Caso del LCD presente en la placaPICDEM Mechatronics

3 displays de 7 segmentos de activación independiente1 display de 2 segmentos que se activan a la vez

17 símbolos o iconosElementos visibles: 39

Dígito 1

Dígito 2Dígito 3

Page 31: LCD Ampliado

31

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Caso

del L

CD p

rese

nte

en la

plac

aPI

CDEM

Mec

hatr

onics

(los

bits

que

no

se u

sen

pued

en t

rata

rse

como

bits

de

almac

enam

ient

o ge

nérico

)

p.e. elementos B del dígito 2

Page 32: LCD Ampliado

32

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

APLICACIONES BASADAS EN MICROCONTROLADORES:

• Representación de caracteres alfanuméricos la mayoría de las veces

• Posibilidades:

a).- Control de los electrodos: el microcontrolador genera las formasde onda necesarias para la representación (Driver hardware para LCD)

b).- Usar un LCD con su driver específico: se trataría de comunicarcon el micro del driver (p.e. HD44780 de Hitachi como más popular)

COM-SEG:

Page 33: LCD Ampliado

33

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Opción 2: Interface con LCD con driver HD44780U ó compatible

Características HD44780:

•Driver para LCD de matriz de puntos para representación de caracteresy símbolos en formato 5x8 ó 5x10

•Dispone de 240 patrones de caracteres almacenados en ROM, de los cuales208 son de tamaño 5x8 y 32 de tamaño 5x10

Ejemplo en 5x8 y 8 caracteres/línea Ejemplo en 5x10 y 8 caracteres/línea

Cursor

Page 34: LCD Ampliado

34

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Características HD44780 (II):

• Memoria RAM de pantalla (DDRAM) de 80 posiciones x 8 bits/posición

• Contenido en 8 bits (DDRAM): código del carácter para un generador de caracteres ROM con 240 caracteres posibles 8 posiciones (dobles) paracaracteres definibles por el usuario en una memoria CGRAM (caracteres gráficos)

• Visibles 1 ó 2 líneas de 16 caracteres/línea

Memoria de pantalla para una línea (40 posiciones)Display virtual

Ventana de caracteres visiblesDisplay real

Page 35: LCD Ampliado

35

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

DDRAM (Display Data RAM)

• Almacena el código de los caracteres que están siendo visualizados o que se encuentran en posiciones no visibles debido a la posición de la ventana devisualización.

• Tiene un tamaño de 2 líneas x 40 bytes/línea = 80 bytes.

• Direcciones no contiguas entre línea 1 y 2:

0x00 a 0x27 : 40 caracteres de la línea 10x40 a 0x67 : 40 caracteres de la línea 2

• Localización en display virtual (x,y) x: posición horizontal (de 1 a 40)y: línea (1 ó 2)

....0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11...... ...25 26 27

40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51...... ...65 66 67Dir

ecci

ones

DD

RAM

(HEX

)

Display real inicial

Page 36: LCD Ampliado

36

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Tabla de correspondenciaentre códigos y patronesde caracteres (ROM A00)

Códigos para patronesdefinibles por el

usuario en CGRAM

Códigos para caracteresmás usuales

4 bits altos

4 bi

ts b

a jo s

Page 37: LCD Ampliado

37

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Tabla códigos y patrones

de caracteres(ROM A02)

Page 38: LCD Ampliado

38

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Patrones de caracteres en EPROMocupan 16 direcciones de memoria

(5 bits/posición)

Ejemplo de patrón 5x8

Ejemplo de patrón 5x10

Código del carácter (A11-A4)

Page 39: LCD Ampliado

39

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

CGRAM (Character Generator RAM)

• Contiene los patrones (caracteres) definibles por el usuario

• Tamaño: 64 posiciones de 5 bits cada una, máximo 8 patrones

• Direcciones 0x00 a 0x3F

Carácter 7

...0x38

0x3F

Carácter 0

Carácter 1

Carácter 2

0x00

0x070x08

0x0F

5bits

8 posiciones

Códigos en DDRAM:

0000x0000000x001

....0000x111

Carácter 0Carácter 1......Carácter 7

Ejemplo: código en DDRAM 0x00 (0x08)

0x00: 01110 0x0E0x01: 01110 0x0E0x02: 01110 0x0E0x03: 00100 0x040x04: 111111 0x1F0x05: 00100 0x040x06: 01010 0x0A0x07: 10001 0x11

Contenido CGRAM

Page 40: LCD Ampliado

40

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Interface Hardware LCD con driver HD44780 ó compatible

Pines externos:

1.- Vss (Masa)2.- VDD (Alimentación)3.- VEE (Ajuste de Contraste) <-Tensión de ajuste, máximo contraste a Vss4.- RS (Selección de Registro)5.- R/W (Lectura/Escritura)6.- E (Enable)7.- D0 (Bit de Datos menos sign.)8.- D1 (Bit de Datos)9.- D2 (Bit de Datos)10.-D3 (Bit de Datos)11.-D4 (Bit de Datos)12.-D5 (Bit de Datos)13.-D6 (Bit de Datos)14.-D7 (Bit de Datos más sign.)

Bits de Control(entradas al Driver)

Bits de Datos(entradas/salidas)

2,7V a 5,5V

Page 41: LCD Ampliado

41

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Interface Hardware (II)

MCU LCDCONTROL

DATOS

Bits de Control:

E: Validación de datos

R/W: Operación de lectura (a 1) o escritura (a 0)

RS: Selección de Registro Interno (1: datos / 0: control)

Datos: 8 bits internos LCD

Externos (2 posibilidades):

• 8 bits: D7 a D0

• 4 bits: D7 a D4

multiplexando datos:1º los 4 bits más altos2º los 4 bits más bajos

Page 42: LCD Ampliado

42

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Memorias Internas del LCD

PIC LCDCONTROL

DATOS

DDRAM(carga de códigos de los

caracteres)

CGRAM(carga de patrones de símbolos propios)

ROM(patrones internos

de caracteres)

Accesibles desde PIC

Patrones

Page 43: LCD Ampliado

43

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

CONTROL DEL LCD:

E: Señal de validación de datos, en las transferencias de informacióncon el LCD (lecturas o escrituras) se debe poner a 1. Si no se usael LCD debe permanecer a cero

R/W: Selecciona lectura (1) o escritura (0) en el LCD. Lo normal es hacerescritura en LCD, pero es posible leer la RAM y el estado del LCD(ocupado o disponible) y el contador de direcciones

RS: Se selecciona uno de los 2 Registros Internos del LCD:

a) IR (Registro de instrucciones): almacena códigos de instruccionesrelativas al manejo del display: borrar display, desplazarcursor, definir interface a 4 ú 8 bits, etc.

b) DR (Registro de datos): almacena datos a leer o escribir en RAM

Page 44: LCD Ampliado

44

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Leer flag de ocupado (BF) y puntero de direcciones (AC)

Envío de comando parafuncionamiento interno Escribir en DDRAM o CGRAM

Leer contenidode DDRAM o CGRAMR/W=1

R/W=0

RS=0 Registro de Control RS=1 Registro de Datos

Operaciones de CONTROL:

BF: Busy Flag ó Flag de ocupado, si está a 1 el LCD está en modode operación interna y no puede procesar nuevos comandoshasta que se pone a 0

AC: Address Counter ó Contador de Direcciones, es el puntero de la dirección de DDRAM ó CGRAM a la que se accederíacon un comando de lectura o escritura de Registro de Datos.Tras una lectura o escritura a RAM, el puntero se incrementa/decrementa (depende modo) de manera automática

Page 45: LCD Ampliado

45

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

CRONOGRAMAS:

RS

R/W

E

D0-D7

1.- Escritura de Registro del LCD (interface 8 bits)

Secuencia: 1.- Señal E=02.- RS=1 ó 0 y R/W=03.- E=14.- Situar dato en el bus5.- E=0

Page 46: LCD Ampliado

46

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

CRONOGRAMAS (II):

RS

R/W

E

D0-D7

2.- Lectura de Registro del LCD (interface 8 bits)

Secuencia: 1.- Señal E=02.- RS=1 ó 0 y R/W=13.- E=14.- Leer dato del bus5.- E=0

Page 47: LCD Ampliado

47

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

INTERFACE DE 4 BITS:

•Se multiplexan los 8 bits de datos en dos pasos: se envian o leen primerolos 4 bits más significativos y luego los 4 bits menos significativos

•Permite ahorrar pines de conexión (7 frente a 11), pero el softwaredel MCU es un poco más complejo, ocupa más memoria y se precisamás tiempo para hacer la transferencia completa

RSR/W

E

DB7

DB6

DB5

DB4

Escritura de IR Lectura de IRBF y AC

Lectura de DR

Ejemplo decronogramascon interface

de 4 bits

Page 48: LCD Ampliado

48

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Comandos del LCD (1)

Borrar Display

Cursor a “Casa”

Modo de Funcionamiento

Control ON/OFF display, cursor y parpadeo

Desplazar cursor/display

Transferencia y representación

Situar puntero de dir. En DDRAM

Situar puntero de dir. en CGRAM

Leer flag de ocupado y puntero de dir.

Page 49: LCD Ampliado

49

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Comandos del LCD (2)

Enviar datos a DDRAM ó CGRAM (depende carga puntero)

Leer contenido de DDRAM ó CGRAM (depende carga puntero)

Después de ejecutar estos comandos, el puntero de direcciones se incrementa (o decrementa dependiendo del estado de I/D) en unaunidad de manera automática. El puntero se actualiza después de que BF pase a 0

Page 50: LCD Ampliado

50

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Borrar Display: Borra todas las posiciones de la DDRAM (0) y sitúa el display00000001 real en la posición inicial: desde la (1,1) hasta la (16,1) y

desde la (1,2) hasta la (16,2)Puntero en la posición 0 de la DDRAM

Cursor a “Casa”: El cursor es un indicador de la posición que se puede escribir a continuación0000001x en el LCD, indica la posición actual del puntero de direcciones

El comando envía el cursor a la posición (1,1) (puntero en 0x00) y el display real se sitúa en la posición inicialNo se modifica el contenido de la DDRAM

Modo de Funcionamiento: I/D especifica incremento y desplazamiento del cursor a la dcha.(1) o 000001-I/D-S decremento y desplaz. a izquierda en pantalla (0) cuando se realice una lectura

o escritura en DDRAM.Si S=1 se debe desplazar el display real cada vez que se imprime un carácter,el desplazamiento será a la dcha. o a la izq. dependiendo de I/D

Descripción de los Comandos:

....0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11...... ...25 26 27

40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51...... ...65 66 67

(1,1)

(1,2)

(16,1)

(16,2)

Page 51: LCD Ampliado

51

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Modo de Funcionamiento (sigue):

Ejemplo con S=1 e I/D=1

HOL_ H LA_OLA_Envío decarácter A

antes despuésEjemplo con S=1 e I/D=0

_OLA Envío decarácter H _HOLA

0 1 2 3 4... 0 1 2 3 4...

0 1 2 3 4... 0 1 2 3 4...

Control Display, Cursor, Parpadeo: Si D=0 el LCD no muestra nada pero la DDRAM mantiene su contenido00001DCB se pueden enviar y leer normalmente pero no aparece nada en pantalla,

pueden volver a visualizar los caracteres de la DDRAM poniendo D=1Si C=1 se hace visible el cursor que indica la siguiente posición donde seimprimiría el siguiente carácter que se envíe (es un segmento de 5 puntos en la8ª línea)Si B=1 el carácter situado en la posición del cursor parpadea (a 2Hz aprox.)

Page 52: LCD Ampliado

52

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Desplazar cursor/display: Se emplea para desplazar una posición a dcha/izq el cursor o el display real0001-S/C-R/L-xx sin escribir o leer la DDRAM.

Si lo que se desplaza es el cursor (S/C=0), también se modifica el contador(puntero) de direcciones. Si se desplaza el display real (S/C=1) no cambiael puntero de direcciones de la DDRAM

Si el display se define de una línea, al llegar a la posición final (carácter 40) se volvería a la primera con un desplazamiento del cursor

Si el display está definido para 2 líneas, tras el caracter 40 de la primera línease pasaría al principio de la 2ª línea

R/L=1 desplazamiento a la derecha, R/L=0 a la izquierda

Transferencia y representación: DL define el tamaño del interface de datos externo, si DL=1 es de 8 bits 001-DL-N-F-xx y si DL=0 es de 4 bits

Si N=1 se gestionan 2 líneas y si N=0 se trata de una línea activa en el displaySi F=1 se emplean patrones de tamaño 5x10 y si F=0 son de 5x8 puntos

....0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11...... ...25 26 27

40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51...... ...65 66 67

Page 53: LCD Ampliado

53

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Situar puntero de dir. en RAM: 0 1 A5 A4 A3 A2 A1 A0 para CGRAM

A5-A0 válidas de 0x00 a 0x3F

1 A6 A5 A4 A3 A2 A1 A0 para DDRAM

A6-A0 válidas de 0x00 a 0x27 para la primera líneaA6-A0 válidas de 0x40 a 0x67 para la segunda línea

Leer flag de ocupado y puntero de dir.: con la combinación adecuada en RS y R/W las líneas de datosdel LCD pasan a ser salidas y en el puerto del MCU se lee estado de BF ydirección actual del contador

Enviar datos a DDRAM ó CGRAM: se carga la dirección de la DDRAM o la CGRAM a la que esté apuntandoel contador de direcciones y éste se incrementa o decrementa dependiendo del estado configurado con I/D

Leer contenido de DDRAM ó CGRAM: se lee el contenido de una posición de DDRAM o CGRAM, dependiendodónde esté apuntando el contador de direcciones. Tras la lectura, este contadorse incrementa o decrementa dependiendo del modo configurado con I/D

Page 54: LCD Ampliado

54

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Procesamiento de los comandos:

• El LCD precisa de un cierto tiempo para procesar los comandos que sele van enviando. Para que se ejecute un determinado comando, es necesarioque se haya finalizado el anterior

• Posibilidades para asegurarlo:

a).- Esperar a que el flag de ocupado (BF) pase a 0

b).- Establecer pausas entre comandos, las pausas deben sersuperiores a los tiempos máximos que aparecen especificadospara cada comando

• Reset de inicialización en encendido con efectos:

Borrado de pantallaDL=1(8 bits) N=0 (1 línea) F=0 (5x8 ptos)D=0 (Display off) C=0 (cursor off) B=0 (sin parpadeo)I/D=1 (Incremento) S=0 (sin desplaz.)

BF=1 durante inicialización

(tras paso por 4,5V inicialización dura 10ms aprox.)

Page 55: LCD Ampliado

55

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Inicialización por Software:

El circuito de reset interno del LCD funcionará correctamente si la tensiónde alimentación cumple unas determinadas condiciones:

0,2V

4,5V

trs tiempo de subida de la tensión de alimentación

Mínimo: 0,1 msMáximo: 10ms

0,2V 0,2V

toff tiempo que permanece apagado antes de un reencendido

Mínimo: 1 ms

VDD

t

El tiempo que tarda la tensión de alimentación en pasar desde 0,2V hasta 4,5V debe situarse entre un máximo y un mínimo especificado.

El tiempo que debe transcurrir entre un apagado y un encendido debe sersuperior a 1ms.

Page 56: LCD Ampliado

56

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Inicialización por Software (II):

• Si no se cumplen las condiciones anteriormente expuestas, será necesarioinicializar adecuadamente el LCD por software mediante una secuencia deinstrucciones determinada.

• Se enviarán un “comando” repetido sin intención de configurar el LCD sinocon el propósito de inicializar el microcontrolador. Tras la repetición de ese comando, se envían los comandos de configuración.

• Durante la secuencia de inicialización, el LCD no está en condiciones de responder si está listo con el flag BF, por ese motivo y para asegurar queel LCD los ha procesado se deben realizar unas pausas superiores a laduración especificada para los comandos.

• La secuencia es ligeramente distinta dependiendo de que el interface serealice con 8 ó 4 bits

Page 57: LCD Ampliado

57

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Alimentación del LCD

Espera superior a 15ms tras alcanzar VDD los 4,5V

Envío del comando “Function Set”con interface de 8 bits

0011**** (Function Set)

Espera superior a 4,1ms

Envío del comando “Function Set”con interface de 8 bits

0011**** (Function Set)

Espera superior a 100µs

Envío del comando “Function Set”con interface de 8 bits

0011**** (Function Set)

Envío de Secuencia de Comandos:

0 0 1 1 N F * * (Function Set)0 0 0 0 1 0 0 0 (Display OFF) 0 0 0 0 0 0 0 1 (Display ON)

0 0 0 0 0 1 I/D S (ENTRY mode set)

Final de la Inicialización

Secuencia de Inicialización para Interface de 8 bits

No es posible comprobar BF parael envío de estos comandos, se deberealizar una pausa

Page 58: LCD Ampliado

58

Conexión de periféricoa a Microcontroladores

Pantallas de Cristal Líquido (LCD) ©ATE-Universidad de Oviedo

Alimentación del LCD

Espera superior a 15ms tras alcanzar VDD los 4,5V

Envío de los 4 bits altos (sólo) de “Function Set”:interface de 4 bits

0011(Function Set)

Espera superior a 4,1ms

Envío de los 4 bits altos (sólo)de “Function Set”:interface de 4 bits

0011(Function Set)

Espera superior a 100µs

Envío de los 4 bits altos (sólo)de “Function Set”:interface de 4 bits

0011(Function Set)

Envío de Secuencia de Comandos:0 0 1 0 N F * *0 0 1 11 0 0 00 0 1 10 0 0 10 0 1 1 0 1 I/D S

Final de la Inicialización

Secuencia de Inicialización para Interface de 4 bits

No es posible comprobar BF parael envío de estos comandos, se deberealizar una pausa

(Function Set)

(Display OFF)

(Display ON)

(ENTRY mode set)