ACTIVIDAD CENTRAL UNIDAD 4 Diseño de productos electrónicos con microcontroladores Nombre de la actividad Manejo actividad Manejo de salidas en un micro microcon contro trolad lador or:: Displa Display y de Crista Cristall 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%ad acti%ado o el sensor sensor de presenc presencia ia instala instalado do.. Las posi$ilidades de productos productos son +,- +,-L& L& LIM/+ y 0 01. !e *a adquirido un sistema automatiado con 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 este an4lis an4lisis& is& puede puede utili utiliar ar la guía guía que apare aparece ce a conti continua nuació ción n para para desarrollar desarrollar los siguientes productos: productos: 2. Comentari Comentarios os de las líneas de program programació ación n del código suminist suministrado rado por el pro%eedor de ser%icios. 3. Descri Descripci pción ón de los pines pines de entrad entrada a y salida salida utili utiliad ados os para el sistem sistema a automatiado 5. Diagrama Diagrama de 6ujo 6ujo del progra programa ma de automa automatiac tiación. ión. -na %e fnali fnaliad ada& a& compri comprima ma el arc*i arc*i%o %o en #orma #ormato to .ip .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. )
*
D!CU%ENT! +U,A Diseño de productos electrónicos con microcontroladores 2. Coment Comentari arios os de líneas líneas de códig código. o. 8scri$ 8scri$a a los comen comentar tarios ios relac relacion ionado adoss con con cada $loque de código. I+CL-D8 9"2;3<.I+C= C0L>C? @A3@ @C&@D&@8&25&loops&lo @C&@D&@8&25&loops&loops3&8BA&C ops3&8BA&C>+,8&M8M>I& >+,8&M8M>I&AC>M"&AID2&A AC>M"&AID2&A ID3&A">2&M8+!C>+,&C>+ ID3&A">2&M8+!C>+,&C>+-!8&D -!8&D, ,I+&C>+,-!8& I+&C>+,-!8& C>+,I+,!&M8M!, C>+,I+,!&M 8M!,,-!&D, ,-!&D,-"&D, -"&D,C>M"&ID C>M"&ID2!8&ID3!8&ID5!8 2!8&ID3!8&ID5!8 8+DC 8 !
81- 3E FFconstante 8 81- 2E FFconstante ! >B @A@@ FF origen del programa B>,> I+ICI> I+ICI> FF salto a inicio inicio
FF $loque de código de confguracion inicial del microcontrolador FF $loque que genera una pausa muy peque'a de tiempo. "ara la utiliación de espera de confguracion de la lcd RETARD! CLGD, FF limpia el Hatc*dog timer M>LG M>LG D2J FFmue%e 2J a G M>G; loops FF mue%e H a loops top32 M>LG D3J FF mue%e 3J a G M>G; loops3 FF mue%e H a loops3 top2 CLGD, FF limpia el Hatc*dog timer +>" +>" +>" +>" +>" +>" D8C;!K loops3&2 FFdecrement en 2 loops3 y pregunta si es cero y salta& si no continuara B>,> top2 FF salta a top2 D8C;!K loops&2 FF decrement en 2 loops y pregunta que si es cero y salta& si no continuara B>,> top32 FF salta a top32 8,LG 8,LG @ FF retorna con H @ FF$loque que genera una pausa de tiempo mayor que la anterior anterior.para .para FFla utiliacion de espera de confguracio confguracion n y escritura de lcd -
RETARD!.) CLGD, M>LG D2@@ M>G; loops top33 M>LG D3@@ M>G; loops3 top3 CLGD, +>" +>" +>" +>" +>" +>" D8C;!K loops3&2 B>,> top3 D8C;!K loops&2 B>,> top33 8,LG @ C!NTR!L CLGD, FF limpia el Hatc*dog timer 0C; ">,0 >,0& &! ! FF coloca loca el $it rs del port$ ort$ en cero ero par para a confguracion B>,> D D,>3 FF salto a D,>3 DAT! CLGD, 0!; "> ">,0& ,0&! ! FFco FFcolo loca ca el $it $it rs rs del del puert uerto o $ en 2 par para a esc escri ritu tura ra en LCD DAT!* 0!; ">,0 >,0&8 &8 FFc FFcoloca loca el $it $it 8 del del pu puert erto 8 en 2 pa para *a$ *a$ilit ilita ar la la lc lcd M>G; @8 FF mue%e el registro H a @8 M>LG @;E FFmue%e el nuemro @@; a H +DG +DG;; "> ">,0&2 ,0&2 FFr FFreali ealia a la oper operac acio ion n +D +D H con con el el "uert uerto o $y $y guardaen N puerto$ M>; @8&G @8&G FF mue%e mue%e >8 a H +DLG DLG @;@E ;@E FFr FFreali ealia a la opera eracion ion +D +D de H con @A; @A;@ I>G >G; ">,0 >,0&2 &2 FFr FFreali ealia a la oper opera acion ion > de H con "uert erto $ y guarda en N"uert$ CLL 8,D> 8,D> FF reali realia a un retardo retardo en la la ejecució ejecución n 0C; ">,0&8 FF desa$ilita la lcd colocando creo en el $it 8del port$ CLL 8,D> 8,D> FFN realia realia una una pausa pausa o retardo retardo en el ejecucion ejecucion 4
port$
0!;
">,0&8 FF FFN *a$ilita la lcd colocando cr creo en en el $i $it 8 del
M>LG @;EN FFmue%e @;@ a H +DG +DG;; "> ">,0&2 ,0&2 FFr FFreali ealia a la oper operac ació ión n +D +D H con con el puer puerto to $ y guarda enN port$ !G" !G";; @8& @8&G G FF FF rea reali lia a el ca$i ca$io o de de $it $it o ni$ ni$$l $le e de de la% la%ar aria ia$l $le e @8 @8 yNguarda en H +DLG DLG @;@E ;@E FFr FFreali ealia la opera eración ción +D @@; @;con H I> I>G; "> ">,0&2 ,0&2 FFr FFreali ealia a la oper operac ació ión n > > de H con con port port$ $ yg yguard uarda a enN port$ CLL CLL 8, 8,D> D> FF gener genera a una paus pausa a 0C; ">,0&8 FF des*a$ilita la lcd CLL CLL 8, 8,D> D> FF llam llama a retar retardo do 8,LG @ F FF FF retorna con H en @ INICI! 0!; !,,-!&J FF cam$ia de $anco CL; ,I!0 ,I!0 FFconfgura FFconfgura ,I!0 ,I!0 todo como salida salida M>LG .3JJ FFmo%er 3JJ a H M>G; ,I! FFmo%er H a trisa 0C; !,,-!&J FF cam$iar de $anco C!N/I.LCD M>LG @3E FFmue%e @@3 a G CLL CLL C>+, C>+,> >LL FF en%i en%ia a el el dat dato o a la lcd lcd en en mod modo o dec decon onfg fgur urac acio ion n M>LG 3+,>L M>LG @CE CLL LL C>+, >+,>L M>LG @E CLL LL C>+, >+,>L ENTRADA# 0,;!C">,&@ 0,;!C">,&@ FF pregunta si el $it @ del puerto a esta en@ y salta B>,> M8+!O82 FFpregunta si si el $it 2 del puerto a esta en @ y salta 0,;!C">,&2 0,;!C">,&2 FF pregunta si el $it 2 del puerto a esta en @ y salta B>,> M8+!O83 M8+!O83 FF 0,;!C">,&3 0,;!C">,&3 FF pregunta si el $it 3 del puerto a esta en @ y salta B>,> M8+!O85 M8+!O85 FF B>,> 0>LCD 0>LCD FF $orra la lcd FF$loque que escri$e el mensaje 2 a %isualier en la lcdFF %EN#A0E.) M>LG @2E CLL C>+,>L CLL 8,D> 1
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,> NL8D I+,8MI,8+,8 I+,8MI,8+,8 0!; ">,0&@ CLL CLL 8, 8,D> D>2 2 0C; ">,0&@ CLL 8,D>2 B>,> 8+,D 8+,D! ! 2
FF0loque que escri$e escri$e el mensaje 3 a %isualiar en la lcd %EN#A0E.* 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 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 3
CLL D,> NL8D I+,8MI,8+,8 I+,8MI,8+,8 0!; ">,0&@ CLL CLL 8, 8,D> D>2 2 0C; ">,0&@ CLL 8,D>2 B>,> 8+,D 8+,D! ! FF0loque que escri$e escri$e el mensaje 3 a %isualiar en la lcd %EN#A0E.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,> NL8D I+,8MI,8+,8 I+,8MI,8+,8 0!; ">,0&@ CLL CLL 8, 8,D> D>2 2 0C; ">,0&@ CLL 8,D>2 B>,> 8+,D 8+,D! ! FF$loque que limpia es decir $orra la lcd 5!RRA.LCD M>LG @2E CLL C>+,>L CLL 8,D> B>,> 8+,D 8+,D! ! 8+D
3. Descripci Descripción ón de de pines pines de entrada entrada y salida salida E#6UE%A DEL $IC
$INE# DE ENTRADA
7
$INE# DE #ALIDA
8ntrada es el puerto ">,@ sensor 2">,2 sensor 3">,3 sensor 5
!alida el puerto ">,03QR LCD">,0@ L8D
5. 5. Diagrama de 6ujo del programa de automatiación automatiación (código (código .asm del del punto 2)
)8