ACTIVIDAD CENTRAL UNIDAD 4 Diseño de productos electrónicos con microcontroladores Nomb No mbre re de la ac acti tivi vida dad d Mane Manejo jo de salidas en un microcontrolador: Display de Cristal Líquido (LCD). !b"etivo Identi Identifca fcarr las instru instrucc ccion iones es en un códig código o !M para el manejo de salidas a una LCD. #ituación "ara di#erenciar el tipo de producto que llega a la empresa (distri$ución y %enta)& se requiere que la llegada de camiones sea anunciada con una se'al luminosa que parpadee y en una LCD apareca el tipo de producto que aca$a de llegar& llegar& segn segn se *aya acti%a acti%ado do el sensor sensor de presenc presencia ia instalad instalado. o. Las posi$ilidades de productos productos son +,- +,-L& L& LIM/+ y 0 01. !e *a adquirido un sistema automatiado con microcontroladores microcontroladores y usted de$e re%isar si el código cumple con las características solicitadas. $rocedimiento 2. e%is e%ise e los los contenidos del contenidos del curso asociados al %ane"o de salidas a una LCD. LCD. 3. Cons Consul ulte te in#o in#orm rmac ació ión n para para pro# pro#un undi dia arr so$r so$re e el #unc #uncio iona nami mien ento to y programación programación de las LCD. Temas asociados • •
Confguración de un Display de Cristal Líquido (LCD) Lenguaje !M
Entre&as "ara este an4lisis& puede utiliar la guía que aparece a continuación para desarrollar los siguientes productos: 2. Comentar Comentarios ios de las líneas de programa programación ción del código código suminist suministrado rado por el pro%eedor de ser%icios. 3. Descri Descripci pción ón de los pines pines de entrada entrada y salida salida utili utiliado adoss para para el sistema sistema automatiado 5. Diagrama Diagrama de 6ujo 6ujo del del programa programa de autom automatia atiación ción.. -na %e fnali fnaliada ada&& compri comprima ma el arc*i arc*i%o %o en #ormato #ormato .ip o .rar& .rar& dando clic derec'o al arc'ivo( Enviar a( Carpeta comprimida. comprimida. Luego en%íela a su #acilitador a tra%7s del medio utiliado para tal fn en el curso. 2
3
D!CU%ENT! )U*A Diseño de productos electrónicos con microcontroladores 2. Comentarios de líneas de código. 8scri$a los comentarios relacionados con cada $loque de código. I+CL-D8 9"2;3<.I+C= C0L>C? @A3@ @C&@D&@8&25&loops&loops3&8BA&C>+,8&M8M>I&AC>M"&AID2&A ID3&A">2&M8+!C>+,&C>+-!8&D,I+&C>+,-!8& C>+,I+,!&M8M!,,-!&D,-"&D,C>M"&ID2!8&ID3!8&ID5!8 8+DC 8 !
81- 3E F constante 8 81- 2E F constante ! >B @A@@ F origen de programa B>,> I+ICI> F salto a inicio F $loque de confguración que *ace iniciar el microcontrolador + blo,ue ,ue &enera pausa pe,ueña de tiempo o dela-. Espera ,ue se 'ace para la con/&uracion del lcd. RETARD!
CLGD, F limpia el Hatc*dog timer M>LG D2J F mue%e el numero 2J a H M>G; loops F mue%e H a loops top32 M>LG D3J F mue%e 3J a H M>G; loops3 F mue%e H a loop3 top2 CLGD, F limpia el Hatc*dog timer +>" F ejecuciKn nula +>" +>" +>" +>" +>" D8C;! loops3&2 F decrece en 2 loop3 y pregunta si es cero y salta& sino continua decreciendo B>,> top2 F salta a top2 D8C;! loops&2 F decrece en 2 lopps y pregunta si es cero salta& sino continua decreciendo B>,> top32 F salta a top32 8,LG @ F retorna con H@ + blo,ue ,ue 'ace una pausa de tiempo ma-or ,ue la anterior. #e 'ace para la con/&uraci0n - escritura del lcd. RETARD!12 5
CLGD, F limpia el Hatc*dog timer M>LG D2@@ F mue%e 2@@ a H M>G; loops F mue%e 2@@ a ciclos o loops top33 M>LG D3@@ F mue%e 3@@ a H M>G; loops3 F mue%e H a lopps3 top3 CLGD, F limpia el Hatc*dog timer +>" F secuencia de negación o nula +>" +>" +>" +>" +>" D8C;! loops3&2 F decrece en 2 loop3 y pregunta si es cero y salta& sino continua decreciendo B>,> top3 F salta a top3 D8C;! loops&2 F decrece en 2 loop y pregunta si es cero y salta& sino continua decreciendo B>,> 8,LG
top33 F salta a top33 @ F retorna a H@
+ blo,ue ,ue e"ecuta instrucciones para el control del lcd( con/&uración - escritura de datos. C!NTR!L CLGD, 0C; ">,0&! confguración B>,> D,>3 DAT! CLGD, 0!; ">,0&! en el lcd. DAT!3 0!; ">,0&8 el lcd
F limpia el Hatc*dog timer F coloca el $it ! del "uerto 0 en cero para F salta al dato 3 F limpia el Hatc*dog timer F coloca el $it ! del "uerto 0 en 2 para escritura F C>L>C 8L 0I, e D8L "uerto 0 en 2 para *a$ilitar N
M>G; @8 F mue%e el registro H a @8 M>LG @;E F mue%e el numero @A@; a H +DG; ">,0&2 F realia la operación +D H con el "uerto 0 y guarda en "ort 0 M>; @8&G F mue%e >8 a H +DLG @;@E F realia operación +D de H con @A;@ I>G; ">,0&2 F realia operación de > de H con "uerto 0 y guarda en "uerto 0 CLL 8,D> F realia una pausa o retardo en la ejecuciKn 0C; ">,0&8 F des*a$ilita el lcd colocando %alor en 0it 8 CLL 8,D> F realia pausa o retardo en la ejecuciKn 0!; ">,0&8 F *a$ilita el lcd en el 0it 8 del "uerto 0 M>LG @;E F mue%e @A;@ a H +DG; ">,0&2 F realia la operación +D H con el "uerto 0 y guarda en "uerto 0 !G"; @8&G F realia cam$io de 0it a ni$$le de la %aria$le @8 y guarda en H +DLG @;@E F realia operación de +D a >A@; con H I>G; ">,0&2 F realia operación > de H con "uerto 0 y guarda en "uerto 0 CLL 8,D> F genera una pausa 0C; ">,0&8 F des*a$ilita el lcd CLL 8,D> F llamada retardo 8,LG @ F retorna con H en @
+ blo,ue de con/&uraciones iniciales de traba"o del microcontrolador( entradas( salidas - con/&uraciones iniciales del lcd INICI! 0!; !,,-!&J CL; ,I!0 M>LG .3JJ M>G; ,I! 0C; !,,-!&J
F cam$ia de $anco F confgura ,I!0 todo como salida F mue%e .33J a H F mue%e H a trisa F cam$ia de $anco
C!NI1LCD M>LG
@3E
F mue%e @A@3 a H J
CLL C>+,>L M>LG 3+,>L M>LG @CE CLL C>+,>L M>LG @E CLL C>+,>L
F en%ia el dato al lcd en modo de confguraciKn & mue%e 3
ENTRADA# 0,;!C">,&@ F pregunta si el $it @ del "uerto esta en @ y salta B>,> M8+!O82 0,;!C">,&2 F pregunta si le $it del puerto esta en @ y salta B>,> M8+!O83 0,;!C">,&3 F pregunta si el $it 3 del "uerto esta en o y salta B>,> M8+!O85 B>,> 0>LCD F $orra LCD
+ blo,ue ,ue escribe el mensa"e 2 a visuali5er en el LCD %EN#A6E12 M>LG @2E CLL C>+,>L CLL 8,D> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG P+P CLL D,> M>LG PP
CLL D,> M>LG P,P CLL D,> M>LG P-P CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PLP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> FL8D I+,8MI,8+,8 0!; ">,0&@ CLL 8,D>2 0C; ">,0&@ CLL 8,D>2 B>,> 8+,D! %EN#A6E13 M>LG @2E CLL C>+,>L CLL 8,D> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP Q
CLL D,> M>LG PP CLL D,> M>LG PLP CLL D,> M>LG PIP CLL D,> M>LG PMP CLL D,> M>LG P>P CLL D,> M>LG P+P CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> FL8D I+,8MI,8+,8 0!; ">,0&@ CLL 8,D>2 0C; ">,0&@ CLL 8,D>2 B>,> 8+,D! %EN#A6E17 M>LG @2E CLL C>+,>L CLL 8,D> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP <
CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG P0P CLL D,> M>LG P0P CLL D,> M>LG P1P CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> M>LG PP CLL D,> FL8D I+,8MI,8+,8 0!; ">,0&@ CLL 8,D>2 0C; ">,0&@ CLL 8,D>2 B>,> 8+,D!
+ blo,ue ,ue limpia( es decir limpia el LCD 8!RRA1LCD R
M>LG @2E CLL C>+,>L CLL 8,D> B>,> 8+,D! 8+D 3. Descripción de pines de entrada y salida E#9UE%A DEL $IC
$INE# DE ENTRADA Entrada es el puerto A $!RT A: #EN#!R 2 $!RT A2 #EN#!R 3 $!RT A3 #EN#!R 7
$INE# DE #ALIDA #ALIDA EL $UERT! 8 $!RT 8 3;< LCD $!RT 8: LED
5. 5. Diagrama de 6ujo del programa de automatiación (código .asm del punto 2)
2@
22