Você está na página 1de 9

Introduo

As circunstncias que se nos deparam hoje no campo dos 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. Isso constituiu um pr requisito para a produ!"o de microprocessadores e# os primeiros computadores $oram construdos adicionando 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. 'oi assim que o primeiro chip contendo um microcomputador e que mais tarde haveria de ser designado por microcontrolador# apareceu.

Histria
( no ano de )*+* que uma equipa de engenheiros japoneses pertencentes , companhia -&.I/01 chega aos Estados &nidos com a encomenda de alguns circuitos integrados para calculadoras a serem implementados segundo os seus projectos. A proposta $oi entregue , I23E4 e 1arcian 5o$$ $oi o respons6vel pela sua concretiza!"o. /omo ele tinha tido e%perincia de tra7alho com um computador 89/: 9;9<# lem7rou se de apresentar uma solu!"o su7stancialmente di$erente em vez da constru!"o sugerida. Esta solu!"o pressupunha que a $un!"o do circuito integrado seria determinada por um programa nele armazenado. Isso signi$icava que a con$igura!"o deveria ser mais simples# mas tam7m era preciso muito mais memria que no caso do projecto proposto pelos engenheiros japoneses. ;epois de algum tempo# em7ora os engenheiros japoneses tenham tentado encontrar uma solu!"o mais $6cil# a ideia de 1arcian venceu e o primeiro microprocessador nasceu. Ao trans$ormar esta ideia num produto concreto# 'rederico 'aggin $oi de uma grande utilidade para a I23E4. Ele trans$eriu se para a I23E4 e# em somente * meses# teve sucesso na cria!"o de um produto real a partir da sua primeira concep!"o. Em )*=)# a I23E4 adquiriu os direitos so7re a venda deste 7loco integral. 9rimeiro eles compraram a licen!a , companhia -&.I/01 que n"o tinha a mnima percep!"o do tesouro que possua. 2este mesmo ano# apareceu no mercado um microprocessador designado por >??>. Este $oi o primeiro microprocessador de > 7its e tinha a velocidade de + ??? opera!@es por segundo. 2"o muito tempo depois# a companhia Americana /3/ pediu , I23E4 e , 3e%as Instruments um microprocessador de < 7its para usar em terminais. 1esmo apesar de a /3/ aca7ar por desistir desta ideia# tanto a Intel como a 3e%as Instruments continuaram a tra7alhar no microprocessador e# em A7ril de )*=A# os primeiros microprocessadores de < 7its apareceram no mercado com o nome de <??<. Este podia endere!ar )+B- de memria# possua >C instru!@es e tinha a velocidade de D?? ??? opera!@es por segundo. Esse microprocessador $oi o pioneiro de todos os microprocessadores actuais. A Intel continuou com o desenvolvimento do produto e# em A7ril de )*=> pEs c6 $ora um processador de < 7its com o nome de <?<? com a capacidade de endere!ar +>B- de memria# com =C instru!@es e com pre!os a come!arem em FD+?. &ma outra companhia Americana# a 1otorola# aperce7eu se rapidamente do que estava a acontecer e# assim# pEs no mercado um novo microprocessador de < 7its# o +<??. 0 construtor che$e $oi /hucG 9eddle e alm do microprocessador propriamente dito# a 1otorola $oi a primeira companhia a $a7ricar outros peri$ricos como os +<A? e +<C?. 2esta altura# muitas companhias j6 se tinham aperce7ido da enorme importncia dos microprocessadores e come!aram a introduzir os seus prprios desenvolvimentos. /hucG 9eddle dei%a a 1otorola para entrar para a 10. 3echnologH e continua a tra7alhar intensivamente no desenvolvimento dos microprocessadores. Em )*=C# na e%posi!"o IE./02 nos Estados &nidos# ocorreu um acontecimento crtico na histria dos microprocessadores. A 10. 3echnologH anunciou que ia pEr no mercado microprocessadores +C?) e +C?A ao pre!o de FAC cada e que podia satis$azer de imediato todas as encomendas. Isto pareceu t"o sensacional que muitos pensaram tratar se de uma espcie de vigarice# considerando que os competidores vendiam o <?<? e o +<?? a F)=* cada. 9ara responder a este competidor# tanto a Intel como a 1otorola 7ai%aram os seus pre!os por microprocessador para F+*#*C logo no primeiro dia da e%posi!"o. Japidamente a 1otorola pEs uma ac!"o em tri7unal contra a 10. 3echnologH e contra /hucG 9eddle por viola!"o dos direitos de autor por copiarem ao copiarem o +<??. A 10. 3echnologH dei%ou de $a7ricar o +C?)# mas continuou com o +C?A. 0 +C?A um microprocessador de < 7its com C+ instru!@es e uma capacidade de endere!amento de +>B- de

memria. ;evido ao seu 7ai%o custo# o +C?A torna se muito popular e# assim# instalado em computadores como BI1 )# Apple I# Apple II# Atari# /omodore# Acorn# 0ric# Kale7# 0rao# &ltra e muitos outros. /edo aparecem v6rios $a7ricantes do +C?A 8JocGLell# .znerteG# K3E# 2/J# Jicoh e /omodore adquiriram a 10. 3echnologH: que# no auge da sua prosperidade# chegou a vender microprocessadores , raz"o de )C milh@es por ano M /ontudo# os outros n"o 7ai%aram os 7ra!os. 'rederico 'aggin dei%a a Intel e $unda a Nilog Inc. Em )*=+# a Nilog anuncia o N<?. ;urante a concep!"o deste microprocessador# 'aggin toma uma decis"o crtica. .a7endo que tinha sido j6 desenvolvida uma enorme quantidade de programas para o <?<?# 'aggin conclui que muitos v"o permanecer $ieis a este microprocessador por causa das grandes despesas que adviriam das altera!@es a todos estes programas. Assim# ele decide que o novo microprocessador deve ser compatvel com o <?<?# ou seja# deve ser capaz de e%ecutar todos os programas que j6 tenham sido escritos para o <?<?. Alm destas caractersticas# outras caractersticas adicionais $oram introduzidas# de tal modo que o N<? se tornou um microprocessador muito potente no seu tempo. Ele podia endere!ar directamente +>B- de memria# tinha )=+ instru!@es# um grande nmero de registos# uma op!"o para re$rescamento de memria JA1 dinmica# uma nica alimenta!"o# maior velocidade de $uncionamento# etc. 0 N<? tornou se um grande sucesso e toda a gente se trans$eriu do <?<? para o N<?. 9ode dizer se que o N<? se constituiu sem som7ra de dvida como o microprocessador de < 7its com maior sucesso no seu tempo. Alm da Nilog# outros novos $a7ricantes como 1osteG# 2E/# .5AJ9 e .K. apareceram. 0 N<? $oi o cora!"o de muitos computadores como o .pectrum# 9artner# 3J.=?D# N D e Kala%H# que $oram aqui usados. Em )*=+# a Intel apareceu com uma vers"o melhorada do microprocessador de < 7its e designada por <?<C. /ontudo# o N<? era t"o superior a este que# 7em depressa# a Intel perdeu a 7atalha. Ainda que mais alguns microprocessadores tenham aparecido no mercado 8+<?*# A+C?# ./O19 etc.:# j6 tudo estava ent"o decidido. P6 n"o havia mais grandes melhorias a introduzir pelos $a7ricantes que $undamentassem a troca por um novo microprocessador# assim# o +C?A e o N<?# acompanhados pelo +<??# mantiveram se como os mais representativos microprocessadores de < 7its desse tempo.

Microcontroladores versus Microprocessadores


&m microcontrolador di$ere de um microprocessador em v6rios aspectos. 9rimeiro e o mais importante# a sua $uncionalidade. 9ara que um microprocessador possa ser usado# outros componentes devem lhe ser adicionados# tais como memria e componentes para rece7er e enviar dados. Em resumo# isso signi$ica que o microprocessador o verdadeiro cora!"o do computador. 9or outro lado# o microcontrolador $oi projectado para ter tudo num s. 2enhuns outros componentes e%ternos s"o necess6rios nas aplica!@es# uma vez que todos os peri$ricos necess6rios j6 est"o contidos nele. Assim# ns poupamos tempo e espa!o na constru!"o dos dispositivos.

1.1 Unidade de Memria


A memria a parte do microcontrolador cuja $un!"o guardar dados. A maneira mais $6cil de e%plicar descrev la como uma grande prateleira cheia de gavetas. .e supusermos que marcamos as gavetas de modo a elas n"o se con$undirem umas com as outras# ent"o o seu contedo ser6 $acilmente acessvel. -asta sa7er a designa!"o da gaveta e o seu contedo ser6 conhecido.

0s componentes de memria s"o e%actamente a mesma coisa. 9ara um determinado endere!o# ns o7temos o contedo desse endere!o. ;ois novos conceitos $oram apresentadosQ endere!amento e memria. A memria o conjunto de todos os locais de memria 8gavetas: e endere!amento nada mais que seleccionar um deles. Isto signi$ica que precisamos de seleccionar o endere!o desejado 8gaveta: e esperar que o contedo desse endere!o nos seja apresentado 8a7rir a gaveta:. Alm de ler de um local da memria 8ler o contedo da gaveta:# tam7m possvel escrever num endere!o da memria 8introduzir um contedo na gaveta:. Isto $eito utilizando uma linha adicional chamada linha de controle. 2s iremos designar esta linha por JOI 8readOLrite: lerOescrever. A linha de controle usada do seguinte modoQ se rOLR)# e%ecutada uma opera!"o de leitura# caso contr6rio e%ecutada uma opera!"o de escrita no endere!o de memria. A memria o primeiro elemento# mas precisamos de mais alguns para que o nosso microcontrolador possa tra7alhar.

1.2 Unidade Central de Processamento


Samos agora adicionar mais D locais de memria a um 7loco espec$ico para que possamos ter as capacidades de multiplicar# dividir# su7trair e mover o seus contedos de um local de memria para outro. A parte que vamos acrescentar chamada Tcentral processing unitT 8/9&: ou &nidade /entral de 9rocessamento. 0s locais de memria nela contidos chamam se registos.

0s registos s"o# portanto# locais de memria cujo papel ajudar a e%ecutar v6rias opera!@es matem6ticas ou quaisquer outras opera!@es com dados# quaisquer que sejam os locais em que estes se encontrem. Samos olhar para a situa!"o actual. 2s temos duas entidades independentes 8memria e /9&: que est"o interligadas# deste modo# qualquer troca de dados retardada 7em como a $uncionalidade do sistema diminuda. .e# por e%emplo# ns desejarmos adicionar os contedos de dois locais de memria e tornar a guardar o resultado na memria# ns necessitamos de uma liga!"o entre a memria e o /9&. ;ito mais simplesmente# ns precisamos de o7ter um TcaminhoT atravs do qual os dados possam passar de um 7loco para outro.

1.3 Bus
Este TcaminhoT designa se por T7usT . 'isicamente ele corresponde a um grupo de <# )+ ou mais $ios. E%istem dois tipos de 7usQ 7us de dados e de endere!o. 0 nmero de linhas do primeiro depende da quantidade de memria que desejamos endere!ar e o nmero de linhas do outro depende da largura da palavra de dados# no nosso caso igual a oito. 0 primeiro 7us serve para transmitir endere!os do /9& para a memria e o segundo para ligar todos os 7locos dentro do microcontrolador.

2este momento# a $uncionalidade j6 aumentou mas um novo pro7lema apareceuQ ns temos uma unidade capaz de tra7alhar sozinha# mas que n"o possui nenhum contacto com o mundo e%terior# ou seja# conoscoM ;e modo a remover esta de$icincia# vamos adicionar um 7loco que contm v6rias localiza!@es de memria e que# de um lado# est6 ligado ao 7us de dados e do outro ,s linhas de sada do microcontrolador que coincidem com pinos do circuito integrado e que# portanto# ns podemos ver com os nossos prprios olhos.

1.4 Unidade de entrada sa!da


Estas localiza!@es que aca7amos de adicionar# chamam se TportosT. E%istem v6rios tipos de portosQ de entrada# de sada e de entradaOsada. Uuando tra7alhamos com portos primeiro de tudo necess6rio escolher o porto com que queremos tra7alhar e# em seguida# enviar ou rece7er dados para ou desse porto.

Uuando se est6 a tra7alhar com ele# o porto $unciona como um local de memria. Uualquer coisa de que se est6 a ler ou em que se est6 a escrever e que possvel identi$icar $acilmente nos pinos do microcontrolador.

1." Comunicao s#rie


Anteriormente# acrescent6mos , unidade j6 e%istente a possi7ilidade de comunicar com o mundo e%terior. /ontudo# esta maneira de comunicar tem os seus inconvenientes. &m dos inconvenientes 76sicos o nmero de linhas que necess6rio usarmos para trans$erir dados. E se $or necess6rio trans$eri los a uma distncia de v6rios quilmetrosV 0 nmero de linhas vezes o nmero de quilmetros n"o atesta a economia do projecto. Isto leva nos a ter que reduzir o nmero de linhas de modo a que a $uncionalidade se mantenha. .uponha que estamos a tra7alhar apenas com trs linhas e que uma linha usada para enviar dados# outra para os rece7er e a terceira usada como linha de re$erncia tanto do lado de entrada como do lado da sada. 9ara que isto tra7alhe ns precisamos de de$inir as regras para a troca de dados. A este conjunto de regras chama se protocolo. Este protocolo deve ser de$inido com antecedncia de modo que n"o haja mal entendidos entre as partes que est"o a comunicar entre si. 9or e%emplo# se um homem est6 a $alar em $rancs e o outro em ingls# altamente improv6vel que e$ectivamente e rapidamente# am7os se entendam. Samos supor que temos o seguinte protocolo. A unidade lgica T)T colocada na linha de transmiss"o at que a trans$erncia se inicie. Assim que isto acontece# a linha passa para nvel lgico W?W durante um certo perodo de tempo 8que vamos designar por 3:# assim# do lado da recep!"o $icamos a sa7er que e%istem dados para rece7er e# o mecanismo de recep!"o# vai activar se. Jegressemos agora ao lado da emiss"o e comecemos a pEr zeros e uns lgicos na linha de transmiss"o correspondentes aos 7its# primeiro o menos signi$icativo e $inalmente o mais signi$icativo. Samos esperar que cada 7it permane!a na linha durante um perodo de tempo igual a 3# e# $inalmente# depois do oitavo 7it# vamos pEr novamente na linha o nvel lgico T)T # o que assinala a transmiss"o de um dado. 0 protocolo que aca7amos de descrever designado na literatura pro$issional por 2JN 82"o Jetorno a Nero:.

/omo ns temos linhas separadas para rece7er e enviar# possvel rece7er e enviar dados 8in$orma!"o: simultaneamente. 0 7loco que possi7ilita este tipo de comunica!"o designado por 7loco de comunica!"o srie. Ao contr6rio da transmiss"o em paralelo# aqui os dados movem se 7it

aps 7it em srie# daqui provm o nome de comunica!"o srie. ;epois de rece7er dados ns precisamos de os ler e guardar na memria# no caso da transmiss"o de dados o processo inverso. 0s dados vm da memria atravs do 7us para o local de transmiss"o e dali para a unidade de recep!"o de acordo com o protocolo.

1.$ Unidade de tempori%ao


Agora que j6 temos a unidade de comunica!"o srie implementada# ns podemos rece7er# enviar e processar dados.

/ontudo# para sermos capazes de utilizar isto na indstria precisamos ainda de mais alguns 7locos. &m deles o 7loco de temporiza!"o que nos interessa 7astante porque pode dar nos in$orma!@es acerca da hora# dura!"o# protocolo# etc. A unidade 76sica do temporizador um contador que na realidade um registo cujo contedo aumenta de uma unidade num intervalo de tempo $i%o# assim# anotando o seu valor durante os instantes de tempo 3) e 3A e calculando a sua di$eren!a# ns $icamos a sa7er a quantidade de tempo decorrida. Esta uma parte muito importante do microcontrolador# cujo domnio vai requerer muita da nossa aten!"o.

1.& 'atc(do)
&ma outra coisa que nos vai interessar a $luncia da e%ecu!"o do programa pelo microcontrolador durante a sua utiliza!"o. .uponha que como resultado de qualquer inter$erncia 8que ocorre $requentemente num am7iente industrial:# o nosso microcontrolador p6ra de e%ecutar o programa ou# ainda pior# desata a tra7alhar incorrectamente.

/laro que# quando isto acontece com um computador# ns simplesmente carregamos no 7ot"o de reset e continuamos a tra7alhar. /ontudo# no caso do microcontrolador ns n"o podemos resolver o nosso pro7lema deste modo# porque n"o temos 7ot"o. 9ara ultrapassar este o7st6culo# precisamos de introduzir no nosso modelo um novo 7loco chamado Latchdog 8c"o de guarda:. Este 7loco de $acto outro contador que est6 continuamente a contar e que o nosso programa p@e a zero sempre que e%ecutado correctamente. 2o caso de o programa TencravarT# o zero n"o vai ser escrito e o contador# por si s# encarregar se 6 de $azer o reset do microcontrolador quando alcan!ar o seu valor m6%imo. Isto vai $azer com que o programa corra de novo e desta vez correctamente. Este um elemento importante para que qualquer programa se e%ecute $iavelmente# sem precisar da interven!"o do ser humano.

1.* Conversor anal)ico + di)ital


/omo os sinais dos peri$ricos s"o su7stancialmente di$erentes daqueles que o microcontrolador

pode entender 8zero e um:# eles devem ser convertidos num $ormato que possa ser compreendido pelo microcontrolador. Esta tare$a e%ecutada por intermdio de um 7loco destinado , convers"o analgica digital ou com um conversor AO;. Este 7loco vai ser respons6vel pela convers"o de uma in$orma!"o de valor analgico para um nmero 7in6rio e pelo seu trajecto atravs do 7loco do /9&# de modo a que este o possa processar de imediato.

2este momento# a con$igura!"o do microcontrolador est6 j6 terminada# tudo o que $alta introduzi la dentro de um aparelho electrnico que poder6 aceder aos 7locos internos atravs dos pinos deste componente. A $igura a seguir# ilustra o aspecto interno de um microcontrolador.

Con,i)urao ,!sica do interior de um microcontrolador As linhas mais $inas que partem do centro em direc!"o , peri$eria do microcontrolador correspondem aos $ios que interligam os 7locos interiores aos pinos do envlucro do microcontrolador. 0 gr6$ico que se segue representa a parte principal de um microcontrolador.

-s.uema de um microcontrolador com os seus elementos /0sicos e li)a1es internas.

2uma aplica!"o real# um microcontrolador# por si s# n"o su$iciente. Alm dele# ns necessitamos do programa que vai ser e%ecutado e de mais alguns elementos que constituir"o um inter$ace lgico para outros elementos 8que vamos discutir em captulos mais , $rente:.

1.2 Pro)rama
Escrever um programa uma parte especial do tra7alho com microcontroladores e designado por Tprograma!"oT. Samos tentar escrever um pequeno programa numa linguagem que seremos ns a criar e que toda a gente ser6 capaz de compreender. I3ICI4 5-6I78419:4C;:<=-< M-M45I;<; 5-6I78429:4C;:<=-< M-M45I;<B P4584<;95-6I7841>5-6I7842 ?IM

0 programa adiciona os contedos de dois locais de memria e coloca a soma destes contedos no porto A. A primeira linha do programa manda mover o contedo do local de memria TAT para um dos registos da unidade central de processamento. /omo necessitamos tam7m de outra parcela# vamos colocar o outro contedo noutro registo da unidade central de processamento 8/9&:. A instru!"o seguinte pede ao /9& para adicionar os contedos dos dois registos e enviar o resultado o7tido para o porto A# de modo a que o resultado desta adi!"o seja visvel para o mundo e%terior. 9ara um pro7lema mais comple%o# naturalmente o programa que o resolve ser6 maior. A tare$a de programa!"o pode ser e%ecutada em v6rias linguagens tais como o Assem7ler# / e -asic que s"o as linguagens normalmente mais usadas. 0 Assem7ler pertence ao grupo das linguagens de 7ai%o nvel que implicam um tra7alho de programa!"o lento# mas que o$erece os melhores resultados quando se pretende poupar espa!o de memria e aumentar a velocidade de e%ecu!"o do programa. /omo se trata da linguagem mais $requentemente usada na programa!"o de microcontroladores# ela ser6 discutida num captulo mais adiantado. 0s programas na linguagem / s"o mais $6ceis de se escrever e compreender# mas# tam7m# s"o mais lentos a serem e%ecutados que os programas assem7ler. -asic a mais $6cil de todas para se aprender e as suas instru!@es s"o semelhantes , maneira de um ser humano se e%primir# mas tal como a linguagem /# tam7m de e%ecu!"o mais lenta que o assem7ler. Em qualquer caso# antes que escolha entre uma destas linguagens# precisa de e%aminar cuidadosamente os requisitos de velocidade de e%ecu!"o# de espa!o de memria a ocupar e o tempo que vai demorar a $azer o programa em assem7lH. ;epois de o programa estar escrito# ns necessitamos de introduzir o microcontrolador num dispositivo e pE lo a tra7alhar. 9ara que isto aconte!a# ns precisamos de adicionar mais alguns componentes e%ternos. 9rimeiro temos que dar vida ao microcontrolador $ornecendo lhe a tens"o 8a tens"o elctrica necess6ria para que qualquer instrumento electrnico $uncione: e o oscilador cujo papel an6logo ao do cora!"o que 7ate no ser humano. A e%ecu!"o das instru!@es do programa regulada pelas pulsa!@es do oscilador. 4ogo que lhe aplicada a tens"o# o microcontrolador e%ecuta uma veri$ica!"o dele prprio# vai para o princpio do programa e come!a a e%ecut6 lo. 0 modo como o dispositivo vai tra7alhar depende de muitos parmetros# os mais importantes dos quais s"o a competncia da pessoa que desenvolve o hardLare e do programador que# com o seu programa# deve tirar o m6%imo do dispositivo.

Você também pode gostar