Está en la página 1de 6

DESCRIPCIN Y MANEJO DE UN LCD

Conexiones
La mayora de los mdulos LCD cumplen con una especificacin de interface estndar. Se cuenta con un acceso de 14 pines que tienen 8 lneas de datos, tres de control y tres lneas de alimentacin. En la mayora de las pantallas los pines estn numerados en la tarjeta de circuito impreso. Si no, es fcil encontrar el pin 1, dado que al estar conectado a la tierra, a menudo tiene una pista ms gruesa conectada al chasis metlico del mdulo. La funcin de cada una de las conexiones se muestra en la tabla a nla derecha. An cuando las hojas de especificaciones de los LCD establecen 5V para la alimentacin, pueden trabajar correctamente entre 4,5 y 6V. Algunos mdulos pueden trabajar hasta 3 V. El pin 3 es un pin de control, VEE, que se usa para alterar el contraste de la pantalla. Idealmente esta terminal debera ir conectada a una fuente de voltaje variable. Se puede utilizar un potencimetro conectado a las fuentes y su terminal central al pin de contraste. En algunos mdulos se puede requerir un potencial negativo hasta -7 V en algunos casos. El pin 4 es el selector de registro (RS). Cuando es 0, los octetos de datos transferidos son tratados como comandos y en modo lectura indican el estado del mdulo. Cuando est en alto, los octetos de datos transferidos son tratados como informacin a desplegar. El pin 5 es de lectura escritura (R/W). Se conecta a cero (bajo) para escribir y a uno (alto) para leer. Pin nmero 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Nombre VSS VDD VEE RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 Funcin Tierra +Alim Contraste Selector de registro Lectura/escritura Habilitacin Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7

El pin 6 es la lnea de habilitacin (E). Se usa para iniciar la transferencia del comando o carcter actual entre las lneas de datos y el mdulo. Durante la escritura, los datos son transferidos solo en la transicin negativa (de alto a bajo) de esta seal. Sin embargo, en modo de lectura la informacin permanece disponible despus de la transicin positiva (de bajo a alto) hasta que la seal regresa a bajo. Los pines 7 a 14 son las lneas de datos (D0 a D7). Los datos se pueden transferir desde y hacia el mdulo, tanto como un octeto como dos cuartetos (nibbles) de 4 bits. En este ltimo caso solo se usan D 4 a D7. Esto es benfico cuando se usa un microcontrolador con pocos puertos de entrada salida. Un ejemplo de secuencia para iniciar el mdulo es el siguiente:

Ing. Ricardo Fco. Hernndez Hernndez

Cuando se enciende, la pantalla muestra una serie de cuadrados oscuros, posiblemente solo una parte de la pantalla. Estos caracteres estn en su estado apagado, de modo que aqu es donde se puede ajustar el contraste. El mdulo se restablece automticamente cada vez que se apaga y se enciende por lo que es necesario ejecutar una rutina de inicio. Comando
Borrar pantalla Posicin de inicio de la pantalla y el cursor (Home) Modo de introduccin de caracteres Encendido y apagado de pantalla y cursor Corrimiento de la pantalla y el cursor Establecer funciones Establecer direccin CGRAM Establecer la direccin de la pantalla

D7 0 0 0 0 0 0 0 1

D6 0 0 0 0 0 0 1 A

D5 0 0 0 0 0 1 A A

Binario D4 D3 0 0 0 0 0 0 1 8/4 A A 0 1 D/C 2/1 A A


R/L 8/4 2/1 10/7

D2 0 0 1 D R/L 10/7 A A

D1 0 1 I/D U X X A A

D0 1 X X B X X A A

Hexa. 01 02 - 03 04 a 07 08 a 0F 10 a 1F 20 a 3F 40 a 7F 80 a FF

I/D S D U B D/C

1 = Incremento*, 0 = Decremento 1 = Corrimiento de pantalla (on), 0 = No corrimiento de pantalla (off)*. 1 = Pantalla encendida (on), 0 = Pantalla apagada (off)* 1 = Cursor subrayado, 0 = Cursor no subrayado (off)* 1 = Cursor parpadeante, 0 = Cursor no parpadeante*. 1 = Corrimiento de pantalla, 0 = Mover cursor

1 = Corrimiento derecha, 0 = Corrimiento Izquierda 1 = Interfase de 8 bits*, 0 = Interfase de 4 bits 1 = Modo de 2 lneas, 0 = Modo de 1 lnea* 1 = Formato de 5x10 puntos, 0 = Formato de 5x7 puntos * = Ajustes de inicio

X = No importa

Comandos Nulo Limpiar LCD Home LCD Incrementar Cursor Off LCD On LCD Cursor Parpadeo Cursor Subrayado Cursor Izquierda Cursor Derecha Scroll Izquierda Scroll Derecha Mover a direccin CGRAM Mover a direccin DDRAM

Valor Numrico 0 1 2 6 8 12 13 14 16 20 24 28 64 + direccin 128 + direccin

Descripcin No se efecta ninguna operacin especial. Limpia la pantalla y desplaza el cursor a la posicin 0 (Home). Mueve el cursor a la posicin de inicio. Mueve el cursor a la derecha sin desplazar la pantalla. Apaga al LCD sin perder los datos que esta tena. Enciende al LCD sin mostrar el cursor y con el ltimo contenido almacenado en buffer. Enciende el LCD con el cursor parpadeando. Enciende el LCD con el cursor con un subrayado. Mueve el cursor un carcter a la izquierda. Mueve el cursor un carcter a la derecha. Desplaza la pantalla 1 carcter a la izquierda. Desplaza la pantalla 1 carcter a la derecha. Mueve el apuntador a una localidad de la memoria de generacin de caracteres (Character Generator RAM). Mueve el cursor a una localidad de la memoria de visualizacin de caracteres (Display Data RAM).

Ing. Ricardo Fco. Hernndez Hernndez

Los pasos son los siguientes: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Poner la lnea E en bajo. Poner las lneas R/W y RS en bajo (0) para asegurar que estamos en modo de escritura de comandos. Esperar 1 mS. Poner la lnea E en alto. Mandar la informacin (comandos) al bus de datos (D0 a D7). Esperar 1 mS. Poner la lnea E en bajo (transicin negativa). Esperar 1 mS. Repetir los pasos 5 a 8 hasta que se haya terminado de introducir los comandos de inicializacin. Poner la lnea RS en alto para iniciar la introduccin de caracteres. Esperar 1 mS. Poner la lnea E en alto. Mandar la informacin (a desplegar) al bus de datos (D0 a D7). Esperar 1 mS. Poner la lnea E en bajo (transicin negativa). Esperar 1 mS. Repetir los pasos 11 a 16 hasta que se haya terminado de introducir la informacin a desplegar.

A continuacin se dan algunas definiciones para comandos del LCD en C. #define LCD_D_CLR #define LCD_HOME #define LCD_ENC #define LCD_CUR_U #define LCD_CUR_B #define LCD_4B #define LCD_2L #define RS pin_c4 #define RW pin_c5 #define E pin_c6 void toggle() { output_low(E); delay_ms(1); output_high(E); delay_ms(1); output_low(E); delay_ms(1); } 0x01 0x02 0x0C 0x0A 0x09 0x20 0x08

// 00001100 // 00001010 // 00001011

Ing. Ricardo Fco. Hernndez Hernndez

// ********** Rutina para escribir comandos en 4 bits ******* void comando(int linea) { output_low(RS); output_c((linea>>4)&0x0f); toggle(); output_c(linea&0x0f); toggle(); } void init_LCD() { output_c(0x02); toggle(); comando_4(LCD_4B|LCD_2L); comando_4(LCD_ENC|LCD_CUR_U|LCD_CUR_B); // comando_4(LCD_D_CLR); } // ********** Rutina para escribir cadenas en 4 bits ******* void escribe(char palabra) { output_high(RS); output_c(((palabra >> 4)&0x0f)|0x10); toggle(); output_c((palabra&0x0f)|0x10); toggle(); } void escribe_cad(char *str) { char *strptr; strptr = str; while ((*strptr) != '\0') { output_high(RS); output_c(((*strptr >> 4)&0x0f)|0x10); toggle(); output_c((*strptr&0x0f)|0x10); toggle(); strptr++; } }

Ing. Ricardo Fco. Hernndez Hernndez

/******************************************************** Funcin para desplegar valores numricos enteros entre 0 y 2147483647 **********************************************************/ void escribe_int(long long valor) { char cad[21]={'\0'}; int i=0; cad[20] = itoa(valor, 10, cad); while(cad[i]!='\0') { output_c(((cad[i]>>4)&0x0f)|0x10); toggle(); output_c((cad[i]&0x0f)|0x10); toggle(); i++; } } POSICIONES DE LOS CARACTERES:
Posiciones Visibles Lnea 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Posiciones no Visibles 16 ... 39

Comando 80h 81h 82h 83h 84h 85h 86h 87h 88h 89h 8Ah 8Bh 8Ch 8Dh 8Eh 8Fh Lnea 2 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 ... 103

Comando C0h C1h C2h C3h C4h C5h C6h C7h C8h C9h CAh CBh CCh CDh CEh CFh Posiciones Visibles Lnea 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 79 35 99 16 80 36 17 81 37 18 82 38 102 19 83 39 103 Lnea 2 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 Lnea 3 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 Lnea 4 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

100 101

Tabla No. 3: Posiciones en una pantalla LCD de 2x16 y 4x20. Nmeros en decimal.

Ing. Ricardo Fco. Hernndez Hernndez

Caracteres desplegables en el LCD

Ing. Ricardo Fco. Hernndez Hernndez

También podría gustarte