Você está na página 1de 9

Introduo ao Curso de MicroControladores

Os microcontroladores tm os seus primrdios no desenvolvimento da tecnologia dos circuitos integrados. Este desenvolvimento tornou possvel armazenar centenas de milhares de transstores num nico chip, que constituiu um pr-requisito para a produ o de microprocessadores e, consequentemente os primeiros computadores, que nada mais que esses microprocessadores !untamente com peri"ricos e#ternos tais como memria, linhas de entrada e sada, temporizadores e outros. $m crescente aumento do nvel de integra o, permitiu o aparecimento de circuitos integrados contendo simultaneamente processador e peri"ricos, a este deu-se o nome de microcontrolador.

Arquitetura Bsica do PIC

PIC16F628A

Memria de pro rama %&'()*+ , )erve para armazenar o programa que se escreveu. -omo a memria "a.ricada com tecnologia &'()* pode ser programada e limpa mais que uma vez, ela torna-se adequada para o desenvolvimento de dispositivos. !!P"#M - /emria dos dados que necessitam de ser gravados quando a alimenta o desligada. 0ormalmente usada para guardar dados importantes que n o se pode perder quando a alimenta o desativada. $m e#emplo deste tipo de dados a temperatura "i#ada para os reguladores de temperatura. "AM - /emria de dados usada por um programa, durante a sua e#ecu o. 0a 1(/, s o guardados todos os resultados intermdios ou dados tempor2rios durante a e#ecu o do programa e que n o s o cruciais para o dispositivo, depois de ocorrer uma "alha na alimenta o. P#"$# A e P#"$# B s o liga3es "sicas entre o microcontrolador e o mundo e#terior. O porto ( tem cinco pinos e o porto 4 oito pinos. C#%$A&#"'$!MP#"I(A&#" um registo de 5 .its no interior do microcontrolador que tra.alha independentemente do programa. 0o "im de cada con!unto de quatro ciclos de relgio do oscilador, ele incrementa o valor armazenado, at atingir o valor m2#imo %677+, nesta altura recomea a contagem a partir de zero. -omo ns sa.emos o tempo e#acto entre dois incrementos sucessivos do contedo do temporizador, podemos utilizar este para medir intervalos de tempo, o que o torna muito til em v2rios dispositivos. )%I&A&! &! P"#C!**AM!%$# C!%$"A+ "az a cone# o com todos os outros .locos do microcontrolador. Ele coordena o tra.alho dos outros .locos e e#ecuta o programa do utilizador.

+I%,)A,!M &! P"#,"AMA-.#


/ qualquer local de memria num microcontrolador 0 registrador de tra.alho%8or9+ 1 posi o de .it no registo :"; d registrador de destino label grupo de oito caracteres que marca o incio de uma parte do programa %rtulo+ $#* cimo da pilha 23 opcional <= grupo de .its num registo

C#M!%$4"I#* -= ) o de suma import>ncia para o .om entendimento de um programa em assem.ler, seu uso se d2 aps ? 5 @. O compilador n o ir2 interpretar aquilo que ser2 escrito depois do ? 5 @. 6 I%C+)&! -= A uma diretiva para incluir arquivos de de"ini3es. ( /icrochip cria um para cada microcontrolador comercializado. (ssim poderemos "azer uso de nomes e n o de endereos de memria. E#B Cinclude DEF&F6F(.inc

!7) -= Essa diretriz associa um nome a um nmero E#B DO1G( EH$ I#IJ

6&!FI%! -= Essa diretriz similar a anterior, mas .em mais poderosa, pois pode associar um nome a uma e#press o inteira. E#B CKE&L0E 'EK DO1G4,E

#", ,= Grata-se de um direcionamento para posi o da memria de programa o. ) devemos nos ater a esse endereamento no inicio do programa, pois O1M I#II a posi o do reset e O1M I#IJ a posi o das interrup3es. E#B O1M I#II MOGO /(L0 O1M I#IJ MOGO L0GE11$D-(O

!%& -= Essa diretriz marca o "inal do programa, logo deve ser colocada ao trmino do mesmo.

CB+#C8 e !%&C -=A uma maneira simpli"icada de de"inirmos vavios EH$s com endereos seqNenciais E#B -4'O-O I#IParE ParQ6 E0K-

,#$# -= A utilizado para implementar saltos necess2rios ao sistema. E#B MOGO ou MOGO R S6 T )alta,na memria de programa, para a posi o atualS 6 /(L0

CA++ -= -hama )u.1otinas no programa, armazenando na pilha o incremento da posi o de programa atual.

"!$)"% -= 1etorna da )u.1otina para o ltimo endereo da pilha.

"!$+0 -= % 1EG'8 O + 1etorna da )u.1otina para o ltimo endereo da pilha como o valor ?O@ %literal+ no registrador 8

*1 Se o porto de entrada/sada for o operando origem, lido o estado dos pinos do microcontrolador. *2 Se esta instruo for executada no registo TMR0 e se d= , o prescaler atri!udo a esse tempori"ador automaticamente limpo. *3 Se o #$ for modificado ou se resultado do teste for %erdadeiro, a instruo executada em dois ciclos.

MAP!AM!%$# &! M!M9"IA "AM

"e isto *$A$)*

1it : C ;Carr<= Gransporte Este .it a"ectado pelas opera3es de adi o, su.trac o e deslocamento. Goma o valor :E; %set+, quando um valor menor su.trado de um valor maior e toma o valor :I; %reset+ quando um valor maior su.trado de um menor. EU Ocorreu um transporte no .it mais signi"icativo IU 0 o ocorreu transporte no .it mais signi"icativo O .it - a"ectado pelas instru3es (KK8&, (KK'8, )$4'8 e )$48&. 1it 1 &C %Kigit -arrQ+ Gransporte de dgito Este .it a"ectado pelas opera3es de adi o, su.trac o. (o contr2rio do anterior, K- assinala um transporte do .it V para o .it J do resultado. Este .it toma o valor :E;, quando um valor mais pequeno su.trado de um valor maior e toma o valor :I; quando um valor maior su.trado de um menor. EU Ocorreu um transporte no quarto .it mais signi"icativo IU 0 o ocorreu transporte nesse .it O .it K- a"ectado pelas instru3es (KK8&, (KK'8, )$4'8 e )$48&. 1it 2 ( %.it Wero+ Lndica o de resultado igual a zero. Este .it toma o valor :E; quando o resultado da opera o lgica ou aritmtica e#ecutada igual a I. EU resultado igual a zero IU resultado di"erente de zero 1it > P& %4it de .ai#a de tens o , DoXer KoXn+ Este .it posto a :E; quando o microcontrolador alimentado e comea a tra.alhar, depois de um reset normal e depois da e#ecu o da instru o -'18KG. ( instru o )'EED p3e este .it a :I; ou se!a, quando o microcontrolador entra no regime de .ai#o consumo Y pouco tra.alho. Este .it pode tam.m ser posto a :E;, no caso de ocorrer um impulso no pino 14IYL0G, uma varia o nos quatro .its mais signi"icativos do porto 4, ou quando completada uma opera o de escrita na K(G( EED1O/ ou ainda pelo Xatchdog. E U depois de ter sido ligada a alimenta o I U depois da e#ecu o de uma instru o )'EED 1it ? $# Gime-out T trans.ordo do 8atchdog Este .it posto a :E;, depois de a alimenta o ser ligada e depois da e#ecu o das instru3es -'18KG e )'EED. O .it posto a :I; quando o Xatchdog consegue chegar ao "im da sua contagem %over"loX U trans.ordar+, o que indica que qualquer coisa n o esteve .em. E U n o ocorreu trans.ordo I U ocorreu trans.ordo 1its @ e 6 "P1A"P: %.its de selec o de .anco de registos+ Estes dois .its s o a parte mais signi"icativa do endereo utilizado para endereamento directo. -omo as instru3es que endeream directamente a memria, disp3em somente de sete .its para este e"eito, preciso mais um .it para poder enderear todos os 67F registos do DL-EF&5J. 0o caso do DL-EF&5J, 1DE, n o usado, mas pode ser necess2rio no caso de outros microcontroladores DL-, de maior capacidade. IE U .anco de registos E

II U .anco de registos I 1it B I"P %4it de selec o de .anco de registos+ Este .it utilizado no endereamento indirecto da 1(/ interna, como oitavo .it E U .ancos 6 e V I U .ancos I e E %endereos de IIh a &&h+ O registo de estado %)G(G$)+, possui alguns .its%-, K-, W+ que s o a"etados pelos resultados do processamento da $'( ,o estado de 1E)EG %GO, DK+ e os .its para selec o do .anco de memria %L1D, 1DE, 1DI+. -onsiderando que a selec o do .anco de memria controlada atravs deste registro, ele tem que estar presente em todos os .ancos. Os .ancos de memria ser o discutidos com mais detalhe no captulo que trata da Organiza o da /emria. )e o registro )G(G$) "or o registro de destino para instru3es que a"etam os .its W, K- ou -, ent o n o possvel escrever nestes trs .its.

1ela o entre os registos G1L)( e DO1GO (

EXERCCIO Trazer para o PIC o primeiro projeto implementado no Laboratrio, onde O T !er" o Porto # do PIC e o $omando %TP !er" !&b!tit&'do pelo $omando End(

Você também pode gostar