Anda di halaman 1dari 5

CONTROL DE LCD EN BASIC UTILIZANDO MICROCODE STUDIO Y PBP

Las LCD estn compuestos bsicamente por una pantalla de cristal lquido y un circuito microcontrolador especializado el cual posee los circuitos y memorias de control necesarias para desplegar el conjunto de caracteres ASCII, un conjunto bsico de caracteres japoneses, griegos y algunos smbolos matemticos por medio de un circuito denominado generador de caracteres. La lgica de control se encarga de mantener la informacin en la pantalla hasta que ella sea sobrescrita o borrada en la memoria RAM de datos.

El compilador en BASIC permite definir los pines del microcontrolador que se conectan al LCD (pines tales como datos, enable, escritura, etc.) usando la funcin DEFINE. Los parmetros disponibles para el manejo de LCD alfanumricos son los siguientes: LCD_BITS: Define el nmero de bits de la interfaz de datos. Se pueden asignar valores de 4 u 8, siendo 4 el valor por defecto. LCD_DREG: Define a que puerto del PIC tenemos conectado el port de datos del LCD. Los valores permitidos son PORTA, PORTB, PORTC, etc. Por defecto se asume PORTB. LCD_DBIT: Define cual es el primer pin del puerto que usamos para enviar los datos al LCD cuando seleccionamos un bus de 4 bits. Solo puede ser el 0 (para los pines el 0, 1,

1 Pedro Snchez

mrchunckuee.psr@gmail.com

http://electronicayrobotica.wordpress.com/

2 y 3) o 4 (para usar los pines 4, 5, 6 y 7). Por defecto se asume 4, y esta instruccin se ignora para LCD_BITS = 8. LCD_RSREG: Define a que puerto del PIC tenemos conectado el pin RS del LCD. Los valores permitidos son PORTA, PORTB, PORTC, etc. Por defecto se asume PORTB. LCD_RSBIT: Define a que pin del puerto tenemos conectado el pin RS del LCD. Por defecto se asume 3. LCD_EREG: Define a que puerto del PIC tenemos conectado el pin E del LCD. Los valores permitidos son PORTA, PORTB, PORTC, etc. Por defecto se asume PORTB. LCD_EBIT: Define a que pin del puerto tenemos conectado el pin E del LCD. Por defecto se asume 2. LCD_RWREG: Define a que puerto del PIC tenemos conectado el pin RW del LCD. Los valores permitidos son 0, PORTA, PORTB, PORTC, etc. Por defecto se asume 0, que significa no usamos el pin RW. LCD_RWBIT: Define a que pin del puerto tenemos conectado el pin RW del LCD. Por defecto se asume 0, que significa no usamos el pin RW. LCD_COMMANDUS: Define cuantos microsegundos demora la escritura de un comando en el display. Por defecto, este valor es de 5000. La mayora de los LCD funcionan bien con un valor de 2000, lo que hace ms rpidos nuestros programas. LCD_DATAUS: Define cuantos microsegundos demora la escritura de un dato en el LCD. Por defecto, este valor es de 100. LCD_INITMS: Define cuantos microsegundos demora la inicializacin de la electrnica del LCD. Por defecto, este valor es de 100.

Una vez definidos los puertos y los pines del LCD, es necesario realizar una pausa de medio segundo antes de enviar los datos al LCD, esto para que tenga tiempo de inicializar la memoria RAM el dispositivo. Usamos la funcin PAUSE.

2 Pedro Snchez

mrchunckuee.psr@gmail.com

http://electronicayrobotica.wordpress.com/

A continuacin se muestra las sentencias para escritura del LCD, usando LCDOUT:

Comandos de escritura en el LCD Instruccin Funcin que realiza $FE, 1 $FE, 2 $FE, $0C $FE, $0E $FE, $0F $FE, $10 $FE, $14 $FE, $80 $FE, $C0 $FE, $7 Borrar toda la pantalla del LCD Vuelve a inicio (comienzo de la primera lnea) Apaga cursor Subrayado del cursor activo (_) Parpadeo del cursor activo ( ) Mueve el cursor una posicin hacia la izquierda Mueve el cursor una posicin hacia la derecha Mueve cursor al comienzo de la primer lnea Mueve cursor al comienzo de la segunda lnea Configura texto para movimiento a la izquierda

El pin RW va a tierra debido a que se solo escribir datos en el LCD.

Para escribir un dato en el LCD se usan funciones como DEC, HEX, BIN, por ejemplo:

LCDOUT $FE, 1, DEC 38

LCDOUT $FE, $C0, BIN 38

Si se desea escribir en una posicin inicial especfica del LCD, se usa la siguiente tabla para determinar dicha posicin:

3 Pedro Snchez

mrchunckuee.psr@gmail.com

http://electronicayrobotica.wordpress.com/

Cdigo de direcciones de caracteres (valores hexadecimales)


Display Position DD RAM Address DD RAM Address C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF 1 80 2 3 4 83 5 84 6 85 7 86 8 87 9 88 10 89 11 8A 12 8B 13 8C 14 8D 15 8E 16 8F

81 82

Por ejemplo, para escribir desde la tercera celda de la segunda fila la palabra "ELECTRONICA" se usa:

LCDOUT $FE,$C2,"ELECTRONICA"

O bien se puede escribir la direccin de memoria en formato decimal: C2 est en hexadecimal y es 194 en decimal, por la tanto:

LCDOUT $FE,194,"TEXTO"

Fsicamente, el LCD de 16x2 se debe conectar como lo indica la siguiente figura, para controlar el contraste de la pantalla:

4 Pedro Snchez

mrchunckuee.psr@gmail.com

http://electronicayrobotica.wordpress.com/

Descripcin y funcin de los pines de LCD.

Pin Smbolo Funcin que realiza 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VSS VDD VEE R/S R/W E D0 D1 D2 D3 D4 D5 D6 D7 A K Tierra o masa Alimentacin al voltaje +5VDC Voltaje de ajuste del contraste (5V no visible, 0V mas visible) Seleccin de Dato / Comando Lectura / Escritura Habilitador Primera lnea de datos Segunda lnea de datos Tercera lnea de datos Cuarta lnea de datos Quinta lnea de datos Sexta lnea de datos Sptima lnea de datos Octava lnea de datos Alimentacin Blacklight +3.5V a 5V GND del Blacklight

5 Pedro Snchez

mrchunckuee.psr@gmail.com

http://electronicayrobotica.wordpress.com/