LCD Serial
LCD Serial
LCD Serial
Gua de Uso
P I C
M I C R O E S T D U D I O
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.
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
P I C
M I C R O E S T D U D I O
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
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
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.