Anda di halaman 1dari 15

Captulo 1 - Consideraes sobre os microcontroladores

CAPTULO 1

CONSIDERAES SOBRE OS MICROCONTROLADORES

1.1. Consideraes iniciais

Na rea tecnolgica grande o fascnio por trabalhar com temas que imediatamente
produzam, ou a curto prazo possam produzir, resultados diretamente ligados ao aumento de
produtividade e/ou diminuio de custos. Evidentemente, esses trabalhos so incentivados
por rgos ligados indstria, que devido dinmica do mercado, precisa oferecer
respostas rpidas s suas necessidades. Infelizmente, essas respostas nem sempre se
traduzem em um bem comum. Atualmente estamos presenciando uma verdadeira ressaca
tecnolgica, onde a automao, principalmente a robtica, tem provocado uma grande
diminuio nos quadros de mo-de-obra.
As transformaes que estamos presenciando so, sem dvida, alimentadas pelos
computadores, que para a grande maioria das pessoas so traduzidos pelos PCs e
mainframes. Muitas dessas pessoas no sabem, mas um grande nmero de pequenos
processadores (microcontroladores), embutidos em diversos equipamentos, exercem um
papel importante no dia a dia delas. Despertar ao som de um CD Player programvel, tomar
caf da manh preparado por um microondas digital, e ir ao trabalho de carro, cuja injeo
de combustvel microcontrolada, so apenas alguns exemplos. Paradoxalmente, para
muitas dessas pessoas, os computadores so apenas mquinas feitas para complicar as
coisas.
Os microcontroladores esto presentes tambm no dia a dia de pessoas de classes
economicamente inferiores. Operrios registram seu horrio de entrada e sada no trabalho
atravs de relgio-ponto microcontrolado e vo ao trabalho em transporte coletivo, cujo
sistema de registro de passageiros automatizado.

1.2. Os microcontroladores e suas aplicaes

O mercado para microcontroladores continua em franca expanso, ampliando seu


alcance principalmente em aplicaes residenciais, industriais, automotivas e de
telecomunicaes. Segundo dados da National Semiconductor [NAT97], uma residncia

4
Captulo 1 - Consideraes sobre os microcontroladores

tpica americana possui 35 produtos baseados em microcontrolador. A estimativa de que


at o incio do prximo milnio, aproximadamente 250 produtos residenciais sejam
comandados por esse tipo de dispositivo.
Num passado recente, o alto custo dos dispositivos eletrnicos limitou o uso dos
microcontroladores apenas aos produtos domsticos considerados de alta tecnologia (tv,
vdeo e som). Porm, com a constante queda nos preos dos chips, os microcontroladores
passaram a ser utilizados em produtos menos sofisticados do ponto de vista da tecnologia,
como mquinas de lavar, microondas, foges e refrigeradores. Assim, a introduo do
microcontrolador nestes produtos cria uma diferenciao e permite a incluso de melhorias
de segurana e de funcionalidade. Alguns mercados chegaram ao ponto de tornar
obrigatrio o uso de microcontroladores em determinados tipos de equipamentos, impondo
um pr-requisito tecnolgico.
Muitos produtos que temos disponveis hoje em dia, simplesmente no existiriam, ou
no teriam as mesmas funcionalidades sem um microcontrolador. o caso, por exemplo, de
vrios instrumentos biomdicos, instrumentos de navegao por satlites, detetores de radar,
equipamentos de udio e vdeo, eletrodomsticos, dentre outros.
Entretanto, o alcance dos microcontroladores vai alm de oferecer algumas
facilidades. Uma aplicao crucial, onde os microcontroladores so utilizados, na reduo
de consumo de recursos naturais. Existem sistemas de aquecimento modernos que captam a
luz solar e, de acordo com a demanda dos usurios, controlam a temperatura de forma a
minimizar perdas. Um outro exemplo, de maior impacto, o uso de microcontroladores na
reduo do consumo de energia em motores eltricos, que so responsveis pelo consumo
de, aproximadamente, 50% de toda eletricidade produzida no planeta[GAN92]. Portanto, o
alcance dessa tecnologia tem influncia muito mais importante em nossas vidas, do que se
possa imaginar.
O universo de aplicaes dos microcontroladores, como j mencionado, est em
grande expanso, sendo que a maior parcela dessas aplicaes em sistemas embutidos. A
expresso sistema embutido se refere ao fato do microcontrolador ser inserido nas
aplicaes (produtos) e usado de forma exclusiva por elas. Como a complexidade desses
sistemas cresce vertiginosamente, o software tem sido fundamental para oferecer as
respostas s necessidades desse mercado. Tanto , que o software para microcontroladores
representa uma fatia considervel do mercado de software americano. Segundo Edward

5
Captulo 1 - Consideraes sobre os microcontroladores

Yourdon [YOU91] [YOU97] a proliferao dos sistemas embutidos, juntamente com o


advento da Microsoft, so os responsveis pela retomada do crescimento da indstria de
software naquele pas.

1.3. Evoluo dos microcontroladores

Antes dos microcontroladores, os sistemas de controle eram construdos,


exclusivamente, por componentes lgicos discretos, e portanto, apresentavam grandes
dimenses fsicas. Posteriormente, os microprocessadores foram usados para implementar
esses sistemas, o que permitiu grande reduo no nmero de componentes utilizados. At
hoje comum encontrarmos sistemas base do Zilog Z80, Intel 8088, Motorola 6809 e
outros.
Com a continuao do processo de miniaturizao, todos os componentes
necessrios para um controlador foram integrados num nico chip. Da surgiu o termo
microcontrolador. Um microcontrolador pode incorporar todas, ou quase todas, as partes
necessrias para implementar um controlador.
Usualmente, os microcontroladores incorporam uma CPU, memria RAM, algum
tipo de memria ROM, porta serial, portas paralelas de entrada/sada, contadores e
temporizadores, e um controlador de interrupes. Alm disso, eles possuem um amplo
conjunto de instrues para manipular bits, realizar acesso direto aos pinos de entrada/sada,
e um rpido e eficiente sistemas de processamento de interrupes. Com isso, e aliada
drstica reduo do nmero de componentes envolvidos e a uma maior simplicidade de
projeto, os microcontroladores se tornaram um grande atrativo para implementar sistemas
de controle a um custo relativamente baixo.
Os microcontroladores so freqentemente utilizados para controlar equipamentos
das mais variadas reas: eletrodomsticos, equipamentos automotivos, controle ambiental,
indstria blica e aeroespacial, instrumentao, controle de processos, automao industrial
e muitas outras. A complexidade dos microcontroladores varia de acordo com a aplicao.
H microcontroladores bem simples usados para implementar pequenos sistemas (uma
calculadora, por exemplo), como tambm h microcontroladores mais complexos usados
para implementar sistemas maiores (sistema de comando por voz, por exemplo).

6
Captulo 1 - Consideraes sobre os microcontroladores

Na robtica comum encontrar vrios microcontroladores trabalhando em conjunto.


Cada microcontrolador responsvel por uma parte do sistema e, atravs de um sistema de
comunicao, se comunica com uma unidade central, de maior porte, repassando
informaes coletadas e recebendo novos parmetros de controle.
Uma aplicao em especial, os sistemas coletores de dados, evidencia as principais
vantagens do uso de microcontroladores: dimenses fsicas reduzidas, baixo consumo e
flexibilidade. Sem essas caractersticas seria muito difcil realizar a coleta automatizada de
dados no cho de fbrica e o monitoramento e armazenagem de dados climatolgicos em
um balo, s para citar alguns exemplos.
O processo de evoluo dos microcontroladores pode ser dividido em trs fases
distintas. Primeiro sugiram os microcontroladores baseados em uma tecnologia de hardware
relativamente primitiva, com grande limitao de memria e de processamento. Esses
sistemas so incapazes de armazenar outros dados alm dos imprescindveis ao
processamento. Alm disso, so usados em aplicaes cuja interface com o usurio
precria (implementada com LEDs ou displays de sete segmentos), e no permitem a
comunicao com outros sistemas. Eles operam independentemente, isolados dos demais.
Na segunda fase, o hardware apresenta complexidade bem maior do que o da
gerao anterior. As interfaces com o usurio utilizam displays de cristal lquido, tornando o
processo de comunicao mais amigvel. Tambm possvel a comunicao com outros
sistemas, atravs de interfaces seriais de comunicao. Os custos com memria e mais
processamento j no so to significativos. Entretanto, o software se torna uma parte
preponderante da aplicao, por causa da interface mais eficiente com o usurio e de uma
maior funcionalidade do sistema.
A ltima fase, ainda emergindo, incorpora as caractersticas de hardware e software
dos sistemas desktops atuais. Processadores de 32 bits, alta capacidade de memria,
interfaces de comunicao com redes heterogneas e uma grande variedade de recursos para
processamento digital de sinais e outras tarefas.

1.4. Fabricantes de microcontroladores

O mercado de microcontroladores , atualmente, dominado pelos tradicionais


fabricantes de microprocessadores, a Intel e a Motorola. Entretanto, h quase duas dezenas

7
Captulo 1 - Consideraes sobre os microcontroladores

de outros fabricantes que possuem, juntos, uma fatia considervel do mercado. O anexo I
mostra uma tabela com os principais fabricantes de microcontroladores que atuam no
mercado. Esta tabela relaciona as principais famlias com suas caractersticas mais comuns,
oferendo um guia rpido sobre as pontencialidades dos microcontroladores disponveis
atualmente no mercado. A tabela foi construda, principalmente, a partir de dados coletados
diretamente nos sites dos fabricantes, via rede INTERNET. Tambm foram consultados
manuais tcnicos dos prprios fabricantes.
Alm da Intel e Motorola, destacam-se a Microchip, Texas, National, Hitachi, Sharp
e Zilog.

Intel Corporation

O microcontrolador mais popular da Intel o 8051, que representa a sua segunda


gerao de microcontroladores. Ele substituiu o 8048, que foi o primeiro microcontrolador
de propsito geral lanado no mercado. O 8051 lidera o mercado de microcontroladores no
momento, sendo fabricado tambm pela Philips e Siemens. Sua arquitetura baseada na
separao de memria de dados e programa. No total, a famlia MCS-51 enderea at 128K
bytes, 64K para cdigo e mais 64K para dados. Alm disso, possui at 256 bytes de memria
RAM interna, mais um conjunto de registros de funes especiais (SFRs). Possui E/S
mapeada em seu prprio espao, dispondo de quatro portas de E/S.
O 8051 chamado processador boleano , pois possui um vasto repertrio de
instrues para manipular bits. Ele considerado de fcil programao, sendo o
microcontrolador com maior nmero de ferramentas de desenvolvimento disponveis.
A terceira gerao iniciou com o 8096, que trabalha com 16 bits. Este
microcontrolador possui uma maior quantidade de recursos do que os anteriores, dentre as
quais podemos destacar: melhor repertrio de instrues, um nmero maior de bits de E/S e
maior capacidade de memria.

Motorola Microcontroller Tech. Group

A Motorola fabrica um dos mais populares microcontroladores de 8 bits, o 68HC11,


sendo considerado o concorrente nato do MCS-51. O 68HC11 herdou o conjunto de
instrues dos microprocessadores Motorola 68xx e possui uma arquitetura de memria

8
Captulo 1 - Consideraes sobre os microcontroladores

semelhante ao do 68xx, onde cdigo, dados e dispositivos de E/S compartilham o mesmo


espao de endereamento.
Na linha de 16 bits, destaca-se a srie MC68302, que incorpora vrios perifricos da
famlia do 68000. A srie MC68302 chamada de processador integrado, pois se constitui
numa espcie de super microcontrolador. Se caracteriza por apresentar alta velocidade de
processamento e grande capacidade de endereamento de memria externa, se equiparando
a um processador Intel 80386.

Microchip Technology Inc.

A linha PIC de microcontroladores se tornou bastante conhecida a partir dos anos


80. Seu fabricante, a Microchip desenvolveu seus microcontroladores dentro de um universo
de produtos que combina potencialidades com custo mnimo. Os microcontroladores PIC
foram os primeiros com arquitetura RISC, cuja simplicidade de projeto permite que mais
facilidades sejam adicionadas a um baixo custo. Embora possuindo um pequeno repertrio
de instrues (33 instrues para a linha 16C5C, contra 90 do Intel 8048, por exemplo), a
linha PIC tem boa variedade de facilidades includas como parte do circuito integrado.
Os barramentos separados de dados e instrues (arquitetura baseada no modelo
Harvard) permitem acesso simultneo ao programa e aos dados, sobrepondo algumas
operaes para aumentar a capacidade de processamento. Os benefcios da simplicidade de
projeto se refletem em um chip muito pequeno, com um nmero reduzido de pinos, e
baixssimo consumo. Por essas razes vem dominando uma fatia importante do mercado, a
de pequenas aplicaes.

Texas Instruments

O ramo do mercado que a Texas Instruments detem uma fatia considervel o de


DSPs. Na rea de microcontroladores, a famlia mais conhecida a TMS370. Ela no
apresenta grandes novidades em relao s outras famlias de 8 bits, entretanto apresenta
boa capacidade de endereamento de memria externa.

National Semiconductor

9
Captulo 1 - Consideraes sobre os microcontroladores

A National Semiconductor conhecida, no mercado de microcontroladores, pela


fabricao da famlia COP8, apesar de oferecer tambm microcontroladores e 4 e 16 bits. A
famlia COP8 apresenta baixo custo e um timo conjunto de facilidades. Sua arquitetura de
8 bits baseada no modelo Harvard. O COP8 contm todo sistema de temporizao, lgica
de interrupo, ROM, RAM e E/S necessrios para implementar funes de controle
dedicado em uma variedade de aplicaes. No entanto, apresenta um conjunto de instrues
limitado e apenas trs modos diferentes de endereamento.

Hitachi America Ltd.

A Hitachi est presente no mercado com microcontroladores de 8, 16 e 32 bits. O


principal destaque dos microcontroladores da Hitachi a grande capacidade de memria
interna e espao de endereamento de memria externa. A famlia de 8 bits H8/300 pode ter
at 4K bytes de memria interna. A famlia de 16 bits H85/2000 enderea at 16 mega bytes
de memria externa, enquanto a famlia de 32 bits SuperH, de tecnologia RISC, pode
enderear at 4 giga bytes de memria externa.
Sharp Microeletronics Technology

A Sharp Microeletronics produz microcontroladores de 8, 16 e 32 bits. Seus


microcontroladores no apresentam grande diferencial em relao aos demais fabricantes.
Sua linha de 32 possui controlador de LCD incorporado ao chip do microcontrolador.

Zilog Inc.

A Zilog, muito conhecida pelo seu memorvel Z80, est no mercado de


microcontroladores com a famlia Z8. Esta famlia uma recompilao do Z80 com seus
perifricos. Porm, novas facilidades foram acrescentadas, como canais de DMA,
contadores/temporizadores, E/S com at 32 linhas e um eficiente sistema de interrupo
com 6 fontes possveis. Apesar de apresentar um bom conjunto de instrues, domina uma
fatia muito pequena do mercado.

10
Captulo 1 - Consideraes sobre os microcontroladores

1.5. Caractersticas dos microcontroladores

Como podemos observar no anexo I, a maioria dos microcontroladores ainda manipula


informaes de 8 bits. Porm nos ltimos anos o mercado vm convergindo para
microcontroladores com maior capacidade de processamento. Muitos fabricantes
dispem de famlias de 16 bits, e algumas j oferecem verses de 32 bits.
difcil estabelecer um conjunto completo de caractersticas para os
microcontroladores, pois o nmero de fabricantes e de famlias bastante grande.
Assim, ser relacionado, a seguir, um conjunto bsico de caractersticas dos
microcontroladores, abordando os aspectos mais comuns desses dispositivos.

Tecnologia de fabricao

A tecnologia de fabricao de microcontroladores mais comum a CMOS -


Complementary Metal Oxide Semiconductor. Como se sabe, esta tecnologia requer menor
consumo que as demais existentes, o que facilita as aplicaes em campo, onde o
microcontrolador , normalmente, alimentado por baterias. Alm disso, a tecnologia CMOS
possui um processo de fabricao mais simples e uma maior densidade de integrao, pois o
transistor CMOS menor que o transistor bipolar e as memrias e portas lgicas so
construdas apenas com transistores, sem diodos ou resistores.
Como a imunidade a rudo funo dos nveis de tenso utilizados numa tecnologia
e como o CMOS permite trabalhar com tenses mais altas, isto torna os nveis lgicos mais
definidos e imunes a pequenas variaes na fonte de alimentao. Assim, os chips CMOS
possuem maior imunidade variao de tenso que as tecnologias anteriores. Porm, em
virtude das capacitncias do modelo CMOS, os efeitos de interferncia eletromagntica so
maiores nessa tecnologia. Alguns fabricantes incorporam pastilha do microcontrolador um
circuito que filtra esse tipo de rudo.

Capacidade de Memria

Em termos de memria os microcontroladores apresentam grandes variaes, at


mesmo dentro de uma mesma famlia. No caso de memria interna de programa, geralmente,

11
Captulo 1 - Consideraes sobre os microcontroladores

podem chegar a 64Kbytes. Para a memria interna de dados comum de 128 a 256 bytes,
entretanto h famlias com at alguns kilo bytes. Em se tratando de endereamento para
memria externa, o montante de memria pode ir de alguns kilo bytes, at alguns mega
bytes. Todas as famlias dispem de memrias ROM/PROM/EPROM e boa parte delas
tambm dispe de verses com EEPROM e flash EPROM.

Velocidade de Processamento

A freqncia de trabalho tambm varia muito de famlia para famlia. Temos, por um
lado, famlias com freqncia de no mxima 3MHz e, por outro, famlias com freqncia
mxima de 60MHz. Porm, na mdia, os microcontroladores trabalham de 8 a 12MHz.

Portas de E/S

Todos os microcontroladores possuem portas paralelas de E/S. O nmero de bits


varia de algumas unidades a algumas dezenas de bits. Estes bits podem ser programados
para entrada ou sada, ou ainda, trabalhar em modo bidirecional. A maioria dos
microcontroladores tambm possuem uma ou mais interfaces de comunicao serial, cujos
parmetros podem ser configurados via software. Alguns deles possuem uma interface
compatvel I2C (Inter-Integrated Circuit) da Intel. Esta interface especial usa duas linhas
para implementar uma rede multi-master e/ou multi-slave com deteco de coliso. Cada n
da rede possui um endereo exclusivo, o qual introduzido nas mensagens, permitindo que
vrios dispositivos compartilhem o mesmo meio fsico.

Contadores e Temporizadores

Quase todos os microcontroladores incorporam pelo menos um


contador/temporizador programvel, usado para as operaes de contagem de eventos,
gerao de pulsos e medio de tempo e de freqncia.

Conversores Analgico-Digital e Digital-Analgico

12
Captulo 1 - Consideraes sobre os microcontroladores

Alguns microcontroladores possuem conversores analgico-digital e digital-


analgico para implementar a interface com o mundo analgico (tipicamente um sinal em
tenso). Esses microcontroladores so muitos utilizados em aplicaes que envolvem
aquisio de dados e/ou controle.

Comparadores Analgicos

Alguns microcontroladores dispem de um ou mais comparadores analgicos


padres. Estes comparadores podem ser utilizados para vrias funes, como deteco de
curto-circuito, converso analgico-digital, deteco de limiar de mudana de nvel, dentre
outros.

Gerador de PWM (Pulse Width Modulator)

Muito usado em microcontroladores como tcnica alternativa de converso digital-


analgica, onde um trem de pulsos gerado com largura varivel em funo de alguma
propriedade de sada e, posteriormente, regulado por um filtro passa-baixa. A sada do filtro
uma tenso proporcional ao duty cycle do trem de pulso.

Modo de Baixo Consumo

Muitos microcontroladores podem trabalhar em modo de baixo consumo de energia


(Idle/Halt/Wakeup), o que apropriado para aplicaes em campo. Nessas aplicaes,
muitas vezes o microcontrolador fica ativo apenas quando um determinado evento ocorre, e
to logo seja gerada uma resposta, o microcontrolador volta ao estado inativo. O consumo
de corrente eltrica, neste estado, , tipicamente, de 1A.

Sistema de Rearme Automtico (Watchdog)

O sistema de rearme automtico permite que o microcontrolador seja reiniciado,


caso ocorra algum problema no software ou no hardware. Basicamente, o dispositivo de
watchdog fica esperando um pulso a cada intervalo pr-programado de tempo. Caso o
programa falhe, no enviando o pulso dentro do intervalo estabelecido, o microcontrolador

13
Captulo 1 - Consideraes sobre os microcontroladores

reiniciado. O problema pode no ser resolvido, mas operaes indesejveis so assim


evitadas pela reiniciao do sistema.

Monitor de Clock

Este um dispositivo de segurana habilitado por software, que permite paralisar o


microcontrolador (deix-lo em permanente estado de reset), caso a freqncia de trabalho
caia abaixo de um certo patamar. Aps a normalizao da freqncia de trabalho, o
microcontrolador volta a trabalhar em estado de execuo.

Proteo baixa tenso (Brownout protection)

Este um outro dispositivo de segurana habilitado por software, que permite


paralisar o microcontrolador no caso da tenso de alimentao ficar abaixo de um certo
limiar. Aps a normalizao da tenso de alimentao, o microcontrolador volta a trabalhar
em estado de execuo.
Sistema de Proteo ao Software

Alguns microcontroladores vm com algum tipo de dispositivo de proteo ao


software. Estes dispositivos, normalmente, so de dois tipos: os que trabalham com
criptografia e os que trabalham com detonadores, que so capazes de destruir o software.
A finalidade proteger o programa armazenado no microcontrolador contra intromisses
no autorizadas (engenharia reversa, modificaes, pirataria, etc).

Monitor Residente

Um monitor um programa instalado na memria de programa do microcontrolador,


com a finalidade de prover capacidades bsicas de desenvolvimento. Dentre estas se
incluem: a partir de um terminal, realizar carga de programa e/ou dados para a memria do
microcontrolador, via interface serial; executar programas; examinar e modificar memria e
registradores; estabelecer break-points; e outras funes de depurao.

Interpretador BASIC Residente

14
Captulo 1 - Consideraes sobre os microcontroladores

Alguns microcontroladores incorporam em sua memria de programa, um


interpretador BASIC, o que permite que, a partir de um terminal, possa ser desenvolvido
uma aplicao usando a linguagem BASIC, reduzindo os custos com ferramentas de
desenvolvimento.

1.6. Linguagens de programao para microcontroladores

O desenvolvimento de software para sistemas microcontrolados no realizado


usando-se apenas os recursos do microcontrolador, que no so muito apropriados.
comum se utilizar outros dispositivos, como por exemplo, os microcomputadores pessoais
que oferecem maior capacidade de recursos (mais memria, display grfico, teclado e
mouse, memria de massa, dentre outros). Desta forma pode-se utilizar esses recursos para
criar um ambiente mais amigvel aos programadores de microcontrolador.
Mesmo assim, por ser, inicialmente, um tipo de dispositivo com baixa quantidade de
memria e estar sempre empregado em aplicaes com forte interao com o hardware, os
microcontroladores sempre tiveram sua programao associada com a linguagem Assembly,
como ilustra a figura a seguir.

Microcontrolador Assembly

mov a,#03h
and a,b
call ROT
inc a

Figura 1.1: A forte ligao do microcontrolador com a linguagem Assembly

Linguagem Assembly

A linguagem Assembly dos microcontroladores semelhante linguagem Assembly


dos microprocessadores. O conjunto de instrues dispe de um maior nmero de

15
Captulo 1 - Consideraes sobre os microcontroladores

operaes para manipular bits, em comparao aos microprocessadores usuais, entretanto o


fato dos microcontroladores terem normalmente diferentes regies de memria torna as
coisas significativamente complicadas. As instrues de movimentao de dados, lgicas e
desvio de execuo so geralmente similares as da maioria dos outros microprocessadores.
Desta forma, para quem j trabalhou com linguagem Assembly de qualquer
microprocessador, o processo o mesmo, com suas vantagens e desvantagens.
Alm da linguagem Assembly, so muito utilizadas na programao de
microcontroladores, trs outras linguagens: PL/M, BASIC e C. Todas elas consideradas de
alto nvel, em comparao linguagem Assembly. [SCH93]

Linguagem PL/M

O PL/M uma linguagem elaborada pela INTEL e tem sido disponvel para seus
microprocessadores, comeando com o 8080. Ela se assemelha ao PASCAL, mas se
originou do PL-1. Como o C, ela uma linguagem estruturada, mas usa muitos arranjos de
palavras chaves para definir suas estruturas. O compilador PL/M produz um cdigo
fortemente compacto, to bom quanto um programa escrito em Assembly. O PL/M muito
mais fcil de se usar que a linguagem Assembly, pois os compiladores e linkers gerenciam
detalhes de alocao de variveis e movimentao de dados entre as reas de memria.
Pode-se dizer que PL/M uma linguagem Assembly de alto-nvel, tanto no sentido
negativo como no positivo, apresentando as mesmas vantagens e desvantagens. Ela permite
controlar vrios detalhes de gerao de cdigo, mas para microcontroladores, PL/M no
comporta nmeros complexos, variveis tipo ponto flutuante, ou funes trigonomtricas.

Linguagem BASIC

Outra linguagem utilizada na programao de sistemas dedicados o BASIC, que


facilmente encontrada em computadores IBM-PC e comumente a primeira linguagem de
programao que se aprende. Ela atende bem ao seu propsito: o BASIC uma linguagem
de introduo programao.
O BASIC muito fcil de se usar. Na maioria das implementaes, ela
interpretada, o que possibilita detectar erros ao final de cada linha do programa, ao invs de

16
Captulo 1 - Consideraes sobre os microcontroladores

conhec-los somente quando o programa termina de ser traduzido. Porm, existem duas
razes pelas quais o BASIC no conveniente em sistemas dedicados.
Em primeiro lugar, como ele interpretado, ele naturalmente lento. Cada linha
deve ser convertida para o cdigo de mquina toda vez que for executada. O processo de
interpretao faz com que seja perdido muito tempo de processamento, que deveria ser
usado para a aplicao propriamente dita. Existem verses do BASIC compilado
(QuickBASIC, por exemplo), que evitam esse problema. Entretanto, no h at o momento,
nenhuma verso comercialmente difundida do BASIC compilado para microcontroladores.
Em segundo lugar, pode-se destacar a inconveniente simplificao no uso de
variveis. Todas as variveis so, usualmente, implementadas como ponto-flutuante, o que
resulta na necessidade de se executar rotinas complexas, mesmo para valores tipo inteiro.
Isto torna os programas lentos e grandes.
Pode-se dizer que o BASIC, no contexto de sistemas dedicados, deve ser indicado
para aplicaes onde a facilidade de programao seja mais importante que a eficincia ou
que a velocidade.

Linguagem C

Finalmente, pode-se destacar a linguagem C, que surgiu h mais de trinta anos com o
sistema operacional UNIX. Ela estruturada e produz um cdigo compacto. A estrutura da
linguagem C marcada pelas chaves {} delimitadoras de blocos, ao invs de palavras
reservadas (begin...end, por exemplo). A linguagem C faz uso de smbolos especiais que
raramente so usados na escrita quotidiana. Ela permite atingir detalhes de controle da
mquina sem recorrer ao Assembly. Entretanto, os programas em C podem ser to
condensados que sua manuteno fica bastante dificultada.
Desde 1985, o compilador C est disponvel para microcontroladores. H um grande
nmero de fabricantes que oferecem este compilador para quase todas as famlias de
microcontroladores. Cada qual com suas vantagens e desvantagens.
No anexo II, h uma relao com a maioria dos fabricantes que, atualmente,
oferecem o compilador C para microcontroladores. Eles oferecem cdigo padro ANSI e
gerao de cdigo recursivo e reentrante. Alguns deles permitem trabalhar com o conceito
de bancos de memria, quebrando a barreira de endereamento do microcontrolador. S

17
Captulo 1 - Consideraes sobre os microcontroladores

para citar um exemplo, a verso do Archimedes C para a famlia MCS-51 da Intel pode
trabalhar com at 2 mega bytes de memria externa.
O Archimedes e o Franklin so os mais empregados. O Franklin pelo seu cdigo
compacto e facilidade de uso; o Archimedes pelas suas facilidades complementares e boa
documentao. Aps estes, vm os da Tasking e Avocet. O produto da Tasking
razoavelmente rpido sem gerao excessiva de cdigo. J o compilador Avocet dispe de
uma excelente documentao. Isso para mencionar apenas os quatro mais conhecidos.
[SCH93]
Apesar das diferentes vantagens e desvantagens oferecidas pelas trs linguagens, elas
tm em comum o fato de o programa-fonte ser expresso por um texto (por razes histricas,
um texto em ingls). Desta forma, essas linguagens aproximam o programa escrito para o
computador linguagem humana, umas em maior grau que outras. Entretanto, o nvel de
detalhamento das instrues do programa sintetizadas em texto, torna sua elaborao e
manuteno, em muitos casos, bastante complicadas.

18

Anda mungkin juga menyukai