Está en la página 1de 15

DEPARTAMENTO

DE

TECNOLOGA ELECTRNICA

ESCUELA TCNICA SUPERIOR DE INGENIERA INFORMTICA

Introduccin a AVR-STUDIO
Enunciados de Prcticas de Laboratorio Estructura de Computadores

1 Introduccin ! o"#$ti%o&
Los objetivos de la sesi ! de labo"ato"io so! los si#$ie!tes% I!t"od$&i" el e!to"!o de '"o#"a(a&i ! ) de'$"a&i ! de (i&"o&o!t"olado"es de ATMEL * lla(ado A+R,STUDIO Reali.a" la si($la&io!es de '"o#"a(as es&"itos e! le!#$aje e!sa(blado" 'a"a el (i&"o&o!t"olado" ATMEGA/01P Reali.a" la '"o#"a(a&i ! de $! (i&"o&o!t"olado" (edia!te A+R,STUDIO (edia!te la 'lata2o"(a A+R,DRAGON Reali.a" la '"o#"a(a&i !3 de'$"a&i ! de '"o#"a(as ) &o!t"ol del (i&"o&o!t"olado" desde A+R, STUDIOE! esta sesi ! de labo"ato"io se $tili.a"4 el e!to"!o de desa""ollo A+R,STUDIO 'a"a '"o#"a(a(a" el (i&"o&o!t"olado" ATMEGA/01P 5$e se e!&$e!t"a e! $!a 'la&a de desa""ollo lla(ada A"d$i!o0 D$e(ila!ove- La '"o#"a(a&i ! se "eali.a (edia!te la 'lata2o"(a de de'$"a&i !6'"o#"a(a&i ! A+R, DRAGON ta(bi7! del 2ab"i&a!te ATMELA+R,STUDIO '$ede des&a"#a"se #"at$ita(e!te de desde las '4#i!as del 2ab"i&a!te de ATMEL e! 8tt'%66999-at(el-&o(- Res'e&to a los A"d$i!os3 7stos est4! dise:ados 'a"a se" '"o#"a(ados e! $! le!#$aje de '"o#"a(a&i ! '"o'io3 t"a!s2i"i7!dose los '"o#"a(as a t"av7s de s$ '$e"to US;- E! esta sesi ! de labo"ato"io !o se $tili.a"4! estas &a"a&te"<sti&as3 es de&i"3 se '"o#"a(a"4! di"e&ta(e!te e! e!sa(blado"- Po" ello3 se 8a! "eali.ado (odi2i&a&io!es e! di&8as 'la&as- A$!5$e !o es "eleva!te 'a"a esta sesi ! de labo"ato"io3 se '$ede &o!s$lta" toda la i!2o"(a&i ! adi&io!al sob"e esta 'la&as e! 8tt'%66999-a"d$i!o-&&
* 0 Fab"i&a!te de (i&"o&o!t"olado"es3 (4s i!2o"(a&i ! e! 8tt'%66999-at(el-&o( Plata2o"(a o'e!so$"&e de '"ototi'ado ele&t" !i&o3 (as i!2o"(a&i ! e! 8tt'%66999-a"d$i!o-&&

Rev- /

Estructura de Computadores

D$"a!te la sesi ! de labo"ato"io se debe dis'o!e" de los 2i&8e"os i!di&ados e! la tabla *- Al#$!os de los 2i&8e"os debe! se" &o('letados e! el est$dio te "i&o ) ot"os se &o('leta"4! d$"a!te la sesi ! de labo"ato"io-

No'"r$ d$( )ic*$ro &o!tado"=>=*>-as( &o!tado"=>=*>>>-as( &o!($tado"es-as( &o!tado"=b&d-as(

Cont$nido P"o#"a(a &o!tado" de > a *> P"o#"a(a &o!tado" de > a *>>> P"o#"a(a de &o!t"ol de &o!($tado"es ) leds P"o#"a(a &o!tado" de '$lsa&io!es e! ;CD

D$&cri+cin Debe &o('leta"lo el al$(!o a!tes de asisti" a la sesi ! de labo"ato"ioDebe &o('leta"lo el al$(!o a!tes de asisti" a la sesi ! de labo"ato"ioDebe &o('leta"lo d$"a!te la sesi ! de labo"ato"ioDebe &o('leta"lo d$"a!te la sesi ! de labo"ato"io-

Tabla 1. Ficheros necesarios durante la sesin de laboratorio.

Es o"(i,atorio t"ae" los '"o#"a(as del est$dio te "i&o '"e'a"ados 'a"a $tili.a"los d$"a!te el desa""ollo de la sesi ! de labo"ato"io-

- E&tudio t$rico
Se debe! "eali.a" dos '"o#"a(as e! le!#$aje e!sa(blado" 5$e i!&"e(e!te! $! valo" al(a&e!ado desde > 8asta $! valo" dete"(i!ado- Di&8os '"o#"a(as &$a!do te"(i!e! la &$e!ta volve"4! a e('e.a" de !$evo la &$e!ta desde >A &o!ti!$a&i ! se detalla! los '"o#"a(as% *- P"o#"a(a &o!tado" > a *>% Reali.a" $! '"o#"a(a e! e!sa(blado" 5$e &$e!te de > a *> $tili.a!do $! "e#ist"o del (i&"o&o!t"olado"- C$a!do te"(i!e la &$e!ta el '"o#"a(a debe i!ve"ti" el valo" del PINC> ) volve" a e('e.a"3 es de&i"3 volve"4 a &o!ta" de > a *> e i!ve"ti"4 el PINC>- As< i!de2i!ida, (e!tePa"a "eali.a" el '"o#"a(a &o""e&ta(e!te se debe &o!2i#$"a" el '$e"to C &o(o salida3 'a"a ello se '"o'o!e &o(e!.a" el '"o#"a(a $tili.a!do el si#$ie!te 2"a#(e!to de & di#o ?fichero contador_0_10.asm@%

; Programa contador de 0 a 10 ; Cada vez que se pase por 10 se debe invertir el PINC0 .INCLUD !m"#$pde%.inc! .D & '(P)*1+ LDI .U' '(P,-&& DD*C,'(P ; Con%igura el puerto C completo como salida

Cdi o 1. Fichero contador_0_10.asm! plantilla de cdi o para el pro rama contador 0 a 10.

0- P"o#"a(a &o!tado" > a *>>>% Reali.a" $! se#$!do '"o#"a(a si(ila" al a!te"io" do!de a8o"a la

Estructura de Computadores

"

&$e!ta debe se" desde > a *>>>- Te!#a e! &$e!ta 5$e los "e#ist"os del (i&"o&o!t"olado" so! de 1 bits ) solo '$ede! &o!ta" de > a 0AAEl 2i&8e"o debe lla(a"se contador_0_100.asm ) '$ede $tili.a" la 'la!tilla de & di#o s$(i!ist"ada-

. E&tudio $/+$ri'$nta(
El est$dio eB'e"i(e!tal se divide e! dos blo5$es3 el '"i(e"o &o!siste e! $tili.a" el '"o#"a(a "eali.ado e! el est$dio te "i&o 'a"a 2a(ilia"i.a"se &o! el e!to"!o de desa""ollo A+R,STUDIO- El se#$!do &o!sisti"4 e! &o('leta" 2"a#(e!tos de & di#o de al#$!os '"o#"a(as do!de se &o!t"ola"4 la e!t"ada ) salida del (i&"o&o!t"olado"A!tes de &o(e!.a" el est$dio eB'e"i(e!tal ase#C"ese de dis'o!e" de todos los 2i&8e"os i!di&ados e! la tabla *-

3.1. Introduccin a AVR-STUDIO


Se $tili.a"4! los '"o#"a(as "eali.ados e! el est$dio te "i&o e! el e!to"!o de desa""ollo A+R,STUDIOLos 'asos 'a"a &"ea" $! '"o)e&to !$evo ) 'ode" es&"ibi" el & di#o del '"o#"a(a se detalla a &o!ti!$a, &i ! e! esta se&&i !U!a ve. i!i&iado A+R STUDIO a'a"e&e $! asiste!te 'a"a &"ea&i ! o a'e"t$"a de $! !$evo '"o)e&to tal ) &o(o se ($est"a e! la 2i#$"a *- Si !o a'a"e&ie"a el asiste!te 8a) 5$e a&&ede" al (e!C P"oje&t ) sele&&io!a" la o'&i ! P"oje&t Di.a"d-

Fi ura 1. #sistente para creacin o apertura de un pro$ecto.

Se debe sele&&io!a" $! !$evo '"o)e&to ?bot ! %e& Pro'ect@ ) a'a"e&e"4 el si#$ie!te di4lo#o del asiste!te ?2i#$"a /@ do!de3 8ab"4 5$e i!di&a" el !o(b"e del '"o)e&to3 el di"e&to"io ) sele&&io!a" la o'&i ! #tmel #() #ssembler. A!tes de '$lsa" el bot ! %e*t sele&&io!e ade&$ada(e!te la o'&i ! Create initial file3 tie!e dos o'&io!es3 sele&&io!a" o !o sele&&io!a" di&8a o'&i ! ?obse"ve la (a"&a "oja e! la 2i#$"a 0@% *- Si !o sele&&io!a esta o'&i !3 el '"o)e&to se &"ea"4 si! !i!#C! a"&8ivo de teBto aso&iado- Esto le 'e"(ite 'oste"io"(e!te $tili.a" $! 2i&8e"o de teBto 5$e te!#a e! si dis&o &o! el '"o#"a(a )a es&"ito- De esta 2o"(a evita te!e" 5$e te&lea" el '"o#"a(a de !$evo 0- Si lo sele&&io!a3 se &"ea"4 $! !$evo 2i&8e"o va&<o e! el 5$e debe"4 te&lea" el '"o#"a(a- Si )a t"ae

Estructura de Computadores

el '"o#"a(a es&"ito e! ot"o 2i&8e"o te!d"4 5$e &o'ia" ) 'e#a" el & di#o desde el blo& de !otas a A+R,STUDIO-

Fi ura 2. ,eleccin de tipo $ nombre de pro$ecto.

T"as es&o#e" la o'&i ! 5$e le i!te"ese e! &ada &aso3 t"as '$lsa" el bot ! %e*t a'a"e&e"4 la Clti(a ve!ta!a de asiste!te- A5$< debe sele&&io!a" las o'&io!es #() ,imulator ) #T-e a"2.P tal ) &o(o se ($est"a e! la 2i#$"a /-

Fi ura ". ,eleccin de tipo $ nombre de pro$ecto.

E! &aso de !o 8abe" sele&&io!ado la o'&i ! Create initial file te!d"4 $! '"o)e&to va&<o al 5$e 8a) 5$e a:adi" $! '"o#"a(a '"evia(e!te es&"ito e! $! 2i&8e"o- Pa"a "eali.a" esto3 8a) 5$e $tili.a" el bot ! de"e&8o del "at ! e! la "a<. del 4"bol de '"o)e&to ) a'a"e&e"4 $! (e!C 2lota!te &o(o el (ost"ado e! la 2i#$"a E- Co! la o'&i ! Add 2iles to '"oje&t 'ode(os sele&&io!a" del dis&o el 2i&8e"o &o! el '"o#"a(a e! e!sa(blado" 5$e se desee-

Fi ura +. #/adir ficheros al pro$ecto.

Estructura de Computadores

T"as estos 'asos a'a"e&e e! el 4"bol de '"o)e&to el !o(b"e del 2i&8e"o e!sa(blado" sob"e el 5$e t"abaja"- P$lsa!do &o! el "at ! dos ve&es sob"e este !o(b"e del 2i&8e"o a'a"e&e $!a ve!ta!a e! la 5$e '$ede edita" el & di#o e!sa(blado" del '"o#"a(aU!a ve. se 8a te"(i!ado de es&"ibi" el '"o#"a(a 8a) 5$e "eali.a" el e!sa(blado del & di#o- Este 'aso se "eali.a e! (e!C ;$ild3 o'&i ! ;$ild- Ta(bi7! '$ede $tili.a" el i&o!o de la ba""a de 8e""a(ie!tas-

Si el & di#o es &o""e&to debe a'a"e&e" e! la 'a"te i!2e"io" i!2o"(a&i ! "e2e"e!te al '"o#"a(a e!sa(blado%

C/0Users0paulino0Documents0edc10edc1.asm123/ Including %ile 4C/0Program &iles 15$6307tmel078* 'ools07vr7ssembler#07ppnotes0m16$D &.INC4 C/0Users0paulino0Documents0edc10edc1.asm1#"3/ No C/0Users0paulino0Documents0edc10edc1.eep P*.( data, deleting

7'mega16$ memor9 use summar9 :b9tes;/ <egment =egin nd Code Data Used <ize Use> ??????????????????????????????????????????????????????????????? :.cseg; 05000000 050000## "2 0 "2 16"$2 0.#> :.dseg; 05000100 05000100 0 0 0 10#2 0.0> :.eseg; 05000000 05000000 0 0 0 @1# 0.0> 7ssembl9 complete, 0 errors. 0 Aarnings

Cdi o 2. ,alida de la construccin del pro rama contador.

E! &aso de '"od$&i"se e""o"es3 e! la ve!ta!a i!2e"io" a'a"e&e"4 el !C(e"o de l<!ea del '"o#"a(a do!de est4 el e""o"-

. 1 1 E#$cucin $n $( &i'u(ador d$( +ro,ra'a


A+R,STUDIO i!&l$)e $! si($lado" &o! el &$al se '$ede vis$ali.a" el estado del (i&"o&o!t"olado" d$"a!te la eje&$&i ! de $! '"o#"a(a- E!t"e las dive"sas o'&io!es 5$e o2"e&e el si($lado" !os &e!t"a"e(os e! la 'osibilidad de eje&$ta" i!st"$&&i ! a i!st"$&&i ! $! '"o#"a(a ) la 'osibilidad de eje&$ta" $! '"o#"a(a 8asta 5$e lle#$e a $!a i!st"$&&i ! dete"(i!adaPa"a &o(e!.a" la si($la&i ! del '"o#"a(a 8a) 5$e a&&ede" al (e!C Deb$# ) $tili.a" la o'&i ! Sta"t Deb$##i!#- T"as esto a'a"e&e! di2e"e!tes ve!ta!as ?ve" 2i#$"a A@ 5$e &o('o!e! el si($lado"% +e!ta!a del P"o&esado"% Sit$ada e! la 'a"te i.5$ie"da3 ($est"a el estado i!te"!o de '"o&esado" ?F"e&$e!&ia3 &o!tado" de &i&los del "eloj@ ) el &o!te!ido de los "e#ist"os% PC3 SP3 F3 G3 H3 SREG ) los /0 "e#ist"os i!te"!os +e!ta!a de dis'ositivos de E6S% Sit$ada e! la 'a"te s$'e"io" de"e&8a3 ($est"a e! 2o"(a de 4"bol todos los dis'ositivos 5$e tie!e el (i&"o&o!t"olado" sele&&io!ado- E! esta '"i(e"a '"4&ti&a de debe sele&&io!a" el '$e"to C3 de i#$al (odo 5$e se 8a sele&&io!ado la e! la 2i#$"a A- De esta 2o"(a se vis$ali.a! los t"es "e#ist"os 5$e 2o"(a! el '$e"to +e!ta!a de vis$ali.a&i ! de Me(o"ia% Sit$ada e! la 'a"te i!2e"io" de"e&8a3 'e"(ite ve" e! tie('o "eal el &o!te!ido de la (e(o"ia del (i&"o&o!t"olado"- Se '$ede sele&&io!a" e!t"e (e(o"ia de '"o#"a(a3 (e(o"ia SRAM ) EEPROM- P"i!&i'al(e!te i!te"esa"4 ve" el &o!te!ido de la (e(o"ia

Estructura de Computadores

SRAM a 'a"ti" de la di"e&&i ! I*>>- Se debe "e&o"da" 5$e 8asta la di"e&&i ! IJJ est4! (a'eados los 'e"i27"i&os3 'o" lo 5$e !o se debe $sa" &o(o es'a&io de al(a&e!a(ie!to 'a"a los '"o#"a(asPa"a &o('"oba" el 2$!&io!a(ie!to del '"o#"a(a se debe "eali.a" la eje&$&i ! 'aso a 'aso obse"va!do &o(o &a(bia! los valo"es de los "e#ist"os ) el PINC>- Ka) 5$e des'le#a" los "e#ist"os e! la ve!ta!a del '"o&esado" ) el '$e"to C e! la ve!ta!a de E6S 'a"a vis$ali.a" los "e#ist"os del '$e"to-

Fi ura 0. (isin lobal del modo de depuracin de #()2,T3456.

El si($lado" 'e"(ite la eje&$&i ! i!st"$&&i ! a i!st"$&&i ! del '"o#"a(a- El i!di&ado"

sit$ado e!

la 'a"te i.5$ie"da i!di&a la si#$ie!te i!st"$&&i ! 5$e se eje&$ta"4- E! el (e!C Deb$# ?2i#$"a L@ se '$ede! e!&o!t"a" dive"sas a&&io!es Ctiles d$"a!te la si($la&i !- E! la eje&$&i ! 'aso a 'aso las 2$!, &io!es (4s $tili.adas so!% Ste' Ove"% ?i&o!o @ Eje&$ta i!st"$&&io!es 8asta la si#$ie!te l<!ea3 e! &aso de se" $!a lla(ada a

$!a s$b"$ti!a3 la eje&$ta &o('leta(e!te 'a"a ava!.a" a la si#$ie!te l<!ea de & di#o Ste' I!to% ?i&o!o @ Eje&$ta $!a i!st"$&&i !3 e! &aso se eBisti" $!a lla(ada a s$b"$ti!a3 "eali.a

la lla(ada ) se sitCa e! la '"i(e"a i!st"$&&i ! de la s$b"$ti!a Ste' O$t% ?i&o!o s$b"$ti!a Reset% ?i&o!o '"o#"a(a Too#le ;"eaM'oi!t% ?i&o!o &o(a!do )un ?i&o!o @ Estable&e $! '$!to de "$'t$"a de eje&$&i !- C$a!do se eje&$te el @ Rei!i&ia la si($la&i ! ) sitCa la eje&$&i ! e! la '"i(e"a i!st"$&&i ! del @ Eje&$ta i!st"$&&io!es 8asta e!&o!t"a" $!a i!st"$&&i ! de "eto"!o de

@3 el '"o#"a(a se eje&$ta"4 8asta e!&o!t"a" al#C! '$!to de "$'t$"a-

Estructura de Computadores R$! to C$"so"% ?i&o!o @ Eje&$ta i!st"$&&io!es 8asta la i!st"$&&i ! e! la 5$e est4 el &$"so"-

A &o!ti!$a&i ! i!i&ie la si($la&i ! &o! Sta"t Deb$##i! ) eje&$te 'aso a 'aso el '"o#"a(a del est$dio te "i&o- P$ede $tili.a" la te&la F*> 'a"a !o te!e" 5$e $tili.a" los (e!Cs- Co('"$ebe 5$e s$ '"o#"a(a o'e"a &o""e&ta(e!te des'le#a!do el '$e"to C e! la ve!ta!a E6S ) "eali&e las si#$ie!tes ta"eas% *- E!sa(ble ) si($le el '"i(e" '"o#"a(a del est$dio te "i&o ?contador_0_10.asm@ '"o#"a(a ) obte!#a el !C(e"o de &i&los 5$e ta"da el s$ '"o#"a(a e! &o!($ta" de valo" el PINC>0- Cal&$le la 2"e&$e!&ia del se:al &$ad"ada 5$e se #e!e"a"4 sabie!do 5$e el '"o&esado" 2$!&io!a a $!a 2"e&$e!&ia de *M8.A 'a"ti" de la 2"e&$e!&ia ) el !C(e"o de &i&los 5$e ta"da s$ '"o#"a(a e! &o!($ta" el PINC> '$ede "eali.a" este &4l&$lo/- Utili&e la o'&i ! A$toSte' ?i&o!o @ ) &o('"$ebe la eje&$&i !
Fi ura 1. -en8 de depuracin.

a!i(ada 5$e "eali.a el si($lado" del '"o#"a(a-

. 1 - Pro,ra'acin d$( 'icrocontro(ador


El si#$ie!te 'aso &o!siste e! la '"o#"a(a&i ! &o! el '"o#"a(ado" A+R,DRAGON ?2i#$"a Na@ de $! (i&"o&o!t"olado" ATMEGA/01P e! $!a 'la&a A"d$i!o ?2i#$"a Nb@- El e!to"!o de '"$ebas $tili.ado e! esta sesi ! de labo"ato"io est4 2o"(ada 'o" t"es &o('o!e!tes% '"o#"a(ado" A+R,DRAGON3 'la&a de '"ototi'o A"d$i!o D$e(ila!ove ) 'la&a de eB'a!si ! 'a"a A"d$i!o &o! &o('o!e!tes E6SLa 'la&a de eB'a!si ! (ost"ada e! la 2i#$"a 1 est4 &o!e&tada a la 'la&a A"d$i!o3 5$eda!do o&$ltos todos los &o('o!e!tes del A"d$i!o- E! la 'la&a de eB'a!si ! est4! dis'o!ibles todos los '$e"tos del (i&"o&o!t"olado" e! los late"ales de la 'la&a3 ade(4s3 estos '$e"tos ta(bi7! est4! &o!e&tados a dive"sos &o('o!e!tes &o(o so!3 leds3 dis'la)s3 &o!($tado"es3 et&- Estos &o('o!e!tes se $tili.a"4! 'oste"io"(e!te 'a"a "eali.a" '"o#"a(as 5$e &o!t"ole! la e!t"ada6salidaE! '"i(e" l$#a" se debe! &o!e&ta" a(bas 'la&as a los &o!e&to"es US;- No es !e&esa"ia !i!#$!a ali(e!ta&i ! adi&io!al )a $tili.a! los A+ s$(i!ist"ados 'o" el ;$s US;- T"as la &o!eBi ! US; '$ede a'a"e&e" e! el o"de!ado" al#C! &$ad"o de di4lo#o i!di&a!do 5$e se 8a e!&o!t"ado !$evo 8a"d9a"e- Si esto o&$""ie"a3 debe i!stala" los &o!t"olado"es3 !o &a!&ele la i!stala&i ! o te!d"4 '"oble(as de '"o#"a(a&i ! del (i&"o&o!t"olado"-

Estructura de Computadores

Led &o!e&tado A P;A

AREF GND P;A P;E P;/ P;0 P;* P;> PC> PC* PC0 PC/ PCE PCA PDN PDL PDA PDE PD/ PD0 PD* PD>

?a@

?b@

Fi ura 7. a9 Placa de desarrollo #rduino b9 Pro ramador:4epurador #()24)#;6%.

PC0 PC/

PCE PCA GND GND +IN PC> PC* PC0 PC/ PCE PCA ?a@ P;* P;>

AREF GND P;A P;E P;/ P;0 P;* P;> PDN PDL PDA PDE PD/ PD0 PD* PD>

PDL PD> PD* PD0 PD/ PDA PDE PDN

?b@

Fi ura .. a9 Placa de e*pansin E:, para #rduino. b9 4etalle de cone*in de los se mentos a los puertos.

Estructura de Computadores

<

La 'la&a A+R,DRAGON dis'o!e de dos leds3 i!i&ial(e!te se il$(i!a! $!o e! ve"de ) ot"o e! "ojo- El led de &olo" "ojo &a(bia"4 de &olo" i!di&a!do el estado de la &o($!i&a&i ! &o! A+R,STUDIO- La tabla 0 ($est"a el si#!i2i&ado de los di2e"e!tes &olo"es de di&8o led3 debe(os obse"va"lo d$"a!te los si#$ie!tes 'asos 'a"a dete&ta" 'osibles '"oble(as e! la '"o#"a(a&i ! del (i&"o&o!t"olado"-

Co(or Rojo A'a#ado +e"de A(a"illo

D$&cri+cin E! "e'oso3 !o 8a) &o!eBi ! &o! A+R St$dio E! "e'oso3 &o!e&tado a A+R St$dio T"a!s2i"ie!do datos I!i&iali.a&i ! o a&t$ali.a&i ! del 2i"(9a"e

Tabla 2. 5ndicaciones del led de #()24)#;6%.

A!tes de "eali.a" la '"o#"a(a&i ! se debe ve"i2i&a" la &o""e&ta &o!2i#$"a&i ! de A+R,STUDIO "eali.a!do $!a '"$eba de &o!eBi ! &o! el (i&"o&o!t"olado"- A&&edie!do al (e!C Tools 8a) 5$e $sa" el s$b(e!C P"o#"a( A+R )3 o'&i ! Co!!e&t- A'a"e&e"4 el di4lo#o (ost"ado e! la 2i#$"a J- Alte"!ativa(e!te3 di&8o di4lo#o se '$ede obte!e" de (a!e"a di"e&ta $tili.a!do el bot ! de la ba""a de 8e""a(ie!tas-

E! este di4lo#o 8a) 5$e estable&e" la &o!2i#$"a&i ! i!di&ada e! la 2i#$"a J% 'lata2o"(a A+R,DRAGON ) '$e"to US;- T"as '$lsa" el bot ! Connect3 si la &o!eBi ! es &o""e&ta3 debe a'a"e&e" a$to(4ti&a(e!te el di4lo#o (ost"ado e! la 2i#$"a *> ) el led "ojo de A+R,DRAGON se a'a#a"4-

Fi ura <. ,eleccin del pro ramador $ el puerto

E! &aso de !o a'a"e&e" a$to(4ti&a(e!te el dialo#o de la 2i#$"a *> se '$ede $tili.a" el bot ! de la ba""a de 8e""a(ie!tas o3 la o'&i ! de (e!C Tools s$b(e!C P"o#"a( A+R- T"as esto 2i!al(e!te a'a"e&e"4

la ve!ta!a (ost"ada e! la 2i#$"a *>De las (Clti'les 'esta:as 5$e &o!tie!e s lo $tili.a"e(os la '"i(e"a ) se#$!da% -ain ) Pro ram- E! '"i(e" l$#a" se "eali.a"4 $!a '"$eba de &o($!i&a&i ! si#$ie!do estos 'asos% *- Sele&&io!a" la 'esta:a -ain0- Sele&&io!a" el (i&"o&o!t"olado" &o""e&to del &$ad"o des'le#able i!di&ado &o! 4e=ice and ,i nature >$tes. E! estas 'la&as dis'o!e(os del (i&"o&o!t"olado" ATMe#a/01P-

Estructura de Computadores

10

/- P$lsa" el bot ! )ead ,i nature- El '"o#"a(a debe "es'o!de" &o! el teBto ,i nature matches selected de=ice- Si "es'o!die"a &o! $! e""o"3 se debe volve" a des'le#a" el &$ad"o sele&to" de (i&"o&o!t"olado"3 sele&&io!a" el &o""e&to3 ) volve" a "eali.a" el test de &o($!i&a&i !-

Fi ura 10. Pesta/a principal de la =entana de pro ramacin del microcontrolador.

Fi ura 11. Pesta/a de pro ramacin de la =entana de pro ramacin del microcontrolador.

El si#$ie!te 'aso &o!siste e! "eali.a" la '"o#"a(a&i ! del (i&"o&o!t"olado" &o! el & di#o 5$e se 8a e!sa(blado3 'a"a ello3 sele&&io!e la 'esta:a Pro ram- Si el e!sa(blado se "eali. &o! 7Bito 8ab"4 #e!e"ado $! 2i&8e"o &o! eBte!si ! .he* de!t"o del di"e&to"io del '"o)e&to ) &o! el !o(b"e del '"o)e&toE! la 2i#$"a ** se ($est"a el di4lo#o de '"o#"a(a&i ! do!de 8a) 5$e sele&&io!a" el 2i&8e"o .he*. Este di4lo#o tie!e t"es &$ad"os do!de se '$ede sele&&io!a" $! 2i&8e"o% Flash! EEP)6- ) ELF- Ka) 5$e $tili.a" la se&&i ! se&&i ! Flash ) el bot ! de sele&&i ! de 2i&8e"o ?i!di&ado &o! la 2le&8a "oja e! la

Estructura de Computadores

11

2i#$"a **@- T"as esto basta &o! '$lsa" el bot ! Pro ram 'a"a "eali.a" la '"o#"a(a&i ! del (i&"o&o!t"olado"U!a ve. "eali.ada la '"o#"a(a&i ! 8a) 5$e &o('"oba" si el '"o#"a(a se est4 eje&$ta!do &o""e&ta(e!tePa"a ello3 debe &o!e&ta" $! &a!al del os&ilos&o'io e! el PINC> ) &o('"oba" si se vis$ali.a $!a se:al &$ad"ada e!t"e > ) A voltios ?!o olvide &o!e&ta" la tie""a del os&ilos&o'io@- Utili&e el es5$e(a de la 2i#$"a 1 'a"a "eali.a" las &o!eBio!es ) "eali&e las si#$ie!tes ta"eas% *- P"o#"a(e e! el (i&"o&o!t"olado" &o! el '"i(e" '"o#"a(a ?contador 0_10.asm@ ) &o('"$ebe &o! el os&ilos&o'io la 2"e&$e!&ia de la se:al &$ad"ada #e!e"ada e! el PINC>0- Utili.a!do el se#$!do '"o#"a(a del est$dio te "i&o ?contador_0_1000.asm@3 &o('"$ebe &o! el os&ilos&o'io la 2"e&$e!&ia de la se:al &$ad"ada #e!e"ada e! el PINC>/- De 2o"(a eB'e"i(e!tal ) a)$dado 'o" el "es$ltado a!te"io"3 (odi2i5$e el valo" de 2i!al de &$e!ta del '"o#"a(a 8asta &o!se#$i" 5$e la 2"e&$e!&ia de di&8a se:al sea a'"oBi(ada(e!te AKHP"o#"a(e el (i&"o&o!t"olado" se#C! (odi2i5$e el '"o#"a(a 8asta &o!se#$i" vis$ali.a" la 2"e&$e!&ia de AK. e! el os&ilos&o'ioE- Modi2i5$e el '"o#"a(a de 2o"(a 5$e el PIN 5$e &o!($te sea el PIN C03 de esta 2o"(a debe obse"va" el LED a(a"illo 'a"'adea" A ve&es 'o" se#$!do-

3.2. Realizacin de diversos pro ra!as de control "#S


E! esta se&&i ! se va! "eali.a" $!a se"ie de '"o#"a(as 'a"a &o!t"ola" los &o('o!e!tes de e!t"ada salida de la 'la&a de desa""ollo% &o!($tado"es3 leds ) dis'la)s N se#(e!tosDebe $tili.a" las 'la!tillas de & di#o '"e'a"adas 'a"a &ada '"o#"a(a ) es&"ibi" el 2"a#(e!to de & di#o i!di&ado e! &ada $!o de ellos-

. - 1 Pro,ra'a +ara contro(ar (o& con'utador$&


Se '"ete!de "eali.a" $! '"o#"a(a 5$e 'e"(ita (a!eja" los '$e"tos de e!t"ada salida- E! &o!&"eto3 se t"ata de a&tiva" los leds &$a!do se '$lsa $! &o!($tado"E! el es5$e(a de la 2i#$"a 1 a'a"e&e! dos leds ) dos &o!($tado"es 5$e debe o'e"a" de la si#$ie!te 2o"(a% &$a!do se '$lse el &o!($tado" &o!e&tado a PCA debe e!&e!de"se el led &o!e&tado a PC0 ) (a!te!e"se e!&e!dido 8asta 5$e se v$elva a '$lsa" el &o!($tado"- Ade(4s3 al '$lsa" el &o!($tado" &o!e&tado a PCE se e!&e!de"4 el led &o!e&tado a PC/ ) 'e"(a!e&e"4 e!&e!dido 8asta 5$e se '$lse !$eva(e!te el &o!($tado"- La tabla / ($est"a los '$e"tos ) los bits aso&iados a los &o('o!e!tes as< &o(o la &o!2i#$"a&i ! !e&esa"ia 'a"a 5$e o'e"e! &o""e&ta(e!te-

Pu$rto PORTC

0it 0

Co'+on$nt$ Led

Con)i,uracin Co(o salida DDRC0O*

1unciona'i$nto PINC0O> a'a#ado PINC0O* e!&e!dido PINC/O> a'a#ado PINC/O* e!&e!dido

PORTC

Led

Co(o salida DDRC/O*

Estructura de Computadores Pu$rto PORTC 0it E Co'+on$nt$ Co!($tado" Con)i,uracin Co(o e!t"ada DDRCEO> 1unciona'i$nto PINCEO> '$lsado PINCEO* !o '$lsado PINCAO> '$lsado PINCAO* !o '$lsado

12

PORTC

Co!($tado"

Co(o e!t"ada DDRCAO>

Tabla ". Confi uracin de los puertos e:s de los leds $ conmutadores

Utili.a!do el la 'la!tilla de & di#o / ?2i&8e"o conmutadores.asm@ debe "eali.a" la si#$ie!tes ta"eas% *- C"ee $! !$evo '"o)e&to $tili.a!do el & di#o s$(i!ist"ado e! el 2i&8e"o conmutadores.asm ) &o('lete el '"o#"a(a0- Utili&e el si($lado" 'a"a &o('"oba" 5$e 2$!&io!a &o""e&ta(e!te- Debe &o!($ta" (a!$al(e!te los 'i!es PCE ) PCA desde el si($lado"- Esto se &o!si#$e des'le#a!do el '$e"to C e! 4"bol de dis'ositivos 5$e ($est"a el A+R,STUDIO e! la 'a"te de"e&8a d$"a!te la si($la&i ! ) '$lsa!do el bot ! del "at ! sob"e el &$ad"o 5$e "e'"ese!ta el bit &o""es'o!die!te- C$a!do el &$ad"o est4 "elle!o de &olo" !e#"o si#!i2i&a"a 5$e el bit est4 a *3 si est4 e! bla!&o es >/- U!a ve. &o('"obado e! el si($lado" el &o""e&to 2$!&io!a(ie!to3 "e'ita los 'asos "eali.ados e! la se&&i ! /-*-0- 'a"a '"o#"a(a" el (i&"o&o!t"olado" &o! este !$evo '"o#"a(a- Co('"$ebe 5$e 2$!&io!a &o""e&ta(e!te '$lsa!do los &o!($tado"es-

.include !m"#$pde%.inc! .de% temp ) r16 BC De%ine un registro para uso temporal se Da utilizado el r16 para poder emplear los modos con direccionamiento indirecto. CB ldi out ldi out temp,-c ddrc,temp temp,-"0 portc,temp BB Con%igura portc:"/#; como salidas 9 el resto como entradas BB 7ctiva las resistencias de pull?up del portc:1/0;

bucle: ...

BB Debe completar un bucle que lea continuamente PC@ 9 PC2. BB Cuando cambie el pin PC@ a 1 debe invertir el valor del pin PC2 BB Cuando cambie el pin PC2 a 1 debe invertir el valor del pin PC" BB l bucle debe ser in%inito BB scriba el cEdigo a partir de aquF

Cdi o ". Fichero conmutadores.asm! plantilla de cdi o para el controlador de pulsadores $ leds.

/-0-0- P"o#"a(a &o!tado" de '$lsa&io!es


El !$evo '"o#"a(a a &o('leta" debe &o!ta" el !C(e"o de '$lsa&io!es de $! &o!($tado" ) (ost"a"lo e! el dis'la) N se#(e!tos- Kab"4 5$e &o('leta" t"es 2"a#(e!tos de & di#oP el '"i(e"o es la i!i.iali.a&i ! &o""e&ta de los '$e"tos3 el se#$!do es $!a s$b"$ti!a 5$e &"ea $!a tabla e! (e(o"ia &o! el & di#o N se#(e!tos )3 el te"&e"o es el '"o#"a(a '"i!&i'alLa tabla E ($est"a la i!2o"(a&i ! de los &o('o!e!tes de e!t"ada6salida 5$e se $sa"4!- Se i!&l$)e! los '$e"tos3 los bits aso&iados a los &o('o!e!tes as< &o(o la &o!2i#$"a&i ! !e&esa"ia 'a"a 5$e o'e"e! &o""e&ta(e!te-

Estructura de Computadores Pu$rto PORTD 0it >,N Co'+on$nt$ Se#(e!tos de los dis'la)s Dis'la) > Con)i,uracin Co(o salida DDRDO>BFFP 1unciona'i$nto PORTDFO> a'a#ado PORTDFO* e!&e!dido PORT;>O> e!&e!dido PORT;>O* a'a#ado PORT;*O> e!&e!dido PORT;*O* a'a#ado

1"

PORT;

>

Co(o salida DDR;>O*

PORT;

Dis'la) *

Co(o salida DDR;*O*

Tabla +. Confi uracin de los puertos e:s de los displa$s 7 se mentos.

Utili.a!do el 2i&8e"o contador_bcd.asm (ost"ado e! el listado de & di#o E debe "eali.a" las si#$ie!tes ta"eas% *- Co('leta" la s$b"$ti!a de i!i&iali.a&i ! de '$e"tos lla(ada iniciali?a_puertos. P$ede $tili.a" &o(o eje('lo de i!i&iali.a&i ! la $tili.ada e! el '"o#"a(a de la se&&i ! a!te"io" ?listado de & di#o /@Debe i!i&iali.a" los '$e"tos &o! la si#$ie!te &o!2i#$"a&i !% *-*- E! el '$e"to C los 'i!es / ) 0 debe! se" salidas3 el "esto debe! se" e!t"adas*-0- El '$e"to D est4 &o!e&tado a los se#(e!tos del dis'la)3 debe! se" todos salida*-/- El '$e"to ; &o!t"ola e! e!&e!dido o a'a#ado &o('leto de &ada $!o de los dos dis'la)s- Debe &o!2i#$"a"lo &o(o salida3 as<3 'o!ie!do $! > e! PORT;> se a&tiva"4 el dis'la) > ) 'o!ie!do $! > e! PORT;* se a&tiva"4 el dis'la) *0- Co('leta" la s$b"$ti!a 5$e &"ea $!a tabla 'a"a el &o!ve"tido" de N se#(e!tos lla(ada iniciali?a_tabla7se . Esta tabla &o!tie!e los & di#os N se#(e!tos de los d<#itos > Q J- Al es&"ibi" $! ele(e!to de esta tabla e! el '$e"to D a'a"e&e"4 $! !C(e"o ;DC e! los dis'la)s- Co(o eje('lo se ($est"a! 0 !C(e"os3 do!de se '$ede obse"va" la &o""es'o!de!&ia de los bits a $!o &o! la a&tiva&i ! de los se#(e!tos (ost"ados e! la 2i#$"a 1- Co('lete los !C(e"os 5$e 2alta!3 del 0 al J/- El b$&le '"i!&i'al del '"o#"a(a &o(ie!.a a 'a"ti" de la eti5$eta bucle- A5$< debe es&"ibi" el '"o#"a(a 5$e &$e!te las '$lsa&io!es dete&tada e! $! &o!($tado"- El '"o#"a(a se '$ede "eali.a" si#$ie!te estos 'asos% /-*- Es&"ibi" $! b$&le 5$e es'e"e 8asta dete&ta" 5$e el &o!($tado" se 8a '$lsado- U! valo" * e! el 'i! &o""es'o!die!te al &o!($tado" i!di&a 5$e se 8a '$lsado/-0- T"as dete&ta" la '$lsa&i ! 8a) 5$e i!&"e(e!ta" el &o!tado" e! */-/- Co('"oba" si el &o!tado" 8a lle#ado a *> 'a"a 'o!e"lo de !$evo a &e"o/-E- Es'e"a" e! $! b$&le 8asta 5$e se s$elte e! bot !3 2<jese 5$e este 2"a#(e!to de & di#o )a est4 8e&8o ) &o""es'o!de a la eti5$eta espera. E- Co!st"$)a el '"o#"a(a ) '"o#"a(e el (i&"o&o!t"olado" 'a"a &o('"oba" si 2$!&io!a- Si !o o'e"a &o""e&ta(e!te '$ede $tili.a" el si($lado" 'a"a dete&ta" los e""o"es- Te!#a e! &$e!ta 5$e a ve&es eBiste! '"oble(as de "ebotes e! los &o!($tado"es3 esto si#!i2i&a 5$e3 al '$lsa" $!a ve. el &o!($tado" se dete&ta! va"ias '$lsa&io!es ) el valo" (ost"ado e! el dis'la) se i!&"e(e!ta e! (4s de $!a $!idad-

Estructura de Computadores

1+

.include !m"#$pde%.inc! .de% temp ) r16 BC De%ine un registro para uso temporal se Da utilizado el r16 para poder emplear los modos con direccionamiento indirecto.CB .de% contador ) r1G BB Cuenta el nHmero de pulsaciones .de% cero) r1$ .dseg .org -100 TABLA7SEG: .b9te 10 BB <e reservan 10 b9tes para una tabla de valores del convertidor binGseg .cseg .org -0 rcall inicializaIpuertos rcall inicializaItablaGseg bucle: rcall displa9 BB *utina que inicializa los puertos BB *utina que inicializa la tabla del convertidor BB Programa principal BB *epresentamos el valor de contador en el displa9

BC 7quF debe escribir el programa que Daga lo siguiente/ 1. sperar Dasta que se pulse un pulsador #. <i se pulsa el pulsador incrementar el contador ". <i el contador llega a 10 Da9 que ponerlo a cero CB ... espera: sbis rJmp rJmp pinc,2 espera bucle BB ste %ragmento de cEdigo esperamos a que se suelte sA1 BB si no se pone se incrementarFa mucDas veces el contador BB en el momento que se pulse

inicializa_puertos: BB 7quF debe con%igurar portc:"/#; como salidas 9 el resto como entradas ... BB 7quF debe con%igurar puerto D 9 el puerto = completo como salida out ldi ret portc,temp temp,-%% BB <e 7ctivan las resistencias de pull?up del portc:1/0; 9 apaga leds

BC La siguiente rutina inicializa la tabla de G segmentos. sta rutina serFa innecesaria si se Dubiera utilizado la memoria de programa para almacenarla CB inicializa_tabla7seg: ldi zD,DigD1'7=L7G< K3 ldi zl,loA1'7=L7G< K3 ldi st ldi st temp,0b01111110 zM,temp temp,0b00110000 zM,temp BB BB BB BB Utilizamos L para apuntar a la tabla loA13 DigD13 son directivas que devuelven el b9te baJo o el b9te alto de la direcciEn que se le pasa como argumento respectivamente BBCEdigo G segmentos del 0 BBCEdigo G segmentos del 1

BC 7quF debe completar los cEdigos de los dFgitos que %altan/ del # al + CB ... ret BC La siguiente rutina permite representar un nHmero en el displa9 de G segmentos. Utiliza para ello el registro L, que inicialmente apunta a la tabla de G segmentos. 7 este registro se le suma Cont que es una variable entre 0 9 + 9, despuNs, mediate acceso indirecto se carga el cEdigo G segmentos correspondiente en el puerto.CB display: ldi ldi add adc zD,DigD1'7=L7G< K3 zl,loA1'7=L7G< K3 zl,contador BB l registro L es de 16 bits, mientras que contador es de $ zD,cero BB No olvidar sumar el acarreo que se genera del b9te baJo a LO

Estructura de Computadores

10

ld out sbi cbi ret

temp,z portd,temp portb,1 portb,0

BB 7paga el displa9 1 BB 7ctiva el displa9 0

Cdi o +. Fichero contador_bcd.asm! plantilla de cdi o para el contador >C4.

/-0-/- O'&io!al% Mejo"as e! el '"o#"a(a &o!tado" de '$lsa&io!es


O'&io!al(e!te se '"o'o!e! 8a&e" al#$!as (ejo"as e! el '"o#"a(a &o!tado"3 estas so!% $tili.a" los dos &o!($tado"es 'a"a i!&"e(e!te6de&"e(e!ta" ) "eali.a" $! &o!t"ol de "ebote del &o!($tado" Se '"o'o!e "eali.a" las si#$ie!tes ta"eas do!de debe 'a"ti" del '"o#"a(a "eali.ado e! la se&&i ! a!te"io"% *- Modi2i5$e el b$&le '"i!&i'al del '"o#"a(a 'a"a 5$e se &o('"$ebe! las '$lsa&io!es de los dos &o!($tado"es- Si se '$lsa el '"i(e"o3 el &o!tado" debe i!&"e(e!ta"se3 si se '$lsa el se#$!do3 el &o!tado" debe de&"e(e!ta"se- No olvide &o('"oba" a!tes el de&"e(e!to si es &e"o 'a"a estable&e"lo a J3 si !o el de&"e(e!to 2alla"40- Pa"a "eali.a" el &o!t"ol de "ebotes se '"o'o!e 'a"ali.a" la eje&$&i ! del '"o#"a(a e!t"e A,*>(se#Pa"a ello "eali&e las si#$ie!tes (odi2i&a&io!es e! el '"o#"a(a% 0-*- C"ee $!a s$b"$ti!a lla(ada no_rebote 5$e &o!sista e! $! b$&le 5$e es'e"e $! tie('o dete"(i!ado- Sabie!do 5$e el '"o&esado" 2$!&io!a a *M8. $tili&e $! &o!tado" 5$e (a!te!#a $! b$&le &o!ta!do d$"a!te $!os *>(s a'"oBi(ada(e!te- Esta s$b"$ti!a es si(ila" al '"o#"a(a "eali.ado e! el est$dio te "i&o0-0- Modi2i5$e el '"o#"a(a '"i!&i'al i!&l$)e!do $!a lla(ada a esta !$eva s$b"$ti!a &$a!do dete&te 5$e el &o!($tado" se 8a '$lsado- Ade(4s3 debe lla(a" de !$evo a esta s$b"$ti!a &$a!do dete&te 5$e el &o!($tado" se 8a soltado3 )a 5$e los "ebotes '$ede! o&$""i" ta!to e! al '$lsa" &o(o al solta" el &o!($tado"0-/- P"$ebe s$ !$evo '"o#"a(a e! la 'la&a de desa""ollo-

También podría gustarte