Blog dedicado a tratar temas sobre electrónica y disciplinas asociadas, así como actualidad de manera clara y sencilla. ¡Feliz Navidad 2017!🎅🎄
🔔Bienvenido a Electrónica Radical. Suscribete al Feed para recibir la información publicada en tu correo electrónico. ¡Felices Fiestas 2017!🎄✨

octubre 18, 2011

Manejo de Módulos LCD con PicBasic Pro

Un LCD (Liquid Crystal Display), pantalla de cristal líquido, es una de las herramientas mayormente utilizadas para desplegar algún tipo de información, así tenemos por ejemplo, en las cabinas telefónicas, para visualizar el costo de la llamada que se esta realizando. También pueden ser utilizados en informática, comunicaciones, instrumentación, robótica, automóviles, equipos industriales, etc. Tienen un consumo de energía de 5mA.

Pantalla LCD
En el mercado existen gran variedad de módulos LCD, los que permiten realizar gráficos, los alfanuméricos 16*2, 16*4, 8*2, con y sin backlight (color de fondo que posee el LCD, entre ellos se encuentra el azul, amarillo, blanco, naranja, rojo). El utilizar una pantalla LCD sin backlight nos permite ahorrar energía y consumo de corriente, si así lo deseamos.

El LCD dispone de una matriz de leds de 7*5, permitiendo formar cualquier letra que se le asigne desde el microcontrolador. En total se pueden representar 256 caracteres diferentes, 240 caracteres estan grabados dentro del LCD y representan las letras mayúsculas, minúsculas, signos de puntuación, números... existen 8 caracteres que pueden ser definidos por el usuario.

LCD alfanumérico 16*2, este tipo de LCD permite visualizar datos de hasta 16 caracteres por dos líneas.
LCD alfanumérico 8*2, permite visualizar 8 caracteres por dos lineas, es lo único que lo diferencia del anterior.

Los LCD constan de 14 pines, para realizar el manejo o el control del módulo y 2 pines adicionales para controlar el backlight que posee, en los LCDs que no poseen luz de fondo solo poseen 14 pines que sirven para el control. Observe la siguiente tabla de descripción de pines:


Descripción de pines de un modulo LCD.

Los bits que permiten controlar el LCD son 8, lo cual representa una gran velocidad en visualización de datos. Pero una desventaja es que debemos conectar varios pines a nuestro sistema, y ocupar todo un puerto completo para transmisión de los mismos. Por esta razón los fabricantes de LCDs, permiten al usuario trabajar solamente con 4 bits para transmisión de datos, lo que significa que se enviarán grupos de 4 bits, primero los mas altos y luego los más bajos, la velocidad de transmisión sería menor pero no representaría problemas porque el LCD trabaja en el orden de microsegundos.

Para programar este dispositivo electrónico mediante PICBasic PRO, debemos conocer la instrucción DEFINE - LCDOUT estas nos servirán para realizar cualquier proyecto que queramos emprender por medio del control de estos módulos.

Instrucción Define - LCDOUT 

DEFINE.- Algunos elementos como el oscilador, master clear, etc. Se encuentran predefinidos en el compilador PicBasic Pro, ésta instrucción permite definir ciertos elementos o cambiarlos de definición a los que necesite el usuario.

Para el caso de los módulos de LCDs, es necesario definir lo siguiente:

  • DEFINE LCD_DREG PORTB; definición para utilizar 4 bits del puerto B para transmisión de datos
  • DEFINE LCD_DBIT 4; desde el BIT B.4 hasta el B.7
  • DEFINE LCD_RSREG PORTB; definición para utilizar el registro de control/datos en el puerto B
  • DEFINE LCD_RSBIT 3; en el BIT B.3
  • DEFINE LCD_EREG PORTB; definición para utilizar el enable en el puerto B
  • DEFINE LCD_EBIT 2; en el BIT B.2

Se aconseja utilizar todas las definiciones en un solo puerto, es decir escoger el puerto B, o el puerto A en el caso del PIC 16F628A. Para evitar que los datos sean incorrectos.

LCDOUT.- Esta instrucción es de escritura solamente, y su función es fijar al módulo LCD para empezar a escribir en cada uno de los caracteres que posee, y necesita de un comando para su utilización. Observe la siguiente tabla:


Comandos de operación.
Veamos el siguiente ejemplo, en el cual visualizamos un texto en la pantalla del LCD:


Captura de pantalla de simulacion de LCD con programa ISIS Proteus Professional. 

El código de programación para la salida del texto en pantalla, es el siguiente:

DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 3
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 2
LCDOUT $FE,1,"ELECTRONICA"
LCDOUT $FE,$C0, "RADICAL"
END

Visto desde la interfaz de MicroCode Studio-PicBASIC Pro:

Captura de pantalla de programación en programa MicroCode Studio-PicBasic Pro.

Para visualizar en un módulo LCD algún número decimal de una variable lo que puede realizar es lo siguiente:

LCDOUT $FE,1,DEC DATOS

Esto significa: Limpie el visor del LCD, ubique el curso al comienzo de la primera línea, y visualice el decimal de los que contenga la variable datos.

En caso de querer visualizar dos decimales, sería:

LCDOUT $FE,1,DEC2 DATOS

Para inserta texto y decimal de algun número, se realizaria de la siguiente manera:

LCDOUT $FE,1, "x=", DEC DATOS


Fuentes:
Electrónica práctica con microcontroladores. Santiago Corrales V. Microchip

5 comentarios:

Isaac Azuaje dijo...

ME FUE DE GRAN AYUDA TENIA DOS DIAS TRABAJANDO EN ENCENDER LA LCD.MIL GRACIAS

Gissell Maria Caraballo dijo...

Hola Isaac, que bueno que te fue de ayuda!

Juan Miquilena dijo...

Gracias, me ayudo mucho!
Podrías subir contenidos mas avanzados para manejos de LCD en PBP?

Gissell Maria Caraballo dijo...

Hola Juan, que bien que te fue de ayuda. Probablemente mas adelante...

Juan Miquilena dijo...

Gracias, lo espero!

Publicar un comentario

Gracias por tu comentario!