Você está na página 1de 48

SISTEMAS MICROCONTROLADOS

UTFPR
Cdigo: EL54E
Turma: N11/E11
Prof. Srgio Moribe
Coabora!"o:
Prof. #ei$or S. Lo%e&
Prof. Rube'& (e)a'dre de Faria
Emai: &moribe*u$f%r.edu.br
Si$e: %e&&oa.u$f%r.edu.br/&moribe
PR+F. S,R-.+ M+R./E 0 UTFPR
1
Linguagem do Microcontrolador.

Um mi2ro%ro2e&&ador/mi2ro2o'$roador
um eeme'$o ee$r3'i2o4 de&e'5o5ido
%ara e)e2u$ar $arefa& e&%e26fi2a&4 2om
linguagem de comando especfica.

E&$a i'guagem de 2oma'do e&%e26fi2a


a linguagem de mquina4 7ue
i'$eirame'$e 2o'&$i$uida de '8mero&
bi'9rio& :bi$&;4 &e'do defi'ida %eo
fabri2a'$e do 2<i%.
PR+F. S,R-.+ M+R./E 0 UTFPR
=
Linguagem do Microcontrolador.

Para fa2ii$ar4 2riou0&e a Linguagem Assembly4 7ue


%o&&ue a me&ma e&$ru$ura e 2o'>u'$o de i'&$ru!?e&4
%orem u$ii@a 'ome& :m'em3'i2o&; e &6mboo& 'o ugar
do& '8mero&.

( 2o'5er&"o da Li'g. (&&embA %ara a i'g. de m97ui'a


fei$a %eo Ba&&embadorC :mo'$ador D a&&ember;

( linguagem assembly ai'da e&%e26fi2a %ara 2ada


$i%o de CPU4 &e'do 2o'&iderada uma linguagem de
baixo nvel.

Para $or'ar a %rograma!"o mai& %r)ima da linguagem


humana4 2riou0&e a& linguagens de alto nvel4 2omo
Pa&2a4 /a&i24 C4 ....

( 2o'5er&"o de&$a i'guagem %ara i'guagem de


m97ui'a/a&&embA fei$a %eo B2om%iadorC.
PR+F. S,R-.+ M+R./E 0 UTFPR
4
Ling. Assembly 8!" # Modos de Endere$amento.

+ EF51 a%re&e'$a 111 $i%o& de i'&$ru!?e&4 &e'do


4G de um bA$e4 45 de doi& bA$e& e 1H de $rI&
bA$e&. Le5a'do0&e em 2o'$a& a& 5aria!?e& de
2ada $i%o4 2<ega0&e a 255 instrues.

Para a%re'dermo& 2omo fu'2io'am $oda& e&$a&


i'&$ru!?e&4 %re2i&amo& e'$e'der bem a%e'a& !
modos de endereamento"
1; Regi&$rador
1; Jire$o
=; .'dire$o
4; .media$o
5; Rea$i5o
K; (b&ou$o
H; Lo'go
E; .'de)ado
PR+F. S,R-.+ M+R./E 0 UTFPR
5
Modo de Endere$amento Imediato%

Sig'ifi2am 7ue o 2digo da i'&$ru!"o >9 2odifi2ado


imedia$ame'$e >u'$o 2om uma 2o'&$a'$e4 2<amado
dado imedia$o.

Co'&$a'$e& do $i%o imedia$o &"o %re2edido& do &i'a L


E&$e $i%o de i'&$ru!"o 2odifi2ado em 1 /A$e& ou em =
/A$e& 7ua'do &e u&a o JPTR.
E)em%o&:

M+M (4L=F< N ( O =F<

M+M JPTR4L1FFF< N
JPTR O 1FFF<4 JP# O 1F< e JPL O FF<
PR+F. S,R-.+ M+R./E 0 UTFPR
K
Modo de Endere$amento Registrador%

Permi$e o a2e&&o ao& regi&$ro& RF a RH do


ba'2o de regi&$ro& em u&o :PorQi'g
regi&$er&;4 defi'ido %eo& bi$& de 2o'$roe RS1
e RSF e)i&$e'$e& 'o regi&$ro de fu'!"o
e&%e2ia PSR.
E)em%o&:

M+M (4RF N ( O RF

JEC RF N RF O RF S 1
E&$e $i%o de i'&$ru!"o 2odifi2ado em 1 bA$e.
#mportante$ Pre2i&a &aber 7ua /a'2o de
Regi&$radore& de $raba<o :PorQi'g regi&$er;
e&$9 a$i5o.
PR+F. S,R-.+ M+R./E 0 UTFPR
H
MAIS DETAL&ES DA RAM INTERNA
PR+F. S,R-.+ M+R./E 0 UTFPR
E
Modo de Endere$amento Direto%

Referem0&e dire$ame'$e ao e'dere!o ou


m'em3'i2o :a%eido; do& regi&$radore&
i'$er'o& da R(M.
E)em%o&:

M+M (4P= N ( O P=

M+M =F#4( N =F# O (


E&$e $i%o de i'&$ru!"o 2odifi2ado em 1 /A$e&
PR+F. S,R-.+ M+R./E 0 UTFPR
G
Modo de Endere$amento Indireto%

Ne&&e 2a&o o e'dere!o da %o&i!"o de memria


o'de &er9 efe$uada a o%era!"o i'di2ado de
forma i'dire$a %eo& regi&$ro& %& ou %' ou %eo
regi&$ro ()*%. +& regi&$ro& RF4 R1 e JPTR
a$uam 2omo ponteiros 'e&&a& i'&$ru!?e&.

RF e R1 %o'$eiro& %ara e'dere!o& de ! bits

JPTR um %o'$eiro %ara e'dere!o& de '+ bits.

+& %o'$eiro& &"o precedidos pelo smbolo ,-


%ara i'di2ar e'dere!ame'$o i'dire$o.
E&$e $i%o de i'&$ru!"o 2odifi2ado em 1 /A$e&
PR+F. S,R-.+ M+R./E 0 UTFPR
1F
Modo de Endere$amento Indireto%
E)em%o&:
Su%o'do:

Tue 'a %o&i!"o =F< da R(M i'$er'a $emo& o 5aor 5(<

Tue R1 D =F<

Se e)e2u$armo& a i'&$ru!"o:

M+M (4*R1 N ( O :R1; D ( O :=F<; D ( O 5(<


Mo5e %ara ( o 2o'$e8do da memria a%o'$ada %or R1
PR+F. S,R-.+ M+R./E 0 UTFPR
11
Modo de Endere$amento Indireto%
E)em%o&:
Su%o'do:

Tue 'a %o&i!"o 1FFF< da R(M e)$er'a $emo& o 5aor


(G<

Tue JPTR D 1FFF<4 JP# D 1F< e JPL D FF<

Se e)e2u$armo& a i'&$ru!"o:

M+MU (4*JPTR N
( O :JPTR; D ( O :1FFF<; D ( O (G<
Mo5e %ara ( o 2o'$e8do da memria a%o'$ada %or JPTR
PR+F. S,R-.+ M+R./E 0 UTFPR
11
Modo de endere$amento da RAM interna.
PR+F. S,R-.+ M+R./E 0 UTFPR
1=
Modo de Endere$amento Relati'o%

Permi$e reai@ar um salto em rela.o a


posi.o do )/. E&&e e'dere!o rea$i5o
:+ff&e$; um dado de ! bits sinali0ado- i&$o
4 reai@a um &a$o rea$i5o ao e'dere!o 7ue
e&$9 o PC de 1'2! a 2'23
E&$e $i%o de i'&$ru!"o 2odifi2ado em 1 /A$e&.
PR+F. S,R-.+ M+R./E 0 UTFPR
14
E(. Endere$amento Relati'o ) Nicolosi
PR+F. S,R-.+ M+R./E 0 UTFPR
15
Modo de Endere$amento Absoluto%

.'&$ru!?e& (C(LL e (VMP4 %ermi$em de&5io de a$


1 WbA$e& rea$i5o em a%e'a& 1 bA$e& de 2digo.

( memria di5idida em =1 %9gi'a& de 1 WbA$e&


ab&ou$o&.

+ e'dere!ame'$o rea$i5o de de&$i'o X& i'&$ru!?e&


(C(LL e (VMP de5e e&$ar de'$ro da me&ma
%9gi'a de 1 QbA$e& em 7ue o 2digo dee& e&$9
gra5ado.
E&$e $i%o de i'&$ru!"o 2odifi2ado em 1 /A$e&.
PR+F. S,R-.+ M+R./E 0 UTFPR
1K
PR+F. S,R-.+ M+R./E 0 UTFPR
1H
PR+F. S,R-.+ M+R./E 0 UTFPR
1E
Modo de Endere$amento Longo%

.'&$ru!?e& LC(LL e LVMP4 %ermi$em de&5io de a$


1K bi$& 7ue ma%eia $odo o e&%a!o di&%o'65e de
e'dere!o& :K4WbA$e&;.

( de&5a'$agem de&&a& i'&$ru!?e& 7ue ea&


o2u%am = bA$e& de %rograma.
E&$e $i%o de i'&$ru!"o 2odifi2ado em = /A$e&.
PR+F. S,R-.+ M+R./E 0 UTFPR
1G
Modo de Endere$amento Inde(ado%

S"o i'&$ru!?e& 2u>o e'dere!o de de&$i'o de%e'de


'"o & do e'dere!o i'&erido 'a i'&$ru!"o4 ma&
$ambm do 2o'$e8do de ( :i'de); 'a7uee i'&$a'$e.
E&$e $i%o de i'&$ru!"o 2odifi2ado em 1 /A$e
E)em%o: Su%o'do 7ue 'a R+M $e'<a uma $abea de
5aore& /A$e& e 5o2e 7ueira o $er2eiro 5aor da
me&ma 7ue ==<4 e'$"o:
M+M JPTR4LT(/EL(
M+M (4LF=
M+MC (4*(YJPTR N ( O :(YJPTR; D ==<
PR+F. S,R-.+ M+R./E 0 UTFPR
1F
Endere$amentos Combinados ou Misto
(%re&e'$amo& aguma& 2ombi'a!?e& de
e'dere!ame'$o %o&&65ei&:

M+M RF41F< NRegi&$rador e Jire$o

M+M =F<4R4 NJire$o e Regi&$rador

M+M R14L4F< NRegi&$rador e .media$o

M+M KF<4L55< NJire$o e .media$o

M+M *R14L==< N.'dire$o e .media$o

M+M 5F<4*R1 NJire$o e .'dire$o

M+M *RF45F< N.'dire$o e Jire$o

M+M 4F<45F< NJire$o e Jire$o


PR+F. S,R-.+ M+R./E 0 UTFPR
11
Con*unto de Instru$+es
+ 2o'>u'$o da& i'&$ru!?e& do EF51 di5idido
em 5 gru%o&:

Tra'&ferI'2ia de dado&4

+%era!?e& gi2a&4

+%era!?e& ari$m$i2a&4

Ma'i%ua!"o de 5ari95ei& booea'a& :/i$&;

Co'$roe de %rograma :Je&5io&;


PR+F. S,R-.+ M+R./E 0 UTFPR
11
Simbologia utili,ada%

R' DDZ .'di2a Regi&$ro RF a RH ge'eri2ame'$e.

Ri DDZ .'di2a Regi&$ro RF ou R1

* DDZ Sig'ifi2a [e'dere!ame'$o i'dire$o[

LJado DDZ .'di2a 5aor 2o'&$a'$e de E bi$&.

LJado 1K DDZ .'di2a 5aor 2o'&$a'$e de 1K bi$&.

Jire$o DDZ .'di2a um e'dere!o de memria de E bi$&


:15K %o&i!?e& i'$er'a& 0 R(M i'$er'a e Regi&$ro& de
Fu'!"o E&%e2ia ;.

/i$ DDZ E'dere!o dire$o do bi$.

E'd 11 DDZ E'dere!o de de&$i'o de 11 bi$&.

E'd 1K DDZ E'dere!o de de&$i'o de 1K bi$&.

re DDZ .'di2a 7ue e'dere!ame'$o rea$i5o.


PR+F. S,R-.+ M+R./E 0 UTFPR
1=
Instru$+es de Trans-er.ncia
PR+F. S,R-.+ M+R./E 0 UTFPR
14
Instru$+es L/gicas
PR+F. S,R-.+ M+R./E 0 UTFPR
15
Instru$+es Aritm0ticas
PR+F. S,R-.+ M+R./E 0 UTFPR
1K
Instru$+es Mani1ula$2o de 3it
PR+F. S,R-.+ M+R./E 0 UTFPR
1H
Instru$+es de Des'io
PR+F. S,R-.+ M+R./E 0 UTFPR
1E
Instru$+es 4ue a-etam os 5lags do 6S7
PR+F. S,R-.+ M+R./E 0 UTFPR
1G
Detal8es de algumas Instru$+es%

.'&$ru!?e& )456 e )7)


5) 85tac9 )ointer: E1< D (%o'$ador de Pi<a:
Regi&$rador de fu'!"o e&%e2ia de E bi$& 7ue 2o'$em
o endereo do topo da )ilha.
+ arma@e'ame'$o 'a %i<a4 e'$"o fei$a i'dire$ame'$e
%eo SP.
Pi<a :S$a2Q; : \rea e&%e2ia de mem;ria %A< %ara
arma@e'ame'$o temporrio de dados e
endereos. U$ii@a e&$ru$ura L#=7 :La&$ .' Fir&$ +u$;.
( Pi<a de5e &er mo'$ada 'a %A< interna e 7ua'do
&e $em o RESET o SP O FH<.
Para u$ii@ar o /a'2o de Regi&$radore& 14 re2ome'da0
&e 2arregar SP 'a i'i2iai@a!"o 2om um e'dere!o
mai& 'o fim da memria R(M %ara formar a %i<a
PR+F. S,R-.+ M+R./E 0 UTFPR
=F
De-inindo 1osi$2o da 6il8a
PR+F. S,R-.+ M+R./E 0 UTFPR
=1
Instru$2o 69S& 8 ) Em1il8ar
PR+F. S,R-.+ M+R./E 0 UTFPR
=1
Instru$2o 6O6 "8 ) Desem1il8ar
PR+F. S,R-.+ M+R./E 0 UTFPR
==
Instru$2o :C& A;<R

Tro2a o& 2o'$e8do& do ( e da %o&i!"o de


memria e'dere!ada %or RF
Por e)em%o: ( D =C<4 RF D 1F< e :1F<; D (4<
(%&:
>/6 A-,%&
( D (4<4 RF D 1F< e :1F<; D =C<
PR+F. S,R-.+ M+R./E 0 UTFPR
=4
Instru$2o MO=: # RAM e(terna
Se ( D )) JPTR D 11FF< e :11FF<; D 5/<
<7?> A-,()*% @ le %A< externa
( D 5/< JPTR D 11FF<
Se ( D 55< JPTR D 1FFF< :1FFF<; D ))
<7?> ,()*%-A @escreve na %A< externa
( D 55< JPTR D 1FFF< :1FFF<; D 55
PR+F. S,R-.+ M+R./E 0 UTFPR
=5
Instru$2o MO=C # L. ROM
Permi$e er dado& %r0gra5ado& 'a R+M4
gerame'$e $abea de dado& fi)o&.
Se ( D F=< JPTR D F4FF< :F4F=<; D /=<
<7?/ A-,A2()*% @lA da %7<
( D /=< JPTR D F4FF< :F4F=<; D /=<
PR+F. S,R-.+ M+R./E 0 UTFPR
=K
Instru$2o ADDC
Su%o'do ( D =(< 4 RF D 55< e CAD 1
A((/ A-%&
( O ( Y RF Y CA
( D GF<
PR+F. S,R-.+ M+R./E 0 UTFPR
=H
Instru$2o S933

.'&$ru!"o de &ub$ra!"o &em%re &ub$rai o


&egu'do o%era'do e o CA do (2umuador
Su%o'do ( D (H< RF D 4/< e CA D 1
54BB A-%&
( O ( S RF S CA
( D 5/<
PR+F. S,R-.+ M+R./E 0 UTFPR
=E
Instru$2o M9L A3

Mu$i%i2a!"o
Su%o'do ( D /5< e / D =J<
<4L AB
( ) /
/ O Re&u$ado MS/ ( O Re&u$ado LS/
/ D 1/< ( D 11<
PR+F. S,R-.+ M+R./E 0 UTFPR
=G
Instru$2o DI= A3

Ji5i&"o:
Su%o'do ( D E1< / D =4<
(#? AB
( / /
( O Re&u$ado %ar$e i'$eira
/ O Re&$o da di5i&"o
( D F4< / D 11<
PR+F. S,R-.+ M+R./E 0 UTFPR
4F
Instru$2o DA A

Fa@ um a>u&$e de2ima %ara o%era!?e& 2om


'8mero& /CJ :/i'arA Coded Je2ima;.

Je5e &er u$ii@ada ogo a%& a o%era!"o


ari$m$i2a.
Su%o'do ( D E5< R1 D 4K<
(JJ (4R1 N ( D C/<
J( ( N ( D =1< e CA D 1
PR+F. S,R-.+ M+R./E 0 UTFPR
41
Instru$2o SET3

BSe$aC o /i$
SET/ 1=< N bi$ :1=<; D 1
SET/ P=.1 NP=.1 D 1
PR+F. S,R-.+ M+R./E 0 UTFPR
41
Instru$2o >N3 bit;rel

Sa$a &e o bi$ '"o for B1C4 ou &e>a4 &e e&$i5er em BFC

+b&. E'dere!ame'$o Rea$i5o :Y11H a 011E;


VN/ P1.14fim
.
.
.
.
fim: .
PR+F. S,R-.+ M+R./E 0 UTFPR
4=
Instru$2o C>NE

Com%ara e &a$a &e forem difere'$e&

N"o a$era 'e'<um o%era'do4 a$era


a%e'a& o fag CA.
CVNE RF4L55<4difere'$e
difere'$e:
PR+F. S,R-.+ M+R./E 0 UTFPR
44
Instru$+es LCALL ? RET

SU/R+T.N(S: Em um %rograma 2omum a


e)i&$I'2ia de fu'!?e& e&%e26fi2a& 7ue %odem
&er re7uerida& 59ria& 5e@e&.

Para e5i$ar 2odifi2a!"o redu'da'$e4 redu@ir o


e&%a!o o2u%ado e me<orar a e&$ru$ura do
%rograma4 2riam0&e a& &ubro$i'a&.

C<amar &ubro$i'a im%i2a em mudar o fu)o


'orma de e)e2u!"o4 %ro2e&&ar a &ubro$i'a e
5o$ar ao %o'$o do %rograma imedia$ame'$e
%o&$erior X i'&$ru!"o de 2<amada.
PR+F. S,R-.+ M+R./E 0 UTFPR
45
Instru$2o LCALL

C<amada de Subro$i'a

Su%o'do SP D FH< e uma &ubro$i'a de


'ome S/TRN 'o e'dere!o F5KF<
Je%oi& de L/ALL 5B*%C
:FE; D PCL :FG; D PC#
SP D FG< PC D F5KF<
PR+F. S,R-.+ M+R./E 0 UTFPR
4K
Instru$2o RET

Re$or'o de Subro$i'a

Su%o'do o re$or'a da &ubro$i'a


S/TRN do e)em%o a'$erior
.
.
RET
SP D FH< PC D SP:PC# PCL;
PR+F. S,R-.+ M+R./E 0 UTFPR
4H
Documenta$2o da Subrotina

Toda &ubro$i'a 2riada de5e &er %re2edida %or


uma documenta.o em forma de cabealho.

( do2ume'$a!"o de5e $er a informa.o


suficiente %ara 7ue ou$ro %rogramador %o&&a
utili0ar a subrotina sem a necessidade de
olhar o c;digo fonte.
PR+F. S,R-.+ M+R./E 0 UTFPR
4E
E(em1lo Documenta$2o de Subrotina
N]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
NNome: Lim%aMem
NJe&2ri!"o: ^era um bo2o de memria R(M i'$er'a.
NPar. E'$rada: RF D E'dere!o i'i2ia do bo2o
N R1 D N8mero de bA$e& do bo2o
NPar. Sa6da: RF D E'dere!o fi'a do bo2o Y 1
N($era: RF4 R1
N]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
Lim%aMem: M+M *RF4LFF N^era memria
.NC RF NPr)imo e'dere!o
JVN^ R14Lim%aMem N^era $odo bo2o
RET

Você também pode gostar