Você está na página 1de 8

16/09/2010

CAPTULO 1 - Introduo aos Microco

Microcontroladores PIC
on-line GRTIS!
Pgina anterior Tabela de contedos

Indice Sistema de desenvolvimento Contacte-nos

Pgina seguinte

CAPTULO 1
Introduo aos Microcontroladores
Introduo Histria Microcontroladores versus microprocessadores 1.1 Unidade de memria 1.2 Unidade central de processamento 1.3 Bus 1.4 Unidade de entrada/sada 1.5 Comunicao srie 1.6 Unidade de temporizao 1.7 Watchdog 1.8 Conversor analgico-digital 1.9 Programa

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 produo de microprocessadores e, os primeiros computadores foram construdos adicionando perifricos externos tais como memria, linhas de entrada e sada, temporizadores e outros. Um crescente aumento do nvel de integrao, permitiu o aparecimento de circuitos integrados contendo simultaneamente processador e perifricos. Foi assim que o primeiro chip contendo um microcomputador e que mais tarde haveria de ser designado por microcontrolador, apareceu.

Histria
no ano de 1969 que uma equipa de engenheiros japoneses pertencentes companhia BUSICOM chega aos Estados Unidos com a encomenda de alguns circuitos integrados para calculadoras a serem implementados segundo os seus projectos. A proposta foi entregue INTEL e Marcian Hoff foi o responsvel pela sua concretizao. Como ele tinha tido experincia de trabalho com um computador (PC) PDP8, lembrou-se de apresentar uma soluo substancialmente diferente em vez da construo sugerida. Esta soluo pressupunha que a funo do circuito integrado seria determinada por um programa nele armazenado. Isso significava que a configurao deveria ser mais simples, mas tambm era preciso muito mais memria que no caso do projecto proposto pelos engenheiros japoneses. Depois de algum tempo, embora os engenheiros japoneses tenham tentado encontrar uma soluo mais fcil, a ideia de Marcian venceu e o primeiro microprocessador nasceu. Ao transformar esta ideia num produto concreto, Frederico Faggin foi de uma grande utilidade para a INTEL. Ele transferiu-se para a INTEL e, em somente 9 meses, teve sucesso na criao de um produto real a partir da sua primeira concepo. Em 1971, a INTEL adquiriu os direitos sobre a venda deste bloco integral. Primeiro eles compraram a licena companhia BUSICOM que no tinha a mnima percepo do tesouro que possua. Neste mesmo ano, apareceu no mercado um microprocessador designado por 4004. Este foi o primeiro microprocessador de 4 bits e tinha a velocidade de 6 000 operaes por segundo. No muito tempo depois, a companhia Americana CTC pediu INTEL e Texas Instruments um microprocessador de 8 bits para usar em terminais. Mesmo apesar de a CTC acabar por desistir desta ideia, tanto a Intel como a Texas Instruments continuaram a trabalhar no microprocessador e, em Abril de 1972, os primeiros microprocessadores de 8 bits apareceram no mercado com o nome de 8008. Este podia enderear 16KB de memria, possua 45 instrues e tinha a velocidade de 300 000 operaes por segundo. Esse microprocessador foi o pioneiro de todos os microprocessadores actuais. A Intel continuou com o desenvolvimento do produto e, em Abril de 1974 ps c fora um processador de 8 bits com o nome de 8080 com a capacidade de enderear 64KB de memria, com 75 instrues e com preos a comearem em $360. Uma outra companhia Americana, a Motorola, apercebeu-se rapidamente do que estava a acontecer e, assim, ps no mercado um novo microprocessador de 8 bits, o 6800. O construtor chefe foi Chuck Peddle e alm do microprocessador propriamente dito, a Motorola foi a primeira companhia a fabricar outros perifricos como os 6820 e 6850. Nesta altura, muitas companhias j se tinham apercebido da enorme importncia dos microprocessadores e comearam a introduzir os seus prprios desenvolvimentos. Chuck Peddle deixa a Motorola

mikroe.com/pt//capitulo1.htm

1/8

16/09/2010
para entrar para a microprocessadores. MOS

CAPTULO 1 - Introduo aos Microco


Technology e continua a trabalhar intensivamente no desenvolvimento dos

Em 1975, na exposio WESCON nos Estados Unidos, ocorreu um acontecimento crtico na histria dos microprocessadores. A MOS Technology anunciou que ia pr no mercado microprocessadores 6501 e 6502 ao preo de $25 cada e que podia satisfazer de imediato todas as encomendas. Isto pareceu to sensacional que muitos pensaram tratar-se de uma espcie de vigarice, considerando que os competidores vendiam o 8080 e o 6800 a $179 cada. Para responder a este competidor, tanto a Intel como a Motorola baixaram os seus preos por microprocessador para $69,95 logo no primeiro dia da exposio. Rapidamente a Motorola ps uma aco em tribunal contra a MOS Technology e contra Chuck Peddle por violao dos direitos de autor por copiarem ao copiarem o 6800. A MOS Technology deixou de fabricar o 6501, mas continuou com o 6502. O 6502 um microprocessador de 8 bits com 56 instrues e uma capacidade de endereamento de 64KB de memria. Devido ao seu baixo custo, o 6502 torna-se muito popular e, assim, instalado em computadores como KIM-1, Apple I, Apple II, Atari, Comodore, Acorn, Oric, Galeb, Orao, Ultra e muitos outros. Cedo aparecem vrios fabricantes do 6502 (Rockwell, Sznertek, GTE, NCR, Ricoh e Comodore adquiriram a MOS Technology) que, no auge da sua prosperidade, chegou a vender microprocessadores razo de 15 milhes por ano ! Contudo, os outros no baixaram os braos. Frederico Faggin deixa a Intel e funda a Zilog Inc. Em 1976, a Zilog anuncia o Z80. Durante a concepo deste microprocessador, Faggin toma uma deciso crtica. Sabendo que tinha sido j desenvolvida uma enorme quantidade de programas para o 8080, Faggin conclui que muitos vo permanecer fieis a este microprocessador por causa das grandes despesas que adviriam das alteraes a todos estes programas. Assim, ele decide que o novo microprocessador deve ser compatvel com o 8080, ou seja, deve ser capaz de executar todos os programas que j tenham sido escritos para o 8080. Alm destas caractersticas, outras caractersticas adicionais foram introduzidas, de tal modo que o Z80 se tornou um microprocessador muito potente no seu tempo. Ele podia enderear directamente 64KB de memria, tinha 176 instrues, um grande nmero de registos, uma opo para refrescamento de memria RAM dinmica, uma nica alimentao, maior velocidade de funcionamento, etc. O Z80 tornou-se um grande sucesso e toda a gente se transferiu do 8080 para o Z80. Pode dizer-se que o Z80 se constituiu sem sombra de dvida como o microprocessador de 8 bits com maior sucesso no seu tempo. Alm da Zilog, outros novos fabricantes como Mostek, NEC, SHARP e SGS apareceram. O Z80 foi o corao de muitos computadores como o Spectrum, Partner, TRS703, Z-3 e Galaxy, que foram aqui usados. Em 1976, a Intel apareceu com uma verso melhorada do microprocessador de 8 bits e designada por 8085. Contudo, o Z80 era to superior a este que, bem depressa, a Intel perdeu a batalha. Ainda que mais alguns microprocessadores tenham aparecido no mercado (6809, 2650, SC/MP etc.), j tudo estava ento decidido. J no havia mais grandes melhorias a introduzir pelos fabricantes que fundamentassem a troca por um novo microprocessador, assim, o 6502 e o Z80, acompanhados pelo 6800, mantiveram-se como os mais representativos microprocessadores de 8 bits desse tempo.

Microcontroladores versus Microprocessadores


Um microcontrolador difere de um microprocessador em vrios aspectos. Primeiro e o mais importante, a sua funcionalidade. Para que um microprocessador possa ser usado, outros componentes devem-lhe ser adicionados, tais como memria e componentes para receber e enviar dados. Em resumo, isso significa que o microprocessador o verdadeiro corao do computador. Por outro lado, o microcontrolador foi projectado para ter tudo num s. Nenhuns outros componentes externos so necessrios nas aplicaes, uma vez que todos os perifricos necessrios j esto contidos nele. Assim, ns poupamos tempo e espao na construo dos dispositivos.

1.1 Unidade de Memria


A memria a parte do microcontrolador cuja funo guardar dados. A maneira mais fcil de explicar descrev-la como uma grande prateleira cheia de gavetas. Se supusermos que marcamos as gavetas de modo a elas no se confundirem umas com as outras, ento o seu contedo ser facilmente acessvel. Basta saber a designao da gaveta e o seu contedo ser conhecido.

mikroe.com/pt//capitulo1.htm

2/8

16/09/2010

CAPTULO 1 - Introduo aos Microco

Os componentes de memria so exactamente a mesma coisa. Para um determinado endereo, ns obtemos o contedo desse endereo. Dois novos conceitos foram apresentados: endereamento e memria. A memria o conjunto de todos os locais de memria (gavetas) e endereamento nada mais que seleccionar um deles. Isto significa que precisamos de seleccionar o endereo desejado (gaveta) e esperar que o contedo desse endereo nos seja apresentado (abrir a gaveta). Alm de ler de um local da memria (ler o contedo da gaveta), tambm possvel escrever num endereo da memria (introduzir um contedo na gaveta). Isto feito utilizando uma linha adicional chamada linha de controle. Ns iremos designar esta linha por R/W (read/write) - ler/escrever. A linha de controle usada do seguinte modo: se r/w=1, executada uma operao de leitura, caso contrrio executada uma operao de escrita no endereo de memria. A memria o primeiro elemento, mas precisamos de mais alguns para que o nosso microcontrolador possa trabalhar.

1.2 Unidade Central de Processamento


Vamos agora adicionar mais 3 locais de memria a um bloco especfico para que possamos ter as capacidades de multiplicar, dividir, subtrair e mover o seus contedos de um local de memria para outro. A parte que vamos acrescentar chamada "central processing unit" (CPU) ou Unidade Central de Processamento. Os locais de memria nela contidos chamam-se registos.

Os registos so, portanto, locais de memria cujo papel ajudar a executar vrias operaes matemticas ou quaisquer outras operaes com dados, quaisquer que sejam os locais em que estes se encontrem. Vamos olhar para a situao actual. Ns temos duas entidades independentes (memria e CPU) que esto interligadas, deste modo, qualquer troca de dados retardada bem como a funcionalidade do sistema diminuda. Se, por exemplo, ns desejarmos adicionar os contedos de dois locais de memria e tornar a guardar o resultado na memria, ns necessitamos de uma ligao entre a memria e o CPU. Dito mais simplesmente, ns precisamos de obter um "caminho" atravs do qual os dados possam passar de um bloco para outro.

1.3 Bus
Este "caminho" designa-se por "bus" . Fisicamente ele corresponde a um grupo de 8, 16 ou mais fios.

mikroe.com/pt//capitulo1.htm

3/8

16/09/2010

CAPTULO 1 - Introduo aos Microco

Existem dois tipos de bus: bus de dados e de endereo. O nmero de linhas do primeiro depende da quantidade de memria que desejamos enderear e o nmero de linhas do outro depende da largura da palavra de dados, no nosso caso igual a oito. O primeiro bus serve para transmitir endereos do CPU para a memria e o segundo para ligar todos os blocos dentro do microcontrolador.

Neste momento, a funcionalidade j aumentou mas um novo problema apareceu: ns temos uma unidade capaz de trabalhar sozinha, mas que no possui nenhum contacto com o mundo exterior, ou seja, conosco! De modo a remover esta deficincia, vamos adicionar um bloco que contm vrias localizaes de memria e que, de um lado, est ligado ao bus 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/sada


Estas localizaes que acabamos de adicionar, chamam-se "portos". Existem vrios tipos de portos: de entrada, de sada e de entrada/sada. Quando trabalhamos com portos primeiro de tudo necessrio escolher o porto com que queremos trabalhar e, em seguida, enviar ou receber dados para ou desse porto.

Quando se est a trabalhar com ele, o porto funciona como um local de memria. Qualquer coisa de que se est a ler ou em que se est a escrever e que possvel identificar facilmente nos pinos do microcontrolador.

1.5 Comunicao srie


Anteriormente, acrescentmos unidade j existente a possibilidade de comunicar com o mundo exterior. Contudo, esta maneira de comunicar tem os seus inconvenientes. Um dos inconvenientes bsicos o nmero de linhas que necessrio usarmos para transferir dados. E se for necessrio transferi-los a uma distncia de vrios quilmetros? O nmero de linhas vezes o nmero de quilmetros no atesta a economia do projecto. Isto leva-nos a ter que reduzir o nmero de linhas de modo a que a funcionalidade se mantenha. Suponha que estamos a trabalhar apenas com trs linhas e que uma linha usada para enviar dados, outra para os receber e a terceira usada como linha de referncia tanto do lado de entrada como do lado da sada. Para que isto trabalhe ns precisamos de definir as regras para a troca de dados. A este conjunto de regras chama-se protocolo. Este protocolo deve ser definido com antecedncia de modo que no haja mal entendidos entre as partes que esto a comunicar entre si. Por exemplo, se um homem est a falar em francs e o outro em ingls, altamente improvvel que efectivamente e rapidamente, ambos se entendam. Vamos supor que temos o seguinte protocolo. A unidade lgica "1" colocada na linha de transmisso at que a transferncia se inicie. Assim que isto

mikroe.com/pt//capitulo1.htm

4/8

16/09/2010

CAPTULO 1 - Introduo aos Microco

acontece, a linha passa para nvel lgico '0' durante um certo perodo de tempo (que vamos designar por T), assim, do lado da recepo ficamos a saber que existem dados para receber e, o mecanismo de recepo, vai activar-se. Regressemos agora ao lado da emisso e comecemos a pr zeros e uns lgicos na linha de transmisso correspondentes aos bits, primeiro o menos significativo e finalmente o mais significativo. Vamos esperar que cada bit permanea na linha durante um perodo de tempo igual a T, e, finalmente, depois do oitavo bit, vamos pr novamente na linha o nvel lgico "1" , o que assinala a transmisso de um dado. O protocolo que acabamos de descrever designado na literatura profissional por NRZ (No Retorno a Zero).

Como ns temos linhas separadas para receber e enviar, possvel receber e enviar dados (informao) simultaneamente. O bloco que possibilita este tipo de comunicao designado por bloco de comunicao srie. Ao contrrio da transmisso em paralelo, aqui os dados movem-se bit aps bit em srie, daqui provm o nome de comunicao srie. Depois de receber dados ns precisamos de os ler e guardar na memria, no caso da transmisso de dados o processo inverso. Os dados vm da memria atravs do bus para o local de transmisso e dali para a unidade de recepo de acordo com o protocolo.

1.6 Unidade de temporizao


Agora que j temos a unidade de comunicao srie implementada, ns podemos receber, enviar e processar dados.

Contudo, para sermos capazes de utilizar isto na indstria precisamos ainda de mais alguns blocos. Um deles o bloco de temporizao que nos interessa bastante porque pode dar-nos informaes acerca da hora, durao, protocolo, etc. A unidade bsica do temporizador um contador que na realidade um registo cujo contedo aumenta de uma unidade num intervalo de tempo fixo, assim, anotando o seu valor durante os instantes de tempo T1 e T2 e calculando a sua diferena, ns ficamos a saber a quantidade de tempo decorrida. Esta uma parte muito importante do microcontrolador, cujo domnio vai requerer muita da nossa ateno.

1.7 Watchdog
Uma outra coisa que nos vai interessar a fluncia da execuo do programa pelo microcontrolador durante a sua utilizao. Suponha que como resultado de qualquer interferncia (que ocorre frequentemente num ambiente industrial), o nosso microcontrolador pra de executar o programa ou, ainda pior, desata a trabalhar incorrectamente.

Claro que, quando isto acontece com um computador, ns simplesmente carregamos no boto de reset e continuamos a trabalhar. Contudo, no caso do microcontrolador ns no podemos resolver o nosso problema

mikroe.com/pt//capitulo1.htm

5/8

16/09/2010

CAPTULO 1 - Introduo aos Microco

deste modo, porque no temos boto. Para ultrapassar este obstculo, precisamos de introduzir no nosso modelo um novo bloco chamado watchdog (co de guarda). Este bloco de facto outro contador que est continuamente a contar e que o nosso programa pe a zero sempre que executado correctamente. No caso de o programa "encravar", o zero no vai ser escrito e o contador, por si s, encarregar-se- de fazer o reset do microcontrolador quando alcanar o seu valor mximo. Isto vai fazer com que o programa corra de novo e desta vez correctamente. Este um elemento importante para que qualquer programa se execute fiavelmente, sem precisar da interveno do ser humano.

1.8 Conversor analgico - digital


Como os sinais dos perifricos so substancialmente diferentes daqueles que o microcontrolador pode entender (zero e um), eles devem ser convertidos num formato que possa ser compreendido pelo microcontrolador. Esta tarefa executada por intermdio de um bloco destinado converso analgica-digital ou com um conversor A/D. Este bloco vai ser responsvel pela converso de uma informao de valor analgico para um nmero binrio e pelo seu trajecto atravs do bloco do CPU, de modo a que este o possa processar de imediato.

Neste momento, a configurao do microcontrolador est j terminada, tudo o que falta introduzi-la dentro de um aparelho electrnico que poder aceder aos blocos internos atravs dos pinos deste componente. A figura a seguir, ilustra o aspecto interno de um microcontrolador.

Configurao fsica do interior de um microcontrolador As linhas mais finas que partem do centro em direco periferia do microcontrolador correspondem aos fios que interligam os blocos interiores aos pinos do envlucro do microcontrolador. O grfico que se segue representa a parte principal de um microcontrolador.

mikroe.com/pt//capitulo1.htm

6/8

16/09/2010

CAPTULO 1 - Introduo aos Microco

Esquema de um microcontrolador com os seus elementos bsicos e ligaes internas.

Numa aplicao real, um microcontrolador, por si s, no suficiente. Alm dele, ns necessitamos do programa que vai ser executado e de mais alguns elementos que constituiro um interface lgico para outros elementos (que vamos discutir em captulos mais frente).

1.9 Programa
Escrever um programa uma parte especial do trabalho com microcontroladores e designado por "programao". Vamos tentar escrever um pequeno programa numa linguagem que seremos ns a criar e que toda a gente ser capaz de compreender. INICIO REGISTO1=LOCAL_DE_ MEMORIA_A REGISTO2=LOCAL_DE_ MEMORIA_B PORTO_A=REGISTO1+REGISTO2 FIM O 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 "A" para um dos registos da unidade central de processamento. Como necessitamos tambm de outra parcela, vamos colocar o outro contedo noutro registo da unidade central de processamento (CPU). A instruo seguinte pede ao CPU para adicionar os contedos dos dois registos e enviar o resultado obtido para o porto A, de modo a que o resultado desta adio seja visvel para o mundo exterior. Para um problema mais complexo, naturalmente o programa que o resolve ser maior. A tarefa de programao pode ser executada em vrias linguagens tais como o Assembler, C e Basic que so as

mikroe.com/pt//capitulo1.htm

7/8

16/09/2010

CAPTULO 1 - Introduo aos Microco

linguagens normalmente mais usadas. O Assembler pertence ao grupo das linguagens de baixo nvel que implicam um trabalho de programao lento, mas que oferece os melhores resultados quando se pretende poupar espao de memria e aumentar a velocidade de execuo do programa. Como se trata da linguagem mais frequentemente usada na programao de microcontroladores, ela ser discutida num captulo mais adiantado. Os programas na linguagem C so mais fceis de se escrever e compreender, mas, tambm, so mais lentos a serem executados que os programas assembler. Basic a mais fcil de todas para se aprender e as suas instrues so semelhantes maneira de um ser humano se exprimir, mas tal como a linguagem C, tambm de execuo mais lenta que o assembler. Em qualquer caso, antes que escolha entre uma destas linguagens, precisa de examinar cuidadosamente os requisitos de velocidade de execuo, de espao de memria a ocupar e o tempo que vai demorar a fazer o programa em assembly. Depois de o programa estar escrito, ns necessitamos de introduzir o microcontrolador num dispositivo e p-lo a trabalhar. Para que isto acontea, ns precisamos de adicionar mais alguns componentes externos. Primeiro temos que dar vida ao microcontrolador fornecendo-lhe a tenso (a tenso elctrica necessria para que qualquer instrumento electrnico funcione) e o oscilador cujo papel anlogo ao do corao que bate no ser humano. A execuo das instrues do programa regulada pelas pulsaes do oscilador. Logo que lhe aplicada a tenso, o microcontrolador executa uma verificao dele prprio, vai para o princpio do programa e comea a execut-lo. O modo como o dispositivo vai trabalhar depende de muitos parmetros, os mais importantes dos quais so a competncia da pessoa que desenvolve o hardware e do programador que, com o seu programa, deve tirar o mximo do dispositivo.

Pgina anterior

Tabela de contedos

Pgina seguinte

C opyright 2 0 0 3 . mikroE lektronika. A ll Rights Res erved. For any c omments c ontac t webmas ter.

mikroe.com/pt//capitulo1.htm

8/8

Você também pode gostar