Download - ELET0021 - Conjunto de Instrucoes PIC
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
1/52
UNIVASFUNIVASFMicroprocessadores eMicroprocessadores e
MicrocontroladoresMicrocontroladores
Prof. Rodrigo Ramos
Conjunto de Instrues doConjunto de Instrues do
PIC16F877APIC16F877A
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
2/52
Tipos de InstruesTipos de Instrues
A famlia PIC16F87XA possui 35 instruesSo i!iias "asi#amente em $uatro tipos%
Instrues e transfer&n#ia e aos
Instrues e pro#essamento e aosInstrues e muana e ireo e e'e#uo
Instrues e #ontrole
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
3/52
Tipos de InstruesTipos de InstruesInstrues e transfer&n#ia e aos% limitam(se a mo!er aos a mem)ria
e pro*rama para o espao e re*istraores e entre re*istraores+ semprepassano pela ,-A.
-iteral ou enereamento imeiato% aos so parte a instruo.
A#esso ireto% usa enereo a instruo mais enereamento o"an#o e mem)ria.
/nereameto ine'ao% atra!0s os re*istraores FS e I2F.
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
4/52
4 Instrues e pro#essamento e aos% ao sai ore*istraor+ passa pela ,-A unto #om o #onteo o/ e !olta ao re*istraor ou /. 9peraesispon!eis%
Aio e su"trao
In#remento e e#remento
-impar re*istraor :clearing)
;it settin* e "it #learin* :resettin*A>,SGP1+PH para enereamento e
"an#o
movlw 0x" ; carrega reg% 020 com valor 0x"
movwf 0x20
bsf ."., 340 ; seleciona banco 1
movwf 0x20
goto *
Instrues de transferncia de dados (cont.)Instrues de transferncia de dados (cont.)
,sar a anela File e*isters para !erifi#ar ofun#ionamento o pro*rama.
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
15/52
,so os "its S>A>,SGIP para enereamento
ine'ao :inireto;.
9 in#remento e!e o#orrer $uano for ati!ao um "oto
:push button< #one#tao ao pino AH. Implemente o ispositi!o no protoboard e pro*rame oPIC16F877A #om seu firmware+ testano(o nos MitsiBti#os.
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
29/52
Exerccio 2Exerccio 2
/s#re!a um pro*rama $ue realiDe a multipli#ao Z ' 5:note $ue 2 ' 5 W 2 ' Y O 2 ' 1
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
30/52
Exerccio 3Exerccio 3
/s#re!a um pro*rama para somar ois nmeros e 16"its.
ICA% ,tiliDe la"els para espe#ifi#ar os re*istraores $ue*uararo os !alores a serem usaos. i#a% use a ireti!a
C;-9CL para efinir "lo#os e #onstantes.C;-9CL H'TH
ar1+ arT+ ar3+ ...+ ar2
/2C 2o usar es!io #oni#ional+ apenas as operaes etransfer&n#ia e e pro#essamento e aos.
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
31/52
goto k
4es!ia pro*rama para o ponto M :*eralmente um la"el:&> .econd!abel; >:&> retorna o bFte mais signif%
movwf 4-!">
goto .econd!abel
org 0x9)B
movlw (0
org 0x1G)B ; @ndereco na pagina 9
.econd!abelE ; @xec$5Do do goto * abaixo
goto *
Instrues de desio (cont.)Instrues de desio (cont.)
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
34/52
call k
4C=amaa e su"rotina espe#ifi#aa por M.49perao i&nti#a goto+ #om e'#eo e $ue PC 0 sal!ona pil=a.
4ois #i#los e instruo.
4Ao fim a su"(rotina+ uma instruo ret$rn:ou e$ui!alenteesta o "it " o re*istraor f e salta pr)'ima instruo se " W 1.
>empo e e'e#uo%
41 #i#lo se #onio for falsa :sem es!ioempo e e'e#uo%
41 #i#lo se resultao no for Dero :no salta pr)'ima instruomovf emp, w
addlw !=? L$adrado2
btfsc ."., -
incf 4-!">, f
movwf 4-!
L$adrado2E
retlw 0
retlw 1
%%%
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
46/52
ExerccioExerccio
/s#re!a um pro*rama em assemblypara a#ionamentoe um isplaK e 7 se*mentos usano uma ta"ela. 9s "itse a#ionamento os nmeros e H a Z e!em estarispon!eis em uma ta"ela.
-
7/23/2019 ELET0021 - Conjunto de Instrucoes PIC
47/52
trasos (trasos (DelaysDelays))
,niae "Bsi#a e tempo 0 o #i#lo e instruo%
Ci#lo e instruo W Y ` fre$&n#ia e #lo#M
/'.% Para um #lo#M e TH @JD%
Ci#lo e instruo W Y ` TH @JD W H+T us.
Atrasos e tempo poem ser #on!ertios em #i#los einstruo pela e'presso%
Ci#los e instruo W Atraso e tempo b :Fre$. Clo#M ` Ye#=nolo*K In#.+ THH5.
PIC16F87'A ata S=eet+ @i#ro#=ip >e#=nolo*K In#.+ THH3.
@. PreMo+ UPro*rammin* an CustomiDin* t=e PIC@i#ro#ontrollerV+ 3r. /.+ @#ra(Jill+ THH8.
F. Pereira+ U@i#ro#ontrolaores PIC% >0#ni#as A!anaas 16F6T7 e 16F6T8V+ 5a. /.+ ri#a+ THH8.