Pantalla LCD
Pantalla LCD
Pantalla LCD
ALUMNOS: Jos Hiplito Pascual Jos Luis Fernndez Enrique Silvestre Mario Pozo Jos Ignacio Segu
INDICE 1-Introduccin 2-Qu es un LCD? 2.1-Los caracteres del LCD 2.2-Diversidad de mdulos LCD 3-Tipos de memorias del LCD 3.1-DD RAM (Display Data Ram) 3.2-CG RAM (carcter generator RAM) 4-Interface con el exterior y funcionamiento del mdulo 4.1-Asignacin de pines 4.2-Interface del display con un microcontrolador 4.3-El bus de datos 4.4-El bus de control 4.5-Conectando un mdulo LCD a un Microprocesador PIC16F84 o PIC16F87x 4.6-Secuencia de inicializacin del mdulo LCD 4.7-Tiempos mnimos requeridos para que una instruccin o un dato puedan ser ejecutados 5-Comandos del LCD y ejemplo de programa
1-Introduccin
Antes de aparecer los mdulos LCD, se utilizaban los Displays de siete segmentos para poder mostrar la informacin. Tenan una gran limitacin de poder mostrar los caracteres alfa numricos y smbolos especiales, tambin consuman demasiada corriente y ocupaban demasiado espacio fsico. Posteriormente aparecieron otros tipos de displays mas complejos que podan mostrar algunos caracteres y smbolos; pero tenan de igual manera mucho consumo de corriente y espacio fsico ocupaban tambin bastante espacio fsico. Finalmente aparecieron los mdulos LCD o pantallas de cristal liquido la cual tiene la capacidad de mostrar cualquier carcter alfa numrico. Estos dispositivos ya vienen con su pantalla y toda la lgica de control preprogramada en la fabrica y lo mejor de todo es que el consumo de corriente es mnimo y no hace falta realizar tablas especiales como se hacia anteriormente con los displays de siete segmentos. Las aplicaciones de los mdulos LCD son infinitas ya que pueden ser aplicados en la informtica, comunicaciones, telefona, instrumentacin, robtica, automviles, equipos industriales, etc.
2-Qu es un LCD?
La definicin mas clara de un LCD es: una pantalla de cristal liquido que visualiza unos ciertos caracteres. Para poder hacer funcionar un LCD, debe de estar conectado a un circuito impreso en el que estn integrados los controladores del display y los pines para la conexin del display. Sobre el circuito impreso se encuentra el LCD en s, rodeado por una estructura metlica que lo protege. En total se pueden visualizar 2 lneas de 16 caracteres cada una, es decir, 2x16=32 caracteres. A pesar de que el display slo puede visualizar 16 caracteres por lnea, puede almacenar en total 40 por lnea. Es el usuario el que especifica qu 16 caracteres son los que se van a visualizar. Tiene un consumo de energa de menos de 5mA y son ideales para dispositivos que requieran una visualizacin pequea o media.
En la siguiente tabla se muestran los caracteres mas importantes que es capaz de representar la pantalla LCD. No estan representados los caracteres correspondientes a los cdigos desde el $80 hasta el $FF, que corresponden a smbolos extraos. Los cdigos comprendidos entre el 0 y el 7 estn reservados para que el usuario los defina.
Cdigo Carac. Cdigo Carac. Cdigo Carac. Cdigo Carac. Cdigo Carac. Cdigo Carac.
$20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $2A $2B $2C $2D $2E $2F
Espacio ! # $ % & ) ( * + , . /
$30 $31 $32 $33 $34 $35 $36 $37 $38 $39 $3A $3B $3C $3D $3E $3F
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
$40 $41 $42 $43 $44 $45 $46 $47 $48 $49 $4A $4B $4C $4D $4E $4F
A B C D E F G H I J K L M N O
$50 $51 $52 $53 $54 $55 $56 $57 $58 $59 $5A $5B $5C $5D $5E $5F
P Q R S T U V W X Y Z [ ] ^ -
$60 $61 $62 $63 $64 $65 $66 $67 $68 $69 $6A $6B $6C $6D $6E $6F
` a b c d e f g h I j k l m n o
$70 $71 $72 $73 $74 $75 $76 $77 $78 $79 $7A $7B $7C $7D $7E $7F
p q r s t u v w x y z { | }
El orden de cuante de los caracteres seria empezando de izquierda a derecha, de tal modo que el carcter 1 seria el primero de la izquierda y el 40 seria el situado ms a la derecha. Para localizar los caracteres se utilizan dos coordenadas (X,Y) siendo Y el
valor vertical comprendido entre 1 y 2 (valor de lnea) y X el valor horizontal (1-40) que indicara el carcter. En el ejemplo de arriba, vemos la frase ALUMNOS DE TELEMATICA EPSA, pero en el display solo se visualizaria TELEMTICA EPSA que corresponderia a los 16 caracteres visibles. Para visualizar toda la informacin almacenada en el display, podremos tratar al recuadro de 2 lneas por 16 caracteres como si se tratara de una ventana mvil. Cuando inicializamos el LCD la pantalla tendra un aspecto como el de la siguiente figura.
En este ejemplo, la letra E estaria situada en la posicin (16,1) y la letra A en la (7,1). El mapa de memoria de la DD RAM esta constituido por dos bloques de 40 bytes cada uno. El primer bloque corresponde con los 40 caracteres de la lnea 1 y el segundo bloque con los de la lnea 2. Las direcciones en hexadecimal $00-$27 estn asociadas con las posiciones de almacenamiento del display (1,1) a (40,1), y las direcciones $40-$67 con las de almacenamiento (1,2) a (40,2). A continuacin vemos el mapa de memoria DDRAM.
3.2-CG RAM (carcter generator RAM) La CG RAM contiene los caracteres qque pueden ser definidos por el usuario, es decir que pueden ser personalizados. Est formada por 64 posiciones, con direcciones $00-$3F. Cada posicin es de 5 bits. Le memoria esta dividida en 8 bloques que corresponden a los posibles caracteres creados por el usuario que van del 0 al 7 como se muestra en el dibujo.
Cada carcter esta constituido por una matriz de 5 columnas por 8 filas. De este modo un 1 indica un punto de la matriz encendido, y un 0 apagado como se ve en lea siguiente figura.
A continuacin si quisiramos almacenar este carcter en la posicin 0 de la CG RAM, tendramos que almacenar cada una de las lneas de 5 bits en las direcciones de la CG RAM que van de la $00 hasta la $07 como se veia en el mapa de memoria CG RAM.
Los pines 1 y 2, son los utilizados para la alimentacn del mdulo LCD. La tensin utilizada es de 5 voltios. El pin 3 se utiliza para ajustar el contraste de la pantalla LCD. Por medio de un potencimetro regularemos la intensidad de los caracteres, a mayor tensin mayor intensidad. Se suele utilizar un potencimetro de unos 10 o 20 k, que regulara la misma tensin que se utiliza para la alimentacin. El pin 4 se utiliza para indicar al bus de datos si la informacin que le llega es una instruccin o por el contrario es un carcter. Si RS=0 indicara que en el bus de datos hay presente una instruccin, y si RD=1, indicar que tiene un carcter alfanumrico. El pin 5 es el de escritura o lectura. Si esta a 0 el mdulo escribe en pantalla el dato que haya en el bus de datos, y si esta a 1 leeremos lo que hay en el bus de datos. El pin 6 es el indicado de hacer que el mdulo LCD funcione, o por el contrario no acepte ordenes de funcionamiento. Cuando E=0 no se podr utilizar el display y cuando E=1 se podran trnsferir datos y realizar las dems operaciones. Las pines del 7 al 14 son los del bus de datos.
Las conexiones entre un microcontrolador y una pantalla LCD, sern la del bus de datos de 8 bits y las de los pines de control, es decir, E, RS y R/W. Debido a esto, el microcontrolador deber utilizar 11 bits para controlar la pantalla.
Seguidamente vamos a ver como utilizar un modulo LCD con un microcontrolador modelo PIC16F84. La arquitectura de un microprocesador Z-80 es uno de los componentes que ha determinado un avance en cuanto a simplificacin de componentes. El programa que se utiliza en este caso tiene las rutinas de tiempo calculadas con un cristal de 4 Mhz. Las rutinas de tiempo establecidas en el programa seran mucho mas cortas si el cristal utilizado fuese mayor de 4 Mhz, en cambio si la velocidad del cristal fuese menor a 4 Mhz , las rutinas seran bastante mas largas. Por lo tanto, el cristal que se gaste va a condicionar al mdulo LCD , pudiendo ocasionar problemas de velocidad y saturacin. Declaracin de constantes Es una serie de constantes utilizadas por el programa. En la siguiente tabla vemos un cdigo de algunas constantes reservadas por el propio microcontrolador PIC 16F84 y tambin otras de uso personal. Se trata de unos comandos dirigidos al ensamblador. La seccin amarilla representa los registros de funciones especiales del microcontrolador, la seccin naranja representa los Bits del puerto "A" destinados al bus de control del modulo LCD y finalmente la seccin verde representa las constantes que definirn los tiempos de las rutinas de temporizacin. DECLARACION DE CONSTANTES. CODIGO COMENTARIO PORTB EQU 0X06 Direccin del puerto B TRISB EQU 0X06 Configurador del puerto B para I/O. PORTA EQU 0X05 Direccin del puerto A TRISA EQU 0X05 Configurador del puerto A para I/O. STATUS EQU 0X03 Direccin del registro STATUS. LCD_E EQU 2 Bit del puerto A para control de E. LCD_RW EQU 1 Bit del puerto A para control de R/W. LCD_RS EQU 0 Bit del puerto A para control de RS. RETARDO1 EQU 0X0D Constante del temporizador 1 RETARDO2 EQU 0X00 Constante del temporizador 2
Reserva de Memoria RAM El PIC16F84 tiene disponible 68 Bytes de memoria RAM. La memoria comienza desde la direccin 0X0C ( Posicin numero 13 del mapa de registros ) y termina en la posicin 0X4F ( Posicin numero 80 del mapa de registros ). 11
La instruccin ORG le indica al ensamblador donde debe comenzar a reservar la memoria RAM que a continuacin declaramos. En este caso, tan solo necesitamos dos bytes de memoria RAM. RESERVA DE MEMORIA RAM CODIGO COMENTARIO ORG 0X0C Inicio de los registros de Uso general CONT1 RES 1 Reserva un Byte para la Variable CONT1 CONT2 RES 1 Reserva un Byte para la Variable CONT2
Configuracin de los Puertos El siguiente cdigo le dice al microcontrolador PIC16F84 que el puerto "A" con sus cinco lneas y el puerto "B" con sus ocho lneas sern configurados como salidas para nuestro pequeo experimento. CONFIGURACION DE LOS PUERTOS CODIGO ORG BSF 0X00 STATUS,5 Cambio al banco 1 COMENTARIO
MOVLW b'00000000' MOVWF TRISA MOVLW b'00000000' MOVWF TRISB BCF Configura todo el puerto B como salida STATUS,5 Cambio al banco 0 Configura todo el puerto A como salida.
12
Programa Principal La seccin en color rosa representan las instrucciones necesarias para la inicializacin del modulo LCD. La seccin en color verde representa el programa que se encargara de escribir la palabra "IRLANDES". En la columna de COMENTARIO del programa
PROGRAMA PRINCIPAL CODIGO COMENTARIO Llamada de subrutina de tiempo de 15 milisegundos. Esta Subrutina es solicitada CALL TEMPO2 en el momento que se enciende el circuito para esperar que el modulo LCD estabilice sus voltajes internos. Este comando carga en el acumulador del PIC16F84 el nmero binario que representa el comando en el modulo LCD para trabajar con un bus de datos de 8 Bits. Posteriormente a esta instruccin se ejecuta MOVLW b'00110000' una subrutina llamada LCDI ( LCD INSTRUCCION) que estar encargada de colocar el dato en el modulo LCD ( Bus de datos ) y ejecuta la secuencia requerida para el bus de control del modulo LCD. Llamada de una subrutina que estar encargada de colocar el dato en el modulo CALL LCDI LCD ( Bus de datos ) y ejecuta la secuencia requerida para el bus de control del modulo LCD. Este comando carga en el acumulador del PIC16F84 el numero binario que representa el comando en el modulo LCD para trabajar con Activacin de dos lneas en el modulo MOVLW b'00111000' LCD. Posteriormente a esta instruccin se ejecuta una subrutina llamada LCDI que fue explicada en la instruccin numero 2 de esta misma tabla. Llamada de una subrutina que estar encargada de colocar el dato en el modulo CALL LCDI LCD ( Bus de datos ) y ejecuta la secuencia requerida para el bus de control del modulo LCD. Este comando carga en el acumulador del PIC16F84 el numero binario que representa el comando en el modulo LCD para trabajar con encendido de la pantalla y el cursor en MOVLW b'00001110' el modulo LCD. Posteriormente a esta instruccin se ejecuta una subrutina llamada LCDI que fue explicada en la instruccin numero 2 de esta misma tabla. Llamada de una subrutina que estar CALL LCDI encargada de colocar el dato en el modulo LCD ( Bus de datos ) y ejecuta la secuencia
13
CICLO
requerida para el bus de control del modulo LCD. Este comando carga en el acumulador del PIC16F84 el numero binario que representa el comando en el modulo LCD para trabajar con el desplazamiento del cursor a la MOVLW b'00000110' derecha Posteriormente a esta instruccin se ejecuta una subrutina llamada LCDI que fue explicada en la instruccin numero 2 de esta misma tabla. Llamada de una subrutina que estar encargada de colocar el dato en el modulo CALL LCDI LCD ( Bus de datos ) y ejecuta la secuencia requerida para el bus de control del modulo LCD. MOVLW "I" Coloca el carcter ASCII en W CALL LCDC Rutina para escribir un carcter en el LCD. MOVLW "R" Coloca el carcter ASCII en W CALL LCDC Rutina para escribir un carcter en el LCD. MOVLW "L" Coloca el carcter ASCII en W CALL LCDC Rutina para escribir un carcter en el LCD. MOVLW "A " Coloca el carcter ASCII en W CALL LCDC Rutina para escribir un carcter en el LCD. MOVLW "N" Coloca el carcter ASCII en W CALL LCDC Rutina para escribir un carcter en el LCD. MOVLW "D" Coloca el carcter ASCII en W CALL LCDC Rutina para escribir un carcter en el LCD. MOVLW "E" Coloca el carcter ASCII en W CALL LCDC Rutina para escribir un carcter en el LCD. MOVLW "S" Coloca el carcter ASCII en W GOTO CICLO
Subrutinas
Subrutina para ejecutar una Instruccin. Es la hemos llamado LCDI y se encarga de la configuracin del bus de control del mdulo LCD, para ejecutar una instruccin presente en el bus de datos. La instruccin es inmediatamente ejecutada por el modulo LCD cuando se activa el ENABLE. Esta subrutina es utilizada por el programa principal solamente cuando se requiere dar una Instruccin al modulo LCD. SUBRRUTINA LCDI: ( EJECUCION DE UNA INSTRUCCION ) CODIGO: COMENTARIO LCDI BCF PORTA,LCD_RW Coloca "0" en el Pin RW. BCF PORTA,LCD_RS Coloca "0" en el Pin RS.
14
BSF
PORTA,LCD_E
Coloca "1" en el Pin E Coloca el contenido de "W" en el bus de datos del modulo LCD. Coloca "0" en el Pin E Llamada de una subrutina de tiempo de 40 micro segundos. Finaliza la Rutina de tiempo.
Subrutina para escribir un dato o un carcter en el modulo LCD. Esta subrutina configura el bus de control del modulo LCD para escribir un dato que esta presente en el bus de datos del modulo LCD . El dato se escribe en la pantalla inmediatamente cuando se activa el ENABLE. Esta subrutina es utilizada por el programa principal solamente cuando se quiere escribir un carcter en el modulo LCD. SUBRRUTINA LCDC: ( ESCRIBIR UN DATO O CARACTER ) CODIGO: COMENTARIO LCDC BCF PORTA,LCD_RW Coloca "0" en el Pin RW. BSF PORTA,LCD_RS Coloca "1" en el Pin RS. BSF PORTA,LCD_E Coloca "1" en el Pin E Coloca el contenido de "W" en el MOVWF PORTB bus de datos del modulo LCD. BCF PORTA,LCD_E Coloca "0" en el Pin E Llamada de una subrutina de CALL TEMPO1 tiempo de 40 micro segundos. RETURN Finaliza la Rutina de tiempo.
Subrutina de 58 microsegundos. Es solicitada cuando se ejecuta una instruccin o un dato para dar el tiempo necesario que requiere el modulo LCD para finalizar el proceso. Esta subrutina denominada TEMPO1 tiene una curacin de 58 microsegundos basados en un cristal de 4 Mhz. SUBRRUTINA DE TIEMPO ( TEMPO1 ) CODIGO: COMENTARIO TEMPO1 MOVLW RETARDO1 MOVWF CONT1 CICLOT1 NOP DECFSZ CONT1,1 GOTO CICLOT1 RETURN
15
Subrutina de 15.37 milisegundos. Esta subrutina de tiempo es utilizada solamente cuando se enciende la pantalla para la estabilizacin de los voltajes. Esta subrutina denominada TEMPO2 tiene una duracin de 15.37 milisegundos basados en un cristal de 4 Mhz. SUBRRUTINA DE TIEMPO ( TEMPO2 ) CODIGO: COMENTARIO TEMPO2 MOVLW RETARDO2 MOVWF CONT2 CICLOT2 CALL TEMPO1 DECFSZ CONT2,1 GOTO CICLOT2 RETURN
16
El mdulo ejecuta automticamente una secuencia de inicio interna en el instante de aplicarle la tensin, y hay unos requisitos de estabilidad. El tiempo mnimo que tarda en estabilizarse la tensin entre 0,2 y 4,5 voltios debe estar comprendido entre 0,1 y 10 milisegundos. Por otro lado el tiempo mnimo de desconexin debe ser de 0,1 milisegundos antes de volver a conectar.
17
La secuencia de inicio ejecutada es la siguiente: 1. Se ejecuta el comando CLEAR DISPLAY borrando la pantalla. El flag BUSY se mantiene a "1" (ocupado) durante 15 mS hasta que finaliza la inicializacin. 2. Se ejecuta el comando FUNCTION SET, que establece el interfaz con el Bus de datos. Se elige por defecto el tamao del bus de datos a 8 bits (DL=1) y el nmero de renglones del display en 1 (N=0). 3. Se ejecuta el comando DISPLAY ON/OFF CONTROL, que hace que el display que en OFF (D=0); tambin cursor en OFF (C=0) y sin parpadeo del cursor en (B=0) 4. Se ejecuta el comando ENTRY MODE SET, que establece la direccin de movimiento del cursor con autoincremento del cursor (I/D=1) y modo normal, no desplazamiento, del display (S=0). Si la conexin de la alimentacin no rene las condiciones que exige el mdulo LCD, habra que realizar la secuencia de inicializacin por software. En cualquier caso, es importante enviar al LCD la primera instruccin de trabajo despus de que hayan transcurrido 15 ms, para completar dicha secuencia de inicializacin.
SECUENCIA TIPICA DE INICIALIZACION DEL LCD En la siguiente figura se ha representado en un diagrama la secuencia de inicializacin del LCD para trabajar con un bus de datos de 8 4 bits. Para el caso de 8 bits no hay ningn problema, sin embargo el caso de 4 bits es un poco ms complejo. Despus de encender el LCD aparecer la linea superior un poco ms oscura que la inferior. Esto quiere decir que el display no ha sido inicializado todava. En el caso de 4 bits slo se conectan los 4 bits mas significativos del LCD, dejando los otros 4 al aire. Al enviar el cdigo 2 (Bits 0 0 1 0) el display se configura para trabajar a 4 bits. Se puede observar cmo la linea superior deja de estar ms oscura que la inferior. A partir de este momento las transferencias hay que realizarlas en dos partes: primero se envan los 4 bits mas significativos y despus los 4 bits menos significativos. Para confirmar que la transferencia es a 4 bits hay que enviar el cdigo $28; primero los bits 0 0 1 0 y despus los bits 1 0 0 0. De aqu en adelante la inicializacin es igual tanto para 8 bits como para 4, con la salvedad de que en el segundo caso hay que enviar los datos multiplexados.
18
4.7-Tiempos mnimos requeridos para que una instruccin o un dato puedan ser ejecutados.
Los Pines de control ( E, RS y E/W ) estn relacionados ya que por medio de ellos podemos especificar la opcin de ejecutar una instruccin o leer / escribir un dato en la pantalla o la memoria RAM; sin embargo existe una condicin importante que deber tomarse en cuenta referida directamente al tiempo necesario que se necesita para cambiar de un estado a otro en los pines de control. ( E, RS y R/W ). En el caso de que este tiempo sea mas pequeo que el tiempo mnimo requerido, entonces el modulo LCD no tendr el tiempo suficiente para responder a las instrucciones solicitadas por el usuario y por consecuencia se perdern los datos o instrucciones segn sea el caso. Es decir, no debemos obviar la velocidad propia del mdulo LCD con la propia del microcontrolador que estemos utilizando, ya que si no se tiene en cuenta la velocidad del microprocesador y esta sobrepasa la del mdulo LCD, ste ltimo no tendr capacidad suficiente como para ir procesando y ejecutando todo el flujo, y por lo tanto perderemos informacin . Para ello los programas o los circuitos electrnicos que manejan un mdulo LCD debern respetar los siguientes diagramas de tiempo:
19
Si se quiere enviar una instruccin al mdulo LCD, colocamos el comando en el bus de datos ( pines del 7 al 14 ). Posteriormente se ejecuta el diagrama de tiempo requerido para una instruccin en los pines de control. Este diagrama de tiempo es muy sencillo de entender, tan solo usted deber colocar: el Pin RS = 0, el Pin R/W = 0 y el Pin E = 0. Luego, se cambia el estado del Pin E a 1, debiendo permanecer en dicho estado al menos durante 450 ns. De no ser as el mdulo LCD no podr aceptar el comando
En el caso de querer escribir un dato al mdulo LCD, colocamos el dato en el bus ( pines del 7 al 14 ) como antes. Y entonces ejecutamos el diagrama de tiempo requerido para escribir un dato en los pines de control. Ponemos el Pin RS = 1, el Pin R/W = 0 y el Pin E = 0. Cuando ya terminemos este proceso, se cambia el estado del Pin E = 1, debiendo permanecer en dicho estado al menos durante 450 ns. De no ser as el mdulo LCD no podr aceptar el comando
En el caso de querer leer un dato de la pantalla LCD o de la memoria LCD, los pines de control hay que configurarlos as; Pin RS = 1, Pin R/W = 1 y el Pin E = 0.
20
Seguidamente cambiamos el Pin E a 1, debiendo permanecer en dicho estado al menos durante 450 ns. De no ser as el mdulo LCD no podr aceptar la instruccin.
Notas comunes
- El pin E debe estar inicialmente en el estado lgico 0, para posteriormente conmutar a 1, permaneciendo mnimo 450 ns. - Cuando el Pin "E" del modulo LCD tiene el flanco de bajada, se ejecuta la instruccin o el dato presente en el bus de control.
En la siguiente figura vemos los cronogramas correspondientes a una operacin de escritura y otra de lectura de una forma un poco mas bsica. Como ya hemos dicho con anterioridad los tiempos mnimos se deben respetar. Las operaciones de lectura y escritura son muy sencillas. Se ha supuesto que las transmisiones de los datos se realizaban a 8 bits.
21
22
23
mayor o igual a esta se tiene la garantia de que el display ha terminadote ejecutar el comando.
RESUMEN DE COMANDOS:
-Borrar display: Este comando borra todas las posiciones del display virtual y se situa el display real en la posicin inicial, en la que se visualizan las posiciones desde la (1,1) hasta la (16,1) y desde la (1,2) hasta la (16,2). El cursor se situa en la posicin (1,1). El comando seria $01 y su tiempo de ejecucin 1.64 ms. -Cursor a Home: Enviar el cursor a la posicin (1,1). El display se situa en la posicion inicial. Comando $02 y el tiempo de ejecucin 1.64ms. -Estabecer modo de funcionamiento: Actualiza el contador de direcciones en la forma especificada y establece si el display realiza los desplazamientos o no. Estas acciones se llevan a cabo cada vez que se realizan una lectura o escritura en el display. Cuando I/D=1, el controlador 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 una posicin a la derecha cada vez que se imprime un carcter. Con S=0 el display
24
debe de permanecer quietoal imprimir. El comando es 0 0 0 0 0 1 I/D S y su T.E.=40s -Control ON/OFF: Es la funcion encargada de activar o desactivar el display, el cursor y el parpadeo. 1. Display ON/OFF: D=1 activar el LCD. Cuando D=0 el LCD funciona normalmente pero no se visualiza ninguna informacin. Es posible realizar impresiones, enviar comandos, pero nada quedara reflejado en pantalla. Solo cuando D=1 se puede ver algo en el display 2. Cursor ON/OFF: C=1 activa el Curso y al contrario, C=0 no se mueve. 3. Parpadeo ON/OFF: B=1 hace que los caracteres situados en la posicin del cursor parpadeen. B=0 no hay parpadeo. El comando es 0 0 0 0 1 D C B y su codigo tipico $0E, su T.E:=40s -Desplazamiento del cursor/display: Desplaza una posicin el cursor o el display. Con S/C=1 se mueve el display, S/C=0 no. R/L=1 desplaza a la derecha y R/L=0 a la izquierda. El Comando es 0 0 0 1 S/C R/L 0 0 y su T.E.= 40s. -Modo de transferencia de la informacio: Selecciona el bus de datos del display para trabajar a 8 bits (DL=1) o a 4 bis (DL=0). Su comando es 0 0 1DL 1 0 0 0 y su T.E.=40s. -Acceso a posiciones concretas de la CG RAM: Da acceso a las direcciones de la A5 a la A0 de la CG RAM. Esta es la direccion que se copia en el contador de direcciones de la CG RAM. La siguiente escritura en el registro de datos display (RS=1) se copiara en la posicin indicada de la CG RAM. Su comando 0 1 A5 A4 A3 A2 A1 A0 y su T.E.=40s -Acceso a posiciones concretas de la DD RAM: Es el mismo funcionamiento que en la orden anterior. Despus de dicha instruccin el registro de datos se grabara en la posicin indicada de la DD RAM.su comando1 A6 A5 A4 A3 A2 A1 A0) y su T.E.=40s Secuencia tipica de inicializacion del LCD: Para trabajar con el bus de datos de 8 bits no hay ningun problema. Pero para un bus de datos de 4 bits es un poco mas complejo. Despues de encender el LCD aparecera la linea superior un poco mas oscura que la inferior. Esto quiere decir que el display no ha sido inicializado todava. En el caso de 4 bits solo se conectan 4 bits mas significativos del LCD, dejando los otros 4 al aire. Al enviar el codigo 2 (bits 0 0 1 0) el display se configura para trabajar a 4 bits. Se puede observar como la linea superior deja de estar mas oscura que la inferior. A partir de ese momento las tranferencias hay que realizarlas en dos partes: primero se envian 4 bits mas significativos y despus los 4 bits menos significativos. Para confirmar que la transferencia es a 4 bits hay que enviar el codigo $28 ; primero los bits 0 0 1 0 y despus los bits 1 0 0 0. De aqu en adelante la inicializacion es igual tanto para 8 bits como para 4, con la salvedad de que en el segundo caso hay que enviar los datos multiplexados.
25
26
Ejemplo de programa
27
28
29
30