You are on page 1of 9

inf.pic.suky@live.com.ar DisplayInteligente.

LCD

Descripcin: LapantalladecristalliquidooLCD(LiquidCrystalDisplay)esundispositivoControladode visualizacingraficoparalapresentacindecaracteres,smbolosoinclusodibujos(enalgunos modelos).Enestecasodisponede2filasde16caracterescadaunaycadacarcterdispone deunamatrizde5x7puntos(pixels),aunqueloshaydeotronmerodefilasycaracteres.Este dispositivoestagobernadointernamenteporunmicrocontroladorHitachi44780yregula todoslosparmetrosdepresentacin,estemodeloeselmascomnmenteusadoyesta informacinsebasarenelmanejodeesteuotroLCDcompatible. Principalescaractersticas: Engeneralysalvoligerasdiferenciasentrelasdistintasmarcas,suscaractersticasms conspicuasson:
Operanconunasolatensindealimentacin. Construccincompactamercedasuencapsuladoplano. Brindandiversasopcionesdeaccesos,organizacinyexhibicin. Vidatilextensa:msde50.000horasparalosLCDyde250.000paralosLED. Compatibilidadconlossistemasdebusesdelosmicroprocesadores.

LgicaCMOScompatibleconTTL.Muybajoconsumo. PantalladecaracteresASCII,ademsdeloscaracteresKanjiyGriegos. Desplazamientodeloscaractereshacialaizquierdaoladerecha. Proporcionaladireccindelaposicinabsolutaorelativadelcaracter. Memoriade40caracteresporlneadepantalla. Movimientodelcursorycambiodesuaspecto. Permitequeelusuariopuedaprogramar8caracteres. Conexinaunprocesadorusandouninterfazde4u8bits

DiagramaenBloques: VDD=+5V VSS=0 V0=contraste Terminales: SEAL VSS VDD V0 PINN 1 2 3 RS R/W E 4 5 6 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A 7 8 9 10 11 12 13 14 K

15 16

INSTRUCCIONES TabladeInstrucciones CDIGO DESCRIPCIN RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 LimpiarDisplay 0 0 0 0 0 0 0 0 0 1 Limpiaeldisplayy retornaelcursorala posicinOrigen(Dir. OOH) VolveraOrigen 0 0 0 0 0 0 0 0 1 * Retornaelcursorala posicinOrigen(Dir OOH).Reiniciael displaysifuecorrido. Elcontenidodela DDRAMnocambia. Modode 0 0 0 0 0 0 0 1 I/D S Fijadireccinde Entrada movim.delcursory sistesecorreono. Estasoperac.se efectandurantela escrituraylect.de datos. DisplaySi/No 0 0 0 0 0 0 1 D C B Controlaencend. display,delcursory parpadeo. CorrerCursoro 0 0 0 0 0 1 S/C R/L * * Muevecursory Display correeldisplaysin cambiarelcontenido delaDDRAM. FijarSistema 0 0 0 0 1 IF N F * * Fijalongitudde datos,nmerode lneasdeldisplayy tamaodeltipo. 0 0 0 1 ACG Fijadireccindela Fijar CGRAM.Luegolos Direccionesde datosdelaCGRAM laCGRAM puedenserenviados yrecibidos. INSTRUCCIN

Fijar Direccionesde laDDRAM

ADD

LeerFlag Ocupado

BF

AC

EscribirDatosa 1 CGoDD LeerDatosde CGoDD 1

EscrituradeDatos

LecturadeDatos

Fijadireccindela DDRAM.Luegolos datosdelaDDRAM puedenserenviados yrecibidos. Leeelflagde Ocupado[BF]yel contenidodel contadorde direcciones. Escribedatosenla CGRAMoenlaDD RAM. Leelosdatosdela CGRAModelaDD RAM.

Referencias: I/D = 1/0 : Incremento/decrementodelACluegodeescrituraolectura S = 1/0 : Shift:Corredisplay/correcursorluegodelingresodedatos D = 1/0 : Display:encendido/apagado C = 1/0 : Cursor:encendido/apagado B = 1/0 : Blink:parpadea/noparpadeaelcarcterindicadoporelcursor S/C = 1/0 : Shift/Cursor:corredisplay/correcursorsinescribir R/L = 1/0 : Right/Left:corrimientoaladerecha/oalaizquierda IF = 1/0 : Interfase:anchobusdedatos8bits/4bits N = 1/0 : Nmerodelneasdeldisplay:2lneas/1lnea F = 1/0 : Font:tamaodeltipo5x10puntos/5x7puntos BF = 1/0 : BusyFlag:flagocupado/desocupado DDRAM : DataDisplayRAM:RAMdedatosdeldisplay CGRAM : CarcterGenerationRAM:RAMdegeneracindecaracteres CGROM : CarcterGenerationROM:ROMdegeneracindecaracteres ADD : AddresDataDisplay:direccinenlaDDRAM ACG : AddressCarcterGeneration:direccinenlaCGRAM AC : AddressCounter:Cont.dedirec.paralaDDRAMylaCGRAM LaejecucindecadainstruccinimplicacolocarenRSyenR/Wlosvalorescorrespondientes (RS=0parainstrucciones;RS=1paradatos;R/W=0paraescribirenelmdulo;R/W=1para leerelmdulo)yenviarunpulsoporEdelanchoadecuado(E=1durantet2s). PATRNDECARACTERES EnlafiguraseobservanlaslocalizacionesdecadacarcterenlatablaCGRROM.Si bienaqulasdireccionesdelasletras,nmerosyalgunossmbolos,secorrespondenconsu cdigoASCII,ntesequeelrestonotienemucharelacinconl,(inclusohaycaracteresKanji) porloqueserecomiendateneralavistaelpatrndecaracteresdurantelaprogramacinde mensajes.Porotraparte,las16primerasdirecciones(00Ha0FH)correspondenalaCGRAMde loscaracteresdiseablesporelusuario(enrealidadlasdireccionesson0000x000a0000 x111;estoes,el4bit[bit3],noesdedireccionamientoefectivo;estotambinpodemos entenderlo,pensandoquelasdirecciones00001000a00001111sonimgenesdelas0000 0000a000001110viceversa). Latablacontienetambinalgunoscaracteres5x10talescomolasletrasj,p,qmejorandoas suaspectoyposicinrespectoalalneadeescritura,enestesentido,serecomiendautilizarel

font5x10cuandoserealicenexhibicionesenunalnea.Serecuerdaqueesimprescindible verificarelpatrndecaracteressegnlamarcadelLCDutilizado,yaquenotodasofrecenla mismacorrespondenciaentreloscdigosdecaracteres(direccindelaCGROM)yelcarcter exhibido. LOSREGISTROSCGRAM Direccionandoestamemoria(01AAAAAA)seaccedealos64registrosRAMde8bits, pudindoseasdefinirhasta8caracteresde5x8puntos(8registros/carcter)o4de5x10(16 registros/carcter). Enelprimercaso,los3bitsdemspeso(A5,A4yA3)seleccionancadaunodelos8bancos(00H a07H[imagen08Ha0FH])ylos3demenospeso(A2,A1yA0)elregistrodentrodecadabanco (lneasdepuntos:superior=000,inferior=111).

Enelsegundocas so(matriz5x x10)los2bitsdemspes so(A5yA4)s seleccionanu unodelos4 osde16registrosc/uylos4bitsrest tantes(A3,A2,A1yA0)lalneaquese A evaaprogramar banco (0000 0lasuperior, ,1010ladc cima,1011la adelcursory ylassiguient tes1100a11 111quenos se vern nporloquebienpueden nutilizarseco omoregistro osgeneralesdelsistema) ). Paraprogramaru uncarcter,s seselecciona aelformato(5x7o5x10),luegoelba ancodelaCG G evaaescribi irylalneay yfinalmenteseescribenl las8u11lneassegn RAMenelcualse corre esponda,pon niendo0dondesedese eaquenoap parezcaelpu untoy1do ondestede eba brillar. Pore ejemplo,esta amoseninte erfase8bits,1lneayque eremosprog gramaruna enformato o5x7 er enel3 bancode elaCGRAM(direccin02Hdelpatrndecaracte eres): a) a Nosaseguramosdee estarenform mato5x7pon niendoenelbusdeinterfase38H (0011100 00)conRS=R R/W=0 b) b Nosaseguramosdee estarenelmodoincreme entodelACp poniendo04H(00000100 4 0) c) Direccion namoslaprim merlneadeltercercarc cterdelaCG GRAMponiendo50H(010 01 0000) d) d Ponemos sRS=1yescr ribimossuce esivamentee enlos5bitsm menossignif ficativos(b4,... b0):01110(rayitadela),10001, ,11001,101 101,10011,1 10001,10001 1y00000(cu ursor: dodeexhibicindelcurs sor/parpadeo o,eldisplayexhibirlaORdelpatr rn enelmod delcursor11111yloquehayamo osprogramadoaqu). e) e Salimosd delmodoCGRAMescribiendo,porejemplo,ladi ireccindela aDDRAMdo onde vamosae escribir:80Hocualquierotra(1AAAA AAAA). Cuandoseutilicenlosregistro osdelaCGR RAMcomosi ifueranregis strosdelsist tema,tngas seen tasumayortiempodeacceso:sereq quieren40a a120spara acompletaru unaoperaci nde cuent lecturaoescrituraenelLCD.Denooptarsepordejartranscurrir untiempos suficiente,s se miendateste earelbitde busyantes sdeintentar runnuevoac ccesoalLCD recom Inicia alizacinpor rsoftware Interf fasededato osde8bits Conexin C Esperar30msomslueg E godequeVDDalcance4.5 5v D BFnopuedeserchequea B adoduranteestetiempo RS 0 R/W R 0 0 DB7 0 DB6 0 DB5 D 1 1 DB4 1 DB3 X DB2 D X DB1 X DB0 X

FijarSiste ema:IF=1;Interfasede edatos=8bi its (IFdebepermanecerenHdurant telainicializa acin)

Esperar4.1m E mSoms BFnopuedeserchequea B adoduranteestetiempo RS 0 R/W R 0 0 DB7 0 DB6 0 DB5 D 1 1 DB4 1 DB3 X DB2 D X DB1 X DB0 X

FijarSiste ema:IF=1;Interfasede edatos=8bi its (IFdebepermanecerenHdurant telainicializa acin)

Esperar100Soms E BFnopuedeserchequea B adoduranteestetiempo RS 0 R/W R 0 0 DB7 0 DB6 0 DB5 D 1 1 DB4 1 DB3 X DB2 D X DB1 X DB0 X

FijarSiste ema:IF=1;Interfasede edatos=8bi its (IFdebepermanecerenHdurant telainicializa acin)

chequeeporBF=0 c R/W DB7 R RS 0 0 0 0

DB6 0

DB5 D 1 1

DB4 1

DB3 N

DB2 D F

DB1 X

DB0 X

FijarSiste ema:IF=1;Interfasede edatos=8bi its (IFdebepermanecer enHdurant telainicializa acin)

chequeeporBF=0 c RS 0 0

W R/W 0

DB7 0

DB6 0

DB5 0

DB4 0

DB3 1

DB2 0

DB1 1 0

DB0 0

Displayoff chequeeporBF=0 c RS 0 0

R/W W 0

DB7 0

DB6 0

DB5 0

DB4 0

DB3 0

DB2 0

DB1 1 0

DB0 1

Limpiaeldis splayyretorn naelcursora alorigen chequeeporBF=0 c R/W DB7 R RS 0 0 0 0

DB6 0

DB5 D 0 0

DB4 0

DB3 0

DB2 D 1

DB1 I/D

DB0 S

Fijaelmo ododeentra ada

FindelaInici F ializacin Interf fasededato osde4bits Cone exin Esper rar30msom msluegode equeVDDalca ance4.5v opuedeserc chequeadod duranteestetiempo BFno RS 0 R/W 0 DB7 D 0 DB6 0 DB5 1 DB4 D 1 1

FijarSistem ma:IF=1;In nterfaseded datos=8bits (IFdebepermanecere enHdurante elainicializac cin)

Esper rar4.1mSoms opuedeserc chequeadod duranteestetiempo BFno RS DB7 DB6 R/W D 0 0 0 0

DB5 1

DB4 D 1 1

FijarSistem ma:IF=1;In nterfaseded datos=8bits (IFdebepermanecere enHdurante elainicializac cin)

rar100So oms Esper opuedeserc chequeadod duranteestetiempo BFno RS DB7 DB6 R/W D 0 0 0 0

DB5 1

DB4 D 1 1

FijarSistem ma:IF=1;In nterfaseded datos=8bits (IFdebepermanecere enHdurante elainicializac cin)

chequeeporBF= =0 RS 0 R/W 0 DB B7 0 DB6 0 DB5 1 DB4 0

FijarSistema:IF=0;Inter rfasededato os=4bits (*) chequeeporBF= =0

RS 0 0 R/W 0 0 DB B7 0 N DB6 0 F DB5 1 x DB4 0 x (p pulsoenE) (p pulsoenE)

Fija arSistema:IF F=0;Interfa asededatos s=4bits Fija anmerodelneasNyta amaodeca aracteresF

chequeeporBF= =0 RS 0 0 R/W R 0 0 0 0 DB B7 0 1 DB6 0 0 DB5 0 0 DB4 0 0 ( (pulsoenE) ( (pulsoenE)

Displ layoff

=0 chequeeporBF= RS 0 0 R/W 0 0 DB B7 0 0 DB6 0 0 DB5 0 0 DB4 0 1 (pulsoenE) (pulsoenE)

Limpiaeldis splayyretor rnaelcursoralorigen

=0 chequeeporBF= RS 0 0 R/W 0 0 DB7 0 0 DB6 0 1 DB5 0 I/D DB4 0 S (pulsoenE) (pulsoenE)

Fijaelmodo odeentrada

elaInicializa acin Finde Luego odelainicializacin,reco ordarencendereldisplay