Você está na página 1de 81

Tecnicatura en Mecatrnica 2010

Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Trabajo Prctico N 1: MOTOR PASO A PASO


Objetivo: Aplicacin conceptos ya vistos en la carrera. Familiarizarse con el uso de MPP y circuitos de control. Materiales: Fuente de alimentacin variable Multmetro Plaqueta de pruebas de MPM Minilab Cable de Puerto paralelo a Plaqueta de prueba. Motor paso a paso unipolar Procedimiento: . #. !denti"icar las bobinas del MPP $nsamble el MPP con una escala %raduada en %rados &'()*+ de acuerdo a la si%uiente su%erencia:

12

'.

Armar la plaqueta inter"az para el PP de acuerdo al circuito su%erido.

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a: '(

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!


hasta la placa de pruebas.

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Armar el cable con el conector ,-#. a la placa de control de por lo menos 1 m desde el puerto

12

..

(. 1.

;.

/acer un pro%rama en la PC que controle la secuencia del MPP que permita: ... . Modi"icar la velocidad de la secuencia. ...#. $le%ir paso completo o medio paso ...'. $leccin del sentido de %iro. ...0. !ndicacin en pantalla de la secuencia que esta realizando. ,eterminar los %rados por paso del MPP. /acer %irar el MPP con la si%uiente secuencia: &,2derec3a 4 !2!zquierda 4 P2 pausa #se%5 62%iros completos '()*+ .1. . # , 7 # !7 ' , 7 ! .1.#. ' ,7 P7 # ,7 P7 . !. .1.'. ' ,7 # ! 8 pasos7 P7 0 , 8 paso. .1.0. . !7 ' , ,O-9$ :$9OC!,A,7 P7 # !7 P7 ' , M$,!A :$9OC!,A,. CO<C9=>!O<$>

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

12

$nsamble del motor

-obinas

,esde la vista "rontal la placa de la placa las cone?iones de izquierda a derec3a son:

-obina A -obina Com@n -obina C -obina ,

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

12

Interfase
La interfase posee un adaptador de seales (78hc245) tanto para entrada como para salida. Adems de un conector de salidas l icas posee un !uffer ("L# 28$%) para salida de potencia con led testi os de las mismas. &am!i'n incorpora un re ulador de tensin (78$5) para alimentar la parte de control( en cam!io las salidas potenciadas son alimentadas con la tensin directa.

'

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

12

5) ()*2*% + 4) ,ro rama


#include<stdio.h> #include<conio.h> #include<dos.h> #include<windows.h> #include <iostream> typedef short _stdcall (*inpfuncPtr)(short portaddr); funcion de in! out del puerto fuera del main. typedef "oid _stdcall (*oupfuncPtr)(short portaddr# short datum); main() $ %&'()*'+, h-ib; re.uerimientos de la funcion de in!out del puerto dentro del main. inpfuncPtr inp/0; oupfuncPtr oup/0; h-ib1-oad-ibrary(2inpout/0.dll2); if (h-ib 11 '3--) $printf(2-oad-ibrary 4ailed.5n2); return !1; 6 inp/0 1 (inpfuncPtr) 7etProc*ddress(h-ib# 2&np/02); if (inp/0 11 '3--) $printf(27etProc*ddress for &np/0 4ailed.5n2); return !1; 6 oup/0 1 (oupfuncPtr) 7etProc*ddress(h-ib# 28ut/02); if (oup/0 11 '3--) $printf(27etProc*ddress for 8up/0 4ailed.5n2); return !1; 6 fin funcion habilitadora del puerto int 9#rpm11::#P*(8(1:#p1;#i#t#c1:; declaracion de "ariables char menu#<iro1=d=#tipo1=e=#>; unsi<ned int pasos1:; printf(25nPro<rama para controlar un motor P.a P. unipolar5n5n5n5n2); do $ printf(2* continuacion in<rese la opcion deseada5n5n&n<resar al menu? m5n(alir del pro<rama? s5n2); menu do menu1<etch(); while(menu@1=m=AA menu@1=s=); if(menu@1=s=) $ do $ system(2cls2); do$ printf(2 ***Benu***5n2); printf(2Para cambiar la "elocidad de la secuencia in<rese? "5nPara cambiar el tipo de paso in<rese? t5nPara ele<ir el sentido de <iro in<rese? <5nPara modificar la cantidad de pasos in<rese? p5nPara salir del menu in<rese? o5n5n&n<rese la opcion deseada5n2 ); menu1<etch(); system(2cls2); switch(menu) $ case ="=? printf(2&n<rese la "elocidad en >PB5n2); scanf(2Cd2#Arpm); system(2cls2); printf(2Desea in<resar otro itemEs n2); do >1<etch(); while(>@1=s=AA>@1=n=); if(>11=s=) 91:; else 911; system(2cls2); breaF; case =p=? printf(2&n<rese la cantidad de pasos deseada5n2); scanf(2Cd2#Apasos); system(2cls2); printf(2Desea in<resar otro itemEs n2); do >1<etch(); while(>@1=s=AA>@1=n=); if(>11=s=) 91:; else 911; system(2cls2); breaF; case =<=? do$ printf(2&n<rese lel sentido de <iro5n5nDerecha? d 5n&G.uierda? i5n2); <iro1<etch(); 6 while(<iro@1=d=AA<iro@1=i=); system(2cls2); printf(2Desea in<resar otro itemEs n2); do >1<etch(); while(>@1=s=AA>@1=n=); if(>11=s=) 91:; else 911; system(2cls2); breaF; case =t=? do $ printf(2&n<rese el tipo de paso5n5nPaso entero? e5nPaso 1 0? m5n2); tipo1<etch(); 6 while(tipo@1=e=AAtipo@1=m=); system(2cls2); printf(2Desea in<resar otro itemEs n2); do >1<etch(); while(>@1=s=AA>@1=n=); if(>11=s=) 91:; else 911; system(2cls2); breaF; case =o=? *

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!


911; system(2cls2); breaF;

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

breaF; 6 oup/0(:H/K;#p); (leep(t); 6 6 else $ for(i1:;i>P*(8(;i!!) $c!!; if(c<1) c1N; switch(c) $case 1 ?p110; breaF; case 0 ?p1O; breaF; case / ?p1/; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); 6 6 6 else secuencia de 1 0 paso $ t1O0J rpm; c1:; oup/0(:H/K;#1); correccion de la posicion para empeGer a medir (leep(0::); system(2cls2); printf(2Botor listo para comenGar la medicion5n5n5n2); system(2pause2); system(2cls2); printf(2-os "alores in<resados son?5n5n7iro? Cc5n)ipo de paso? Cc5nIelocidad? Cd>PB5n+antidad de pasos? Cd5n5nDesea modificar al<uno de estos "aloresEs n5n2#<iro#tipo#rpm#pasos); if(P*(8(>:) $ for(i1:;i<P*(8(;iMM) $cMM; if(c>;) c11; switch(c) $case 1 ?p1;; breaF; case 0 ?p110; breaF; case / ?p1N; breaF; case N? p1O; breaF; case J? p10; breaF; case O? p1/; +

12

default? 91:; system(2cls2); printf(2-a opcion in<resada no eHiste5nIuel"a a in<resar la opcion5n2); breaF; 6 6 while(911:); fin del menu

muestra de datos printf(2-os "alores in<resados son?5n5n7iro? Cc5n)ipo de paso? Cc5nIelocidad? Cd>PB5n+antidad de pasos? Cd5n5nDesea modificar al<uno de estos "aloresEs n5n2#<iro#tipo#rpm#pasos); do >1<etch(); while(>@1=s=AA>@1=n=); if(>11=s=) 91:; else 911; system(2cls2); 6 while(911:); if(<iro11=d=) P*(8(1pasos*1; else P*(8(1pasos*(!1); if(tipo11=e=)

definicion del sentido de <iro

secuencia de paso entero

$ t110J: rpm; c1:; oup/0(:H/K;#L); (leep(0::); system(2cls2); printf(2Botor listo para comenGar la medicion5n5n5n2); system(2pause2); system(2cls2); printf(2-os "alores in<resados son?5n5n7iro? Cc5n)ipo de paso? Cc5nIelocidad? Cd>PB5n+antidad de pasos? Cd5n5nDesea modificar al<uno de estos "aloresEs n5n2#<iro#tipo#rpm#pasos); if(P*(8(>:) $ for(i1:;i<P*(8(;iMM) $cMM; if(c>N) c11; switch(c) $case 1 ?p110; breaF; case 0 ?p1O; breaF; case / ?p1/; breaF; default? p1L;

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!


breaF; case K? p11; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); 6 6

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

12

else $ for(i1:;i>P*(8(;i!!) $c!!; if(c<1) c1;; switch(c) $case 1 ?p1;; breaF; case 0 ?p110; breaF; case / ?p1N; breaF; case N? p1O; breaF; case J? p10; breaF; case O? p1/; breaF; case K? p11; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); 6 6 6 fin secuencia

6 6 while(menu@1=s=); oup/0(:H/K;#:); printf(25nbye bye2); (leep(1:::); return :; 6

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

12

O.1),ro rama
#include<stdio.h> #include<conio.h> #include<dos.h> #include<windows.h> typedef short _stdcall (*inpfuncPtr)(short portaddr); funcion de in! out del puerto fuera del main. typedef "oid _stdcall (*oupfuncPtr)(short portaddr# short datum);

breaF; case / ?p1/; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); (leep(J:);

6 for(i1:;i<(N;*/);iMM) $cMM;

main() $ %&'()*'+, h-ib; re.uerimientos de la funcion de in!out del puerto dentro del main. inpfuncPtr inp/0; oupfuncPtr oup/0; h-ib1-oad-ibrary(2inpout/0.dll2); if (h-ib 11 '3--) $printf(2-oad-ibrary 4ailed.5n2); return !1; 6 inp/0 1 (inpfuncPtr) 7etProc*ddress(h-ib# 2&np/02); if (inp/0 11 '3--) $printf(27etProc*ddress for &np/0 4ailed.5n2); return !1; 6 oup/0 1 (oupfuncPtr) 7etProc*ddress(h-ib# 28ut/02); if (oup/0 11 '3--) $printf(27etProc*ddress for 8up/0 4ailed.5n2); return !1; 6 fin funcion habilitadora del puerto int i#p#c1:#t11J; oup/0(:H/K;#L); printf(2tp 1.K.12); system(2pause2); for(i1:;i<(N;*0);iMM) $cMM; if(c>N) c11; switch(c) $case 1 ?p110; breaF; case 0 ?p1O; breaF; case / ?p1/; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); 6 (leep(J:); for(i1:;i>(!N;*0);i!!) $c!!; if(c<1) c1N; switch(c) $case 1 ?p110; breaF; case 0 ?p1O;

if(c>N) c11; switch(c) $case 1 ?p110; breaF; case 0 ?p1O; breaF; case / ?p1/; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); 6 (leep(J:); for(i1:;i>(!N;*1);i!!) $c!!; if(c<1) c1N; switch(c) $case 1 ?p110; breaF; case 0 ?p1O; breaF; case / ?p1/; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); 6 oup/0(:H/K;#:); printf(25nbyebye2); (leep(0:::); return :; 6 O.0)Pro<rama O./)Pro<rama O.N)Pro<rama

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

12

O.0),ro rama
#include<stdio.h> #include<conio.h> #include<dos.h> #include<windows.h> typedef short _stdcall (*inpfuncPtr)(short portaddr); funcion de in! out del puerto fuera del main. typedef "oid _stdcall (*oupfuncPtr)(short portaddr# short datum); 6 for(i1:;i>(!N;*J);i!!) $c!!;

breaF; case / ?p1/; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); (leep(0:::);

main() $ %&'()*'+, h-ib; re.uerimientos de la funcion de in!out del puerto dentro del main. inpfuncPtr inp/0; oupfuncPtr oup/0; h-ib1-oad-ibrary(2inpout/0.dll2); if (h-ib 11 '3--) $printf(2-oad-ibrary 4ailed.5n2); return !1; 6 inp/0 1 (inpfuncPtr) 7etProc*ddress(h-ib# 2&np/02); if (inp/0 11 '3--) $printf(27etProc*ddress for &np/0 4ailed.5n2); return !1; 6 oup/0 1 (oupfuncPtr) 7etProc*ddress(h-ib# 28ut/02); if (oup/0 11 '3--) $printf(27etProc*ddress for 8up/0 4ailed.5n2); return !1; 6 fin funcion habilitadora del puerto int i#p#c1:#t11J; oup/0(:H/K;#L); printf(2tp 1.K.02); system(2pause2); for(i1:;i<(N;*/);iMM) $cMM; if(c>N) c11; switch(c) $case 1 ?p110; breaF; case 0 ?p1O; breaF; case / ?p1/; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); 6 (leep(0:::); for(i1:;i<(N;*0);iMM) $cMM; if(c>N) c11; switch(c) $case 1 ?p110; breaF; case 0 ?p1O;

if(c<1) c1N; switch(c) $case 1 ?p110; breaF; case 0 ?p1O; breaF; case / ?p1/; breaF; default? p1L; breaF; 6 oup/0(:H/K;#p); (leep(t); 6 oup/0(:H/K;#:); printf(25nbyebye2); (leep(0:::); return :; 6

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

12

O./),ro rama
/include0stdio( 1 /include0conio( 1 /include0dos( 1 /include02indo2s( 1 t3#ede4 s ort 5stdcall 67in#4unc8tr96s ort #ortaddr9: "" 4uncion de in;out del #uerto 4uera del main( t3#ede4 <oid 5stdcall 67ou#4unc8tr96s ort #ortaddr= s ort datum9:

>case 1 :#B-:

main69 > ?I&%TA&C@ Li$: "" reAuerimientos de la 4uncion de in;out del #uerto dentro del main( in#4unc8tr in#)2: ou#4unc8tr ou#)2: Li$BLoadLi$rar36Cin#out)2(dllC9: i4 6 Li$ BB &DLL9 >#rint46CLoadLi$rar3 Failed(EnC9: return ;1: F in#)2 B 6in#4unc8tr9 Get8rocAddress6 Li$= CIn#)2C9: i4 6in#)2 BB &DLL9 >#rint46CGet8rocAddress 4or In#)2 Failed(EnC9: return ;1: F ou#)2 B 6ou#4unc8tr9 Get8rocAddress6 Li$= CHut)2C9: i4 6ou#)2 BB &DLL9 >#rint46CGet8rocAddress 4or Hu#)2 Failed(EnC9: return ;1: F "" 4in 4uncion a$ilitadora del #uerto int i=#=cB)=tB1*: ou#)26!I),-=+9: #rint46Ct# 1(,()EnEnC9: s3stem6C#auseC9: 4or6iB!:i06'-7)9:iJJ9 >cJJ:

F %lee#62!!!9:

$reaK: case 2 :#B12: $reaK: case ) :#B': $reaK: case ': #B+: $reaK: case *: #B2: $reaK: case +: #B): $reaK: case ,: #B1: $reaK: de4ault: #B.: $reaK: F ou#)26!I),-=#9: %lee#6t9:

>case 1 :#B.:

i46c1'9 cB1: s2itc 6c9 $reaK: case 2 :#B12: $reaK: case ) :#B+: $reaK: de4ault: #B): $reaK: F ou#)26!I),-=#9: %lee#6t9:

4or6iB!:i06.+7'9:iJJ9 >cJJ: i46c1-9 cB1: s2itc 6c9 >case 1 :#B-: $reaK: case 2 :#B12: $reaK: case ) :#B': $reaK: case ': #B+: $reaK: case *: #B2: $reaK: case +: #B): $reaK: case ,: #B1: $reaK: de4ault: #B.: $reaK: F ou#)26!I),-=#9: %lee#6t9: F ou#)26!I),-=!9: #rint46CEn$3e$3eC9: %lee#62!!!9: return !: F

F %lee#62!9: >c;;:

4or6iB!:i16;.+729:i;;9 i46c019 cB-: s2itc 6c9 1!

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!

Materia: Legajo: A#ro$ado: >cJJ:

Mecatrnica II 104180
%I " &o Curso : Firma : i46c1'9 cB1: s2itc 6c9 $reaK: case 2 :#B12: $reaK: case ) :#B+: $reaK: de4ault: #B): $reaK: F ou#)26!I),-=#9: %lee#66t"299: ""#ausa "" 2

2M10

12

O./)Pro<rama
>case 1 :#B.: /include0stdio( 1 /include0conio( 1 /include0dos( 1 /include02indo2s( 1 t3#ede4 s ort 5stdcall 67in#4unc8tr96s ort #ortaddr9: "" 4uncion de in;out del #uerto 4uera del main( t3#ede4 <oid 5stdcall 67ou#4unc8tr96s ort #ortaddr= s ort datum9:

F %lee#62!!!9: main69 > ?I&%TA&C@ Li$: "" reAuerimientos de la 4uncion de in;out del #uerto dentro del main( in#4unc8tr in#)2: ou#4unc8tr ou#)2: Li$BLoadLi$rar36Cin#out)2(dllC9: i4 6 Li$ BB &DLL9 >#rint46CLoadLi$rar3 Failed(EnC9: return ;1: F in#)2 B 6in#4unc8tr9 Get8rocAddress6 Li$= CIn#)2C9: i4 6in#)2 BB &DLL9 >#rint46CGet8rocAddress 4or In#)2 Failed(EnC9: return ;1: F ou#)2 B 6ou#4unc8tr9 Get8rocAddress6 Li$= CHut)2C9: i4 6ou#)2 BB &DLL9 >#rint46CGet8rocAddress 4or Hu#)2 Failed(EnC9: return ;1: F "" 4in 4uncion a$ilitadora del #uerto int i=#=cB!=tB2+: ou#)26!I),-=.9: #rint46Ct# 1(,('EnEnC9: s3stem6C#auseC9: 4or6iB!:i16;'-7*9:i;;9 >c;;: "" * iLAuierda i46c019 cB': s2itc 6c9 $reaK: case 2 :#B12: $reaK: case ) :#B+: $reaK: de4ault: #B): $reaK: F ou#)26!I),-=#9: %lee#6t9: iLAuierda >c;;:

4or6iB!:i16;.+9:i;;9 i46c019 cB': s2itc 6c9

>case 1 :#B.:

$reaK: case 2 :#B12: $reaK: case ) :#B+: $reaK: de4ault: #B): $reaK: F ou#)26!I),-=#9: %lee#6t9: "" #ausa "" ) derec a 1"2 <elocidad i46c1'9 cB1: s2itc 6c9 $reaK: case 2 :#B12: $reaK: case ) :#B+: $reaK: de4ault: #B): $reaK: F ou#)26!I),-=#9: %lee#66t7299:

%lee#62!!!9:

4or6iB!:i06'-7)9:iJJ9 >cJJ:

>case 1 :#B.:

>case 1 :#B.:

F ou#)26!I),-=!9: #rint46CEn$3e$3eC9: %lee#62!!!9: return !: F

F %lee#62!!9: s3stem6C#auseC9:

4or6iB!:i06'-7)9:iJJ9 derec a do$le de <elocidad

"") 11

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 1!"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

12

+onclusiPn
,s muy interesante la eHperiencia ya .ue son motores de fQcil maneRo desde una plataforma informQtica o di<ital# y muy prQcticos para implementarlos en posicionamiento preciso ahorrando la necesidad de retroalimentaciPn de datos de posiciPn y con la posibilidad de blo.uearse en la ultimo paso dado. -as "entaRas son muchas en relaciPn a pocas complicaciones .ue presentan. (on una eHcelente herramienta para realiGar los mo"imientos de nuestro proyecto mecatrPnico.

Nota: todas las hoja de datos estn adjuntadas el la secciono anexos de esta carpeta

12

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn *"!*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Trabajo Prctico N 2: MOTOR CORR !NT! CONT N"A


Objetivo: Aplicacin conceptos ya vistos en la carrera y en clase.

1.

!MPOABA<B$: 9os pro%ramas que se 3a%an7 ,$-$< indicar en pantalla los datos del proceso Fuente de alimentacin Multmetro Minilab Cable de Puerto paralelo y Plaqueta de pruebas. Motor corriente contnua. Bransistor <P< &de acuerdo al consumo del MCC+ &#+ Bransistor P<P &de acuerdo al consumo del MCC+ &#+ C! 9M... Aesistencia CD &#+ Potencimetro ))CD Capacitor electroltico de ) EF ? ( : Procedimiento: #. Bomar los si%uientes datos del Motor de CC . . !denti"icar terminales de motor de CC . . :oltaje de trabajo. Voltaje del motor: 12V .#. Conectar el MCC y medir su consumo & corriente+ Corriente: De vaco: 28.7 [mA] Enclavado: 520 [mA] '. $nsamble al eje del motor una a%uja o indicador que nos permita ver con claridad el movimiento.

0. Armar en el M!<!9A- el si%uiente circuito y controlarlo desde el puerto paralelo de la PC.

1)

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn *"!*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

1.

.. Armar en el M!<!9A- el si%uiente circuito y controlarlo desde el puerto paralelo de la PC.

(. Armar en el M!<!9A- el si%uiente circuito y controlarlo desde el puerto paralelo de la PC.

1. Control de velocidad &PFM+. Armar en el M!<!9A- el si%uiente circuito para controlar la velocidad.

1'

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn *"!*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

1.

;+ Pro%ramas: 2.3
GincludeHstdio.3I GincludeHconio.3I GincludeHdos.3I GincludeHJindoJs.3I Ginclude HiostreamI typede" s3ort Kstdcall &Linp"uncPtr+&s3ort portaddr+M NN "uncion de in5out del puerto "uera del main. typede" void Kstdcall &Loup"uncPtr+&s3ort portaddr7 s3ort datum+M main&+ O /!<>BA<C$ 39ibM NN requerimientos de la "uncion de in5out del puerto dentro del main. inp"uncPtr inp'#M oup"uncPtr oup'#M 39ib29oad9ibrary&Pinpout'#.dllP+M i" &39ib 22 <=99+ Oprint"&P9oad9ibrary Failed.QnP+M return 5 M R inp'# 2 &inp"uncPtr+ 6etProcAddress&39ib7 P!np'#P+M i" &inp'# 22 <=99+ Oprint"&P6etProcAddress "or !np'# Failed.QnP+M return 5 M R oup'# 2 &oup"uncPtr+ 6etProcAddress&39ib7 POut'#P+M i" &oup'# 22 <=99+ Oprint"&P6etProcAddress "or Oup'# Failed.QnP+M return 5 M R c3ar AM oup'#&)?'1;7)+M print"&PQnd: derec3a Qni:!zquierdaP+M print"&PQns: Fin de pro%rama.QnP+M system&PpauseP+M doO 1* NN "in "uncion 3abilitadora del puerto

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn *"!*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

print"&PQn!n%rese la letra claveQnP+M A2%etc3&+M system&PclsP+M i"&A22SiS+ Ooup'#&)?'1;7)+M print"&P6iro izquierdoP+M R else Ooup'#&)?'1;7 +M print"&P6iro derec3oP+M R R J3ile&AT2SsS+M oup'#&)?'1;7)+M return )M R

inp"uncPtr inp'#M oup"uncPtr oup'#M 39ib29oad9ibrary&Pinpout'#.dllP+M i" &39ib 22 <=99+ Oprint"&P9oad9ibrary Failed.QnP+M return 5 M R inp'# 2 &inp"uncPtr+ 6etProcAddress&39ib7 P!np'#P+M i" &inp'# 22 <=99+ Oprint"&P6etProcAddress "or !np'# Failed.QnP+M return 5 M R oup'# 2 &oup"uncPtr+ 6etProcAddress&39ib7 POut'#P+M

1.

i" &oup'# 22 <=99+ Oprint"&P6etProcAddress "or Oup'# Failed.QnP+M return 5 M R int i2;M c3ar lM print"&PQna: $nciende M .Qnb: Apa%a M .P+M print"&PQnc: $nciendeM#Qnd: Apa%a M#.P+M print"&PQn>: Fin de pro%rama.QnP+M doO print"&PQn!n%rese la letra claveQnP+M l2%etc3&+M system&PclsP+M sJitc3&l+ Ocase SaS: i2iU#M NN "in "uncion 3abilitadora del puerto

2.
GincludeHstdio.3I GincludeHconio.3I GincludeHdos.3I GincludeHJindoJs.3I Ginclude HiostreamI typede" s3ort Kstdcall &Linp"uncPtr+&s3ort portaddr+M NN "uncion de in5out del puerto "uera del main. typede" void Kstdcall &Loup"uncPtr+&s3ort portaddr7 s3ort datum+M main&+ O /!<>BA<C$ 39ibM NN requerimientos de la "uncion de in5out del puerto dentro del main.

breaVM case SbS: i2iW#.'M breaVM case ScS: i2iU0M 1+

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn *"!*"2!1!


breaVM case SdS: i2iW#.)M

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

O /!<>BA<C$ 39ibM NN requerimientos de la "uncion de in5out del puerto dentro del main. inp"uncPtr inp'#M

1.

breaVM oup"uncPtr oup'#M de"ault: breaVM 39ib29oad9ibrary&Pinpout'#.dllP+M R oup'#&)?'1;7i+M i" &39ib 22 <=99+ sJitc3&i+ Oprint"&P9oad9ibrary Failed.QnP+M O case ):print"&PM encendidoQnM# apa%adoP+M return 5 M breaVM R case #:print"&PM apa%adoQnM# encendidoP+M i" &inp'# 22 <=99+ breaVM Oprint"&P6etProcAddress "or !np'# Failed.QnP+M case 0: print"&PM encendidoQnM# encendidoP+M breaVM de"ault: print"&PM apa%adoQnM# apa%adoP+M R RJ3ile&lT2SsS+M oup'#&)?'1;7)+M return )M R return 5 M R oup'# 2 &oup"uncPtr+ 6etProcAddress&39ib7 POut'#P+M inp'# 2 &inp"uncPtr+ 6etProcAddress&39ib7 P!np'#P+M

i" &oup'# 22 <=99+ Oprint"&P6etProcAddress "or Oup'# Failed.QnP+M return 5 M R int i20M c3ar lM doO system&PclsP+M NN "in "uncion 3abilitadora del puerto

2.5
GincludeHstdio.3I GincludeHconio.3I GincludeHdos.3I GincludeHJindoJs.3I Ginclude HiostreamI typede" s3ort Kstdcall &Linp"uncPtr+&s3ort portaddr+M NN "uncion de in5out del puerto "uera del main. typede" void Kstdcall &Loup"uncPtr+&s3ort portaddr7 s3ort datum+M main&+

print"&PQna: $nciende M .Qnb: Apa%a M .P+M print"&PQni: derec3aQnd: izquierda M#.P+M print"&PQns: Fin de pro%rama.QnQnP+M print"&P!n%rese la letra claveQnP+M sJitc3&i+ O encendidoQn6iro derec3oP+M breaVM case ):print"&PMotor encendidoQn6iro breaVM de"ault:print"&PMotor apa%adoP+M 1, case #:print"&PMotor

izquierdoP+M

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn *"!*"2!1!


breaVM R l2%etc3&+M system&PclsP+M

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

1.

sJitc3&l+ Ocase SaS: i2iU;M breaVM case SbS: i2iW#01M breaVM case SdS: i2iU0M i2iW#.'M breaVM case SiS: i2iU#M i2iW#. M breaVM de"ault: breaVM oup'#&)?'1;7i+M R J3ile&lT2SsS+M R

oup'#&)?'1;7)+M R

1-

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn *"!*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

1.

CO<C9=>!O<$>:

$s una interesante e?periencia ya que con los elementos adecuados nos permite controlar motores de C.C. de importante potencia y con un control muy simple por parte de la lo%ica di%ital $s muy @til porque para potencias de mas de #) o ') Fatts es di"icil encontrar motores PaP de "orma econmica7 en cambio motores de C.C. son mas "aciles de conse%uir en estas potencias y mayores7 sobre todo en el rubro automotor& cale"acciones7 A.C. levanta cristales etc.+

1.

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn *"!*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

1.

2!

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2+"*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

21

Trabajo Prctico N #: S!R$OMOTOR!S


Objetivo: Aplicacin conceptos ya vistos en la carrera y en clase.

MAB$A!A9$>: Fuente de alimentacin Multmetro Minilab >ervomotor C! 9M... Aesistencia ) CD &#+ Aesistencia ##) CD Aesistencia . CD Potencimetro )CD Capacitor )) nF &#+ Bransistor <P< -C.0; Procedimiento: ;. Bomar los datos del >ervomotor .#. !denti"icar terminales !arr"n: !a#a $ojo: %V &aranja: #e'al

.'. :oltaje de trabajo. Voltaje de tra(ajo: .8 V

21

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2+"*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

21

Armar en el M!<!9A- el si%uiente circuito.

X. CO<C9=>!O<$>: E# intere#ante el )#o de e#to# di#*o#itivo# #i #e tiene +)e reali,ar al-.n *e+)e'o movimiento como )na ma+)eta o al-o *or el e#tilo. /am(i0n rem*la,ando el encoder anal"-ico 1*otenci"metro2 *or )no di-ital *)ede #er m)3 .til como *o#icionador de alta *reci#i"n 3 45cil cone6i"n con c)al+)ier medio de control in4orm5tico7 como )n 89C o )na 8C *or ejem*lo.

22

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2+"*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

21

Trabajo Prctico N 4: S!NSOR!S %! T!MP!RAT"RA


Objetivo: Aplicacin conceptos ya vistos en la carrera y en clase.

MAB$A!A9$>: Fuente de alimentacin Multmetro Minilab ). ,e acuerdo al termistor a usar y el 9M'.7 adosar la 3oja de datos al Brabajo PrYctico. .0. !denti"icar terminales &8/: :in *olaridad ;! 35:

... :oltaje de trabajo.


2)

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2+"*"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

&8/: De#conocido ;! 35: de 072 a 35V . Procedimiento: Armar en el M!<!9A- un circuito que represente el si%uiente sistema de control de temperatura.
VCC

21

<20

>I0

B8)8> 1
10I

31?* >I1
1:F / 1 0 11 N

>J
00:

S1
9+//K

1:F

-B/0N

>)1
!tc 1F

M;;.; M;;.;
Volts

M;;.;
Volts

Volts

2'

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2,"!-"1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

#. $l esquema %eneral es el si%uiente:

)!

PC
LPT1

SENSORES

ACTUADORES

Controlando # motores por medio de la PC a travZs del puerto paralelo de la si%uiente manera: . Para temperatura menor de #) %rados encender el motor del cale"actor #. Para temperatura mayores de ') %rados encender el motor del re"ri%erador '. !ndicar en pantalla y por una indicacin luminosa el motor que esta encendido.

'. Armar el si%uiente circuito con 9M'.

3/
0

I83)

30?*
:.: / 1 -B/J N

>/
1:F

1 0 11

-B/0N

>0
00F

(&7 I>8 >%& >-8 *DT

IM

J K O N ; L

>1
0.0F

B8D, I!

1: L ; K O J N / 0 1

1: 11 10 1/ 1N 1J 1O 1K 1; 1

>I1
1:F

31
-B/L1N

2*

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2,"!-"1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

0. CO<C9=>!O<$>:

)!

;o +)e e6*erimentamo# e# +)e el &/C 4)nciona como detector de )na tem*erat)ra *reviamente cali(rada7 #iendo m)3 .til como #i#tema de *roteccion termica *ero no como in#tr)mento de medici"n. En Cam(io el ;!35 #i e# *reci#o 3 m)3 )til como intr)mento de medici"n7 *or #er #) re#*)e#ta lineal 3 m)3 e#ta(le7 e#ta# c)alidade# de #) #e'al #im*li4ican enormemente la intre*retacion d la mi#ma7 3 en con#ec)encia la #im*li4icacion del circ)ito nece#ario *ara )tili,arlo.

2+

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2,"!-"1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

)!

Ane6o#

8ro-rama:
#include<stdio.h> #include<conio.h> #include<dos.h> #include<windows.h> #include <iostream> typedef short _stdcall (*inpfuncPtr)(short portaddr); // funcion de in-out del puerto fuera del main. typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum); main() { HI !"# $% h&i'; // requerimientos de la funcion de in-out del puerto dentro del main. inpfuncPtr inp(); oupfuncPtr oup(); h&i'*&oad&i'rar+(,inpout().dll,); if (h&i' ** -&&) {printf(,&oad&i'rar+ .ailed./n,); return 01; 2 inp() * (inpfuncPtr) 3etProc#ddress(h&i', ,Inp(),); if (inp() ** -&&) {printf(,3etProc#ddress for Inp() .ailed./n,); return 01; 2 oup() * (oupfuncPtr) 3etProc#ddress(h&i', ,4ut(),); if (oup() ** -&&) {printf(,3etProc#ddress for 4up() .ailed./n,); return 01; 2 // fin funcion habilitadora del puerto int t,p; char s; printf(, Para salir presione s,); 5etch(); while(1) {s+stem(,cls,); if(6'hit()) { s*5etch(); if(s**7s7) break; 2 t*inp()(89(:;);
2,

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2,"!-"1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

)!

switch(t) { case 1)8 <{p*1; printf(,$alafaccion,); 2 break; case ;=< {p*1)>; printf(,#ire acondicionado,); 2 break; default<p*8; printf(,temperatura entre )8 + (8,); break; 2 oup()(89(:>,p); !leep(?8); 2 oup()(89(:>,8); 2

2-

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2,"!-"1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Trabajo Prctico N & : S!NSOR!S


Objetivo: Aplicacin conceptos ya vistos en la carrera y en clase.

)!

MAB$A!A9$>: Fuente de alimentacin Multmetro Minilab sensores .. Adosar la 3oja de datos al Brabajo PrYctico delos sensores usados .(. !denti"icar terminales .1. :oltaje de trabajo. $tc. (. Procedimiento: . Armar en el M!<!9A- un circuito cuentavueltas usando un OPBOACOP9A,OA ranurado. #. =tilizar el circuito y pro%rama de MPP para el control de velocidad.

VCC

>1
NK:> -,D

31 D1
1 0 N 8P)8+83P-,>!'P' O J

>0
NK:>

a+ !n%resar los datos a la PC b+ /acer un pro%rama que : i+ cuente la vueltas APM ii+ calcule la velocidad

2.

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2,"!-"1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

17.8ro-rama
#include<stdio.h> #include<conio.h> #include<dos.h> #include<windows.h> #include <iostream> typedef short _stdcall (*inpfuncPtr)(short portaddr); // funcion de in-out del puerto fuera del main. typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum); double performancecounter@diff(&#A3%@I "%3%A *a, &#A3%@I "%3%A *') { &#A3%@I "%3%A freB; Cuer+Performance.reBuenc+(DfreB); return (double)(a0>CuadPart 0 '0>CuadPart) E (double)freB.CuadPart; 2 main() { HI !"# $% h&i'; // requerimientos de la funcion de in-out del puerto dentro del main. inpfuncPtr inp(); oupfuncPtr oup(); h&i'*&oad&i'rar+(,inpout().dll,); if (h&i' ** -&&) {printf(,&oad&i'rar+ .ailed./n,); return 01; 2 inp() * (inpfuncPtr) 3etProc#ddress(h&i', ,Inp(),); if (inp() ** -&&) {printf(,3etProc#ddress for Inp() .ailed./n,); return 01; 2 oup() * (oupfuncPtr) 3etProc#ddress(h&i', ,4ut(),); if (oup() ** -&&) {printf(,3etProc#ddress for 4up() .ailed./n,); return 01; 2 // fin funcion habilitadora del puerto char F; int d,c*8,G*8,; &#A3%@I "%3%A t@ini, t@fin; double secs; float f;

)!

// declara los punteros

printf(,Para in5resar al menu una GeH iniciado el conteo presione al5una tecla/n,); s+stem(,cls,); while(1) { cII; do {
)!

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2,"!-"1!


d*inp()(89(:;);

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

)!

2 while(d**11)); Cuer+Performance$ounter(Dt@ini); !leep(1?); do d*inp()(89(:;); while(dJ*11)); Cuer+Performance$ounter(Dt@fin);

//asigna

a t_ini el valor de reloj

// asigna a t_fin el valor del reloj s+stem(,cls,);

f*1E(performancecounter@diff(Dt@fin, Dt@ini))*=8;

printf(,Kueltas totales< Ld/nAPM< L5/n,,c,f); if(6'hit()) { s+stem(,cls,); printf(,/nPara terminar la aplicacion presione s/nPara resetear el contador presione r/n,); F*5etch(); if (F**7r7) c*8; if (F**7s7) break; 2 2 2

C<&C;=:9<&E::
$ste trabajo demostro que para la toma de datos por puerto en tiempo casi real la pc presenta di"icultades debido a que para obtener se%uridad en cuanto a los datos relevados se debe abocar todo el procesador en un bucle de repeticion para poder detectar con certeza la actividad del puerto imposibilitando as en uso en otras tareas. =na posible "orma de solucionar esto seria trabajar con interrupciones a nivel procesador7 lo cual implica conocimientos mas avanzados de pro%ramacion.

)1

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2,"!-"1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Trabajo Prctico N ' : M CROCONTRO(A%OR!S


1;. &mplemente un pro<rama # para lue<o simularlo # .ue realice el encendido de un led conectado al P3,>)8 + # (>+:) la si<uiente secuencia ?
a9 @ncienda un L@D en 4orma intermitente durante 1 segundo(

)!

i9

DIAGMAMA D@ FLDNH ii9


inicio

CHDIGH

de"ice 1Of;KKa define Htal N trisc1 C::::::::

Se presenta un solo cdigo, ya que todos los tems son realizados por el mismo programa, variando solamente los valores de los retardos ( elaymS! Device 16F877A Declare Xtal * N "AI!$ * L88888888 While 1 P4A"$.8 * 1 Delay ! ?88 P4A"$.8 * 8 Delay ! 1888 Wend "nd

P8>)+.: 1 1 DelayB( J:: P8>)+.: 1 : DelayB( 1:::

fin

(e presenta un solo dia<rama ya .ue todos los item se realiGaron con el mismo pro<rama# "ariando solo los tiempos de demora.(delayms).

$9 c9 d9 e9 29

@ncienda @ncienda @ncienda @ncienda

un un un un

L@D L@D L@D L@D

en en en en

4orma 4orma 4orma 4orma

intermitente durante 2*! ms intermitente durante 1!! ms( intermitente( Durante 1 segundo encendido 3 *!!ms a#agado( intermitente( Durante *!! ms encendido 3 1 s a#agado(

CH&CLD%IH&@%

" pesar de la simplicidad del prctico es muy #til para iniciarse en la programacin de $%&, en especial, al 'ormato de programacin y manejo de los registros de control de los puertos(

)2

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn 2+"!-"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Trabajo Prctico N ) : M CROCONTRO(A%OR!S


1L. &mplemente un pro<rama # para lue<o simularlo# .ue realice el encendido de dos ledUs conectados al P3,>)8 ,# (>,: ! >,1) la si<uiente secuencia ?
a9 @ncienda los L@DO% en 4orma intermitente durante 1 segundo cada uno( DIAGMAMA D@ FLDNH i9 CHDIGH
inicio

)1

Device 16F877 Declare Xtal * N "AI!$ * L88888888 P4A"$ * 8 While 1 * 1 P4A"$.8 * 1 P4A"$.1 * 8 Delay ! 1888 P4A"$.8 * 8 P4A"$.1 * 1 Delay ! 1888 Wend "nd

de"ice 1Of;KKa define Htal N trisc1 C::::::::

Vhile 1 1 1 P8>)+.: 1 1 P8>)+.1 1 : DelayB( 1::: P8>)+.: 1 : P8>)+.1 1 1 DelayB( 1:::

fin

-os Wtems b y c son Wdem al Wtem a# solo "ariando el "alor de los retardos (delayms)
$9 c9 @ncienda los L@DO% en 4orma intermitente durante )!! ms( cada uno( @ncienda los L@DO% en 4orma intermitente durante 1!! ms( cada uno(

d9

@ncienda los L@DO% en 4orma intermitente durante 1 segundo encendido 3 *!!ms a#agado cada uno(
inicio

de"ice 1Of;KKa define Htal N trisc1 C::::::::

P8>)+.: 1 1 P8>)+.1 1 : DelayB( J:: P8>)+.1 1 1 DelayB( J:: P8>)+.: 1 : DelayB( J:: P8>)+.: 1 1 P8>)+.1 1 : DelayB( J:: P8>)+.1 1 1 DelayB( J:: P8>)+.: 1 : DelayB( J::

fin

Device 16F877 Declare Xtal * N "AI!$ * L88888888 P4A"$ * 8 While 1 * 1 P4A"$.8 * 1 P4A"$.1 * 8 Delay ! ?88 P4A"$.1 * 1 Delay ! ?88 P4A"$.8 * 8 Delay ! ?88 P4A"$.8 * 1 P4A"$.1 * 8 Delay ! ?88 P4A"$.1 * 1 Delay ! ?88 P4A"$.8 * 8 Delay ! ?88 Wend "nd

e9

@ncienda los L@DO% en 4orma intermitente durante *!! ms encendido 3 1 s a#agado cada uno(

-os Wtems d y e son Wdem al Wtem a# in"irtiendo solo el estado de salida de los puerto
)9 CH&CLD%IH&@%

" pesar de la simplicidad del prctico es muy #til para iniciarse en la programacin de $%&, en especial, al 'ormato de programacin y manejo de los registros de control de los puertos(
%i la #resentacin ocurre en 4orma errPtica 3 no re4leja en 4orma 4iel la consigna= el T8 no serP a#ro$ado(

))

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA

Materia: Legajo: A#ro$ado:

Mecatrnica II
%I " &o Curso : Firma : )*

Trabajo Prctico N 8: M CROCONTRO(A%OR!S


&mplementar los si<uientes pro<ramas# para lue<o simularlos# .ue realice las secuencias de?

1. 3n sistema de (emQforos de una intersecciPn de dos calles de una sola mano. 1.1. (e toma como condiciPn .ue? el I,>D, se mantiene 10 s.# el *B*>&--8 N s.# el >8T8 1O s

Device * 16F877A Declare Xtal N Di# G As 1)888 Di# a As N888 Di# i As $yte "AI!F* L88888888 "AI!$* L88888888 P4A"$ * 8 P4A"F * 8 While 1 * 1 P4A"$* 1(= Delay ! )88 P4A"$* 1(8 Delay ! G P4A"$* 1() Delay ! a P4A"$* 1(= Delay ! )88 P4A"$* N8 Delay ! G P4A"$* :) Delay ! a Wend "nd

inicio

111

fin

0.

3n sistema de (emQforos de una intersecciPn de dos calles de una sola mano con indicaciPn peatonal en ambas calles. 0.1. -os semQforos deben ser maneRados por el puerto + (P8>)+) y puerto D (P8>)D)# los peatonales. 0.0. (e toma como condiciPn .ue? ,- I,>D, se mantiene 10 se<.# ,- *B*>&--8 N se<.# ,- >8T8 1O (,7.# ,- P,*)8'*- &'),>B&),'), D3>*), ,- *B*>&--8.
)'

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA

Materia: Legajo: A#ro$ado:

Mecatrnica II
%I " &o Curso : Firma : )*

Device * 16F877A Declare Xtal N Di# G As 1)888 Di# i As $yte "AI!F* L88888888 "AI!$* L88888888 P4A"$ * 8 P4A"F * 8 While 1 * 1 P4A"$* 1(= P4A"F* 18 Delay ! )88 P4A"F* = P4A"$* 1(8 Delay ! G P4A"$* 1() For i*1 %o N P4A"F*) Delay ! ?88 P4A"F*= Delay ! ?88 &e't i P4A"$* 1(= P4A"F* 18 Delay ! )88 P4A"F* ; P4A"$* N8 Delay ! G P4A"$* :) For i*1 %o N P4A"F*> Delay ! ?88 P4A"F*; Delay ! ?88 &e't i Wend "nd /.

inicio

111

fin

for i11)oN

for i11)oN

3n sistema de (emQforos de una a"enida de dos sentidos .ue permita el <iro a la iG.uierda de los dos sentidos simultQneamente. /.1. -a secuencia de tiempos es similar al punto anterior. Delay ! )88 P4A"$* 1(: P4A"F* (> Delay ! 5i P4A"$* 1(8 Delay ! G P4A"$* 1() For i*1 %o N P4A"F*(N Delay ! ?88 P4A"F*(> Delay ! ?88
)*

Device * 16F877A Declare Xtal N Di# 5i As N888 Di# G As 1)888 Di# i As $yte "AI!F* L88818888 "AI!$* L88888888 P4A"$ * 8 P4A"F * 8 While 1 * 1 P4A"$* 1(= P4A"F* N)

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA

Materia: Legajo: A#ro$ado:

Mecatrnica II
%I " &o Curso : Firma : )*
inicio

&e't i P4A"$* 1(= P4A"F* N) Delay ! )88 P4A"$* 1?) P4A"F* N1 Delay ! 5i P4A"$* N8 Delay ! G P4A"$* :) For i*1 %o N P4A"F*N8 Delay ! ?88 P4A"F*N1 Delay ! ?88 &e't i Wend "nd

111

fin

for i11)oN

for i11)oN

N. 3n sistema de (emQforos de una a"enida de dos sentidos .ue permita la interrupciPn con la presiPn de un pulsador el acceso peatonal trans"ersal de la a"enida. N.1. ,l tiempo de acceso es de 0J se< y J se< se alerta.

)+

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA

Materia: Legajo: A#ro$ado:

Mecatrnica II
%I " &o Curso : Firma : )*

Device * 16F877A Declare Xtal N "AI!O*L81111111 "AI!F* L88818888 "AI!$*8 Di# i As $yte Di# cont As $yte cont * 8 While 1*1 P4A"$ * ) P4A"F*(N cont * cont I 1 While P4A"F.N * 1 P4A"$*N P4A"O.:*1 Delay ! )?8 P4A"O.:*8 Delay ! N:?8 P4A"$*> Delay ! )?8 P4A"F*(( For i * 1 %o ?8 Fre()ut P4A"O.:,188,>888 P4A"O.: *8 Delay ! N88 &e't i For i * 1 %o (( P4A"F*() Fre()ut P4A"O.:,?8,1(888 P4A"O.: *8 P4A"F*(( Delay ! 188 &e't i P4A"F*(N Delay ! )?8 Wend While cont > 188 Fre()ut P4A"O.:,)8,1N888 cont * 8 Wend Delay ! 18 Wend "nd

inicio

111

fin

portb.N11

for i11)oJ:

for i11)oJ:

cont>1::

J. +onclusiones )ue interesante poder aplicar lo aprendido hasta ac en un pro*lema muy cercano a la realidad, lo cual nos permiti ir acercndonos a los pro*lemas con los que nos encontraremos en nuestro 'uturo la*oral( 1. 0. /. +( Deben ser montados de tal manera .ue refleRen en forma correcta la funcionalidad de cada encendido y .ue un espectador .ue obser"e sin tener conocimiento de la rutina lo comprenda a simple "ista. (e "alorarQ la dedicaciPn en los montaRes. ,n todos los casos debe hacer dia<rama de fluRo# cPdi<o del pro<rama# simulaciPn# pro<ramaciPn de microcontrolador y armado de circuito. ,n el caso de que si la presentacin ocurre en 'orma errtica y-o no re'leje en 'orma 'iel la consigna, el .$ no ser apro*ado(
),

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA

Materia: Legajo: A#ro$ado:

Mecatrnica II
%I " &o Curso : Firma : ).

Trabajo Prctico N *: M CROCONTRO(A%OR!S


&mplementar los si<uientes pro<ramas# para lue<o simularlos# .ue realice las secuencias de? 1. +uando se inicia (o cuando el reset actXe)#empieGa el conteo en forma binaria de los -,Ds .ue estQn conectados al P8>)+ con un retraso de JJ: ms entre cada cuenta . ,l recuento "a de : (binario 2::::::::2) y 0JJ (binario 2111111112) y lue<o se repite siempre. +odi<o
Device * 16F877A Declare Xtal N "AI!$* L88888888 P4A"$* 8 Di# i As $yte arri'a< For i * 8 %o )?? %hen P4A"$ * i Delay ! ??8 &e't i *o%o arri'a "nd
inicio De"ice 1 1O4;KK* Declare Ytal N )>&(+1 C:::::::: P8>)+1 : Dim i *s 9yte

*rriba

for

P8>)+ 1 i DelayB( JJ:

<oto arriba

fin

0. ,ncendido de -,Ds del P8>)+ en forma continua de &ZS a D,> con inter"alos de 0J: ms# y repetir indefinidamente.
Device 16F877 Declare Xtal * N "AI!$ * L88888888 P4A"$ * 8 Di# t As )?8 While 1 * 1 P4A"$.8 P4A"$.: Delay ! P4A"$.: P4A"$.= Delay ! P4A"$.= P4A"$.? Delay ! P4A"$.? P4A"$.N Delay ! P4A"$.N P4A"$.( Delay ! P4A"$.( P4A"$.) Delay ! P4A"$.) P4A"$.1 Delay ! P4A"$.1 P4A"$.8 Delay ! * * t * * t * * t * * t * * t * * t * * t * * t 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1

inicio

De"ice 1O4;KK Declare Ytal 1 N )>&(+ 1 C:::::::: P8>)+ 1 : Dim t *s 0J:

1 11

P8>)+.: 1 : P8>)+.K 1 1 DelayB( t P8>)+.K 1 : P8>)+.O 1 1 DelayB( t P8>)+.O 1 : P8>)+.J 1 1 DelayB( t P8>)+.J 1 : P8>)+.N 1 1 DelayB( t P8>)+.N 1 : P8>)+./ 1 1 DelayB( t P8>)+./ 1 : P8>)+.0 1 1 DelayB( t P8>)+.0 1 : P8>)+.1 1 1 DelayB( t P8>)+.1 1 : P8>)+.: 1 1 DelayB( t

fin

Wend "nd

)-

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA

Materia: Legajo: A#ro$ado:

Mecatrnica II
%I " &o Curso : Firma : ).

/. ,ncendido de -,Ds del P8>)+ en forma continua de D,> a &ZS con inter"alos de /:: ms# y repetir indefinidamente.
Device 16F877 Declare Xtal * N "AI!$ * L88888888 P4A"$ * 8 Di# t As (88 While 1 * 1 P4A"$.8 P4A"$.1 Delay ! P4A"$.1 P4A"$.) Delay ! P4A"$.) P4A"$.( Delay ! P4A"$.( P4A"$.N Delay ! P4A"$.N P4A"$.? Delay ! P4A"$.? P4A"$.= Delay ! P4A"$.= P4A"$.: Delay ! P4A"$.: P4A"$.8 Delay ! Wend "nd * * t * * t * * t * * t * * t * * t * * t * * t 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1
fin

inicio

De"ice 1O4;KK Declare Ytal 1 N )>&(+ 1 C:::::::: P8>)+ 1 : Dim t *s 0J:

1 11

P8>)+.: 1 : P8>)+.K 1 1 DelayB( t P8>)+.K 1 : P8>)+.O 1 1 DelayB( t P8>)+.O 1 : P8>)+.J 1 1 DelayB( t P8>)+.J 1 : P8>)+.N 1 1 DelayB( t P8>)+.N 1 : P8>)+./ 1 1 DelayB( t P8>)+./ 1 : P8>)+.0 1 1 DelayB( t P8>)+.0 1 : P8>)+.1 1 1 DelayB( t P8>)+.1 1 : P8>)+.: 1 1 DelayB( t

).

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA

Materia: Legajo: A#ro$ado:

Mecatrnica II
%I " &o Curso : Firma : ).

N. ,ncendido de -,Ds en forma continua de? N.1. &ZS a D,> con inter"alos de 0J: ms#y se repite indefinidadmente hasta .ue con 3' P3-(*D8> se cambia la direcciPn de desplaGamiento de D,> a &ZS con inter"alos de 0J: ms y se repite indefinidamente hasta .ue con 3' P3-(*D8> se cambia la direcciPn de desplaGamiento

Device * 16F877A Declare Xtal N "AI!F* L88888888 "AI!O* L88888881 "AI!$* L88888888 P4A"F* 8 Di# d As $yte Di# c As Word c * 1 d * 1 While 1 * 1 +f P4A"O.8 * 1 %hen d * Pd While P4A"O.8 * 1 Wend +f d < ) %hen +f c *8 %hen c*1 c * c I c +f c > 1)> %hen c*1 "lse c * c 0 (cE)) +f c<1 %hen c * 1)> "nd +f P4A"F * c +f c*1 And d>) %hen c * 8 Wend "nd Delay ! )?8

inicio

De"ice 1 1O4;KK* Declare Ytal N )>&(D1 C:::::::: )>&(91 C:::::::1 )>&(+1 C:::::::: P8>)D1 : Dim d *s 9yte Dim c *s Vord

111

portb 1 1 d 1 [d fin

portb 1 1

D<0

+1 : c 1c ! c 0 +1:

c 1c M c +< 1

c 1 10;

+ 1 10; c 1:

portd 1 +

+11 and D>0

delayms 0J:

'!

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA

Materia: Legajo: A#ro$ado:

Mecatrnica II
%I " &o Curso : Firma : ).

J. ,ncendido de -,Ds en forma continua de &ZS a D,> con inter"alos de 0J: ms# una pausa de Js y cambio de direcciPn de encendido para desplaGarse de D,> a &ZS con otra pausa de Js al final para repetir indefinidamente.
Device * 16F877A Declare Xtal N "AI!F* L88888888 P4A"F* 8 "AI!O* L88888888 Di# d As $yte Di# c As Word c * 1 d * 1 While 1 * 1 +f d * 1 %hen c * c I c P4A"F * c +f c * 1)> %hen d * 8 Delay ! ?888 "nd +f "lse c * c 0 (cE)) P4A"F * c +f c*1 %hen d * 1 Delay ! ?888 "nd +f "nd +f Delay ! )?8 Wend "nd
inicio De"ice 1 1O4;KK* Declare Ytal N )>&(D1 C:::::::: )>&(91 C:::::::1 )>&(+1 C:::::::: P8>)D1 : Dim d *s 9yte Dim c *s Vord

111

D1 1

fin

+1: c1c !c0 +1:

c 1c Mc +< 1

c 1 10;

+ 1 10; c 1:

portd 1 +

+11 and D>0

delayms 0J:

O. +onclusiones J. Deben ser montados de tal manera .ue refleRen en forma correcta la funcionalidad de cada encendido y .ue un espectador .ue obser"e sin tener conocimiento de la rutina lo comprenda a simple "ista. O. (e "alorarQ la dedicaciPn en los montaRes. K. ,n todos los casos debe hacer dia<rama de fluRo# cPdi<o del pro<rama# simulaciPn# pro<ramaciPn de microcontrolador y armado de circuito. /( ,n el caso de que si la presentacin ocurre en 'orma errtica y-o no re'leje en 'orma 'iel la consigna, el .$ no ser apro*ado(

'1

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn ,"1!"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Trabajo Prctico N 10: M CROCONTRO(A%OR!S


&mplementar los si<uientes pro<ramas# para lue<o simularlos# .ue realice las secuencias de? 1. 7enerar ? 1.1. ! O intermitencias (parpadeos)en un -,D I,>D, con inter"alos de /:: ms. a tra"\s del P8>)+.: 1.0. ! 0 parpadeos de 1s con un -,D >8T8 # a tra"\s del P8>)+.1. 1./. ! Sue los 0 -,DUs parpadeen / "eces con 1#J s de inter"alo# .ue todo se repita en forma indefinida.
inicio declare 111

'2

for

fin

P8>)+.111 DelayB( 1:: P8>)+.11: DelayB( 1:::

for

P8>)+.111 DelayB( 1:: P8>)+.11: DelayB( 1:::

for

P8>)+.111 DelayB( 1:: P8>)+.11: DelayB( 1:::

Device * 16F877A Declare Xtal N "AI!$* L88888888 P4A"$* 8 Di# i As $yte While 1*1 For i*8 %o ? P4A"$.8*1 Delay ! 188 P4A"$.8*8 Delay ! (88 &e't i For i*8 %o 1 P4A"$.1*1 Delay ! 188 P4A"$.1*8 Delay ! 1888 &e't i For i*8 %o ) P4A"$.8*1 Delay ! 188 P4A"$.8*8 Delay ! 1?88 P4A"$.1*1 Delay ! 188 P4A"$.1*8 Delay ! 1?88 &e't i P4A"$ * 8 Wend "nd

'2

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn ,"1!"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

0. +on el control de / pulsadores # hacer .ue? 0.1. +uando pulse el P1 se inicie y se deten<a el proceso. 0.0. +uando se puse P0# la "elocidad de parpadeo del -,D I,>D, "aria en forma creciente. 0./. +uando pulse P/# la "elocidad de parpadeo del -,D I,>D, "aria en forma decreciente.
inicio declare 111 if while

'2

fin

while

for if

while

if if

if if

Device * 16F877A Declare Xtal N "AI!F* L11111111 "AI!$* L88888888


')

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn ,"1!"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

P4A"$* 8 Di# s As $it Di# m As $yte Di# t As Word Di# c As Word Di# i As $yte c*)8 s*1 While 1 * 1 inicio< +f P4A"F.8*8 %hen While P4A"F.8*8 s*1 Wend *o%o ciclo "nd +f While s*1 ciclo< P4A"$.8*1 Delay ! ?8 t*c P4A"$.8*8 For i * 8 %o t +f P4A"F.8*8 %hen

Wend "nd

s* Ps While P4A"F.8*8 Wend *o%o inicio "nd +f +f P4A"F.1*8 %hen +f c<)?? And m>18 %hen c*cI1 m*8 "nd +f "nd +f +f P4A"F.)*8 %hen +f c>) And m>18 %hen c*c01 m*8 "nd +f "nd +f m*mI1 Delay ! 18 &e't i Wend

'2

/. +on 0 pulsadores# P1 y P0# y un -,D# ? /.1. (i presionamos P1 y lue<o P0 el -,D debe parpadear una sola "eG# /.0. (i presionamos P1 / "eces y lue<o P0# el -,D parpadearQ / "eces /./. *sW sucesi"amente las "eces .ue se indi.ue con P1. P0 solo indica el arran.ue de encendido.

''

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn ,"1!"2!1!


inicio

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

declare inicio?

111 if

while

if

if

-,D?

4or

7oto inicio? 4in

Device * 16F877A Declare Xtal N "AI!F* L11111111 "AI!$* L88888888 P4A"$* 8 Di# cont As $yte Di# i As $yte inicio< P4A"$.:*1 Delay ! ?8 P4A"$.:*8 cont*8 While 1*1 +f P4A"F.1*8 %hen cont*cont I1 While P4A"F.1*8 Delay ! )? Wend "nd +f +f P4A"F.)*8 %hen cont*8 +f P4A"F.8 *8 %hen *o%o led Wend led< Delay ! ?88 For i*1 %o cont P4A"$.8*1 Delay ! )?8 P4A"$.8*8 Delay ! 1888 &e't i *o%o inicio "nd

'2

N. +onclusiones

Seria muy interesante aprender a usar interrupciones en estos casos donde se utilizan pulsadores, simplificara mucho la toma de datos externos

L. Deben ser montados de tal manera .ue refleRen en forma correcta la funcionalidad de cada encendido y .ue un espectador .ue obser"e sin tener conocimiento de la rutina lo comprenda a simple "ista. 1:. (e "alorarQ la dedicaciPn en los montaRes. 11. ,n todos los casos debe hacer dia<rama de fluRo# cPdi<o del pro<rama# simulaciPn# pro<ramaciPn de microcontrolador y armado de circuito. 01( ,n el caso de que si la presentacin ocurre en 'orma errtica y-o no re'leje en 'orma 'iel la consigna, el .$ no ser apro*ado(

'*

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Trabajo Prctico N 11: M CROCONTRO(A%OR!S + % SP(A,-S


&mplementar los si<uientes pro<ramas# para lue<o simularlos# .ue realice las secuencias de? 1. +ontador decimal de un dW<ito autPnomo. ,l proyecto consiste en realiGar un contador decimal de : a L con inter"alos de :#J s .ue repita esta acciPn indefinidamente.
Device 16F877A Declare Xtal N "AI!$ * 8 Di# Q18R As $yte Q8R * =( Q1R * = Q)R * ;1 Q(R * :; QNR * 18) Q?R * 18; Q=R * 1)? Q:R * : Q>R * 1): Q;R * 18( Di# i As $yte While 1*1 *o!ub acendente Wend "nd acendente< For i*8 %o ; Delay ! ?88 P4A"$* QiR &e't i ,eturn

*!

declare

while 111 fin

<osub acendente

acendente 4or i1: )o L DelayB( J:: P8>)+1 ']i^ 'eHt i >eturn

0. ,l proyecto consiste en realiGar un contador decimal de L a : con inter"alos de :#J s .ue repita esta acciPn indefinidamente .
Device 16F877A Declare Xtal N "AI!$ * 8 Di# Q18R As $yte Q8R * =( Q1R * = Q)R * ;1 Q(R * :; QNR * 18) Q?R * 18; Q=R * 1)? Q:R * : Q>R * 1): Q;R * 18( Di# i As $yte While 1*1 *o!ub decendente Wend "nd decendente< For i*; %o 8 !tep 01 Delay ! ?88 P4A"$* QiR &e't i ,eturn
declare

while 111 fin

<osub acendente

acendente 4or i1: )o L DelayB( J:: P8>)+1 ']i^ 'eHt i >eturn

'+

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

*!

/. >ealiGar un contador decimal de : a L con inter"alos de :#J s .ue repita esta acciPn N "eces# lue<o una pausa de J se<undos con parpadeo del <uiPn (<) J "eces# para iniciar una cuenta en forma decreciente de L a : por otras N "eces con su correspondiente pausa al final de estos ciclos de otros J se<undos con parpadeo del <uiPn. )ras esta pausa el iniciar_ la secuencia nue"amente.
Device 16F877A Declare Xtal N "AI!$ * 8 Di# Q18R As $yte Q8R * =( Q1R * = Q)R * ;1 Q(R * :; QNR * 18) Q?R * 18; Q=R * 1)? Q:R * : Q>R * 1): Q;R * 18( Di# 5uion As =N Di# i As $yte While 1*1 For i*8 %o ( *o!ub acendente &e't i *o!ub pausa For i*8 %o ( *o!ub decendente &e't i *o!ub pausa Wend "nd acendente< For i*8 %o ; P4A"$* QiR Delay ! ?88 &e't i ,eturn decendente< For i*; %o 8 !tep 01 P4A"$* QiR Delay ! ?88 &e't i ,eturn

pausa< For i*8 %o ; P4A"$*5uion Delay ! )?8 P4A"$* 8 Delay ! )?8 &e't i ,eturn
declare

while 111 fin


4or <osub decendente decendente 4or i1L )o : (tep !1 DelayB( J:: P8>)+1 ']i^ 'eHt i >eturn acendente? 4or i1: )o L P8>)+1 ']i^ DelayB( J:: 'eHt i >eturn pausa? 4or i1: )o L P8>)+1<uion DelayB( 0J: P8>)+1 : DelayB( 0J: 'eHt i >eturn

4or

<osub decendente

<osub decendente

',

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

*!

N. +ontar : ! L ` :# pausa de J se< y para finaliGar con parpadeo de letra 4 por J se<undos para indicar fin del )P . )odo debe .uedar apa<ado.
Device 16F877A Declare Xtal N "AI!$ * 8 Di# Q18R As $yte Q8R * =( Q1R * = Q)R * ;1 Q(R * :; QNR * 18) Q?R * 18; Q=R * 1)? Q:R * : Q>R * 1): Q;R * 18( Di# . As 11( Di# i As $yte *o!ub *o!ub *o!ub *o!ub *o!ub *o!ub "nd acendente< For i*8 %o ; Delay ! ?88 P4A"$* QiR &e't i ,eturn decendente< For i*; %o 8 !tep 01 Delay ! ?88 P4A"$* QiR &e't i ,eturn
<osub decendente <osub decendente <osub decendente <osub decendente fin? DelayB( 1KJ: 4or i1: )o L DelayB( 0J: P8>)+1 4 DelayB( 0J: P8>)+1 : 'eHt i >eturn

fin< Delay ! 1:?8 For i*8 %o ; Delay ! )?8 P4A"$* . Delay ! )?8 P4A"$* 8 &e't i ,eturn pausa< Delay ! N?88 ,eturn

acendente pausa decendente pausa acendente fin

declare

while 111 fin

decendente 4or i1L )o : (tep !1 DelayB( J:: P8>)+1 ']i^ 'eHt i >eturn acendente? 4or i1: )o L P8>)+1 ']i^ DelayB( J:: 'eHt i >eturn pausa? DelayB( NJ:: >eturn

<osub decendente

J. 3tiliGando los dos display con entrada 9+D # hacer un contador como el del punto 1 pero con cuenta hasta LL.
Device 16F877A Declare Xtal N "AI!F * 8 Di# cont As $yte Di# resto As $yte Di# datoQNR As $yte
'-

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Di# mu9QNR As $yte Di# i As $yte Di# S As $yte Di# 6 As $yte Di# port As $yte mu9Q8R* 11) mu9Q1R* 1:= mu9Q)R* )8> mu9Q(R* ))N While 1*1 *o!ub acendente Wend "nd acendente< For i*8 %o ;; cont * i datoQ8R * contE1888 resto * contEE1888 datoQ1R * restoE188 resto * contEE188 datoQ)R * restoE18 resto * restoEE18 datoQ(R * resto For 6*8 %o =8 For S*8 %o ( port * datoQSR I mu9 QSR P4A"F* port Delay ! ) &e't S &e't 6 &e't i ,eturn

*!

declare

while 111 fin


7o(ub acendente Vend ,nd

*+,'D,'), 4or i1: )o LL cont 1 i dato]:^ 1 cont 1::: resto 1 cont 1::: dato]1^ 1 resto 1:: resto 1 cont 1:: dato]0^ 1 resto 1: resto 1 resto 1: dato]/^ 1 resto 4or F1: )o O: 4or R1: )o / port 1 dato]R^ M muH ]R^ P8>)D1 port DelayB( 0 'eHt R 'eHt F 'eHt i >eturn

'.

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

O. 3tiliGando los dos display con entrada 9+D # hacer un contador como el del punto 0 pero con cuenta hasta LL.
Device 16F877A Declare Xtal N "AI!F * 8 Di# cont As $yte Di# resto As $yte Di# datoQNR As $yte Di# mu9QNR As $yte Di# i As $yte Di# S As $yte Di# 6 As $yte Di# port As $yte mu9Q8R* 11) mu9Q1R* 1:= mu9Q)R* )8> mu9Q(R* ))N While 1*1 *o!ub decendente Wend "nd decendente< For i*;; %o 8 !tep 01 cont * i datoQ8R * contE1888 resto * contEE1888 datoQ1R * restoE188 resto * contEE188 datoQ)R * restoE18 resto * restoEE18 datoQ(R * resto For 6*8 %o =8 For S*8 %o ( port * datoQSR I mu9 QSR P4A"F* port Delay ! ) &e't S &e't 6 &e't i ,eturn
dec lare

*!

while 11 1 fin
7o(ub decendente Vend ,nd

D ,+,'D ,'), 4or i1LL )o : (tep ! 1 cont 1 i dato]:^ 1 cont 1::: r esto 1 cont 1::: dato]1^ 1 r esto 1:: r esto 1 cont 1:: dato]0^ 1 r esto 1: r esto 1 r esto 1: dato]/^ 1 r esto 4or F 1 : )o O: 4or R1: )o / port 1 dato]R^ M muH ]R^ P8>)D1 port D elay B( 0 ' eH tR ' eH tF ' eH ti > eturn

*!

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

K. 3tiliGando los dos display con entrada 9+D # hacer un contador contador decimal de : a LL con inter"alos de :#J s .ue repita esta acciPn . 3sando un P3-(*D8> ,' +3*-S3&,> B8B,')8 re<reso la cuenta en forma decreciente y se repite hasta tanto no acti"o el pusador .
Device 16F877A Declare Xtal N "AI!F * 8 "AI!O * L11111111 Di# cont As $yte Di# resto As $yte Di# datoQNR As $yte Di# mu9QNR As $yte Di# i As $yte Di# S As $yte Di# 6 As $yte Di# a As $yte Di# ' As $yte Di# port As $yte mu9Q8R* 11) mu9Q1R* 1:= mu9Q)R* )8> mu9Q(R* ))N a * 1 cont * 8 While 1*1 cont * cont I a +f cont < 8 %hen cont* ;; "nd +f +f cont > ;; %hen cont* 8 "nd +f datoQ8R * contE1888 resto * contEE1888 datoQ1R * restoE188 resto * contEE188 datoQ)R * restoE18 resto * restoEE18 datoQ(R * resto For 6*8 %o =8 +f P4A"O.8 *1 %hen a* a*(01) While P4A"O.8 *1 Wend For S*8 %o ( port * datoQSR I mu9 QSR P4A"F* port Delay ! ) P4A"F*)N8 &e't S &e't 6 Wend "nd
declare

*!

while 111 fin


7o(ub decendente Vend ,nd

D,+,'D,'), 4or i1LL )o : (tep !1 cont 1 i dato]:^ 1 cont 1::: resto 1 cont 1::: dato]1^ 1 r esto 1:: resto 1 cont 1:: dato]0^ 1 r esto 1: resto 1 r esto 1: dato]/^ 1 r esto 4or F1: )o O: 4or R1: )o / port 1 d ato]R^ M muH ]R^ P8> )D1 port D elay B( 0 ' eH tR ' eH tF ' eH ti > eturn

*1

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

;. +ontador decimal de un di<ito y un pulsador con el +& NJ11. +ada pulsaciPn de un botPn incrementa en uno la cuenta. -ue<o de haber lle<ado al L pasa al : y continXa. Ierificar si necesita P no antirrobote.
Device 16F877A Declare Xtal N "AI!F * 8 "AI!O * L11111111 Di# cont As $yte cont * 8 P4A"F*))N While 1*1 +f P4A"O.: * 1 %hen cont * cont I 1 +f cont > ; %hen cont* 8 "nd +f P4A"F* cont I))N "nd +f While P4A"O.: * 1 Wend Delay ! 18 Wend "nd

*!

declare

while 111 fin


De"ice 1O4;KK* Declare Ytal N ) >&(D 1 : ) >&(9 1 C11111111 Dim cont *s 9yte cont 1 : P8>)D100N Vhile 111 &f P8>)9.K 1 1 ) hen cont 1 cont M 1 &f cont > L )hen cont1 : ,nd &f P8>) D1 cont M00N ,nd &f Vhile P8>) 9.K 1 1 Vend DelayB( 1: Vend ,nd

*2

Tecnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

L. 3tiliGando un display de un di<ito mostrar letras fiRas y en mo"imiento por J s de la palabra ahectQreab# .ue se "erWa tomando instantQneas de la secuencia completa como esto? ahb aeb acb atb aab abrb aeb aaa con desplaGamientos a la &ZS3&,>D*.
Device 16F877A Declare Xtal N "AI!$ * 8 Di# t1 As ?88 Di# t) As 1888 Di# tp As 1888 Di# letra Q>R As $yte letraQ8R * 11= 'h letraQ1R * 1)( 'e letraQ)R * ?: 'c letraQ(R * 1)8 't letraQNR * ;? 'a letraQ?R * N; 'r letraQ=R * 1)( 'e letraQ:R * ;? 'a Di# i As $yte While 1*1 *o!ub hectarea@estatica *o!ub pausa Wend "nd hectarea@estatica< For i*8 %o : P4A"$*letraQiR Delay ! t1 &e't i ,eturn pausa< P4A"$*8 Delay ! tp ,eturn
declare

*!

while 111 fin


%ectar ea?_estati ca

hectarea_estati ca? 4or i 1: )o K P8>)+1letra]i^ DelayB( t1 'eH ti >etur n

Pausa pausa? P8>)+1: Del ay B( tp >eturn

1:. +onclusiones 2a sido interesante ya que es el primer prctico en el cual el $%& tiene alg#n tipo de inter'az gra'ica con el usuario, lo cual es muy #til en la vida cotidiana 1/. Deben ser montados de tal manera .ue refleRen en forma correcta la funcionalidad de cada encendido y .ue un espectador .ue obser"e sin tener conocimiento de la rutina lo comprenda a simple "ista. 1N. (e "alorarQ la dedicaciPn en los montaRes. 1J. ,n todos los casos debe hacer dia<rama de fluRo# cPdi<o del pro<rama# simulaciPn# pro<ramaciPn de microcontrolador y armado de circuito. 03( ,n el caso de que si la presentacin ocurre en 'orma errtica y-o no re'leje en 'orma 'iel la consigna, el .$ no ser apro*ado(

*)

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

Trabajo Prctico N 12: M CROCONTRO(A%OR!S MOTOR PASO A PASO


Procedimiento: . !denti"icar las bobinas del MPP #. $nsamble el MPP con una escala %raduada en %rados &'()*+ de acuerdo a la si%uiente su%erencia:

,-

'. Armar la inter"az para el MPP de acuerdo al circuito su%erido para MPP unipolar o bipolar

*'

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

,-

0. ,eterminar los %rados por paso del MPP. 7,5 x paso entero 48 pasos x vuelta

.. /acer un pro%rama en el microcontrolador con las secuencias si%uientes &vueltas completas+ .. . :ec)encia 1 .5 .. . . # ,erec3a 5 # !zquierda 5 ' ,erec3a 5 !zquierda 4 Pausa . se%. Comienza la secuencia nuevamente. ..#. :ec)encia 2 .5 ..#. . ' ,erec3a 5 Pausa . se%. 5 # ,erec3a7 Pausa . se%. 5 . !zquierda. Comienza la secuencia nuevamente. ..'. :ec)encia 3 .5 ..'. . $nciende un led intermitente 0 veces con intermitencia de .)) mse%. ..'.#. ' ,erec3a ..'.'. $nciende un led intermitente ' veces con intermitencia de #.) mse%. ..'.0. # !zquierda con 8 pasos ..'... $nciende un led intermitente y buzzer 0 veces con intermitencia de .)) mse%. ..'.(. 0 ,erec3a con 8 pasos 5. . :ec)encia .> ..0. . . !zquierda ..0.#. ' ,erec3a a ,O-9$ :$9OC!,A, ..0.'. $nciende un display 1 se%mentos intermitente con la letra [P\ y buzzer 0 veces con intermitencia de .)) mse%. ..0.0. # !zquierda ..0... $nciende un display 1 se%mentos con las letras [P\ [a\ [u\ [s\ [a\ con intermitencia de se%. Cada una. ..0.(. ' ,erec3a a M$,!A :$9OC!,A,.

**

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!


B, '3? 7& ,1 : en 1: +ls %i< h ba c F +u rs or 1 # 1 P ri nt 2PO?( i< # PJ? *n t # ( 2# D ec o pc io n +u rs or 0 # 1 P ri nt 2P1?B e nu # P;?en t er 2 Vh il e P8>)9. K1 : & fP 8 >)9. J1 1 )h en op c i on 1o pc io nM 1 ba nd er a 11 , nd & f Vh il e P8>)9. J1 1 De la y B( 1: Ve n d & f op c ion > N )h en o pc io n1 1 & fP 8 >)9. N1 1 )h en op c i on 1o pc io n! 1 ba nd er a 11 , nd & f Vh il e P8>)9. N1 1 De la y B( 1: Ve n d & f op c ion < 1 )h en o pc io n1 N & f ba n de r a11 )he n +ls +u rs or 1 # 1 P ri nt 2o pc ion ' ro ? 2# D ec o pc io n ba nd er a 1: , nd & f Ve n d int 1: 7& ,1 1 ( e le c t o p c io n +a s e 1 7o )o s ec 1 +a s e 0 7o )o s ec 0 +a s e / 7o )o s ec / +a s e N 7o )o s ec N , nd ( e le c t

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

,De" i ce 1O4 ;KK* Declar e Ytal N Declar e -+ D _)y pe 1 al p ha 8n_%ar dw ar e_&nter r upt 7o)o B,' 3
s e c1 ? 7o ( u b eRe c ut a nd o e n1 1 " el 1" p as os 1 0 d ir1 de r st p 1f u ll 7o ( ub f or _c loc F p as os 1 0 d ir1 iG . st p 1f u ll 7o ( ub f or _c loc F p as os 1 / d ir1 de r st p 1f u ll 7o ( ub f or _c loc F p as os 1 1 d ir1 iG . st p 1f u ll 7o ( ub f or _c loc F 7o ( u b pa us aJ 7o ( u b bu G G er 7o )o s ec 1 s e c 0? 7o (ub eR ec utan do en 11 " e l1 " pa s o s 1/ dir 1d e r st p 1f ull 7o (ub f o r_ c lo c F 7o (ub pa u s a J pa s o s 10 dir 1d e r st p 1f ull 7o (ub f o r_ c lo c F 7o (ub pa u s a J pa s o s 1J dir 1i G . st p 1f ull 7o (ub f o r_ c lo c F 7o (ub bu G G e r 7o )o s ec 0 s e c /? 7o (ub e Rec u t an d o en 1 1 " e l1 " t le d1 J: : int_l ed1 N 7o (ub in t le d pa s os 1/ dir 1 de r st p 1f ull 7o (ub f o r_ c l oc F int_l ed1 / t le d1 0J : 7o (ub in t le d " e l1 d" pa s os 1N dir 1 iG . st p 1 ha lf 7o (ub f o r_ c l oc F pip 1 1 int_l ed1 N t le d1 J: : 7o (ub in t le d pa s os 1; dir 1 de r st p 1 ha lf 7o (ub f o r_ c l oc F 7o )o f in se cN ? 7o ( u b eRe c ut a n do e n 11 " e l1" p a s o s 1J d ir 1iG . st p 1f u ll 7o ( ub f or _ c lo c F " e l1d " p a s o s 1/ d ir 1d e r st p 1f u ll 7o ( ub f or _ c lo c F tle d1J : : i nt_le d1 N 7o ( u b pa u s a " e l1" p a s o s 10 d ir 1iG . st p 1f u ll 7o ( ub f or _ c lo c F i nt_le d1 J tle d11 : :: 7o ( u b pa u s a " e l1m" p a s o s 1/ d ir 1d e r st p 1f u ll 7o ( ub f or _ c lo c F 7o )o f in

111 fin
m ai n? en1: Vend

f in? f o r _c l o c F ? + ls + u rs or 1 # 1 Prin t 24i n s e c u en c ia2 7o )o ma in 4or i11 )o (p as o s *N ; ) c lo c F 1 : D e lay B( 1 c lo c F 1 1 D e lay B( " e l ' e Ht i >et urn pa u s a J ? De la y B( J: : : >e t u rn

in t le d? 4o r i11 )o i nt_le d De la y B( t le d %i <h le d & f p ip 11 )he n 7o (ub b uG G e r De la y B( t le d -o w le d 'e H t i pip 1 : >e t u rn

bu G G e r? b u G e r 11 D e la y B( J : b u G e r 1: >et u rn

p a us a? 4o r i1 1 )o in t _l ed + ls + u rs or 1# 1 Pri nt 2 P a us a 2 D e lay B( tle d + ls D e lay B( tle d ' e Ht i 7o ( u b eRe c ut a n do >et ur n

eRe c ut a nd o ? + ls + u rs or 1#1 Pri nt 2,Rec utan do s ec . 2 + u rs or 0#1 Pri nt 2' ro ? 2# De c op c ion >et u rn

Device 16F877A Declare Xtal N Declare -.D_%ype * alpha Declare -.D_D%/in P4A"F.N Declare -.D_"&/in P4A"F.8 Declare -.D_,!/in P4A"F.1 Declare -.D_-ines N Declare -.D_Data0s ?8 Declare -.D_.o##and0s ?88 Declare All_Di1ital * true I "$4 *8 !y#bol 3I% * I "$4 .: !y#bol int *I "$4 .1 !y#bol 'ac6 * P4A"F.) !y#bol cloc6* P4A"#.8 !y#bol dir* P4A"#.1 !y#bol stp*P4A"#.) !y#bol en*P4A"#.( !y#bol mG * (8 !y#bol G * )8 !y#bol dG * 18 !y#bol der * 1 !y#bol iHB * 8 !y#bol half * 1 !y#bol full * 8 !y#bol led * P4A"$.8 !y#bol 'uHer * P4A"$.: I "$4 .N*1 "AI!O * L11111111 "AI!#*8 "AI!$*8 P4A"O*8 Di# i As Word

Di# opcion As $yte Di# 'andera As $it Di# pasos As Word Di# tled As Word Di# int@led As $yte Di# pip As $it Di# Gel As $yte Delay ! 188 2i1h 'ac6 'andera*8 opcion*1 cloc6*1 int*8 pip*8 en*1 Delay ! 18 3I% *1 *o%o menu While 1*1 main< en*8 )n_2ardware_+nterrupt Wend "nd

*o%o menu

menu< 3I%*8 en*8 .ls 2i1h 'ac6 .ursor 1,1 /rint ,P=<!i5,P?<#nt,!,,Dec opcion .ursor ),1
*+

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

/rint ,P1<Menu,P><enter , While P4A"O.:*8 +f P4A"O.?*1 %hen opcion*opcionI1 'andera*1 "nd +f While P4A"O.?*1 Delay ! 18 Wend +f opcion>N %hen opcion*1 +f P4A"O.N*1 %hen opcion*opcion01 'andera*1 "nd +f While P4A"O.N*1 Delay ! 18 Wend +f opcion<1 %hen opcion*N +f 'andera*1 %hen .ls .ursor 1,1 /rint ,opcion ro<,,Dec opcion 'andera*8 "nd +f Wend int*8 3I%*1 !elect opcion .ase 1 *o%o sec1 .ase ) *o%o sec) .ase ( *o%o sec( .ase N *o%o secN "nd !elect fin< .ls .ursor 1,1 /rint ,.in secuencia, *o%o main sec1< *o!ub eSecutando en*1 Gel*G pasos*) dir*der stp*full *o!ub for@cloc6 pasos*) dir*iHB stp*full

*o!ub for@cloc6 pasos*( dir*der stp*full *o!ub for@cloc6 pasos*1 dir*iHB stp*full *o!ub for@cloc6 *o!ub pausa? *o!ub 'uHHer *o%o sec1 sec)< *o!ub eSecutando en*1 Gel*G pasos*( dir*der stp*full *o!ub for@cloc6 *o!ub pausa? pasos*) dir*der stp*full *o!ub for@cloc6 *o!ub pausa? pasos*? dir*iHB stp*full *o!ub for@cloc6 *o!ub 'uHHer *o%o sec) sec(< *o!ub eSecutando en*1 Gel*G tled*?88 int@led*N *o!ub intled pasos*( dir*der stp*full *o!ub for@cloc6 int@led*( tled*)?8 *o!ub intled Gel*dG pasos*N dir*iHB stp*half *o!ub for@cloc6 pip*1 int@led*N tled*?88
*,

,-

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

*o!ub intled pasos*> dir*der stp*half *o!ub for@cloc6 *o%o fin secN< *o!ub eSecutando en*1 Gel*G pasos*? dir*iHB stp*full *o!ub for@cloc6 Gel*dG pasos*( dir*der stp*full *o!ub for@cloc6 tled*?88 int@led*N *o!ub pausa Gel*G pasos*) dir*iHB stp*full *o!ub for@cloc6 int@led*? tled*1888 *o!ub pausa Gel*mG pasos*( dir*der stp*full *o!ub for@cloc6 *o%o fin for@cloc6< For i*1 %o (pasos*N>) cloc6*8 Delay ! 1 cloc6*1 Delay ! Gel

&e't i ,eturn pausa?< Delay ! ?888 ,eturn intled< For i*1 %o int@led Delay ! tled 2i1h led +f pip*1 %hen *o!ub 'uHHer Delay ! tled -ow led &e't i pip*8 ,eturn 'uHHer< 'uHer*1 Delay ! ?8 'uHer*8 ,eturn pausa< For i*1 %o int@led .ls .ursor 1,1 /rint ,Pausa, Delay ! tled .ls Delay ! tled &e't i *o!ub eSecutando ,eturn eSecutando< .ls .ursor 1,1 /rint ,%Secutando sec., .ursor ),1 /rint , ro<,, Dec opcion ,eturn

,-

*-

Tcnicatura en Mecatrnica 2010


Docent es Alumno: Fec a:

Claudio Alejandro ZABALA Torres Miguel Agustn '"11"2!1!

Materia: Legajo: A#ro$ado:

Mecatrnica II 104180
%I " &o Curso : Firma :

2M10

(. /acer un pro%rama en el microcontrolador que responda a los si%uientes comandos: ?.1.1. C)ando *re#ione )n *)l#ador 85 el motor enciende 3 *ara. ?.1.2. C)ando *re#ione )n *)l#ador 81 el motor cam(ia de direcci"n ?.1.3. C)ando *re#ione )n *)l#ador 82 el motor varia la velocidad a Do(le velocidad. ?.1. . C)ando *re#ione )n *)l#ador 83 el motor varia la velocidad a media velocidad. ?.1.5. C)ando *re#ione )n *)l#ador 8 el motor varia la velocidad a velocidad normal.

,-

De"ice 1O4;KK* Declare Ytal N Declare -+D_)ype 1 alpha 8n_%ardware_&nterrupt 7o)o B,'3

111 fin
main? en1: Vend

B,' 3? 7&,1: en1: + ls % i<h bac F + ursor 1#1 Pr int 2PO?(i<#PJ?*nt#(2#D ec opc ion + ursor 0#1 Pr int 2P1?Benu#P;?enter 2 V hile P8>)9.K1: &f P8>)9.J11 )hen opc ion1opc ionM1 bander a11 ,nd &f V hile P8>)9.J11 D elayB( 1: V end &f opcion>N )hen opc ion11 &f P8>)9.N11 )hen opc ion1opc ion!1 bander a11 ,nd &f V hile P8>)9.N11 D elayB( 1: V end &f opcion<1 )hen opc ion1N &f bandera11 )hen + ls + ursor 1#1 Pr int 2opc ion 'r o?2#D ec opc ion bander a1: ,nd &f V end int1: 7&,11 (elect opc ion + as e 1 7o)o s ec 1 + as e 0 7o)o s ec 0 + as e / 7o)o s ec / + as e N 7o)o s ec N ,nd (elec t

s ec 1? 7o(ub eRec utando en11 " el1" pas os10 dir1der s tp1full 7o(ub for_c locF pas os10 dir1iG. s tp1full 7o(ub for_c locF pas os1/ dir1der s tp1full 7o(ub for_c locF pas os11 dir1iG. s tp1full 7o(ub for_c locF 7o(ub paus aJ 7o(ub buG G er 7o)o s ec 1

s ec 0? 7o(ub eRec utando en11 " el1" pasos1/ dir 1der s tp1full 7o(ub for _c locF 7o(ub paus aJ pasos10 dir 1der s tp1full 7o(ub for _c locF 7o(ub paus aJ pasos1J dir 1iG. s tp1full 7o(ub for _c locF 7o(ub buGG er 7o)o s ec 0

sec /? 7o(ub eRecutando en11 " el1" tled1J:: int_led1N 7o(ub intled pas os 1/ dir1der s tp1full 7o(ub for_c loc F int_led1/ tled10J: 7o(ub intled " el1d" pas os 1N dir1iG . s tp1half 7o(ub for_c loc F pip11 int_led1N tled1J:: 7o(ub intled pas os 1; dir1der s tp1half 7o(ub for_c loc F 7o)o fin

s ec N? 7o(ub eRec utando en11 " el1" pas os 1J dir1iG . s tp1full 7o(ub for_c loc F " el1d" pas os 1/ dir1der s tp1full 7o(ub for_c loc F tled1J:: int_led1N 7o(ub paus a " el1" pas os 10 dir1iG . s tp1full 7o(ub for_c loc F int_led1J tled11::: 7o(ub paus a " el1m" pas os 1/ dir1der s tp1full 7o(ub for_c loc F 7o)o fin

fin? for_c locF ? + ls + urs or 1#1 Print 24in s ecuencia2 7o)o main 4or i11 )o (pas os*N;) c loc F 1: D elayB( 1 c loc F 11 D elayB( " el ' eH t i > eturn paus aJ? D elay B( J::: > eturn

intled? 4or i11 )o int_led Delay B( tled %i<h led &f pip11 )hen 7o(ub buGG er Delay B( tled -ow led 'eH t i pip1: >eturn

buG G er? buG er11 Delay B( J: buG er1: >eturn

paus a? 4or i11 )o int_led + ls + ur sor 1#1 Print 2Paus a2 D elay B( tled + ls D elay B( tled ' eHt i 7o(ub eRec utando > eturn

eRec utando? +ls +ur s or 1#1 Print 2,Rec utando s ec.2 +ur s or 0#1 Print 2' ro?2# Dec opc ion >eturn

*.

Device 16F877A Declare Xtal N Declare -.D_%ype * alpha Declare -.D_D%/in P4A"F.N Declare -.D_"&/in P4A"F.8 Declare -.D_,!/in P4A"F.1 Declare -.D_-ines N Declare -.D_Data0s ?8 Declare -.D_.o##and0s ?88 Declare All_Di1ital * true Di# i As $yte Di# t As $yte Di# c As $yte Di# control As $it !y#bol 'ac6 * P4A"F.) !y#bol G * )8 !y#bol Gd * 18 !y#bol mG * N8 !y#bol cloc6* P4A"#.8 !y#bol dir* P4A"#.1 I "$4 *8 !y#bol 3I% * I "$4 .: !y#bol int *I "$4 .1 4P"I4 @A%3.=*8 I "$4 .N*1 I "$4 .(*1 "AI!O * L11111111 "AI!#*8 "AI!$*8 P4A"$*8 2i1h 'ac6 )n_2ardware_+nterrupt *o%o menu t*G control*8 c*8 .ls .ursor 1,1 /rint ,"p 1)@=, While 1*1 parar< Delay ! ?8 P4A"#.(*8 +f control*1 %hen *o%o motor 3I%*1 Wend motor< While 1*1 +f P4A"O.N*8 %hen 3I%*1 P4A"#.(*1 c*cI1 +f c>N %hen c*8 cloc6*8 Delay ! 1 cloc6*1 Delay ! t Wend menu<

3I%*8 I "$4 .8*8 I "$4 .1*8 +f P4A"O.N*1 %hen dir*Pdir Delay ! 18 "nd +f +f P4A"O.?*1 %hen t*Gd +f P4A"O.=*1 %hen t* mG +f P4A"O.:*1 %hen t*G +f P4A"O.8*8 %hen control*Pcontrol While P4A"O.8*8 Wend Delay ! )8 "nd +f +f control*8 %hen *o%o parar "lse *o%o motor "nd +f "nd

1. CO<C9=>!O<$>

Se aplico todo lo presentado en clase y lo investigado en solo trabajo, de esta forma se pudo alicar todo lo aprendido, lo cual ser la base para enfrentar los problemas cotidianos en un futuro laboral.

Anexos

%oRas de datos

KN%+0NJ

')+

@L MICMHCH&TMHLADHM 8IC1+F-,,
+aracterWsticas principales? ! +P3 tipo >&(++ de altas prestaciones. ! >epertorio de /J instrucciones de una palabra.

! )odas las instrucciones son de un Xnico ciclo# eHcepto las de salto# .ue lle"an dos. ! Ielocidad de trabaRo de 0: BhG# con un ciclo de instrucciPn de 0:: ns. ! Bemoria de pro<rama tipo flash de ; c palabras. ! Bemoria de datos de /O; bytes. ! Bemoria ,,P>8B de datos de 0JO bytes. ! PatillaRe compatible con P&+1O+K/9 KN9 KO KK. ! %asta 1N fuentes de interrupciPn. ! Pila por hardware de ; ni"eles. ! Bodos de direccionamiento directo# indirecto y relati"o. ! >eset de coneHiPn (P8>). ! )emporiGaciPn de coneHiPn y temporiGaciPn de inicio de oscilaciPn. ! +ircuito super"isor (watchdo<). ! +Pdi<o de protecciPn pro<ramable. ! )ecnolo<Wa de alta "elocidad y baRo consumo en la memoria +B8( ,,P>8B 4-*(%. ! Pro<ramaciPn in!situ "Wa serie con dos patillas. ! Posibilidad de pro<ramaciPn in!situ# "Wa serie# mediante tensiPn simple de J "oltios. ! *cceso para lectura o escritura a la memoria de pro<rama. ! 7ran mar<en de alimentaciPn entre 0 y J#J "oltios. ! +orriente de salida de 0J m*. ! 9aRo consumo? Benor de 0 m* a JI y N BhG. 0: * a /I y /0 chG. Benor de 1 * en reposo. Prestaciones de perif\ricos? ! )imer:? )emporiGador!+ontador de ; bits# con Predi"isor tambi\n de ; bits. ! )imer1? )emporiGador!+ontador de 1O bits con Predi"isor# .ue puede trabaRar con reloR eHterno en el modo reposo (sleep). ! )imer0? )emporiGador!+ontador de ; bits con re<istro de perWodo de la misma lon<itud# con Predi"isor y Postdi"isor. ! Dos mPdulos de +aptura y +omparaciPn y uno PVB (modulaciPn por ancho de impulso? -a captura es de 1O bits# con resoluciPn mQHima de 10#J ns. -a comparaciPn es de 1O bits# con resoluciPn mQHima de 0:: ns. ,l blo.ue PVB tiene una resoluciPn mQHima de 1: bits. ! +on"ertidor multicanal analP<ico di<ital de 1: bits. ! Puerto serie sWncrono (((P)# con modo Baestro ((P&) e &0+ (maestro ser"idor). ! )ransmisor >eceptor 3ni"ersal (Wncrono *sWncrono (3(*>) (+&) con detecciPn de L bits y de direcciPn. ! +ircuito de detecciPn de 9>8V'!83) (baRada de tensiPn).

PrQcticos "isados

Você também pode gostar