Está en la página 1de 8

PIC MICRO ESTUDIO

LCD Serial Con el PIC16F84 www.electronicaestudio.com

Gua de Uso

P I C

M I C R O E S T D U D I O

LCD Serial con el PIC16F84


Este producto pretende que con un solo hilo se pueda enviar informacin y desplegarla a travs del modulo LCD. Las pantallas de cristal liquido LCD aceptan instrucciones de datos o de comandos, utilizando una interfase paralela de 8 o 4 bits segn se decida. Las instrucciones de comando incluyen: el control del cursor, limpiar pantalla, desplazamiento, etc.

Picmicro Estudio ofrece este mdulo con el nombre de LCDSER (Clave 715). Es una tarjeta de circuito impreso PCB que incluye un PIC16F84 conectado a una tira de 16 donas en las que se puede conectar varios modelos de LCD. Por ejemplo de 2 reglones por 16 columnas o bien de 4 rengoles por 16 columnas etc. El usuario puede adquirir el LCD que requiera. La tarjeta cuenta con pines para ser alimentada copn 5 volts de CD y lo mas importante esta dotada de una entrada serial. Mediante esta entrada se puede enviar los comandos al LCD y desde luego escribir en el mismo. EL PIC116F84 que se encuentra montado en esta tarjeta esta programado, de tal manera que esta recibiendo informacin por el Pin serial para luego enviarla al display.

Los cdigos fuente se encuentra en el disco adjunto a este producto.

Por ejemplo un LCD de 4 lneas 16 caracteres tiene fsicamente 16 terminalesl las cuales incluyen un bus de datos de 8 bits, una terminal de habilitacin (E), una terminal de seleccin, que indica que el dato es una

P I C

M I C R O E S T D U D I O

instruccin o un carcter del mensaje (RS) y una terminal que indica si se va a leer o escribir en el mdulo LCD (R/W). La siguiente tabla describe cada terminal: Terminal Smbolo Nombre y Funcin 1 Vss Tierra 2 Vdd +5V 3 Vo Ajuste de contraste 4 /RS Seleccin Dato/Control 5 R/ /W Lectura/ Escritura en LCD 6 E Habilitacin 7 DO DO 8 D1 D1 9 D2 D2 10 D3 D3 11 D4 D4 12 D5 D5 13 D6 D6 14 D7 D7 Bit ms significativo Descripcin de las Terminales de una Pantalla de Cristal Lquido Segn la operacin que se quiera realizar sobre el mdulo de cristal lquido, las termnales de control E, RS y R/W deben tener un estado determinado. Adems, debe tener en el bus de datos, el cdigo que indique un carcter para mostrar en la pantalla o una instruccin de control. El mdulo LCD responde a un conjunto especial de instrucciones, las cuales deben ser enviadas por el microcontrolador o sistema de control al display.

P I C

M I C R O E S T D U D I O

Descripcin del Circuito


Como se observa en este circuito, la interfase que se realiza con el modulo LCD es de 8 bits. El jumper tiene como funcin seleccionar la polaridad de la transmisin, recordemos que cuando se habla de la comunicacin serial RS-232, existen dos tipos de utilizando lgica negativa o lgica positiva, si se utiliza la lgica positiva el circuito debe utilizar el CI Max-232 Este circuito tiene dos resistencias, la de 100k y 220k , las cuales tienen como funcin que caracteres aleatorios no sean desplegados sobre la pantalla.

P I C

M I C R O E S T D U D I O

Cdigo Fuente Ser_LCD.bas


Se hace mencin de que se est utilizando el compilador PBP, el cual consta con instrucciones para manejar directamente una pantalla de cristal lquido, lo cual hace ms fcil la programacin. El compilador PBP tiene una instruccin llamada LCDOUT la cual permite enviar cualquier mensaje sobre el display. A continuacin se explica el cdigo fuente de dicho mdulo: Est instruccin indica que la informacin se transmitir por el Puerto B del Microcontrolador.
DEFINE DEFINE LCD_DREG PortB LCD_DBIT 0

Est instruccin indica que el control del la terminal RS del LCD se har con el Puerto A del Microcontrolador.
DEFINE LCD_RSREG PortA

Est instruccin define que la terminal RS del LCD ir conectada fsicamente al terminal 2 del Puerto A del Microcontrolador.
DEFINE LCD_RSBIT 2

Est instruccin indica que el control del la terminal E del LCD se har con el Puerto A del Microcontrolador.
DEFINE LCD_EREG PortA

Est instruccin define que la terminal E del LCD ira conectada fsicamente al terminal 1 del Puerto a del Microcontrolador.
DEFINE LCD_EBIT 3

Est instruccin define que la interfase se har a 8 bits y dos lneas


DEFINE DEFINE LCD_BITS 8 LCD_LINES 2

P I C

M I C R O E S T D U D I O

La instruccin LCDOUT tiene como funcin desplegar mensajes sobre una pantalla de cristal lquido, sin embargo se tiene una serie de comandos que permiten editar los mensajes. Los comandos tiene la siguiente sintaxis (Ver manual del PBP): Comando 254,1 254,2 254,192 Funcin Limpiar display Regresar a la primera lnea Mover el cursor a la segunda Lnea

Tabla 3.3 Comandos de una Pantalla de Cristal Por lo tanto si se desea desplegar un mensaje sobre la segunda lnea de la pantalla de cristal lquido, el formato de la instruccin sera: LCDOUT 254, 192, Este es un Mensaje Para hacer que estos comandos sena mas fcil de manejar, se elaborar las siguientes equivalencias.
I Clr Line1 Line2 Con Con Con Con 254 1 128 192

Se declaran las variables a utilizar:


SO VDD SO2 P_Test Rcvbyte Var Var Var Var Var PortA.0 PortA.1 PortA.4 PortB.4 Byte

P I C

M I C R O E S T D U D I O

Inicialmente nuestro programa empieza aqu, haciendo que la pantalla de cristal liquido quede apagada por 0.5 seg y despus ser activada, acto seguido se genera una pausa de 50 milisegundos dando tiempo para que la pantalla se inicialice.
Inicio: Low VDD Pause 500 High VDD Pause 50

Si se observa el diagrama esquematizo el jumper tiene como funcin seleccionar la polaridad de la transmisin y en esta parte del programa se verifica si la polaridad es positiva o negativa.
TrisB=255 If P_Test=1 then Goto True_Pol If P_Test=0 then Goto Inv_Pol Goto Inicio

Dependiendo de la seleccin del usuario, en la pantalla de cristal liquido se desplegaran los siguientes mensajes.
" T9600 Baud OK!" o ," N9600 Baud OK!"

True_Pol: Gosub Clr_It Lcdout I,Line2," T9600 Baud OK!" Start_T9600: Serin SO,T9600,Rcvbyte Lcdout Rcvbyte Goto Start_T9600

Para finalizar el programa queda en un bucle infinito esperando la llegada de datos, los cuales son almacenados en la variable Rcvbyte, para despus ser visualizados en la pantalla de cristal liquido.

Inv_Pol:
6

P I C

M I C R O E S T D U D I O

Gosub Clr_It Lcdout I,Line2," N9600 Baud OK!" Start_N9600: Serin SO,N9600,Rcvbyte Lcdout Rcvbyte Goto Start_N9600

Clr_It: High VDD TrisB=0 Pause 100 Lcdout I,Clr:Pause 30 Lcdout I,Line1," LCD Serializer" Return

El modulo Clave 502 puede ser utilizado para enviar algunos datos de prueba. En el disco que acompaa este proyecto encontrara varios ejemplos en PBP.

También podría gustarte