CAPTULO 1
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.
4
Captulo 1 - Consideraes sobre os microcontroladores
5
Captulo 1 - Consideraes sobre os microcontroladores
6
Captulo 1 - Consideraes sobre os microcontroladores
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
8
Captulo 1 - Consideraes sobre os microcontroladores
Texas Instruments
National Semiconductor
9
Captulo 1 - Consideraes sobre os microcontroladores
Zilog Inc.
10
Captulo 1 - Consideraes sobre os microcontroladores
Tecnologia de fabricao
Capacidade de Memria
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
Contadores e Temporizadores
12
Captulo 1 - Consideraes sobre os microcontroladores
Comparadores Analgicos
13
Captulo 1 - Consideraes sobre os microcontroladores
Monitor de Clock
Monitor Residente
14
Captulo 1 - Consideraes sobre os microcontroladores
Microcontrolador Assembly
mov a,#03h
and a,b
call ROT
inc a
Linguagem Assembly
15
Captulo 1 - Consideraes sobre os microcontroladores
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
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