Você está na página 1de 32

Microcontroladores

Prof. Bruno Mendonça da Silva


bruno.silva@unifbv.edu.br
O curso
• A ideia é que ao final do curso, você esteja
familiarizado com os principais aspectos
relacionados ao uso de microcontroladores na
solução de alguns problemas.
• A ideia é dosar o conteúdo teórico com a
prática, o que é perfeitamente possível dado o
escopo dessa disciplina.
• A ementa:
Microcontroladores
• Serve pra quê?
– Sistemas Embarcados:

Fonte:
https://lojamultilaser.vteximg.com.br/arquivos/ids/182859-1000-
1000/ES204_02.jpg?v=636879174703700000

Fonte: https://www.embedded.com/re-
evaluating-the-role-of-the-lin-bus-in-vehicle-
sensor-and-control-applications/
Fonte:
https://s2.glbimg.com/72grIrAVhlgWNECkacdGQMdCp_g=/0x0:1920x1440/9
84x0/smart/filters:strip_icc()/i.s3.glbimg.com/v1/AUTH_08fbf48bc052487794
3fe86e43087e7a/internal_photos/bs/2019/I/x/StbwWySUaitq91VBIP2w/mot
o-e6-plus-01-marca.jpg
Microcontroladores
• Serve pra que?
Microprocessadores
Microcontroladores
Microcontroladores
• Indo direto ao ponto: Podemos entender
microcontroladores como sendo constituídos
de cinco elementos constituintes.
– Unidade Lógica e Aritmética (ULA);
– Unidade de Memória;
– Unidade de Controle;
– Unidade de Entrada;
– Unidade de Saída;
Microcontroladores
Microcontrolador

Fonte: “Arquitetura e Organização de


Computadores –William Stallings – 8ª
ed.” Capitulo 1 – Figura 1.4
Microcontrolers
• Unidade Lógica e Aritmética (ULA/ALU): Como
o nome sugere, é onde as operações lógicas e
aritméticas são efetuadas sobre os dados.
• Unidade de Memória: Armazenam não só os
“dados”, mas as instruções que são utilizadas
nas execuções dos programas e podem ser
utilizadas para armazenar temporariamente
resultados de operações feitas sobre dados.
Microcontroladores
• Unidade de Entrada: Todos os dispositivos que
são utilizados para transferir/introduzir dados
externos no microprocessador. Os dados
obtidos podem tanto ir para alguma unidade
de memória, quanto para a ULA.
• Unidade de Saída;
• Unidade de Controle: Gerencia as outras
unidades fornecendo os sinais de controle
necessários assim como a temporização;
Microcontroladores
• Usualmente a ULA e a unidade de controle são
associadas num bloco único a CPU (Central
Processing Unit). Que normalmente é
construída um chip único denominado de
microprocessador. É comum no mesmo chip,
ter alguns registradores disponíveis,
dispensando a necessidade de acesso a uma
memória externa.
Microcontroladores
• A CPU pode ser resumida da seguinte forma:
– Seção de controle e temporização;
– Seção de Registradores
– ULA
Microcontroladores
• Controle e Temporização:
– A seção de temporização é quem fornece o
sinal de clock para os demais componentes do
microcontrolador como um todo. Ponto
extremamente importante na determinação da
velocidade de processamento.
– E é responsável pela busca, decodificação e
interpretação das instruções assim como gerar
os sinais de controle necessários para operar
as outras unidades
Microcontroladores
• O que são registradores?
– São elementos básicos de memória de
acesso rápido. Neles ficam contidas as
instruções de programa. O “localização” de
cada registrador é o endereço dele, que é
utilizado pelas unidades de controle para
acessar o conteúdo armazenado nele.
Microcontroladores
• Registradores
– Registrador de Buffer de Memória (MBR)
– Registrador de Endereço de Memória (MAR)
– Registrador de Instrução (IR)
– Registrador de buffer de Instrução (IBR)
– Contador de Programa (PC)
Microntroladores
• Palavra: O bit é a unidade fundamental de
informação, porém por questões práticas, os
controladores e processadores utilizam uma
unidade básica composta de vários bits,
chamado de palavra. O tamanho de uma
palavra é uma forma comum de
descrever/especificar um
processador/controlador/computador.
• 16, 32 e 64 bits.
Microcontroladores
• O tamanho da palavra tem um impacto direto
na arquitetura de hardware, determinando o
tamanho do barramento por exemplo.
• Barramento é o termo utilizado para se referir
a interconexão entre os componentes do
microcontrolador.
Microcontroladores
• As palavras estão relacionadas também com a
estrutura das instruções e endereçamento.
• Exemplos baseados e processadores de 8 bits
como o 8051:

Fonte: “Sistemas Digitais e Princípios e Aplicações – Ronald J. Tocci e Neal S. Widmer –


8ª ed.” Capitulo 13 – figura 13.6
Microcontroladores
• Podemos ter endereçamentos que possuem
mais de um byte:

Fonte: “Sistemas Digitais e Princípios e Aplicações – Ronald J. Tocci e Neal S. Widmer –


8ª ed.” Capitulo 13 – Tabela 13.2
Microcontroladores
• Exemplo de funcionamento: “Agente 89”
• Regras básicas:
– A informação em cada uma das caixas está
escrita em código.
– Comece pela caixa 1;
– Continue pelas caixas restantes em sequência,
a menos que instruído de outra forma;
– Em uma das caixas existe uma bomba, que
explodirá em caso de abertura;
Microcontroladores
• Cada caixa pode ser entendida
como uma unidade de memória
ou um registrador.
• Cada caixa armazena uma
instrução ou um dado.
• O numero de cada caixa são os
endereços das posições de
memória;
• Podemos identificar classes de
instruções:
• Operações aritméticas (1,2,3 e 5)
• Salto/Ramificação condicional (4)
• Instrução de retorno (6);
Microcontroladores

Verifica
Inicio Ciclo de busca Ciclo de execução fim
interrupções
Microcontroladores

https://i.ebayimg.com/images/g/2YQAAOSwkvheDk61/s-
l1600.jpg
https://s35.wheelsage.org/format/picture/picture-preview-
large/j/jeep/compass_trailhawk/jeep_compass_trailhawk_1.jpg

https://vermin-club.org/images/articles-
2016/how-to-read-and-understand-obd- https://www.dsa.de/uploads/pics/eGo_MFT_Produktion_002_480x320.jpg

ii-codes-2.jpg
Microcontoladores
• Exemplo Real:
Microcontroladores
• Arquiteturas:
• Von-Neuman ou CISC (Complex Instruction Set
Computer – Computador com conjunto
complexo de instruções)
• Harvard ou RISC (Reduced Set Instruction
Computer – Computador com conjunto
reduzido de instruções)
Microcontroladores
• Diferenças de arquitetura:

Fonte: http://www.matidavid.com/pic/picbook_site/2_01chapter.htm#CISC,%20RISC
Microcontroladores
• Exemplo: Multiplicação de dois
números
• A ULA só pode operar em
elementos que estejam nos
registradores;
• Vamos multiplicar um numero
armazenado em 2:3 por um outro
em 5:2 e depois armazenar o
resultado em 2:3; Fonte:
https://cs.stanford.edu/people/eroberts/courses/s
oco/projects/risc/risccisc/
Microcontroladores
• Abordagem CISC:
– MULT 2:3, 5:2
• Abordagem RISC:
– LOAD A, 2:3
– LOAD B, 5:2
– PROD A, B
– STORE 2:3, A
Microcontroladores
• Hoje em dia temos designs customizados
baseados nas aplicações finais, podendo ser do
tipo RISC, CISC ou hibrido.
Microntroladores
• O Arduino
• O Arduino possui várias “versões” como
acabamos de ver. Vamos utilizar como base ao
longo desse curso, o Arduino Uno.
• O microcontrolador embarcado é da família
ATmega AVR, que é um micro com arquitetura
RISC de 8 bits.

Você também pode gostar