You are on page 1of 10

Huber Girn Nieto Practica 2 LCD Arquitectura avanzada de sistemas de cmputo Ing.

Electrnica y de Comunicaciones Profesor: Nicols Quiroz Hernndez Universidad Iberoamericana Puebla

29 de Marzo de 2012

PRCTICA 2 LCD

1. INTRODUCCIN En la actualidad la mayora de dispositivos utilizan microcontroladores, ya que este tipo de dispositivos permite obtener un manejo de recursos y control en cualquier dispositivo electrnico. Los microcontroladores permiten ahorrar varias etapas de hardware por software, de los cuales este ltimo solo es programacin y por lo tanto permite disminuir costos al realizar un proyecto.

2. OBJETIVOS I. General

Realizar un programa en ensamblador para el PIC18F4550 que permita mostrar un valor en el LCD.

II.

Especficos

-Entender el funcionamiento de un LCD. -Realizar un programa en ensamblador para manda datos a un LCD con 4 bits. -Probar el cdigo anterior en la tarjeta de desarrollo. -Realizar una simulacin Proteus del cdigo.

3. MARCO TERICO I. LCD (Marcelo, 2008) Un display alfanumrico de matriz de puntos (dot-matrix) es un dispositivo de interfaz humana formada por una pantalla de cristal lquido o LCD sobre la que se pueden mostrar mensajes formados por distintos caracteres: letras, nmeros. Smbolos, etc. Se encentran en distintos formatos, por ejemplo: 2x8, 2x16, 4x20, etc. El primer digito indica el nmero de filas en el display y el segundo el nmero de columnas.

Estos dispositivos vienen gobernados por un microcontrolador, que normalmente va incorporado sobre la misma placa de circuito impreso que soporta el LCD. En el mercado es muy habitual encontrarse con el controlador HD44780 de Hitachi. El controlador se encarga de gestionar el display lquido: polarizar los puntos de la pantalla, generar los caracteres, desplazar la pantalla, mostrar el cursor, etc. El usuario se despreocupa de todos estos problemas y simplemente necesita conocer una serie de comandos o instrucciones de alto nivel que le permitan mostrar mensajes sobre la pantalla de manera sencilla. Para comunicarse con el controlador del display se dispone de una interfaz paralela al exterior, de fcil conexin a otros microcontroladores o microprocesadores. Los caracteres que se pueden representar estn formados por una matriz de puntos que vienen almacenados en memoria ROM dentro del propio controlador. El fabricante reserva una pequea zona de memoria RAM donde se pueden definir algunos caracteres especiales o pequeos grficos. El nmero de pines de un display alfanumrico es normalmente de 14(o d 16 si el LCD es retro iluminado) y son compatibles TTL. En la Tabla 1 se muestra el significado de las seales de cada pin. Hay tres tipos de seales en el LCD: de alimentacin, de control y de datos.

4. DESARROLLO I. Metodologa

1) Entender el funcionamiento de un LCD. En la primer parte de la prctica se utilizara un simulador de LCD (Foto1) para entender como es el funcionamiento de un Display LCD, entendiendo los pasos para configurar al LCD en un modo de 4 bits adems de entender los pasos necesarios para mandar un dato o comando a la pantalla del LCD.

Foto1. Simulador Java LCD

2) Realizar un programa en ensamblador para manda datos a un LCD con 4 bits. La segunda parte de la prctica consiste en realizar un programa en ensamblador que nos permita mostrar un mensaje en el LCD utilizando una configuracin de 4 bits.

3) Realizar una simulacin Proteus del cdigo. Posteriormente se realizara una simulacin en Proteus utilizando el cdigo anterior.

4) Probar el cdigo anterior en la tarjeta de desarrollo. Posteriormente se realizara la prueba del cdigo en la tarjeta de desarrollo para PIC18F4550 para observar que el programa funciona correctamente fsicamente.

II.

Grficas, Dibujos y Tablas

1) Entender el funcionamiento de un LCD. En la primer parte de la prctica se utiliz el simulador Java LCD para entender los pasos de configuracin y mandar datos al LCD en configuracin de 4 bits. Para mandar a mostrar un dato en el LCD es muy simple tal y como lo explica la siguiente tabla (Tabla2): 1. Configura el LCD en modalidad de 4 bits

Para configurar el LCD en 4bits solo es necesario mandar al puerto de datos el cdigo 0x20 con RS=0, RW=0. Todo esto seguido de un pulso de habilitacin el cual se consigue cambiando el valor de E=0 a E=1 y posteriormente regresarlo a E=0.

2. Configurar el cursor de la pantalla Para configurar el cursor de la pantalla es necesario mandarle un simple comando al LCD, sin embargo ahora que est configurado en un modo de 4 bits, debemos mandar el cdigo de una instruccin primero la parte ms significativa seguida de un pulso de habilitacin y posteriormente la parte menos significativa seguido de otro pulso de habilitacin. Por ejemplo para configurar el cursor visible se enva el cdigo 0XFF con RS=0 y RW=0 3. Enviar un dato a la pantalla del LCD

Po ultimo para enviar un dato a la pantalla del LCD se debe de seguir lo mismos pasos que el anterior al mandar un cdigo en LCD en configuracin de 4 bits. Aunque el pin de RS=1 Por ejemplo para mandar la letra A se enva el cdigo 0x41 con RS=1 y RW=0

Tabla2. Configuracin del LCD Simulador

2) Realizar un programa en ensamblador para manda datos a un LCD con 4 bits. La segunda parte de la prctica consisti en realizar un programa que mande a mostrar datos al LCD en 4 bits, para esto se cre una serie de subrutinas que se mandan a llamar para configurar y mandar datos al LCD, de tal manera que inicializar y mandar un dato al LCD se realiza con el siguiente cdigo: call Inicio_LCD call LCD_Limpiapantalla call LCD_linea1 movlw 'A' movwf LCD call LCD_dato Por lo tanto las diferentes subrutinas creadas para controlar el LCD en 4 bits pueden observarse en la siguiente tabla (Tabla3): Inicio_LCD Inicio_LCD: movlw 0x20 movwf PORTD,0 bcf _EN,0 bcf _RS,0 bcf _RW,0 call Pulso_E call retardito

;INICIO LCD 4 BITS

movlw b'00001100' ;bit0- 1 cursor parpadea movwf LCD,0 ;bit1- 1 cursor mostrado call LCD_comando ;bit2- 0 desplegador encendido return Pulso_E ;PULSO ENABLE PARA MANDAR DATOS AL LCD Pulso_E: bsf _EN,0 call retardito bcf _EN,0 return LCD_comando ;COMANDO AL LCD LCD_comando: andlw 0xF0 movwf PORTD,0 bcf _EN,0 bcf _RS,0 bcf _RW,0 call Pulso_E

Esta rutina realiza la configuracin inicial el LCD para que entre en modo de 4 Bits y posteriormente manda un comando al LCD donde le dice como configurar al cursor utilizando los bits menos significativos del cdigo que se enva como comando.

Esta rutina se encarga de generar un pulso del pin Enable del LCD al cambiarlo de un estado bajo a no alto y posteriormente a otro estado bajo.

Esta rutina se encarga de mandar un comando al LCD ya que mantienen al pin RS en bajo. El principio de esta rutina se encuentra en mandar la pate ms significativa y posteriormente la menos significativa de un cdigo de 8 bit para el LCD todo esto debido a que es un rutina para un LCD en modo de 4 bit. El cdigo que enva al LCD es el contenido del registro LCD.

call movff rlncf rlncf rlncf rlncf movff bcf bcf call call

retardin LCD, LCD_low LCD_low,1,0 LCD_low,1,0 LCD_low,1,0 LCD_low,1,0 LCD_low,PORTD _RS,0 _RW,0 Pulso_E retardin

return LCD_dato ;DATO O CARACTER AL LCD LCD_dato: andlw 0xF0 movwf PORTD,0 bcf _EN,0 bsf _RS,0 bcf _RW,0 call Pulso_E call retardin movff rlncf rlncf rlncf rlncf movff bsf bcf call call LCD, LCD_low LCD_low,1,0 LCD_low,1,0 LCD_low,1,0 LCD_low,1,0 LCD_low,PORTD _RS,0 _RW,0 Pulso_E retardin

Esta rutina es muy parecida a la rutina de LCD_comando cuya nica diferencia es el valor del pin RS en alto ya que cualquier cdigo que se envi al LCD ira directamente a mostrarse en la pantalla del LCD.

return LCD_Limpiapantalla LCD_Limpiapantalla: movlw 0x01 movwf LCD call LCD_comando LCD_linea1 ;LCD LINEA 1 LCD_linea1: movlw 0x80 movwf LCD

Esta subrutina se encarga de enviar un comando especfico al LCD para limpiar la pantalla completa.

Mueve el cursor de la pantalla LCD a la posicin de la primera lnea y primera columna.

call LCD_comando return LCD_linea2 ;LCD LINEA 2 LCD_linea2: Mueve el cursor de la pantalla LCD a la movlw 0xC0 posicin de la segunda lnea y primera movwf LCD columna. call LCD_comando return Tabla3. Subrutinas para configurar y controlar el LCD en 4 bits

3) Realizar una simulacin Proteus del cdigo. Para comprobar el correcto funcionamiento del LCD se simulo en Proteus la conexin de un LCD en configuracin de 4 bits con un microcontrolador PIC18F4550 para observar si los daos que se enviaban era correctos (Foto2).

Foto2. Simulacin Proteus de LCD 4 bits

III. Mediciones y resultados 1) Realizar un programa en ensamblador para manda datos a un LCD con 4 bits. Se realiz un programa en ensamblador que enva datos y comandos al LCD para configurarlo o mostrar datos en su pantalla, el listado de instrucciones y uso se puede ver en la siguiente tabla (Tabla4):

INSTRUCCIONES Inicio_LCD LCD_comando LCD_dato LCD_Limpiapantalla LCD_linea1 LCD_linea2

DESCRIPCION Configura el LCD en 4 bits y configura el estado del cursor Manda el contenido del registro LCD como un comando Manda el contenido del registro LCD a mostrar en la pantalla Limpia la pantalla y regresa el cursor a la posicin inicial Mueve el cursor a la fila uno columna uno Mueve el cursor a la fila dos columna uno Tabla4. Instrucciones para controlar el LCD

2) Probar el cdigo anterior en la tarjeta de desarrollo. Por ltimo se realiz una prueba en la tarjeta de desarrollo de la prctica anterior y se observ un correcto funcionamiento al desplegar la frase -Practica LCD Huber Girn (Foto3).

Foto3. Prueba fsica LCD 4 bits

5. CONCLUSIONES En conclusin se puede decir que aprender a manejar un LCD desde el nivel bsico de ensamblador nos permite comprender como funciona la interaccin de un microcontrolador y otros dispositivos ya que generalmente al utilizar una pantalla LCD, TFT, algn sensor como ultrasnicos, pirolicos, de humedad, mdulos bluetooth o de radiofrecuencia la mayora de estos si son digitales, poseen un microcontrolador y por lo tanto la comunicacin de un microcontrolador a otro se vuele muy importante. Por otra parte es muy importante conocer todos los recursos que se poseen al realizar un proyecto como en el caso de los simuladores quienes nos pueden mostrar un acercamiento a la realidad cuando queremos simular un prototipo.

6. REFERENCIAS

DINCERAYDIN. 2003. LCD Simulator. [En lnea] 2003. [Citado el: 24 de Marzo de 2012.] http://www.dinceraydin.com/djlcdsim/djlcdsim.html. Marcelo, Jose Ignacio Suarez. 2008. Cmo gobernar un display LCD alfanumrico . [En lnea] 2008. [Citado el: 24 de Febrero de 2012.] http://eii.unex.es/profesores/jisuarez/descargas/ip/lcd_alfa.pdf.