Академический Документы
Профессиональный Документы
Культура Документы
MICROCONTROLADOR
INTRODUÇÃO A CPU de qualquer sistema de com- de execução. Durante o ciclo de uma ins-
Com o avanço da tecnologia e a uti- putador contém os seguintes grupos de trução a CPU faz com que o conteúdo
lização da eletrônica digital por grande unidades funcionais: do contador de programa seja colocado
parte das empresas, o emprego de no barramento de endereços, endere-
microcontroladores vêm sendo muito - Registradores e contadores çando, desta maneira, a posição de me-
requisitado para um melhor desenvol- Os registradores e contadores são mória que contém a instrução que deve
vimento da produção, diminuindo os unidades funcionais usadas para o ser executada.
custos e trazendo benefícios para as armazenamento temporário de bits den-
empresas que utilizam esse sistema. É tro da CPU.
importante salientar que, considerando UNIDADES DE ENTRADA/SAÍDA (I/O)
a relação custo/benefício, os microcon- - Unidade Lógica e Aritmética (ULA) As unidades de entrada/saída são
troladores podem não só ser usados em A unidade lógica e aritmética é a os meios pelos quais o usuário se co-
empresas de médio/grande porte, como unidade funcional da CPU que executa munica com o sistema. Essas unidades
podem também ser utilizados em vári- operações lógicas e aritméticas entre possuem interfaces que permitem a co-
os projetos de eletrônica, na substitui- palavras binárias, gerando uma outra nexão com dispositivos chamados de
ção de vários componentes digitais, ob- palavra na saída . periféricos, tais como teclado,
tendo-se assim no final do projeto um monitores, LCD´s, etc.
melhor acabamento – pois um - Unidade de controle e sincronização
microcontrolador ocuparia um menor A unidade de controle e sincroniza-
espaço físico - e uma maior eficiência e ção coordena e controla todas as uni- ARQUITETURA
praticidade, uma vez que todos os co- dades funcionais em uma seqüência A performance do microcontrolador
mandos seriam executados via software. lógica e sincronizada. depende da sua arquitetura interna, ou
Antes de um aprofundamento no seja, do modo em que o microcontro-
assunto microcontroladores, é importan- lador foi projetado tanto para o hardware
te conhecermos um pouco da história PROCESSAMENTO como para software. No hardware apre-
desses componentes desde as suas O processador ou unidade central sentaremos a arquitetura Von-Neumann,
origens. de processamento (CPU) é a parte do na qual se refere o software CISC.
Na década de 70 começaram a ser sistema que faz o processamento das
utilizados microprocessadores em com- informações para que as instruções se-
putadores para uma maior eficiência no jam executadas; as instruções devem - Arquitetura Von-Neumann
processamento de dados. O micropro- estar armazenadas na memória de pro- Na arquitetura Von-Neumann, os
cessador Intel foi um dos precursores grama em seqüência, formando assim barramentos de dados e endereços são
e, a partir daí, houve uma preocupação o programa . compartilhados entre memórias de pro-
em melhorar cada vez mais o sistema A CPU possui um registrador cha- gramas e memórias de dados na comu-
de processamento de dados através mado de contador de programa (PC) nicação com a CPU (figura1). Nesse tipo
desses componentes. Baseado na ar- que contém o endereço da próxima ins- de arquitetura, quando a CPU está
quitetura de um microprocessador e trução que deve ser executada. acessando a memória de programa não
seus periféricos, foi criado um compo- Toda vez que uma instrução é reti- pode acessar a memória de dados, por-
nente que (fisicamente em uma unida- rada da memória pela unidade central que usa os mesmos barramentos para
de) comportasse todo um sistema que de processamento, automaticamente o as duas memórias.
equivalesse a um microprocessador e contador de programa é incrementado
seus periféricos; assim surgiu o micro- para que, após o processamento desta
controlador. Todas as informações e ex- instrução, quando a CPU for buscar a CISC (Complex Instruction Set
plicações citadas neste trabalho basei- próxima instrução, baste usar o ende- Computer)
am-se nos microcontroladores 8051 e reço contido no contador de programa. CISC: Computador com Set de Ins-
8031 da Intel. Toda vez que a CPU é ligada ou trução mais Complexo, quanto maior a
resetada, automaticamente o seu con- complexidade da instrução que deve ser
tador de programa é zerado, desta for- executada, mais espaço ela ocupa no
UNIDADE CENTRAL DE ma, a primeira tarefa que a CPU irá rea- chip. Desse modo, chegará um momen-
PROCESSAMENTO (CPU) lizar é a execução da instrução contida to que passaremos a ter um set de ins-
A unidade central de processamento na posição de memória de endereço truções tão grande que começará a afe-
controla todas as funções realizadas “0000”. Cada instrução possui duas fa- tar o desempenho, dificultando a possi-
pelo sistema. ses distintas: o ciclo de busca e o ciclo bilidade de implementar outras funções
Memórias Seriais
Estes dispositivos são de tamanho
reduzido podendo ser ligados a um
barramento serial I²C (Inter-Integrated
Circuit Bus) ou SPI (Serial Peripheral
Interface) junto com outros dispositivos
seriais, com muitas vantagens em rela-
ção às memórias paralelas.
MICROCONTROLADORES
Existem no mercado muitos tipos de
microcontroladores, sendo o 8051 o
mais popular. O microcontrolador tam-
bém é conhecido com microcomputador
de um só chip reunindo num único com-
ponente vários elementos de um siste-
ma, antes baseado em microprocessa-
dor e que eram desempenhados por
vários componentes independentes tais
como RAM, ROM, comunicação serial, Fig. 2 - ARQUITETURA INTERNA EM BLOCO DO 8051BH.
MODO 0
Contador ou temporizador de 8 bits
com divisão de até 32 vezes. Os regis-
tradores TH0 ou TH1 recebem o valor
de contagem e pode ser até FFh com o
valor escrito pelo software, que também
pode ser lido a qualquer momento; se
ocorrer um estouro (overflow) o T/C em
questão gera um pedido de interrupção software , temos uma grande flexibilida- TR1 e TF1
que pode ou não ser aceito pela CPU de para trabalhar com este modo. Ob- Neste modo. T/C 1 pára sua opera-
interna do microcontrolador. Ainda nes- serve a figura 10. ção e fica inerte, sem receber pulsos de
se modo os registradores TL0 ou TL1 contagem. Para o T/C 0 temos dois sis-
com os bits 0, 1, 2, 3 e 4 servem para MODO 3 temas de 8 bits, um em THO e outro em
determinar em quanto será dividido o Neste modo o T/C1 pára sua opera- TL0. O T/C de 8 bits TL0 será controla-
sinal de contagem (interno ou externo) ção sem receber pulsos de contagem, do pelos bits TR0 e TF0, e o T/C de 8
podendo ir até 32 pela combinação bi- e o T/C0 fica com dois sistemas de 8 bits THO será controlado pelos bits TR1
nária desses bits; os bits 5 a 7 destes bits, um em TH0 e outro em TL0. e TF1.
registradores deverão ser ignorados. A O T/C de 8 bits TL0 será controlado
figura 8 mostra o funcionamento. pelos os bits TR0 e TF0, enquanto que Para o caso de programarmos o T/C
o outro T/C de 8 bits será controlado pe- 0 para o modo 3, podemos programar
MODO 1 los bits TR1 e TF1. T/C 1 para qualquer um dos outros mo-
Neste modo temos um T/C de 16
bits e, desta forma, usamos os pares de Figura 10
registradores TH0/TL0 ou TH1/TL0 para
efetuar a contagem. Quando um estou-
ro acontecer ou seja quando o par de
registradores passa de FFFFh para
0000h, é setado o bit de overflow ( TF0
ou Tf1) forçando uma interrupção, se
esta tiver sido previamente programada
via software. Ver figura 9.
MODO 2
Nos registradores TL0 ou TL1 tere-
mos o valor de onde começará a conta-
gem, e nos registradores TH0 ou TH1
teremos o valor de recarga, os quais se-
rão recarregados em TL0 ou TL1 sem-
pre que um estouro acontecer nos mes-
mos. Como cada registrador pode ser
alterado a qualquer momento pelo
Outra maneira de representação Cada fabricante de microcontrolador Label Código de Operando Comentário
pode ser feita através dos mnemônicos define os mnemônicos para os seus pro- Operação ou Endereço
(códigos que representam uma dutos .
sequência de palavras) de um progra- Algumas linguagens assembly utili-
ma fonte, que serão transformados em zam o mesmo código (instrução de má- LABEL
linguagem de máquina (ou linguagem quina) para diversas CPU´s (Unidade A principal característica da lingua-
objeto) por um programa compilador Central de Processamento) porém an- gem ASSEMBLY é o uso de label (lê-se
(tradutor). tes de iniciar a tradução deve-se infor- ‘lêibol).
mar ao tradutor para qual CPU deve ser O label torna a programação em
feita a tradução. ASSEMBLY mais rápida e segura, por-
LINGUAGEM ASSEMBLY A linguagem assembly é classifica- que ao invés de lidar com um endereço
A linguagem ASSEMBLY foi a primei- da de baixo nível , porque na elabora- absoluto, lida-se com um conjunto de
ra linguagem que surgiu nesta área de ção do programa há a necessidade de caracteres (label). Este artifício é útil
computação, sendo formada por elaborar rotinas para o completo con- para se seguir o fluxo de dados, e tam-
mnemônicos. trole da CPU. bém quando se acrescenta ou se retira
Cada mnemônico possui o um códi- alguma instrução, pois o novo endere-
go correspondente em hexadecimal, e ço do label é automaticamente corrigi-
cada ‘família’ de microcontrolador pos- ASSEMBLER: do pelo programa compilador
sui um conjunto de mnemônicos diferen- O tradutor assembler é um progra- Assembler.
te. Esta linguagem tem como finalidade ma de computador que produz um có- A única restrição é que o primeiro
facilitar o manuseio das instruções para digo binário correspondente a cada caracter do label deve ser sempre uma
desenvolver programas, desde uma sim- mnemônico. Os programas de tradução letra, isto é, ele não pode começar com
ples rotina até um sofisticado programa avisam quando encontram algum erro um número.
para controle industrial. no programa fonte (programa elabora-
Todo microcontrolador precisa de do para a CPU). CÓDIGO DE OPERAÇÃO
um lista de instruções para ser seguida O código de operação é simples-
passo-a-passo, lista essa chamada de mente a instrução em si. No código de
programa, que diz exatamente o que o ESTRUTURA DA LINGUAGEM operação aparecerá apenas o conjunto
microcontrolador deve fazer. ASSEMBLY de caracteres, que representará o tipo
O microcontrolador só faz duas coi- A linguagem ASSEMBLY é dividida de instrução, tal como soma, carrega-
sas: lê e processa números binários. em grupos , e nessa ordem: mento, teste, entre outras.
TITTLE (nome do programa) MOV A, XXH = Move para o acu- MODO ESPECÍFICO
Esta pseudo-instrução serve para mulador o conteúdo do endereço XXH A REGISTRADOR
nomear um programa e, quando este Aqui utiliza-se de instruções de ape-
programa for impresso, esta pseudo-ins- MOV XXH, A = Move para o nas um byte, uma vez que o registrador
trução aparecerá em todas as folhas. endereço XXH, o conteúdo do acumu- (no caso o do exemplo) já estará incluí-
lador do no opcode.
DB “ X” Exemplos:
Esta pseudo-instrução é usada para MOV XXH,YYH = Move para o DA A = Converte o conteúdo do
definir um byte para quando se quer endereço XXH, o conteúdo do endere- acumulador em código BCD
definir um tabela de dados ou para in- ço YYH
MODIFICAÇÃO DE
TERMINAL PROGRAMA
Ponto de início, térmi- Qualquer função
no ou interrupção de que altera o próprio
um programa. programa
PROCESSAMENTO TECLADO
Um grupo de instru- Entrada de informa-
ções que executam uma função de ções através de te-
processamento do programa. clado. n