Escolar Documentos
Profissional Documentos
Cultura Documentos
PCS2031 Projeto01 Introducao PIC v4
PCS2031 Projeto01 Introducao PIC v4
1. Objetivos Esta experincia tem a finalidade de aproximar o aluno, ao universo dos microcontroladores, utilizando como exemplo a famlia PIC da Microchip Iremos implementar nesta experincia, um pro!rama para !erar uma onda "uadrada em um pino de sada do PIC 2. Introduo famlia de microcontroladores PIC #ipicamente um microcontrolador se caracteriza por incorporar no mesmo encapsulamento um microprocessador, mem$ria de pro!rama e dados e v%rios perifricos como temporizadores, & watchdog timers', comunica()o serial, conversores *nal$!ico+,i!ital, !eradores de P-M, etc, fazendo com "ue o .ard/are final fi"ue extremamente complexo * Microchip uma empresa precursora no uso de tecnolo!ia RISC 0Reduced Instruction Set Computer1 em microcontroladores ,iferente da ar"uitetura 2on 3eumann, a estrutura RISC 4aseada em 4arramentos independentes para dados e para pro!rama, e tem como caracterstica fundamental os taman.os diferenciados 0por ex5 no PIC67C889 o 4arramento de dados de : 4its, en"uanto o de pro!rama de 6; 4its1 o "ue si!nifica "ue uma instru()o est% 'empacotada' em uma <nica palavra de pro!rama 0no caso do PIC67C889 de 6; 4its1, "ue alm de conter o opcode 0instru()o1 contm os operandos 0dados para execu()o da instru()o1
Preo LI !" #"$% Palavras de Instru()o 12 bits I &%'(%)I*'IO Palavras de Instru()o 1+ bits &OPO )% LI !" Palavras de Instru()o 1, bits
)esem0en1o 'elativo
_2
* Microchip oferece ; 0"uatro1 famlias de microcontroladores de : 4its no 4arramento de dados "ue se adaptam aos mais variados proCetos Estas famlias s)o5 PIC6=C9995 @in.a Compacta PIC67C89+PIC67C8895 @in.a Dase PIC67C995 @in.a Intermedi%ria PIC6EC995 #opo de @in.a
#odas as famlias oferecem diversas op(Fes de mem$ria de pro!rama5 OTP 0One Time Programable1 e EPROM 0Erasable and Programmable Read Only Memory utilizada para desenvolvimento1 *lm disso, oferecem op(Fes de 4aixa tens)o e diversos tipos de circuito osciladores, assim como v%rias op(Fes de 4aixa tens)o e diversos tipos de circuito osciladores, assim como v%rias op(Fes de encapsulamento *l!uns componentes est)o disponveis em ROM 0mascarados1 e EEPROM F!"S# 0repro!ram%veis1 2. "r3uitetura do microcontrolador B alto desempen.o da famlia de microcontroladores PIC pode ser atri4udo as se!uintes caractersticas de ar"uitetura AISC5
Mapa de Ae!istradores vers%til #odas as instru(Fes com palavras simples Palavra de instru()o @on!a *r"uitetura de instru(Fes em &Pipeline' Instru(Fes de apenas um ciclo de m%"uina ConCunto de instru(Fes reduzido ConCunto de instru(Fes orto!onal 0simtrico1
_2
* ar"uitetura vonG3eumman tradicional utiliza o mesmo 4arramento para fazer a 4usca a instru(Fes na mem$ria de pro!rama e para acessar 0escrever ou ler1 a mem$ria de dados
CPU :
* ar"uitetura do microcontrolador utiliza dois endere(os distintos para acessar instru(Fes e dados
4arramentos
de
Memria Dados :
CPU
6= 6; 67
Memria Programa
+. 4ormato das instru5es no microcontrolador PIC * entrada de clocH 0pino BSC6+C@II31 internamente dividida por "uatro para !erar "uatro clocHs em "uadratura sem so4reposi()o, nomeados J6, J=, J?, e J; Internamente, o Contador de Pro!rama 0PC1 incrementado em J6 e a instru()o retirada da mem$ria de pro!rama e colocada no re!istrador de instru(Fes em J; Ela decodificada e executada no ciclo se!uinte de J6 at J;
_+
Um ciclo de instru(Fes consiste de "uatro ciclos J 0J6, J=, J?, J;1 * 4usca e execu()o da instru()o s)o feitas em lin.a, de tal forma "ue a 4usca leva um ciclo de instru()o e a execu()o leva outro ciclo Contudo, devido a caracterstica de &pipeline', cada instru()o executada efetivamente em um ciclo, pois simultaneamente ocorrem a execu()o de uma instru()o e a 4usca a instru()o se!uinte Se uma instru()o causa a altera()o do Contador de pro!rama ent)o dois ciclos s)o necess%rios para completar a instru()o
* ar"uitetura em &pipeline' so4repFe 4usca e execu()o, tornando a execu()o de instru(Fes possvel de se realizar em um <nico ciclo de m%"uina Jual"uer instru()o de desvio 0tais como KB#B, C*@@, ou escrever no PC1 leva dois ciclos de m%"uina * ar"uitetura com 4arramentos separados para instru(Fes e dados permitem lar!uras diferentes, com isso o 4arramento de instru(Fes otimizado para uma palavra de comprimento <nica B n<mero de 4its do 4arramento de instru(Fes depende de "uantas instru(Fes s)o implementadas e do n<mero de re!istradores disponveis em cada famlia de microcontroladores
_-
-. (a0a de re6istradores #odas as instru(Fes aritimticas e 4ooleanas s)o feitas atravs do re!istrador de tra4al.o - B destino da opera()o pode ser o pr$prio re!istrador - ou um dos re!istradores disponveis no microcontrolador, dependendo unicamente da instru()o executada
ULA
,. Interru05es
M<ltiplas fontes de interrup(Fes interna+externa Prioridade de interrup()o setada por soft/are La4ilita()o !lo4al e individual das interrup(Fes ,iversas interrup(Fes despertam o processador do estado de dormncia 0S@EEP1 #empo de latncia da interrup()o fixada em ? ciclos de instru()o
/. 4amlia 1,47+" *lm das caractersticas !erais da ar"uitetura dos microcontroladores PIC vistas at a!ora, existem outros aspectos peculiares aos mem4ros de cada famlia Como a diversidade de componentes muito !rande, vamos analisar as caractersticas dos componentes da famlia 67M:;*
_,
/.1.
3a fi!ura a4aixo apresentada de forma simplificada a ar"uitetura interna da famlia PICM:; Ela 4aseada em re!istradores, com o 4arramento de mem$ria de dados separado do 4arramento de mem$ria de pro!rama 0ar"uitetura AISC1 Este conceito permite ter um conCunto de instru(Fes simples, mas extremamente poderoso "ue enfatiza as opera(Fes 4it, 4Nte e de re!istradores
_/
/.2.
)evice
?7 7: ?7 7:
7; 7; 7; 7;
,iversas fre"Oncias de opera()o e empacotamento est)o disponveis ,ependendo da aplica()o e dos re"uisitos de produ()o existe uma op()o de dispositivo mais apropriado para ser selecionado Para maiores detal.es consulte o datas.eet do componente "ue voc utilizar /.2. Caractersticas >erais
*penas ?8 palavras de instru()o para aprender #odas instru(Fes com um ciclo exceto para desvios "ue levam dois ciclos 2elocidade de opera()o5 ,C at => M.z de clocH Instru(Fes com 6; 4its de lar!ura Darramento de dados de : 4its 67 re!istradores de fun(Fes especiais de .ard/are Pil.a com : nveis de profundidade Modos de endere(amento direto, indireto e relativo para dados e instru(Fes Capacidade de interrup()o
/.+.
_7
Po/erGBn Aeset 0PBA1 #emporizador -atc.G,o! 0-,#1 com oscilador pr$prio para opera(Fes se!uras Prote()o de C$di!o Pro!ram%vel Modo S@EEP para diminui()o de consumo de ener!ia Bp(Fes de oscilador selecion%vel5 o o o o AC oscilador AC de 4aixo custo 9# cristal padr)o LS Cristal de alta velocidade @P Cristal de 4aixa fre"Oncia 0redu()o de consumo1
Pro!rama()o Serial &inGcircuit' 0atravs de dois pinos1 ; 4Ntes de identifica()o 0I,1 pro!ram%veis pelo usu%rio
/.-.
* famlia PIC67M:;* tem um contador de pro!rama 0PC1 de 6? 4its capaz de endere(ar at :I x 6; 4its de mem$ria de pro!ramas B vetor de AESE# est% localizado no endere(o >>>>. e o vetor de interrup()o no endere(o >>>;. Butra caracterstica importante a ser salientada a impossi4ilidade de se ler diretamente da mem$ria de pro!rama * maneira com "ue isso feito na ar"uitetura do PIC utilizando a instru()o &AE#@H', "ue ser% visto mais adiante na apresenta()o do conCunto de instru(Fes /.,. Or6ani=ao da (em@ria de )ados
* mem$ria de dados composta de re!istradores e A*M para uso !eral Bs re!istradores s)o divididos em = !rupos funcionais5 Ae!istradores de Mun(Fes Especiais 0?= endere(os iniciais de cada 4anco1 e Ae!istradores de Uso Keral 0endere(os restantes de cada 4anco1 Entre os re!istradores de fun(Fes especiais est)o5 o re!istrador #MA>, o contador de pro!rama 0PC1, o re!istrador de Status 0S#*#US1, os re!istradores I+B 0ports1 e o re!istrador de sele()o 0MSA1 *lm disso, os re!istradores de fun(Fes especiais s)o usados para controlar a confi!ura()o dos ports de I+B e as op(Fes de prGescala Bs re!istradores de uso !eral s)o usados para dados e controle de informa()o so4 comando das instru(Fes
_A
/./.
/./.1. I )4 B 'e6istrador de %ndereamento Indireto :Indirect )ata "ddressin6 'e6ister; B re!istrador I3,M n)o um re!istrador fisicamente alocado e utilizado em conCunto com o re!istrador MSA para realizar endere(amento indireto Jual"uer instru()o usando o re!istrador I3,M acessa um dado cuCo endere(o est% contido no re!istrador MSA
_1C
/./.2. &('CB 'el@6io de &em0o 'eal :'eal &ime ClocDECounter; B conte<do desse re!istrador sucessivamente incrementado utilizando um &clocH', "ue tanto pode ser interno 0derivado do sistema de &clocH' de microcontrolador1 "uanto externo 0aplicado ao pino A*;+#>CII1 PodeGse utilizar uma prGdivis)o interna "ue permite ampliar 0multiplicar1 a conta!em /./.2. PC:PCL e PCL"&!;B Contador de Pro6rama :Pro6ram Counter; B re!istrador PC respons%vel pela !era()o do endere(o de 4usca P instru(Fes na mem$ria de pro!rama 3ormalmente incrementado de uma unidade ap$s a execu()o de uma instru()o, com exce()o das instru(Fes "ue utilizavam desvios como KB#B e C*@@ Como o PC tem 6? 4its de lar!ura, o 4Nte menos si!nificativo vem do re!istrador PC@, "ue um re!istrador de escrita e leitura e os 8 4its mais si!nificativos est)o armazenados no re!istrador PC@*#L
B PC tem todos os 4its resetados durante o Aeset ,urante a execu()o do pro!rama ele autoGincrementado Cuntamente com a execu()o da instru()o, a menos "ue o resultado da instru()o o altere Uma rotina em soft/are com KB#B computado acompan.ada da adi()o de um deslocamento 0offset1 ao contador de pro!ramas 0*,,-M PC@1
_11
/./.+. $&"CFB Pil1a :$tacD; * famlia PIC 67M:;* implementa uma estrutura de pil.a de oito nveis de profundidade por 6? 4its da ler!ura * %rea de pil.a n)o faz parte da mem$ria de pro!rama, nem da mem$ria de dados e tam4m n)o pode ser lida ou escrita B empil.amento feito "uando c.amada uma su4rotina utilizando a instru()o C*@@ B desempil.amento feito utilizandoGse a instru()o AE#@- ,ados n)o podem ser empil.ados, pr%tica muito tuilizada em outras famlias de microcontroladores "ue n)o possuem ar"uitetura AISC /./.-. $&"&G$ Q o re!istrador "ue possui os fla!s "ue indicam resultados de opera(Fes da unidade l$!ica e aritmtica 0U@*1, a condi()o de AESE# e o 4it de prGsele()o do 4anco de mem$ria de dados Bs 4its C, , e R 04its >, 6 e =1 indicam o estado de uma opera()o aritmtica na U@* Bs 4its P,S 04it ?1 e #BS 04it ;1 indicam o estado de Aeset Bs 4its #BS e P,S s)o somente para leitura, n)o s)o possveis de serem alterados por soft/are Juando na apresenta()o do sistema de Aeset e do ConCunto de Instru(Fes iremos detal.ar mais esse re!istrador /./.,. OP&IO B re!istrador BP#IB3 tem 7 4its de lar!ura e contm v%rios 4its de controle para confi!urar a prGescala "ue ser% utilizada pelo #MA> ou -,# 3ele tam4m definido o valor da prGescala e o tipo de conta!em *p$s um Aeset, todos os 4its s)o confi!urados com &6' /././. 'e6istrador de &rabal1o Q o re!istrador mais utilizado, pois toda a transferncia de dados feita atravs dele *lm disso, todas as opera(Fes aritmticas e 4ooleanas o utilizam como sendo um dos operandos Ele parecido com o acumulador de outras famlias de microcontroladores Este re!istrador n)o endere(%vel /./.7. 'e6istrador de $eleo :4ile $elect 'e6ister; 3a famlia PIC 67M:;9 os Dits > a 7 selecionam um dos 6=: re!istradores de uso !eral disponveis no modo de endere(amento indireto B mapa de re!istradores de uso !eral pode ser acessado tanto diretamente
_12
"uanto indiretamente atravs do re!istrador de sele()o 0MSA1 Uma instru()o utilizando o re!istrador I3,M vai operar com o endere(o "ue est% contido no re!istrador de sele()o 0MSA1 Isto um endere(amento indireto Por exemplo5 Ae!istrador >8 contm o valor 6>. Ae!istrador >7 contm o valor >*. Carre!ue o valor >8 no re!istrador MSA Uma leitura ao re!istrador I3,M retornar% o valor 6>. Incrementa o valor do re!istrador MSA de um 0MSA T >71 Uma leitura ao re!istrador I3,M retornar% o valor >*.
/./.A. 'e6istradores de IEO Bs Ae!istradores de I+B podem ser escritos ou lidos so4re o controle do pro!rama como "ual"uer outro re!istrador 3a condi()o Aeset todos os I+Bs s)o definidos como entrada, assim como todos os re!istradores de controle de I+B 0#AIS* e #AIS1 s)o confi!urados com 6 /./.1C. PO'&A Esse re!istrador tem correspondncia direta com os pinos A*;5A*> do microcontrolador Ele possui somente 8 4its 0A*> a A*;1U os demais ? 4its n)o s)o implementados e s)o lidos como zero Cada 4it desse PBA# pode ser individualmente confi!urado como entrada ou sada B pino A*;+#>CI6 uma entrada Sc.imitt #ri!!er e uma sada com dreno a4erto B port A*; multiplexado com a entrada de clocH #>CH6 #odos os outros pinos de PBA#" tem nveis de entrada Sc.immit #ri!!er e drivers de sada CMBS completos /./.11. 1,.A.2. PO'&# Esse re!istrador tem correspondncia direta com os pinos ADE5AD> do microcontrolador Ele tem : 4its de lar!ura e 4idirecional Cada 4it desse PBA# pode ser individualmente confi!urado como entrada ou sada Cada pino PBA#D tem um pull,up interno
_12
Um 4it de controle ADPUS 0BP#IB3 VEW1 pode li!ar os pullGups B pullGup automaticamente desli!ado "uando os pinos s)o confi!urados como sadas Bs pullGups tam4m s)o desa4ilitados no Po/erGon Aeset Juatro pinos do PBA#D, ADE5AD; tem uma caracterstica de interrup()o na mudan(a de estado *penas os pinos confi!urados com entrada podem causar esta interrup(aF Bs pinos de entrada 0ADE5AD;1 s)o comparados com o valor anti!o armazenado no latc., na <ltima leitura do PBA#D /./.12. &'I$" e &'I$# S)o os re!istradores referentes P confi!ura()o dos pinos de I+B da PBA#* e PBA#D Escrever 6Xs nos re!istradores #AIS* e #AISD fazem dos 4its entradas, colocando o driver de sada em alta impedYncia Escrever >Xs nesses re!istradores fazem dos 4its sadas, colocando o conte<do da sada nos latc.es dos PBA#s correspondentes *p$s um Aeset, todos os re!istradores s)o confi!urados com 6Xs, ou seCa, todos os pinos de I+B confi!urados como entrada /.7. Interface de IEO
#odos os pinos de I+Bs podem ser usados tanto como entrada "uanto sada * sua dire()o definida pelos re!istradores de dire()o #AIS* e #AISD Cada 4it desses re!istradores corresponde a um pino de I+B "ue, "uando setado, corresponde P entrada e, "uando resetado, corresponde P sada Por exemplo, se "uisermos setar o PBA#D com o ni44le menos si!nificativo como entrada e o mais si!nificativo como sada, ent)o o valor a ser escrito em #AISD ser% >>>>6666 em 4in%rio, ou &>M' em .exadecimal 3otaGse "ue o dado de sada se mantm armazenado em um flipGflop independente do pino de I+B estar confi!urado como entrada ou sada Esse dado se mantm nessa condi()o at "ue um novo dado seCa escrito Para o processo de leitura, o dado tem "ue estar esta4ilizado e o pino confi!urado para entrada pois ela n)o armazenada em flipGflops ,evido a essas caractersticas, o pro!ramador deve ter al!uns cuidados "uando usar instru(Fes do tipo &read and /rite modified' como DSM ou DCM, "ue lem o PBA# de I+B, executam a aopera()o no 4it e escrevem o resultado no PBA# de I+B Por exemplo, uma instru()o DSM no pino 8 do PBA#D ir% provocar a leitura dos : pinos de I+B do PBA#D Ent)o, a CPU ir% executar a opera()o de setar o 4it 8 e o resultado ser% escrito no PBA#D Se outro pino de I+B for usado como 4idirecional, e nesse instante estiver confi!urado para entrada o sinal presente ser% lido e reescrito so4re o dado "ue estivesse previamente escrito no latc. de sada do pino de I+Z Se o pino estiver confi!urado como entrada n)o .aver% nen.um pro4lema, mas se ele estiver confi!urado para sada, o dado no latc. de sada pode ser descon.ecido B "ue o pro!ramador deve ter em mente nunca provocar um &curtoGcircuito' nos pinos de I+B Por exemplo, se no pino de I+B estiver conectado a K3, e no latc. de sada estiver setado para &6',
_1+
com o pino e I+B confi!uradao para sada, uma alta corrente ir% circular, o "ue danificar% o componente /.A. &em0ori=ador
B m$dulo temporizador+contador 0#MA>1 tem as se!uintes caractersticas5 #emporizador+contador de : 4its PodeGse utiliz%Glo para leitura e escrita PrGescala de : 4its pro!ram%vel por soft/are Sele()o de clocH interno ou externo Sele()o do tipo de 4orda para clocH externo Interrup()o no estouro de MML para >>L
B modo temporizador selecionado fazendo o 4it #>CS T > 0#imer > C.ip Select BP#IB3 V8W1 3o modo temporizador, o re!istrador #MA> ser% incrementado a cada ciclo de m%"uina 0sem prGescala1 Se ocorrer uma escrita em #MA>, o incremento ser% ini4ido pelos dois ciclos de m%"uina se!uintes B modo contador selecionado fazendo o 4it #>CS T 6 3esse modo, #MA> ser% incrementado a cada 4orda de su4ida ou descida do pino A*;+#>CI6 * 4orda respons%vel pelo incremento determinada pelo 4it #>SE 0#imer > Select Ed!e BP#IB3 V;W1 B 4it #>SE T > seleciona 4orda de su4ida e #>SE seleciona 4orda de descida * prGescala compartil.ada entre o m$dulo #MA> e o -atc.G,o! #ime 0-,#1 * prGescala controlada no soft/are pelo 4it de controle PS* 0PreScaler *ssi!nmet BP#IB3 V?W1 Juando o 4it PS*T 6, a prGescala fica so4 controle do #MA> e a prGescala do -,# selecionada para 656 * prGescala setada por soft/are atravs dos 4its PS=5PS> 0BP#IB3 V=5>W1 com valores de sele()o "ue variam de 65=, 65;, , 65=87 B uso da prG escala pode ser para o -,# ou para o #MA>, mas nunca simultYneo 3ada impede "ue na primeira fase do pro!rama se utiliza a prGescala para o -,# e na se!unda fase para o #MA> B -,# tem oscilador pr$prio capaz de !erar um tempo 6:ms de perodo sem a prGescala Com prGescala de 656=: o tempo so4e para =,8 se!undos * interrup()o do #imer > !erada "uando o conte<do do re!istrador #MA> passar de MML para >>L Esse estouro faz #>IM T6 * interrup()o pode ser mascarada fazendo #>IE T > 0#imer > Interrupt Ena4le I3#CBV8W1 B 4it #>IM deve ser resetado por soft/are na rotina de servi(o da interrup()o antes de rea4ilitar a interrup()o * interrup()o do #imer > n)o pode acordar o processador do mod S@EEP por"ue o timer desli!ado antes de entrar no estado de dormncia
_1-
/.1C. Interru05es *s interrup(Fes disponveis nas famlias PIC 67+6E variam de componente para componente, dependendo das caractersticas de .ard/are implementadas *s famlias PIC 67+6E possuem ? fontes de interrup()o implementadas S)o elas5 Interrup()o Externa AD>+I3# Interrup()o #emporizador #MA> 0estouro na conta!em1 Interrup()o por mudan(a no PortD0pinos ADE5AD;1
B re!istrador de controle de interrup()o 0I3#CB31 armazena os pedidos individuais de interrup()o em seus 4its Ele tam4m contm 4its de .a4ilita()o individual e !lo4al de interrup(Fes B 4it de .e4ilita()o !lo4al de interrup(Fes, KIE 0I3#CB3 VEW1 .a4ilita 0se setado1 todas as interrup(Fes n)o mascaradas ou desa4ilita 0se resetado1 todas as interrup(Fes *s interrup(Fes individuais podem ser desa4ilitadas atravs do seu correspondente 4it de .a4ilita()o no re!istrado I3#CB3 B 4it KIE resetado durante o Aeset * instru()o &Aetorno da Interrup()o', AE#MIE, sai da rotina para desa4ilitar futuras interrup(Fes, o endere(o de retorno colocado na pil.a e o re!istrador PC carre!ado com >>>;L Uma vez na rotina de servi(o da interrup()o a0s1 fonte0s1 de interrup()o podem ser determinadas pelo teste das fla!s correspondente no re!istrador I3#CB3 B 4it da interrup()o atendida deve ser resetado no soft/are antes de rea4ilitar as interrup(Fes para evitar interrup(Fes recursivas
_1,
_1/
7. Parte %<0erimental
7.1.
Introduo
* Microc.ip disponi4iliza ferramentas para desenvolvimento de aplica(Fes para seus microcontroladores PIC ,entre estas ferramentas podemos citar o MP@*D e o PICStart B MP@*D um I,E "ue fornece uma inte!ra()o entre editor de texto, compiladores e microcontroladores Podemos tam4m, utilizar outras ferramentas de desenvolvimento, na Internet encontramos diversas delas 2amos utilizar nesta experincia a ferramenta P1(Pro Programmer .or MicroChip microcontrollers , ela disponi4iliza alm do soft/are, um !ravador de microcontroladores PIC 0anexo >61 *travs do soft/are P67pro e do circuito de !rava()o, podeGse carre!ar um pro!rama escrito em .exadecimal no microcontrolador ,iversos parYmetros podem ser confi!urados no soft/are para pro!ramar diferentes versFes de microcontroladores PIC Utilize o manual da ferramenta para maiores detal.es da utiliza()o do soft/are P67pro 7.2. >erar uma onda Huadrada em uma 0orta do PIC
2amos pro!ramar o PICM:;* para !erar uma onda "uadrada *4ra um editor de texto e escreva o c$di!o a4aixo, n)o es"ue(a de respeitar as ta4ula(Fes antes de cada comando e seus operandos
/include 0p1(.*$1inc0 !IST P21(F*$ count e3u -4-C 5iniciali6acao 5programa principal I7I 8SF -&h9'5 MO:!; --5 MO:;F -(5 8CF -&h9'5 !OOP 8SF -(9C"!! <E!"= 8CF -(9C"!! <E!"= >OTO !OOP
_17
<E!"= MO:!; +.h MO:;F 1" 5MO:;F 18 <E!"="?@ 5<ECFSA 18 5>OTO <E!"="?@ <ECFSA 1" >OTO <E!"="?@ RET!; -E7<
Em se!uida, transcreva o c$di!o para .exadecimal, para isso, su4meta o ar"uivo *SM "ue voc aca4ou de criar para o pro!rama MP*SM?>= exe *!ora vamos !ravar o c$di!o .exadecimal no PIC5 a 4 c d e f ! . i C H l Conecte o !ravador de microcontroladores na porta paralela do PC Posicione o PIC no !ravador, verificar posi()o do c.anfro @i!ue a fonte do !ravador *4ra o pro!rama P67pro Selecione o PIC67M:;*5 ,evice 0M?1 Carre!ue o pro!rama !ravado na mem$ria do microcontrolador5 Aead 0M71 *pa!ue o conte<do da mem$ria5 Erase 0M[1 2erifi"ue se a mem$ria est% vazia5 DlanH C.ecH 0ME1 *4ra o pro!rama escrito em .exadecimal5 BpenPro! 0M61 Selecione o oscilador 9#5 Muses 0M=1 Krave o pro!rama escrito em .exadecimal no microcontrolador5 Pro!ram 0M;1 2erifi"ue a !rava()o e a op()o do oscilador5 Aead 0M71
m ,esli!ue a fonte do !ravador n Aetire o PIC do !ravador, tome cuidado com os pinos
_1A
Para verificar o funcionamento do pro!rama, vamos implementar um circuito de teste 0fi!ura 661 Este circuito deve li!ar a porta AD - do microcontrolador a um led ,eveGse tam4m li!ar um oscilador ao PIC, ele ser% P 4ase dos seus ciclos de instru()o 0ver manual1 B oscilador ser% um cristal, com fre"Oncia e confi!ura()o de monta!em especificada no manual do PICM:;* \=]
2,,
C6
9#*@
PIC47+"
C6
BSC6+BU#
2SS
_2C
A. #iblio6rafia
\6] Microc.ip PIC67M:9 ,atas.eet /// microc.ip com \=] ProCetos de Lard/are e Soft/are utilizando Microcontroladores PIC Edmur Canazian G 6[[[ \?] P67Pro Pro!rammer for MicroC.ip microcontrollers S.ort Manual
_21