Interfaz lcd

of 22/22
Presentador  de  cristal  líquido Liquid Cristal  Display
  • date post

    08-Jun-2015
  • Category

    Engineering

  • view

    844
  • download

    4

Embed Size (px)

description

En la presentación Interfaz LCD, se define lo que es un Display de Cristal Líquido, sus variantes paralelas y seriales y se describe de forma muy puntual los tipos de memorias, sus aplicaciones y sus usos; así mismo, se muestran las opciones de conexión con un microcontrolador y los algoritmos de inicialización, envío de comandos y caracteres, escritos en lenguaje C para que sean fáciles de exportar a diferentes compiladores de diferentes microcontroladores. Ésta versión esta pensada para uso didáctico y puede ser utilizada y modificada, haciendo referencia al trabajo aquí presentado.

Transcript of Interfaz lcd

  • 1. Presentadordecristallquido Liquid CristalDisplay

2. ElLCD(pantalladeexhibicindecristallquido)esundispositivodebajo consumodeenergaquenospermitevisualizarcaracteresalfanumricosy smbolosdepuntuacin.ExistenunagranvariedaddeLCDclasificadasen2 gruposprincipalmente: LCDalfanumrico(decaracteres) LCDgrficos Suvoltajedealimentacinmscomnesde5vysuconsumoesde5mA aproximadamente. Lacomunicacinmscomnconelcontrolador delLCDesdeformaparalela;aunque puedeserdeformaserialRS232,SPIoI2c. Introduccin 3. ElLCDtienealmacenados240smbolosensumemoriainternaparamostrar todoslossmbolosalfanumricosysmbolosdepuntuacincontenidosenla tabladecdigosASCII7ysepuedencodificar8smbolosdefinidosporel usuario. Lossmbolosalfanumricosylosdefinidosporelusuarioserepresentanen matricesde5x8y/o5.10puntosporcarcter. LCDDECARACTERES 4. Loscaracteresysmbolosmsusadopor nosotrosenlatablaASCII,estnenlas direcciones0x20hasta0x7f,losdems smbolosdel0x80al0xffsonusados principalmenteenasa. Lossmbolosdel0al7estnlibrespara queelusuariolosdefina TabladesmbolosdelLCD 5. TabladesmbolosdelLCDycdigos ASCII7 6. Eslamemoriaquealmacenaloscaracteresalfanumricosdelmensajeque sequieremostrar. ElmapadelamemoriaDDRAMestaconstituidopordosbloquesde40bytes cadauno;losprimeros40byteslocalizadosenladireccin0x00ala0x27, asociadasconlasposicionesdeldisplay (1,1)y(40,1)respectivamente.Los siguientes40byteslocalizadosenladireccin0x40ala0x67,lascuales correspondenalasposicionesdeldisplay (1,2)y(40,2). Vealasiguientefiguraparasumejorcomprensin Memora DDRAM(Display DataRAM) 7. LamemoriaDDRAMtienelacapacidaddealmacenar40caracterespor lnea;sinembargo,elvisualizadorgrfico,presentadorodisplay solopuede exhibirlosprimeros16caracteres. Comosevermsadelante,existencomandosqueleindicanalmanejador deldisplay quedesplaceelmensajealaizquierdaoderecha,dandoun efectodemarquesinade16caracteres. 8. LaCGRAMcontieneloscaracteresquepuedenserpersonalizadosporel usuario;estformadapor64posicionesde5bitscadaunalocalizadasenla 0x00ala0x3f. Lamemoriaestadivididaen8bloquesquecorrespondenalasfilasquetiene lamatrizdelcarcter,demaneraqueun1indicaunpuntoencendidoenla matrizyun0apagado.Talcomosemuestraenlasiguientesfiguras. MemoriaCGRAM(carctergenerator RAM) 9. ElLCDtiene2tiposdebus Busdedatos Busdecontrol Elbusdedatospuedeserconfiguradode8o4 bits,utilizndosesolamenteD4aD7y dejndoseD0aD3alaireenelsegundocaso Elbusdecontrolestaformadoporlasseales RW:1indicalecturay0escritura RS:SeleccionaelregistrodelLCD, conRS=0seleccionaelregistrodecontrolycon RS=1seleccionaelregistrodedatos E:Eslasealdevalidacin,sta permanecenormalmenteen0ycambiade estadoparavalidarlainformacincambiandoal estadooriginaldespusdeuntiempo. ConexindeunLCD 10. Control #Bits Bus a4bits Busa8bits Bucle cerrado OPCIONA Bits necesarios: 7 4pines debenser E/S OPCIONB Bits necesarios: 11 4pines debenser E/S Bucle Abierto OPCIONC Bits necesarios: 6 6pinessolo desalida OPCIOND Bits necesarios: 10 10 pines solode salida ConexindeunLCD 11. Lasecuenciadeinicioejecutadaeslasiguiente: 1.Seleccindelalongituddelbusdedatos(4Bits/8Bits).Seejecutael comandoFUNCTIONSET,queestableceelinterfazconelBus dedatos.Se eligepordefectoeltamaodelbusdedatosa8bits(DL=1)yelnmerode renglonesdeldisplay en2(N=1)DBUS=0x38. 2.SeejecutaelcomandoDISPLAYON/OFFCONTROL,quehacequeel display queenON(D=1);tambincursorenON(C=1)yconparpadeodel cursoren(B=1).DBUS=0x0F 3.SeejecutaelcomandoENTRYMODESET,queestableceladireccinde movimientodelcursorconautoincrementodelcursor(I/D=1)ymodo normal,sindesplazamientodeldisplay (S=0).DBUS=0x06 4..SeejecutaelcomandoCLEARDISPLAYborrandolapantalla. DBUS=0x01 *vertabladecomandosenladiapositiva18 Secuenciadeinicializacin 12. 1.PonerlasealEsiemprea0oa1antesderealizarcualquieroperacin 2.PonerRS=1yR/W=0 3.SituareldatoaimprimirenelbusdedatosdelLCD(Enesteejemplose enviara$41) 4.DarunpulsoenEconduracinmnimade300ns 5.ElcarcterhasidoimpresoenelLCD. Temporizacina8bits 13. 1.PonerlasealEsiemprea0oa1antesderealizarcualquieroperacin 2.PonerRS=1yR/W=0 2.Situarelvalor0x40enelbusdedatosdelLCD(4bitsmssignificativos) 3.DarunpulsoenEconduracinmnimade300ns 4.Situarelvalor0x10enelbusdedatosdelLCD(4bitsmenossignificativos) 6.DarunpulsoenEconduracinmnimade300ns 7.ElcarcterhasidoimprimidoenelLCD Temporizacina4bits 14. TabladecomandosdelLCD 15. Cdigo Descripcin 0x01 Limpia pantalla de visualizacin 0x02 Regresa a posicin inicial (direccin RAM 00H) 0x04 Desplaza cursor a la izquierda 0x05 Desplaza visualizador a la derecha 0x06 Desplaza cursor a la derecha 0x07 Desplaza visualizador a la izquierda 0x08 Visualizador apagado, cursor apagado 0x0a Visualizador apagado, cursor encendido 0x0c Visualizador encendido, cursor apagado 0x0e Visualizador encendido, cursor sin destello 0x0f Visualizador encendido, cursor con destello 0x10 Desplaza el cursor a la izquierda 0x14 Desplaza el cursor a la derecha 0x18 Desplaza todo el visualizador a la izquierda 0x1c Desplaza todo el visualizador a la derecha 0x28 Visualizador 2 lneas, matriz 5x8, interfaz 4 bits 0x38 Visualizador 2 lneas , matriz 5x8, interfaz 8 bits 0x80 Forzar cursor al inicio de la primera lnea 0xc0 Forzar cursor al inicio de la segunda lnea CdigosdecomandodelLCD 16. AlgoritmosdelLCD 17. void LCD_COMANDO_4BITS(unsigned shortint comando) { LCD_E=0; LCD_RS=0; LCD_DBUS=comando&0xF0;//NIBLEALTO LCD_E=1; //DELAY_US(40);//TIEMPODEESPERA40US LCD_E=0; LCD_DBUS=(comando