Modulo Lcd 16x2

download Modulo Lcd 16x2

of 28

Transcript of Modulo Lcd 16x2

  • 8/14/2019 Modulo Lcd 16x2

    1/28

    MANEJO DE UN MODULO LCDLos mdulos LCD (Display de Cristal Lquidos), son utilizados para mostrar mensajes que indican

    al operario es estado de la maquina, o para dar instrucciones de manejo, Mostar valores, etc. El LCDpermite la comunicacin entre las maquinas y los umanos, este puede mostrar cualquier car!cter

    "#C$$, y consume muco menos que los display de % se&mentos, e'iste de varias presentacionespor ejemplo de lneas por caracteres, '*+, ', -', -'-, etc. #in ac/li&t (*- pines) o conac/li&t (*+ pines, iluminado de pantalla), el LCD m!s popular es el '*+, lneas de *+ caracterescada una.

    0oto&ra1a de un LCD '*+

    LA DECLARACIN LCDOUT: sirve para mostrar tems en una pantalla decristal lquido, se utiliza escriiendo2 LCDOUT, lue&o escriiendo 30E, y se&uido por elcomando a utilizar, el si&uiente cuadro muestra los comandos mas utilizados2

  • 8/14/2019 Modulo Lcd 16x2

    2/28

    Los LCD se puede conectar con el 4$C con un us de - u its, la di1erencia est! en el tiempoque se demora, pues la comunicacin a - its, primero enva los - its m!s altos y lue&o los - itsmas ajos, mientras que la de its enva todo al mismo tiempo, esto no es un inconveniente siconsideramos que el LCD traaja en microse&undos. 4ero la &ran ventaja de acer cone'in a -its, son los pocos cales que se deen conectar, como podemos ver en la 1i&ura si&uiente solodeemos conectar el it de 5e&istro, el Enale y los - its m!s altos del LCD, con esto es su1icientepara enviar mensajes.

    El compilador 464 soporta mdulos LCD # con controlador 7itaci --% o equivalentes y porde1ecto, asume que se conecto en el pin "- el it de re&istro, en el pin 68 el it Enale y en el puerto

    " empezando desde " asta "8, los its m!s altos del LCD. Esta con1i&uracin prede1inida, se lopuede camiar de acuerdo a la necesidad, como lo veremos mas adelante.

  • 8/14/2019 Modulo Lcd 16x2

    3/28

    pause 9 tempo de espera a que la pantalla se inicielcdout 30E, *, :7ola: ;limpiar pantalla y sacar el te'to olalcdout 30E, 3C, :micro 4$C: ;pasar al comienzo de la se&unda lnea ;y escriir micro 4$CEnd

    Nota2 al&unos LCD no requieren de nin&una 4" Micro 4$C=

    Lo cual es sencillo pero no es muy recomendale porque ocupa mas espacio en el 4$C, lase&unda manera es asi&nando el lu&ar donde se requiere que aparezca cada palara.

    LCDOUT 30E, * 9 limpiar pantalla

    LCDOUT 30E, 3+, :7ola: ;pasar el cursor a la %ma casilla de *ra lnea y escrieLCDOUT 30E, 3C-, :micro 4$C: ;pasar a la casilla ?ta de la da lnea y escrie micro 4$C

    #e dee entender que e'iste un cursor que aunque no lo vemos, pues este es el que indica dondeaparecer! la si&uiente letra, para poder entender aremos un ejercicio completo, as podr!naprender m!s de LCD y las 1unciones de cada uno de los comandos. 4rimero que nada aremosvisile el cursor y lue&o pondremos 4"

  • 8/14/2019 Modulo Lcd 16x2

    4/28

    Gserven que la constante 30E se le camio por pepa, as mismo si se les di1iculta memorizarcomo pasar a la se&unda lnea, puede de1inir la constante2 lin CON 3C, y cuando desee escriir enla se&unda lnea pondran2 LCDOUT pepa, lin, >7ola=, o lo que es lo mismo utilizando nHmerosdecimales2 LCDOUT ?-, *I, >7ola=. BamiJn cae recalcar que el LCD tiene una memoria 5"M(5andom "ccess Memory) que lo e'plicaremos m!s adelante, por lo que una vez que se enva elte'to, este permanecer! a y el 4$C se lo puede utilizar para otras tareas o podemos desconectarlo

    si lo deseamos.En ocasiones especiales se dee camiar la con1i&uracin de los pines del 4$C acia el LCD, porejemplo para utilizar los comparadores de voltaje que se encuentran en el puerto ", necesitamosdejar disponiles estos pines, esto se lo&ra adicionando al principio lo si&uiente2

    DEFINE LCDAD5EK 4G5B6 de1ine pines del LCD 6- a 6%DEFINE LCDAD6$B - empezando desde el puerto 6- asta el 6%DEFINE LCDA5#5EK 4G5B6 de1ine pin para conectar el it 5#DEFINE LCDA5#6$B 8 en el puerto 68DEFINE LCDAE5EK 4G5B6 de1ine el pin par conectar el it EnaleDEFINE LCDAE6$B en el puerto 6

  • 8/14/2019 Modulo Lcd 16x2

    5/28

    Con1i&uracin de un LCD a - its con una con1i&uracin di1erente a la prede1inida por el 464, esta vez utilizando elpuerto 6.8 para el it 5# al 6 pare el Enale y desde el 6.- al 6.% para los its de comunicacin .

    PRESENTACIN DE CAR'CTER POR CAR'CTER EN LCD

    En las practicas anteriores se presentaron mensajes completos en un instante, en esta nuevapr!ctica incluimos la declaracin LOO(UP, que nos servir! para enviar car!cter por car!cter con unintervalo de - mls, dando como resultado un e1ecto especial en la visualizacin. Como cone'inpara esta practica utilizaremos la nueva con1i&uracin aprendida.

    @ device mclrAo11 ;apa&o MCL5DE0$E LCDAD5EK 4G5B6DE0$E LCDAD6$B -DE0$E LCDA5#5EK 4G5B6DE0$E LCDA5#6$B 8DE0$E LCDAE5EK 4G5B6DE0$E LCDAE6$B ' var yteac var ytepause

    ini2lcdout 30E,*1or ' to *?loo/up ',N:Microcontrolador:O,aclcdout ,acpause -ne'tpause &oto iniend

  • 8/14/2019 Modulo Lcd 16x2

    6/28

    DESPLA)AMIENTO DE UN TE*TO LCDEl LCD dispone en cada una de las lneas - posiciones de memoria, de los cuales Hnicamente *+

    son visiles, en el si&uiente ejercicio escriiremos un mensaje desde el casillero *% (3I), el cual noes visile y lue&o iremos desplazando a la izquierda, como resultado tendremos un te'to que semantiene en movimiento, una vez que este termina recorrer! *+ posiciones en lanco y lue&ovolver! a parecer los - caracteres del te'to.

    @ device mclrAo11 ;apa&o MCL5DE0$E LCDAD5EK 4G5B6DE0$E LCDAD6$B -DE0$E LCDA5#5EK 4G5B6DE0$E LCDA5#6$B 8DE0$E LCDAE5EK 4G5B6DE0$E LCDAE6$B ' var yteac var ytelcdout 30E, 3%lcdout 30E, *pause

    ini2lcdout 30E,3I1or ' to 8loo/up ',N:MicrocontroladoresP4$CP:O,aclcdout ,acpause -ne't&oto iniend

    CONTADOR DE PULSOS CON LCD

    Este proyecto, consiste en contar el nHmero de pulsos que in&resan por un pin en un determinadoperiodo, este a su vez visualiza en un LCD, si la cantidad de este supera a los * pulsos porse&undo es decir *7z, se encender! una alarma visual (un led rojo), y si la cantidad de pulsosaja a menos de *7z, este encender! un led erde, si la 1recuencia se mantiene entre estos ran&os, no se encender! nin&Hn led.

    4ara esta practica utilizaremos el C.$ ??? que nos ayuda a &enerar un tren de pulsos variale, ecual lo conectamos al 4$C para su posterior conteo.

    DECLARACIN PULSEIN+ #irve para contar el nHmero de pulsos que in&resan por un pin en undeterminado tiempo, este a su vez lo &uarda en una variale para su posterior procesamiento, la

    manera de utilizarlo es la si&uiente.

    COUNT port., *, ac

    El cual se interpreta as2 cuenta pulsos a travJs del puerto 6 en un periodo de * milise&undosy lo &uarda en la variale previamente creada llamada ac, el periodo podemos variarlo de * a+??8?.

    @ device mclrAo11 ;apa&o MCL5cmcon %ledred var port.

  • 8/14/2019 Modulo Lcd 16x2

    7/28

    ledver var port.*puls var Qordpro&2count port., *, puls ; contar pulsos en el puerto 6.lcdout 30E,*LCDGut 30E,3,:0recuencia:lcdout 30E,3C?, dec puls, :7z:i1 puls R * ten alarmai1 puls S * ten alarmalloQ ledred 2 loQ ledver&oto pro&alarma2i& ledred 2 loQ ledver&oto pro&alarmal2loQ ledred 2 i& ledver&oto pro&end

    LA PALA,RA DEC. #irve para mostrar el nHmero de la variale en decimal, tamiJn se lo puederepresentar por el si&no (T), adem!s e'iste las palaras ,IN % -E*, el si&uiente es un ejemplo decmo mostrara el LCD si puls *?2

    LCDOUT 30E,3C?, DEC puls, >7z= 9muestra en el LCD as2 *?7zBamiJn se lo puede utilizar el si&no T que equivale a DEC

    LCDOUT 30E,3C?, . puls, >7z= 9muestra en el LCD as2 *?7z#i deseamos ver la variale en e'adecimal pondramos as2

    LCDOUT 30E,3C?, -E* puls, >7z= 9muestra en el LCD as2 +I7zU si queremos verlo en inario

    LCDOUT 30E,3C?, ,IN puls, >7z= 9muestra en el LCD as2 ****7z

    LECTURA DE UN POTENCIMETRO CON LCD

    LA DECLARACIN POT: esta declaracin sirve para leer el estado de un potencimetro de ?Vasta uno de ?V, o cualquier elemento resistivo cualesquiera, el principio de 1uncionamiento es muysencillo, utiliza la ayuda de un condensador de .*u1, al cual lo car&a y descar&a utilizando elpotencimetro para re&ular la corriente que circula, entonces a mayor resistencia el capacitor sedemora mas tiempo en car&arse, y la 4$C nos dar! un valor alto u si &iramos el potencimetro a lamnima resistencia, el capacitor se car&ara m!s r!pido y la variale nos dar! cero, en de1initiva

    estaremos leyendo el estado de un potencimetro.

  • 8/14/2019 Modulo Lcd 16x2

    8/28

    Cone'in de un potencimetro para leerlo.

    @ device mclrAo11 ;apa&o MCL5DE0$E LCDAD5EK 4G5B6DE0$E LCDAD6$B -DE0$E LCDA5#5EK 4G5B6DE0$E LCDA5#6$B 8DE0$E LCDAE5EK 4G5B6

    DE0$E LCDAE6$B dato var ytemedirpot port.,??,dato ;leer el potenciometro y &uardar en datolcdout 30E,*,: 5an&o :lcdout ,Tdatopause *&oto medirend

  • 8/14/2019 Modulo Lcd 16x2

    9/28

  • 8/14/2019 Modulo Lcd 16x2

    10/28

  • 8/14/2019 Modulo Lcd 16x2

    11/28

  • 8/14/2019 Modulo Lcd 16x2

    12/28

  • 8/14/2019 Modulo Lcd 16x2

    13/28

  • 8/14/2019 Modulo Lcd 16x2

    14/28

  • 8/14/2019 Modulo Lcd 16x2

    15/28

  • 8/14/2019 Modulo Lcd 16x2

    16/28

  • 8/14/2019 Modulo Lcd 16x2

    17/28

    #eccin de pro&rama vHmetro

    1. BARRA: 'spanish2. IF MARCA1 = 1 THEN 'Si es verdadero3. INEA = !2 '1 inea C"# $%es&ra ana( ). A"CIN *# CANA+. MARCA1 = ,-. ESE 'Si no (o es*. INEA = !, '2 inea C"# $%es&ra ana( R. A"CIN -# CANA

    /. MARCA1 = 11,. EN"IF11.12. BAR : 'en0(ish13. IF Mar1 = 1 THEN ' I &r%e1). INE = !2: A"CIN *# CHANNE: Mar1 = , ' 1s& (ine C" shos hanne(1+. ESE ' I i& is no&1-. INE = !,: A"CIN -# CHANNE: Mar1 = 1 ' 2nd ine C" shos R hanne(

    PROGRAMA EN CODE

    1*. '44444444444444444444444444444444444444444444444444444444444444444444444444444441. '4 Arhivo : 56METER.7B7 41/. '4 A%&or : Sa8( 9A(ias a;ione< 42,. '4 Feha : ,112,,/ 421.'4 5ersi>n : 1., 422. '4 No&a : 56 Me&er Es&?reo on varias vis%a(i@aiones. 423. '4 e : h&&p:.@a;ione.o$ 42). '44444444444444444444444444444444444444444444444444444444444444444444444444444442+.CDNFI2-. oni0 HSDSC G "TDFF G C7DFF G BDRENDFF2*.2.EN"CDNFI2/. "EFINE DSC 2, 'Dsi(ador de 2, MH@

    3,.31. '444444444444444444444444444444444444444444444444444444444444444444444444444444432. ' C" ID "EFINITIDNS33. "EFINE C""RE 7DRTB 'C" 7DRT para envo de da&os B3). "EFINE C""BIT ) 'C" %&i(i@a (os Bi& inerior , o s%perior )3+. "EFINE C"RSRE 7DRTB 'C" RS en e( 7DRTB3-. "EFINE C"RSBIT , 'C" RS 7DRTB.,3*. "EFINE C"ERE 7DRTB 'C" E en e( 7DRTB3. "EFINE C"EBIT 1 'C" E 7DRTB.13/. "EFINE C"BITS ) 'C" se %&i(i@an ) o i&s para da&os),. "EFINE C"INES 2 'N%$ero de (ineas de( (d)1.)2. '4444444444444444444444444444444444444444444444444444444444444444444444444444444)3. ' C" "EFINITIDNS)). "EFINE A"CBITS 'Res%(&ado de( A"C o 1, i&s

    )+. "EFINE A"CCDC 3 'AJ%s&e de( re(oJ)-. "EFINE A"CSAM7E6S +, 'AJ%s&e de( &ie$po de $%es&reo en $irose0%ndos)*.). '4444444444444444444444444444444444444444444444444444444444444444444444444444444)/. ' 5ARIABES+,. CANA var BKTE 'No$re de (a varia(e+1. INEA 5AR BKTE 'No$re de (a varia(e+2. CDNTA"DR 5AR BKTE 'No$re de (a varia(e+3. RESTD 5AR BKTE 'No$re de (a varia(e+). MARCA1 5AR BIT 'No$re de (a varia(e++. MARCA2 var BKTE 'No$re de (a varia(e+-. 76SA"DR var 7DRTB.2 '7%(sador en e( 7DRTB.2+*.+. '4444444444444444444444444444444444444444444444444444444444444444444444444444444

  • 8/14/2019 Modulo Lcd 16x2

    18/28

    +/. ' 7RDRAM-,. 7A6SE +,, 'Tie$po neesario para (a iniiai>n de( C" *-1. A"CDN1 = ,,,,,,,, '"einir &odos (os 7DRTA L 7DRTE o$o ana(>0ios-2.-3. '4444444444444444444444444444444444444444444444444444444444444444444444444444444-). ' INITIA MESSAE Oa;ioneO-+. C"D6T 2+)# -)# 1 #2 #+# + #+ #+ #2 #1 '0ra$ posii>n ,--. C"D6T 2+)# *2# 2) #) #2-# 2 #2 #2- #) #2) '0ra$ posii>n 1-*. C"D6T !FE# 1 'Borrado de (a pan&a((a-. ' Shi& $essa0e e&

    -/. FDR CDNTA"DR = 1)) TD 13, STE7 1 'C%en&a a&ras*,. C"D6T !FE# CDNTA"DR# 2,# ,# 1# Oa;ione O 'I$pri$ir en pan&a((a*1. 7A6SE 1+, '7a%sa de ,#1+ se0%ndos*2. NEPT CDNTA"DR 'Re0resa a CDNTA"DR*3. 7A6SE 2,,, '7a%sa de 2 se0%ndos*). ' Shi& $essa0e Ri0h&*+. FDR CDNTA"DR = 13, TD 1)) 'C%en&a haia de(an&e*-. C"D6T !FE# CDNTA"DR# 2,# ,# 1# Oa;ione O 'I$pri$ir en pan&a((a**. 7A6SE 1+, '7a%sa de ,#1+ se0%ndos*. NEPT CDNTA"DR 'Re0resa a CDNTA"DR*/. C"D6T !FE# 1 'Borrado de (a pan&a((a,.1. '44444444444444444444444444444444444444444444444444444444444444444444444444444442. ' 56 (ine s&L(e 1 90raphi i&$apsn 2. C"D6T 2+)## , #3, #3,# 3, #3, #3, #3, #, '0ra$ posii>n 3/. C"D6T 2+)#/-# , #31 #31# 31 #31 #31 #31 #, '0ra$ posii>n )/,. 7A6SE 3,,/1. DTD BARRA/2./3. '4444444444444444444444444444444444444444444444444444444444444444444444444444444/). ' 56 (ine s&L(e 2 90raphi i&$apsn 21,,. C"D6T 2+)## , #2* #2*# 2* #2* #2* #2* #, '0ra$ posii>n 31,1. C"D6T 2+)#/-# , #2* #2*# 2* #2* #2* #2* #, '0ra$ posii>n )1,2. 7A6SE 3,,1,3. DTD BARRA1,).1,+. '44444444444444444444444444444444444444444444444444444444444444444444444444444441,-. ' 56 (ine s&L(e 3 90raphi i&$apsn 2112. C"D6T 2+)## , #, #,# 3, #3, #, #, #, '0ra$ posii>n 3113. C"D6T 2+)#/-# , #, #,# 31 #31 #, #, #, '0ra$ posii>n )

    11). 7A6SE 3,,11+. DTD BARRA11-.11*. '444444444444444444444444444444444444444444444444444444444444444444444444444444411. ' 56 ine s&L(e ) 90raphi i&$apsn 212+. C"D6T 2+)## , #2, #2,# 2, #2, #2, #2, #, '0ra$ posii>n 312-. C"D6T 2+)#/-# , #21 #21# 21 #21 #21 #21 #, '0ra$ posii>n )

  • 8/14/2019 Modulo Lcd 16x2

    19/28

    12*. 7A6SE 3,,12. DTD BARRA12/.13,. '4444444444444444444444444444444444444444444444444444444444444444444444444444444131. ' 56 ine s&L(e + 90raphi i&$apsn 2

    13*. C"D6T 2+)## , #) #1)# 31 #1) #) #, #, '0ra$ posii>n 313. C"D6T 2+)#/-# , #1) #31# 31 #31 #1) #, #, '0ra$ posii>n )13/. 7A6SE 3,,1),. DTD BARRA1)1.1)2. '44444444444444444444444444444444444444444444444444444444444444444444444444444441)3. ' 56 ine s&L(e + 90raphi i&$apsn 21)/. C"D6T 2+)## , #1) #31# 31 #31 #1) #, #, '0ra$ posii>n 31+,. C"D6T 2+)#/-# , #, #,# 31 #, #, #, #, '0ra$ posii>n )1+1. 7A6SE 3,,

    1+2.1+3. '44444444444444444444444444444444444444444444444444444444444444444444444444444441+). ' Read A"C inp%&1++. BARRA:1+-. IF MARCA1 = 1 THEN

    'Si es verdadero1+*. INEA = !2

    '1Qinea C"# $%es&ra ana( 1+. A"CIN *# CANA1+/. MARCA1 = ,1-,. ESE

    'Si no (o es1-1. INEA = !,

    '2Qinea C"# $%es&ra ana( R1-2. A"CIN -# CANA

    1-3. MARCA1 = 11-). EN"IF

    'Fin de (a o$parai>n1-+.1--. '44444444444444444444444444444444444444444444444444444444444444444444444444444441-*. ' Re$ainder o "I5+ nro o pi;e(s o(%$ns o (as& har in 56 0raph1-. RESTD = 9CANA +< 'Dperai>n res&> de (a divisi>n1-/. C"D6T !FE# INEA 'Iniia (a esri&%ra en e( C"1*,. FDR CDNTA"DR = 1 TD 9CANA +< 'C%en&a haia de(an&e1*1. C"D6T )

    'I$pri$e 0ra$ posii>n )1*2. NEPT CDNTA"DR 'Re0resa a CDNTA"DR1*3.1*). ' Se(e& (as& hara&er in 56 0raph dependin0 on &he re$ainder va(%e1*+. IF RESTD = 1 THEN C"D6T , 'I$pri$e 0ra$ posii>n ,

    1*-. IF RESTD = 2 THEN C"D6T 1 'I$pri$e 0ra$ posii>n 11**. IF RESTD = 3 THEN C"D6T 2 'I$pri$e 0ra$ posii>n 21*. IF RESTD = ) THEN C"D6T 3 'I$pri$e 0ra$ posii>n 31*/. ' Erase 3 %(( hars a&er 56 india&or1,. C"D6T 2,# 2,# 2, 'Borrado de 3 ara&eres11.12. '444444444444444444444444444444444444444444444444444444444444444444444444444444413. ' Se(e& 0raphi s&L(e 9pro0ress i&h p%sh%&&on presses1). IF 976SA"DR = 1< and 9MARCA2 = -< THEN RAF1 '1Q 5is%a(i@ai>n1+. IF 976SA"DR = 1< and 9MARCA2 = 1< THEN RAF2 '2Q 5is%a(i@ai>n1-. IF 976SA"DR = 1< and 9MARCA2 = 2< THEN RAF3 '3Q 5is%a(i@ai>n1*. IF 976SA"DR = 1< and 9MARCA2 = 3< THEN RAF) ')Q 5is%a(i@ai>n1. IF 976SA"DR = 1< and 9MARCA2 = )< THEN RAF+ '+Q 5is%a(i@ai>n

  • 8/14/2019 Modulo Lcd 16x2

    20/28

  • 8/14/2019 Modulo Lcd 16x2

    21/28

    )/. RAF1:+,. MARCA2 = 1+1. (do%& 2+)#-)# , #1- #1-# 1- #1- #1- #1- #, '0ra$ posii>n ,+2. (do%& 2+)#*2# , #2) #2)# 2) #2) #2) #2) #, '0ra$ posii>n 1+3. (do%& 2+)#,# , #2 #2# 2 #2 #2 #2 #, '0ra$ posii>n 2+). (do%& 2+)## , #3, #3,# 3, #3, #3, #3, #, '0ra$ posii>n 3++. (do%& 2+)#/-# , #31 #31# 31 #31 #31 #31 #, '0ra$ posii>n )+-. pa%se 3,,+*. 0o&o arrA+. '4444444444444444444444444444444444444444444444444444444444444444444444444444444

    +/. RAF2:-,. MARCA2 = 2-1. (do%& 2+)#-)# , #2) #2)# 2) #2) #2) #2) #, '0ra$ posii>n ,-2. (do%& 2+)#*2# , #2) #2)# 2) #2) #2) #2) #, '0ra$ posii>n 1-3. (do%& 2+)#,# , #2* #2*# 2* #2* #2* #2* #, '0ra$ posii>n 2-). (do%& 2+)## , #2* #2*# 2* #2* #2* #2* #, '0ra$ posii>n 3-+. (do%& 2+)#/-# , #2* #2*# 2* #2* #2* #2* #, '0ra$ posii>n )--. pa%se 3,,-*. 0o&o BARRA-. '4444444444444444444444444444444444444444444444444444444444444444444444444444444-/. RAF3:*,. MARCA2 = 3*1. (do%& 2+)#-)# , #, #,# 1- #1- #, #, #, '0ra$ posii>n ,*2. (do%& 2+)#*2# , #, #,# 2) #2) #, #, #, '0ra$ posii>n 1*3. (do%& 2+)#,# , #, #,# 2 #2 #, #, #, '0ra$ posii>n 2

    *). (do%& 2+)## , #, #,# 3, #3, #, #, #, '0ra$ posii>n 3*+. (do%& 2+)#/-# , #, #,# 31 #31 #, #, #, '0ra$ posii>n )*-. pa%se 3,,**. 0o&o BARRA*. '4444444444444444444444444444444444444444444444444444444444444444444444444444444*/. RAF):,. MARCA2 = )1. (do%& 2+)#-)# , #1- #1-# 1- #1- #1- #1- #, '0ra$ posii>n ,2. (do%& 2+)#*2# , #1- #1-# 1- #1- #1- #1- #, '0ra$ posii>n 13. (do%& 2+)#,# , #2, #2,# 2, #2, #2, #2, #, '0ra$ posii>n 2). (do%& 2+)## , #2, #2,# 2, #2, #2, #2, #, '0ra$ posii>n 3+. (do%& 2+)#/-# , #21 #21# 21 #21 #21 #21 #, '0ra$ posii>n )-. pa%se 3,,*. DTD BARRA. '4444444444444444444444444444444444444444444444444444444444444444444444444444444

    /. RAF+:/,. MARCA2 = +/1. (do%& 2+)#-)# , #, #,# ) #, #, #, #, '0ra$ posii>n ,/2. (do%& 2+)#*2# , #, #)# 1) #) #, #, #, '0ra$ posii>n 1/3. (do%& 2+)#,# , #, #1)# 1) #1) #, #, #, '0ra$ posii>n 2/). (do%& 2+)## , #) #1)# 31 #1) #) #, #, '0ra$ posii>n 3/+. (do%& 2+)#/-# , #1) #31# 31 #31 #1) #, #, '0ra$ posii>n )/-. pa%se 3,,/*. DTD BARRA/. '4444444444444444444444444444444444444444444444444444444444444444444444444444444//. RAF-:1,,. MARCA2 = -1,1. (do%& 2+)#-)# , #1) #31# 31 #31 #1) #, #, '0ra$ posii>n ,1,2. (do%& 2+)#*2# , #1) #31# 31 #31 #1) #, #, '0ra$ posii>n 11,3. (do%& 2+)#,# , #1) #31# 31 #31 #1) #, #, '0ra$ posii>n 2

    1,). (do%& 2+)## , #1) #31# 31 #31 #1) #, #, '0ra$ posii>n 31,+. (do%& 2+)#/-# , #, #,# 31 #, #, #, #, '0ra$ posii>n )1,-. pa%se 3,,1,*. '44444444444444444444444444444444444444444444444444444444444444444444444444444441,. BARRA:1,/. IF MARCA1 = 1 THEN 'Si es verdadero11,. INEA = !2111. A"CIN *# CANA112. CANA = CANA 4 )113. MARCA1 = , '1Qinea C"# $%es&ra ana( 11). ESE 'Si no (o es11+. INEA = !,11-. A"CIN -# CANA

  • 8/14/2019 Modulo Lcd 16x2

    22/28

    11*. CANA = CANA 4 )11. MARCA1 = 1 '2Qinea C"# $%es&ra ana( R11/. EN"IF 'Fin de (a o$parai>n12,. '4444444444444444444444444444444444444444444444444444444444444444444444444444444121. RESTD = 9CANA +< 'Dperai>n res&> de (a divisi>n122. C"D6T !FE# INEA 'Iniia (a esri&%ra en e( C"123. FDR CDNTA"DR = 1 TD 9CANA +< 'C%en&a haia de(an&e12). C"D6T ) 'I$pri$e 0ra$ posii>n )12+. NEPT CDNTA"DR 'Re0resa a CDNTA"DR12-. IF RESTD = 1 THEN C"D6T , 'I$pri$e 0ra$ posii>n ,

    12*. IF RESTD = 2 THEN C"D6T 1 'I$pri$e 0ra$ posii>n 112. IF RESTD = 3 THEN C"D6T 2 'I$pri$e 0ra$ posii>n 212/. IF RESTD = ) THEN C"D6T 3 'I$pri$e 0ra$ posii>n 313,. C"D6T 2,# 2,# 2, 'Borrado de 3 ara&eres131. '4444444444444444444444444444444444444444444444444444444444444444444444444444444132. IF 976SA"DR = 1< and 9MARCA2 = -< THEN RAF1 '1Q 5is%a(i@ai>n133. IF 976SA"DR = 1< and 9MARCA2 = 1< THEN RAF2 '2Q 5is%a(i@ai>n13). IF 976SA"DR = 1< and 9MARCA2 = 2< THEN RAF3 '3Q 5is%a(i@ai>n13+. IF 976SA"DR = 1< and 9MARCA2 = 3< THEN RAF) ')Q 5is%a(i@ai>n13-. IF 976SA"DR = 1< and 9MARCA2 = )< THEN RAF+ '+Q 5is%a(i@ai>n13*. IF 976SA"DR = 1< and 9MARCA2 = +< THEN RAF- '-Q 5is%a(i@ai>n13. '444444444444444444444444444444444444444444444444444444444444444444444444444444413/. DTD BARRA1),. EN"

    ;4ro&rama %A.sp

    /Este "!o0!a$a tene "o! ob1etvo $ost!a! co$o con20u!a! en losdstntos $odos de/o"e!ac#n de la "antalla LCD;;W3#B"M4 6#pX

    ;W346"#$C .?X;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    AAA;Declaracin de ariales y Constantes6orrarLCD CG Y* ;Limpiar pantalla, 30E,*MoverCrsr CG Y* ;4osicionar el cursor, 30E,3Despertar CG Y** ;Despertar al LCD, 30E, 38Modo-its CG Y* ;Modo de - its de datos,30E,3Modolinea CG Y** ;Modo de lneas, tamaZo de ?' (Y*** ?'*), 30E,3LCDG00 CG Y* ;"pa&ar la pantalla, 30E,3LCDG CG Y** ;Encender, sin cursor la pantalla, 30E,3C

    LCDGCrsr CG Y*** ;Encender, con cursor la pantalla, 30E,3ELCDGCrsr4arp CG Y**** ;Encender, con cursor la pantalla, 30E,30LCDG4arp CG Y*** ;Encender, sin cursor la pantalla, 30E, 3D$ncrCrsr CG Y** ;"utoPincremento del cursor, 30E,3+Moverpizq CG Y** ;Desplazar pantalla a la izquierda, 30E,3*Moverpder CG Y*** ;Desplazar pantalla a la dereca, 30E, 3*CMovercizq CG Y* ;Desplazar cursor a la izquierda, 30E, 3*Movercder CG Y** ;Desplazar cursor a la dereca, 30E,3*-Linea CG Y** ;$r a la lnea in1erior de la pantalla, 30E,3CLCDpin CG ;Berminal Enale de la LCD

  • 8/14/2019 Modulo Lcd 16x2

    23/28

    4ulset* "5 6yte ;Espacio de traajo del pulsador *4ulset "5 6yte ;Espacio de traajo del pulsador 4ulset8 "5 6yte ;Espacio de traajo del pulsador 84ulset- "5 6yte ;Espacio de traajo del pulsador -#* 4$ ;4ulsador 46*# 4$ I ;4ulsador 46#8 4$ * ;4ulsador 468#- 4$ ** ;4ulsador 46-

    ' "5 6yte ;ariale de uso &eneral

    ;4ro&rama 4rincipal2$nicio2

    KG#

  • 8/14/2019 Modulo Lcd 16x2

    24/28

    KG#

  • 8/14/2019 Modulo Lcd 16x2

    25/28

    3P!o0!a$a "a!a va!a! la velocdad de un $oto! DCotsuir "5 port.* 9nomre para el pin 6.*otajar "5 port. 9nomre para el pin 6.LED "5 port.8 9nomre para el pin 6.805EC "5 6UBE 9variale 05EC tamaZo ??andera "5 6$B 9variale andera de * it

    05EC *? 9valor inicial para variale 05EC7$K7 LED 9encender led para saer si arranc4"

  • 8/14/2019 Modulo Lcd 16x2

    26/28

    94ro&rama para un controlde temperatura con LM8?De1ineLCDAD5EK4G5B6 9it de datos del LCD empezandoDe1ineLCDAD6$B 9por 6. ,6.*, 6. y 6.8De1ineLCDA5#5EK4G5B6 9it de re&istro del LCD conectarDe1ineLCDA5#6$B? 9en el puerto 6.?De1ineLCDAE5EK4G5B6 9it de Enale conectar en el

    De1ineLCDAE6$B- 9puerto 6.-De1ine"DCA6$B# 90ije nHmero de 6$B# del resultado (?,,*)De1ine"DCACLGCV8 90ije EL CLGCV (rc 8

    De1ine"DCA#"M4LE

  • 8/14/2019 Modulo Lcd 16x2

    27/28

    Lcdout 31e,3c,DEC tempaj,:oC: 9Display el decimal de tempajLcdout 31e,3cc,DEC tempalt,:oC: 9Display el decimal de tempalt1or ' * to ? 9repetir ? vecesi1 enter ten &raar*apause *ne'ti1 dato S tempaj ten calentar 9si dato esStempaj ir a calentari1 dato R tempalt ten en1riarloQ releC 2 loQ rele0 9apa&ar los relJs

    &oto sensar 9continuar sensandocalentar2i& releC 2loQ rele0&oto sensaren1riar2i& rele0 2 loQ releC&oto sensar&raar*a2&osu soltar

    &raar*2

    Lcdout 31e, * ,:4ro&ramar temp.:lcdout 31e,3c,:aja :,dec tempaj ,: oC:pause *i1 ajar ten restar*i1 suir ten sumar*i1 enter ten &raara&oto &raar*restar*2&osu soltar 9pro&rama antirreote de teclai1 tempaj S * ten &raar*tempaj tempajP*&oto &raar*

    sumar*2&osu soltari1 tempaj R - ten &raar*tempaj tempaj F *&oto &raar*&raar"2&osu soltarQrite ,tempaj 9escriir en la direccin de la EE45GM&raar2Lcdout 31e, * ,:4ro&ramar temp.:lcdout 31e,3c,:alta :,dec tempalt ,: oC:pause *

    i1 ajar ten restari1 suir ten sumari1 enter ten &raar6&oto &raarrestar2&osu soltari1 tempalt S ? ten &raartempalt tempaltP*&oto &raarsumar2&osu soltar

  • 8/14/2019 Modulo Lcd 16x2

    28/28

    i1 tempalt R ? ten &raartempalt tempalt F *&oto &raar&raar62&osu soltarQrite *,tempalt 9escriir en la direccin * de la EE45GM&oto iniciosoltar29pro&rama antirreote de tecla

    i& ledpause *?loQ ledsoltar2i1 ajar ten soltari1 suir ten soltari1 enter ten soltar4"