Você está na página 1de 39

MICROCONTROLADORES

Prof: Maximiano Correia Martins, D.Sc


Plano de Aula: 1ª Aula de Microcontroladores

• Apresentação do Professor
• Breve apresentação da turma
• Apresentação da disciplina
• Ementa e conteúdos
• Bibliografia
• Cronograma
• Avaliações
• Conteúdo da Aula 1
Resumo da Ementa:
UNIDADE 1 - Microcontroladores
1.1 Histórico dos microcontroladores
1.2 Introdução à arquitetura de microcontroladores
1.3 Arquiteturas RISC e CISC
1.4 Tipos de microcontroladores
UNIDADE 2 - Compiladores e simuladores
2.1 A linguagem C e os microcontroladores
2.2 Ambientes de desenvolvimento para microcontroladores
2.2 Simulador Tinkercad
2.3 Simulador PICSimLab
UNIDADE 3 - Periféricos integrados
3.1 Portas digitais e analógicas
3.2 Aquisição de dados, conversores A/D
3.3 Contadores/temporizadores,
3.4 Controle com PWM
Resumo da Ementa:
UNIDADE 4 - Periféricos externos
4.1 Transmissão de dados
4.2 Protocolo seriais I2C, SPI e UART
4.3 Sensores
4.4 Display de caracteres e gráfico
4.5 Interrupções
UNIDADE 5 - Projetos com microcontroladores
5.1 Aspectos a considerar para a escolha de microcontroladores e compiladores
5.2 Aplicações e mercado de microcontroladores
5.3 Boas práticas de programação em C para microcontroladores
5.4 Programação de comunicação wifi em microcontroladores para IoT
Bibliografia Básica
Monk, Simon. Programação com Arduino: Começando com Sketches [BV:MB]. 1
Ed.. Porto Alegre: Bookman, 2017.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788582602973

OLIVEIRA, André Schneider de; ANDRADE, Fernando Souza de. Sistemas


Embarcados - Hardware e Firmware na Prática [BV:MB]. 1 Ed. São Paulo: Érica,
2010.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536520346

SOUZA, David José de; SOUSA, Daniel Rodrigues de; LAVINIA, Nicolás César.
Desbravando o Microcontrolador PIC 18 - Recursos Avançados [BV:MB]. 1. ed..
São Paulo: Érica, 2010.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536519661
Bibliografia Complementar
MANZANO, José Augusto N. G. Estudo Dirigido de Linguagem C[BV:MB]. 1 Ed.São Paulo: Érica, 2013.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536519128

MIYADAIRA, Alberto Noboru. Microcontroladores PIC18 - Aprenda e Programe em Linguagem C[BV:MB]. 1 Ed.
São Paulo: Érica, 2013. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536519968

OLIVEIRA, Cláudio Luís Vieira; ZANETTI, Humberto Augusto Piovesana. Arduino Descomplicado - Como Elaborar
Projetos de Eletrônica[BV:MB]. 1 Ed. São Paulo: Érica, 2015. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788536518114

PEREIRA, Fábio. Microcontroladores PIC - Programação em C[BV:MB]. 1 Ed.. São Paulo: Érica, 2009.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536519937

RODRIGUES, Daniel. Microcontroladores ARM7 (Philips: família LPC213x): O poder dos 32 bits - teoria e
prática[BV:MB]. São Paulo: Érica, 2000.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536519920
Procedimentos de Ensino
• Exposição oral dialogada, com emprego de recursos visuais.
• Apresentar no inicio o que será tratado durante a aula (Plano de Aula)
• Desenvolver o conteúdo, procurando relacionar com os conceitos já apresentados
e com exemplos práticos e contextos reais;
• Aplicar exercícios de fixação do aprendizado.
• Aulas práticas em laboratório de informática ou simuladores via TEAMS
• Trabalhos individuais e em equipe com Estudos de casos;
• Elaboração de projetos e Seminários;
• Avaliação interdisciplinar.
Recursos
• Microsoft Teams Aulas Virtualizadas.
• Laboratório de informática X Simulador.
• Softwares: compiladores para a linguagem C
• Os softwares servirão para ilustrar as aplicações das diversas técnicas
abordadas, bem como propiciar o desenvolvimento de pequenas
aplicações por parte dos alunos.
• Material didático para Download: Aulas em pdf, listas de exercícios,
estudos de caso e resumos.
História e introdução aos microcontroladores
O microcontrolador ante ao microprocessador

No mundo dos computadores e da microeletrônica, a revolução trazida pelos microprocessadores e seu


poder de processamento chamou a atenção e trouxe uma infinidade de fãs. E isso não é exagerado.
Computadores avançaram tão rapidamente, e com um crescimento tão exponencial em sua capacidade,
que para a maioria das pessoas eles são basicamente milagres.
Mas há outra invenção importante que merece alguma glória: o microcontrolador. O microcontrolador é
o dispositivo eletrônico que controla a maioria dos dispositivos eletrônicos complexos que as pessoas
usam todos os dias, desde máquinas de lavar e cafeteiras até airbags e freios antitravamento nos carros.
No nível mais básico, um microcontrolador é um computador, o que pode soar confuso em princípio. Mas
pensando nas características, todos os computadores, de mainframes gigantes a smartphones, têm
algumas coisas em comum.
Arduino UNO, o Chip Kit e Kinetis KL05
O que são microcontroladores:
Microcontroladores são circuitos integrados que possuem embarcados
todos os componentes necessário ao seu funcionamento dependendo
unicamente da fonte de alimentação externa.
Pode-se dizer que os microcontroladores são computadores de um
único chip. A Figura a seguir Ilustra os componentes de um
microcontrolador típico
O que são microcontroladores:
Um sistema microprocessado é composto por uma unidade central de
processamento CPU e um conjunto de periféricos necessários os seu
funcionamento.
Dentre este periféricos podemos destacar a memória de dados, a
memória de programa e o circuito de clock .
Os microcontroladores diferem dos sistemas tradicionais por já
integrarem os seus periféricos dentro do próprio componente.
Vantagens dos Microcontroladores
Esta integração é uma das principais vantagens dos microcontroladores,
pois contendo todos os periféricos no mesmo componente faz com que
sua utilização seja mais fácil e mais barata.
Sistemas microcontrolados não necessitam de muitos componentes, o
que torna mais simples a construção das placas de circuito e diminui o
custo dos componentes e da produção.
Microcontroladores
A Figura apresenta algumas modelos de microcontroladores comerciais;
Microcontroladores
• O tipo da embalagem, a velocidade de processamento, a quantidade de
memória e os tipos de periféricos variam de modelo para modelo e
também entre fabricantes, pois cada microcontrolador é desenvolvido para
um tipo de operação.
• Os microcontroladores são muitos utilizados pela sua versatilidade, pois
seu comportamento depende principalmente do software que nele é
gravado.
• Assim um mesmo microcontrolador pode ser utilizado para uma infinidade
de aplicações bastando apenas mudar o seu software.
• Outra vantagem é a possibilidade de atualização de um produto através da
atualização do software do microcontrolador, o que não é possível com
circuitos analógicos ou digitais tradicionais
Microcontroladores
O laptop ou smartphone é um "computador de uso geral", que é
uma maneira básica de dizer que ele pode executar milhares de
programas.
Microcontroladores, por outro lado, podem ser chamados de
"computadores de propósito especial". Em vez de realizar centenas de
atividades diversas, os microcontroladores realizam uma ou poucas
tarefas por vez, e as faz muito bem.
Microcontroladores
Com esta simplicidade, os microcontroladores são usados em vários
setores e aplicações, em casa e em empresas, como na automação
predial, manufatura, robótica, automotiva, iluminação, automação
industrial e tecnologia de comunicações.
A característica mais presente em microcontroladores é ser
incorporado em outros produtos para controlar um determinado
recurso de uma máquina maior, sendo dedicado a uma única tarefa,
tendo um dispositivo de entrada definido que nunca muda e, claro,
sendo micro.
História dos microcontroladores
Em 1970 e 1971, mais ou menos na mesma época em que a Intel estava
inventando seu microprocessador, Gary Boone, engenheiro da Texas
Instruments, estava trabalhando em uma ideia semelhante.
Naquela época, a Texas Instruments estava interessada em fazer calculadoras
de bolso, e Boone projetou um único chip de circuito integrado que continha
quase todos os circuitos necessários para fazer uma calculadora (exceto o
teclado e a tela).
A este avanço extraordinário foi dado o nome de TMS1802NC.
Embora a Texas Instruments acreditasse que a maioria das vendas iria
inicialmente para fabricantes de calculadoras, via-se possibilidades de longo
alcance para o novo chip. Com um pouco de programação, ele poderia ser
usado para alimentar relógios eletrônicos, balanças e vários tipos de
medidores.
História dos microcontroladores

Embora o microprocessador pudesse ser a base de um


computador muito mais poderoso, ele tinha que ter um grupo
inteiro de chips e circuitos adicionais para fazê-lo funcionar.
O microcontrolador, por outro lado, era um dispositivo
independente, um computador em um único chip que executava
uma gama mais limitada de funções, mas precisava apenas de
uma ajuda mínima de outros chips e dispositivos.
História dos microcontroladores
Por esse motivo, o desenvolvimento do microprocessador e do
microcontrolador se separou.
Ambos foram bem-sucedidos, mas em termos de números absolutos, é
o microcontrolador que mais vende.
Já no final dos anos 1970 as vendas de microcontroladores estavam
acelerando rapidamente. O baixo custo do microcontrolador e sua
abordagem tudo-em-um tornou econômico o desenvolvimento do que
hoje é conhecido como aplicativos de computadores “embutidos”, na
ideia de que computadores minúsculos podem ser embutidos em
praticamente qualquer tipo de sistema ou máquina para fornecer
recursos adicionais.
Um pouco mais da Arquitetura básica dos microcontroladores
A figura mostra o diagrama de blocos de um microcontrolador típico. Todos os
componentes são conectados através de um barramento interno e são todos
integrados em um chip. Os módulos são conectados ao mundo externo por meio
de pinos de entrada e saída (E/S).
• Processador: A CPU (Unidade Central de Processamento) do microcontrolador. Contém a
unidade lógica aritmética (ULA), a unidade de controle, e os registradores (ponteiro de
pilha, contador de programa, registrador de acumulador, arquivo de registro etc.).

• Memória: Em alguns microcontroladores a memória é dividida em memória de programa


(EEPROM/Flash) e memória de dados (RAM).

• As memórias EEPROM/Flash não é volátil e pode armazenar dados mesmo sem energia,
ao contrário da RAM. Em comparação com qualquer tipo de RAM, a velocidade das
memórias EEPROM/Flash é significativamente mais lenta.
Controlador de Interrupção: Interrupções são úteis para interromper o fluxo
normal do programa no caso de eventos externos ou internos (importantes).
Em conjunto com os modos de desligamento (sleep modes), eles ajudam a
diminuir o consumo.
Temporizador/Contador: A maioria dos microcontroladores tem pelo menos
um Temporizador/Contador, que podem ser usados para registrar eventos,
medir intervalos ou contar eventos. Muitos microcontroladores também
contêm saídas PWM (modulação por largura de pulso), que podem ser usadas
para controlar a velocidade de motores de acionamento, por exemplo.
E/S digital: As portas de entrada e saída digitais paralelas são uma das principais
características dos microcontroladores. O número de pinos de E/S varia de 3-4 a mais de 90,
dependendo da família do microcontrolador.

E/S analógica: A maioria dos microcontroladores tem conversores analógico/digital


integrados, que diferem no número de canais (2-16) e sua resolução (8-16 bits). Alguns
microcontroladores incluem conversores digitais/analógicos.
Interfaces: Os microcontroladores geralmente têm pelo menos uma
interface serial, que pode ser usada para baixar o programa e para
comunicação com o PC de desenvolvimento. Como as interfaces seriais
também podem ser usadas para se comunicar com dispositivos periféricos
externos, muitos dos microcontroladores oferecem interfaces seriais como
SPI e I2C. Muitos microcontroladores também contêm controladores de
barramento integrados para comunicação USB, Ethernet e Wi-Fi.
Watchdog Timer: Como os sistemas críticos de segurança formam uma área
importante de microcontroladores, é importante proteger-se contra erros no
programa e/ou no hardware. O temporizador watchdog é usado para reinicializar o
controlador em caso de falha do software.

Um watchdog timer é um dispositivo eletrônico temporizador que dispara um reset ao sistema se o programa principal,
devido a alguma condição de erro, deixar de fazer reset no watchdog timer. Este termo Watchdog é utilizado muito em
software de medidores eletrônicos, onde tem a finalidade de fiscalizar o processamento e quando necessário aplicar
correções e até mesmo um reset no hardware do medidor. Resumindo: Trata-se de um sistema emergencial. Quando
ativado, precisamos zerar o Watchdog, caso contrário, ele vai estourar e resetar o sistema.
Concluindo
Resumindo, um microcontrolador é um processador que é equipado com
memória, temporizador, pinos de E/S (paralelos) e outros periféricos dentro
de um único chip.
O elemento condutor por trás de tudo isso é o custo: A integração de todos
os elementos em um chip economiza espaço e leva a custos de fabricação
mais baixos e tempos de desenvolvimento mais curtos.
Isso economiza tempo e dinheiro, fatores chave nos sistemas embarcados.
As vantagens adicionais da integração são facilidade de atualização, menor
consumo de energia e maior confiabilidade, que também são aspectos
muito importantes em sistemas embarcados.
Concluindo
No lado negativo, usar um microcontrolador para resolver uma tarefa em um software, que
também poderia ser resolvido com uma solução de hardware, não irá oferecer a mesma
velocidade que a solução de hardware poderia alcançar.
Portanto, aplicações que exigem tempos de reação muito curtos ainda podem exigir uma
solução de hardware, como as soluções desenvolvidas com FPGA, abreviação de "Field
Programmable Gate Array"ou "Matriz de portas lógicas programáveis em campo".
A maioria das aplicações, no entanto, e em particular aquelas que requerem algum tipo de
interação humana, não precisam de tempos de reação tão rápidos e, portanto, para essas
aplicações, os microcontroladores são uma boa escolha.
Tipos de Microcontroladores
A arquitetura da Unidade Central de Processamento (CPU) opera a
capacidade de trabalhar no Conjunto de Instruções da arquitetura
para onde foi projetada. Os arquitetos de hardware criam inúmeras
tecnologias e ferramentas para implementar a arquitetura desejada,
a fim de atender a determinadas necessidades. No que diz respeito
ao hardware do processador, existem dois tipos de conceitos para
implementar a arquitetura de hardware do processador. O primeiro
é o RISC e o outro é o CISC.
Arquitetura C.I.S.C. versus R.I.S.C.
A partir do 4004, com 46 instruções, começava a escalada dos microprocessadores,

cada vez mais complexos com maior número de instruções. O 8008 possui 48

instruções. O 8080, 78 instruções. O 8085, aproximadamente 150 instruções, o

Z80, mais de 500, 0 8086/8088 já possui mais de 700 instruções e o 80386, mais de

1500. Isso nos mostra que, com o aumento do número de instruções, também

crescia o número e a complexidade dos circuitos internos do microprocessador.


Arquitetura C.I.S.C. versus R.I.S.C
Alguns microprocessadores de arquitetura CISC atuais possuem um gigantesco volume de
transistores incorporados no CHIP. Os microprocessadores 80x86 da Intel utilizados nos PCs
são um exemplo típico de processadores CISC. Há algum tempo, a preocupação nos
projetos de microprocessadores passou a ser a velocidade de processamento e não a sua
complexidade. Por isso, foram criados microprocessadores com um conjunto reduzido de
instruções (menos de 250 instruções), mas com alta velocidade de processamento (RISC).
CISC = Complex Instruction Set Code (conjunto de código de instruções complexo).

RISC = Reduced Instruction Set Code (conjunto de código de instruções reduzido).


Arquitetura C.I.S.C. versus R.I.S.C
O ciclo de projeto de um microprocessador CISC é muito longo e difícil. O volume de testes para certificação do
seu funcionamento é muito grande e a preocupação com a otimização do circuito para ganhar velocidade só
vem depois do pleno estabelecimento do novo microprocessador.
Em contrapartida, microprocessadores RISC têm um ciclo de projeto bem mais curto. Além disso, o enfoque é
dado à elevação das taxas de “clock” e uso de barramentos “largos” (64 bits ou 128 bits).
Em geral, o desempenho de microprocessadores RISC costume ser melhor que microprocessadores CISC.
Outro aspecto importante é o tamanho dos programas. Imagine um programa que faça uma movimentação de
dados de 1000 bytes de uma parte da memória para outra. Em um microprocessador CISC esse programa é
curto (podemos supor algo em torno de 5 ou 6 bytes). Isso porque utiliza instruções complexas. Em um
microprocessador RISC, a mesma tarefa pode ser desempenhada por um programa maior (algo em torno de 10
a 15 bytes).
Esse microprocessador possui instruções muito simples e certamente precisará de várias instruções para uma
tarefa feita por uma única instrução complexa. Isso permite concluir que os programas dos microprocessadores
RISC são maiores.
Arquitetura C.I.S.C. versus R.I.S.C
Computadores baseados na arquitetura CISC são projetados para diminuir o custo
da memória. Isso porque programas grandes precisam de mais armazenamento,
aumentando assim o custo de memória.
Para resolver esses problemas, o número de instruções por programa pode ser
reduzido incorporando um número de operações em uma única instrução,
tornando as instruções mais complexas.
O RISC é um tipo de arquitetura de microprocessador que usa um conjunto
altamente otimizado de instruções. O RISC faz o oposto do CISC, reduzindo os ciclos
por instrução ao custo do número de instruções por programa. O pipelining é uma
das características exclusivas do RISC. É realizado pela sobreposição da execução de
várias instruções. De forma geral, o RISC tem uma vantagem de desempenho em
relação ao CISC.
Microcontroladores CISC e RISC
Microcontroladores clássicos e mais antigos, como Z80 e 8051, eram CISC. A
maioria dos microcontroladores mais utilizados hoje em dia, como PIC, AVR
(usado na plataforma Arduino) e ARM (Advanced RISC Machine) são RISC.

AVR -
Atmel
PIC
ARM
Zilog Z80 - CISC
• O Zilog Z80 é um microprocessador de 8 bits projetado e
vendido pela Zilog a partir de julho de 1976.
Intel MCS-51 - CISC
O Intel MCS-51 (comumente chamado de Intel 8051) faz parte de uma
família de microcontroladores de 8 bits lançada pela Intel em meados
de 1980.
Indicação de Leitura Específica

Cap. 1 do livro MIYADAIRA, Alberto Noboru. Microcontroladores PIC18 - Aprenda e


Programe em Linguagem C. 1 Ed. São Paulo:Érica, 2013.

Cap. 1 da apostila em http://professor.luzerna.ifc.edu.br/ricardokerschbaumer/wp-


content/uploads/sites/43/2018/02/Apostila-Microcontroladores.pdf

Leituras recomendadas para a próxima aula:

Cap. 1 do livro OLIVEIRA, André Schneider de; ANDRADE, Fernando


Souza de. Sistemas Embarcados - Hardware e Firmware na Prática.
1 Ed. São Paulo: Érica, 2010.
Aprenda ++!!!
https://www.youtube.com/watch?v=VQnFD2OsBNQ

https://blog.multcomercial.com.br/como-fazer-um-circuito-com-
arduino/

Você também pode gostar