CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR...

6
13/10/2014 CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A. http://www.puntoflotante.net/PROY_LCD.htm 1/6 proyecto: conexión de un LCD a sistemas PIC 16/18 Descripción general: El LCD es actualmente el circuito más barato y confiable para mostrar datos en un proceso de monitoreo y control. Su interfaz con los controladores se realiza a través de un conector de 14 pines. Todos los fabricantes del display de cristal líquido (“Liquid Cristal Display”) LCD, han estandarizado sus señales en el conector de 14 pines, así como sus comandos de control para el manejo del mismo En el LCD se pueden mostrar datos como la hora y la fecha, así como valores de variables tales como nivel, presión, gasto, temperatura, etc. El LCD puede también emplearse para mostrar parámetros internos del sistema, de acuerdo a su aplicación o para mostrar al usuario las opciones de configuración mientras lo opera. El módulo LCD lleva integrado a sus circuitos una memoria ROM conocida como “generador de caracteres” que habrá de generar los patrones de la matriz de puntos (5 x 7 ó 7 x 9) que forman los caracteres en la pantalla. También tiene una RAM

Transcript of CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR...

13/10/2014 CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.http://www.puntoflotante.net/PROY_LCD.htm 1/6

proyecto: conexin de un LCD a sistemas PIC 16/18 Descripcin general:El LCD es actualmente el circuito ms barato y confiable para mostrar datos en unproceso de monitoreo y control. Su interfaz con los controladores se realiza a travsde un conector de 14 pines.Todos los fabricantes del display de cristal lquido (Liquid Cristal Display) LCD,han estandarizado sus seales en el conector de 14 pines, as como sus comandos decontrol para el manejo del mismoEn el LCD se pueden mostrar datos como la hora y la fecha, as como valores devariables tales como nivel, presin, gasto, temperatura, etc.El LCD puede tambin emplearse para mostrar parmetros internos del sistema, deacuerdo a su aplicacin o para mostrar al usuario las opciones de configuracinmientras lo opera. El mdulo LCD lleva integrado a sus circuitos una memoria ROM conocida como generador de caracteres que habr degenerar los patrones de la matriz de puntos (5 x 7 7 x 9) que forman los caracteres en la pantalla.Tambin tiene una RAM13/10/2014 CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.http://www.puntoflotante.net/PROY_LCD.htm 2/6interna que almacena los caracteres y los exhibe en el mdulo LCD.Hardware:Para su integracin a un sistema de microcontrol, el diagrama general de conexiones del display se muestra en la figura de abajo.En su aplicacin ms simple, se desea solo escritura al LCD y el pin 5 se conecta permanentemente a tierra. Las seales delpuerto B del 16F84 (16F628/F88), RB0...RB7 son usadas para enviar los datos o comandos. Las seales del puerto A, RA1 yRA2 se usan como seales de control del LCD.Todas las seales de datos y control llevan niveles TTL (0 a 5 volts), con excepcin de la seal de control de intensidad, en elcual hay que aplicar tierra para la mayor intensidad y 5 volts para la menor. En EDUPIC y EVOLUPIC este voltaje ya vienepreajustado con un divisor de resistencias formado por R26 y R25, de1K y 100Kpara dar la intensidad adecuada. 13/10/2014 CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.http://www.puntoflotante.net/PROY_LCD.htm 3/6Operacin:En la interfaz de 14 pines, 8 son seales para el envo de comandos datos. Los datos se manejan en cdigos ASCII y seescriben en la memoria del LCD en forma secuencial. A travs de estas mismas seales pueden enviarse tambin los comandosmostrados en la tabla. En seguida se adjuntan 2 tablas. En la primera, se muestra la distribucin de seales de la interfaz y en lasegunda algunos de los comandos ms comnmente empleados. 13/10/2014 CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.http://www.puntoflotante.net/PROY_LCD.htm 4/6PIN FUNCION PIN FUNCION1 Tierra 8 DB1 (RB1)2 5 volts. 9 DB2 (RB2)3 INT Control intensidad 10 DB3 (RB3)4 RS (RA1) 0=comando 1=datos 11 DB4 (RB4)5 R/W 0=escribir , 1=leer12 DB5 (RB5)6 EN (RA2) Enable modo pulso 13 DB6 (RB6)7 DB0 (RB0) 14 DB7 (RB7) COMANDO FUNCION HEXACLEAR LIMPIA DISPLAY 01HHOME POSICIONA CURSOR AL INICIO DEL LCD 03HCURSOR MUESTRA CURSOR CON PARPADEO 0FH8 BITS SELECCIONA INTERFAZ DE 8 BITS 38HRENGLON1 SELECCIONA ESCRITURA EN EL PRIMER RENGLON 80HRENGLON2 SELECCIONA ESCRITURA EN EL SEGUNDO RENGLON C0H Para escribir en el LCD, debe de seguirse la siguiente secuencia en la programacin:*conRS=0,semandancomandosdeinicializacinaldisplayLCD.Loscomandostpicossonlosmostradosenlatabla.Paraenviaruncomando,seescribesucdigoenlos8bitsRB0...RB7yluegosedaunpulsobajodealmenos10milisegundosdeduracinalasealEN(RA2). EN es una seal que debe de estar normalmente ALTA.Es importante esperar unos 10 milisegundos a que los datos estn estables antesde aplicar el pulso. * con RS=1, se escribe los datos en cdigo ASCII en las 8 lneas RB0 a RB7, con el mismo procedimiento sealado arriba. Los caracteres vanapareciendo en el mismo orden en el que se mandan. Para un LCD de dos renglones, cada rengln debe de manejarse con un comandoindependiente. Para escribir en el primer rengln, debe previamente de enviarse el comando 80H y para el segundo rengln, un C0H* Las seales de control RS y EN, se manejan por medio de los pines RA1 y RA2 del 16F84/F628/F88.Conexin:Existen, entre otros, dos tipos de displays LCD:13/10/2014 CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.http://www.puntoflotante.net/PROY_LCD.htm 5/6LCD16X2condosrenglonesde16caracterescadauno.Cadarenglnsemanejaenformaindependiente.Paraseleccionarescribireneliniciodelrengln,debedeenviarseanteselcomandocorrespondiente:80H(rengln1)C0H(rengln2).Adems,cadaceldatieneunadireccin. Por ejemplo si queremos escribir en la tercera celda del segundo rengln, entonces enviamos antes el comando C3H.LCD 16 X 1 es un dispositivo LCD con un solo rengln de 16 caracteres, pero electrnicamente est dividido en dos secciones de 8 caracteres.Cadaunadeestasseccionessemanejacomosifueseunrenglnde8caracteres,esdecir,sisedeseaescribirenlaprimeraseccindebeenviarse antes el comando es 80H y para escribir en la segunda seccin, C0H.CONEXIN DELLCDALSISTEMAEDUPIC/EVOLUPIC:paraconectarunLCDasusistema,conectecadapinenelconectorconsucorrespondiente contacto en el LCD, del 1 al 14, como se muestra en la figura. Es posible tambin realizar una conexin que deje libres los bitsdedatosRB0...RB3,usandounainterfazde4bitsdedatos,enlugarde8.Msadelanteseproporcionanarchivosdepruebaparaambasopciones de conexin.NOTA IMPORTANTE: En los sistemas EDUPIC y EVOLUPIC, las seales de control correspondientes a RA1 y RA2 estncompartidas por el puerto del LCD y los microswitches A1 y A2. Al operar el LCD en estos sistemas, los MICROSWITCHESA1 y A2 debern estar en estado OFF, ABIERTOS. De lo contrario, el LCD no funcionar, debido a que sus seales de controlestarn bloqueadas por los microswitches.Programas de prueba: con excepcin del primer ejemplo, todos los programas operan con un display LCD 16 x 1.EN LENGUAJE ENSAMBLADOR:EDUPIC 16F84 EDUPIC/EVOLUPIC/F628EVOLUPIC Bootloader16F88 LCD2.asm Manejo de display LCD 16 x 2LCD16X1V2.asm LCD16X1V2F628.asm LCD16X1V2F88TINY.asm Mensaje de 16 caracteres en el LCD 16 X 1LCD16X1V2.hex LCD16X1V2F628.hex LCD16X1V2F88TINY.hexLCD16X1V3.asm LCD16X1V3F628.asmMensaje de 16 caracteres en LCD conscrollingLCD16X1V3.hex LCD16X1V3F628.hexLCD16X1V4.asm LCD16X1V4F628.asm LCD16X1V4F88TINY.asmMensaje de 256 caracteres en LCD conscrollingLCD16X1V4.hex LCD16X1V4F628.hex LCD16X1V4F88TINY.hexLCD1X164BITS.asmUso de la interfaz de 4 bits para el LCDLCD1X164BITS.hex13/10/2014 CONEXION DE UN DISPLAY LCD DE 16X1 16X2 A MICROCONTROLADORES PIC 16F84 16F628 16F88 18F2550 ESTANDAR PARA LCD DE 14 PINES PUNTO FLOTANTE S.A.http://www.puntoflotante.net/PROY_LCD.htm 6/6EN ANSI C:EDUPIC/EVOLUPIC/F628 EVOLUPIC Bootloader 16F88CCSLCD3TINY.c Muestra mensaje de 16 caracteres en LCD 16 X 1CCSLCD3TINY.hexCCSSCROLLINGLCD.c CCSLCDSCROLLINGTINY.c Mensaje de 16 caracteres en LCD con scrollingCCSSCROLLINGLCD.hex CCSLCDSCROLLINGTINY.hexHITECHLCDSCROLLING.c HITECHLCDSCROLLTINY.c Mensaje de 200 caracteres en LCD con scrollingHITECHLCDSCROLLING.hex HITECHLCDSCROLLTINY.hexHITECHSTRINGS2.c HITECHLCDSCROL16TINY.c Mensaje de 16 caracteres en LCD con scrollingHITECHSTRINGS2.hex HITECHLCDSCROL16TINY.hex