Objetivo
• Conhecer as arquiteturas dos microcontroladores;
• Compreender e aplicar a programação em linguagem C nos microcontroladores;
• Conhecer e saber trabalhar com as entradas e saídas digitais; • Conhecer e saber utilizar as interrupções;
• Conhecer e saber utilizar as interrupções;
• Compreender o funcionamento da comunicação serial e a utilização de PWM;
• Aprender a trabalhar com as principais ferramentas de programação e simulação;
• Conhecer e compreender a aplicação dos microcontroladores na automatização de processos industriais;
Sistema Tradicional → Microprocessado
Introdução
Um sistema microprocessado é composto por: • Uma unidade central de processamento (CPU)
• Um conjunto de periféricos necessários o seu funcionamento • Um conjunto de periféricos necessários o seu funcionamento Dentre este periféricos podemos destacar:
• Memória de dados
• Memória de programa
• Circuito de clock (sincronização das operações) • Interfaces de entrada e saída
Introdução
Os microcontroladores se diferem dos
sistemas tradicionais por já integrarem os
sistemas tradicionais por já integrarem os
periféricos dentro do próprio componente.
Microcontroladores são circuitos
integrados que possuem em seu
interior todos os componentes
O que são Microcontroladores?
interior todos os componentes
necessários para o seu funcionamento
dependendo unicamente da fonte de
Pode-se dizer que microcontroladores são
computadores de um único chip.
O que são Microcontroladores?
Componentes de um
microcontrolador
Quais as vantagens?
• A integração é a principal vantagem, pois agrega
todos os periféricos em um único componente;
• Facilita a utilização;
• A construção das placas de circuitos são mais
• A construção das placas de circuitos são mais
simples;
• O custo dos componentes e da produção diminui;
• Atualização do software, o que não e possível com
circuitos analógicos ou digitais tradicionais.
Quais as Aplicações?
Existem no mercado diversos tipos de
microcontroladores que variam de modelo para
modelo e também entre fabricantes.
Principais características:
• Invólucro;
• Velocidade de processamento;
• Quantidade de memória;
Quais as Aplicações?
Os microcontroladores são utilizados em praticamente
todos os dispositivos eletrônicos, como por exemplo:
• Central de alarme
• Teclado do computador
• Teclado do computador
• Monitor
• Disco rígido de computador
• Relógio de pulso
• Máquina de lavar
• Forno micro-ondas
Quais as Aplicações?
Os microcontroladores também são muito utilizados
na indústria, como por exemplo:
• Válvula de controle
• Sensor inteligente
• Sensor inteligente
• Inversor
• Soft start
• Interface homem máquina (IHM)
• Controlador lógico programável (CLP)
• Balança
Quais as Aplicações?
Principais Fabricantes
Relação dos principais fabricantes do mercado:
•AMCC
•Atmel
•Cypress MicroSystems
•NXP (Philips Semiconductors)
•NEC
•Parallax
•Cypress MicroSystems
•Freescale Semiconductor
•Fujitsu
•Holtek
•Intel
•Microchip Technology
•National Semiconductor
•Parallax
•Renesas Tech. Corp.
•STMicroelectronics
•Silicon Laboratories
•Texas Instruments
•Western Design Center
•ZiLOG
Principais Fabricantes
É importante salientar que estes são apenas
os fabricantes. Cada um possui diversas
os fabricantes. Cada um possui diversas
famílias de microcontroladores e cada família
possui dezenas de componentes diferentes.
Registradores
• Os registradores são a base para o funcionamento de qualquer CPU e de alguns tipos de memórias.
• São formados por um grupo de elementos (flip-flops, por exemplo).
exemplo).
• O que torna os registradores tão especiais é a capacidade que eles tem de armazenar informações.
• Por isso tem uma importância muito grande no que diz respeito aos microcontroladores.
• O tamanho dos registradores é determinado pelo número de bits que podem armazenar.
Registradores
•R
egistrador simples para palavras de quatro bits.
• Os microcontroladores mais comuns armazenam dados em registradores de 8 bits (microcontroladores de 8 bit).
• Isso significa que cada registrador de 8 bits pode armazenar valores de 0 a 255 (8 bits → 2^8 = 256 números).
Memórias
• Já vimos que através de dispositivos eletrônicos como os registradores, podemos armazenar uma palavra de “n” bits. • Memórias são dispositivos utilizados para armazenar • Memórias são dispositivos utilizados para armazenar palavras binárias na ordem de centenas de milhares.
•Podem-se utilizar flip-flops para o armazenamento em memórias ou outro dispositivo qualquer que sirva para este fim.
Memórias
Memória RAM (Random Access Memory)
A memória RAM é uma memória de leitura e escrita, isto é, que pode ser gravada com um determinado valor e este valor pode ser posteriormente lido.
Podemos acessar qualquer registrador desejado aleatoriamente para ler ou escrever uma palavra. valor pode ser posteriormente lido.
A memória RAM comum necessita de alimentação elétrica para manter a integridade de seus dados.
Memórias
Memória RAM (Random Access Memory)
Quanto à sua construção, as memórias RAM podem ser de dois tipos básicos: estática ou dinâmica.
Na memória RAM estática (SRAM), os bits são
armazenados em flip-flops individuais e permanecem armazenados indefinidamente enquanto o circuito possuir alimentação.
A memória RAM dinâmica (DRAM) armazena os bits através de carga em diminutos capacitores.
Memórias
Memória RAM (Random Access Memory)
Como um capacitor deste tipo ocupa muito menos espaço que um flip-flop em um CI, a memória dinâmica resultante é bem mais compacta que a estática.
Em compensação, o bit em um capacitor permanece integro por apenas uma fração de tempo (aprox. 2 ms), devido as fugas de corrente.
é bem mais compacta que a estática.
Para contornar este problema este tipo de memória deve
ter um circuito auxiliar que verifique temporariamente os
capacitores e os recarregue se for necessário. Esta
Memórias
Memórias ROM (Read Only Memory)
Os conteúdos são fixos e inalterados, sendo estabelecidos É um tipo de memória no qual podemos ler, mas não
escrever.
Os conteúdos são fixos e inalterados, sendo estabelecidos na hora da fabricação.
Em uma ROM, os conteúdos não precisam ser alterados. Não necessita de flip-flop’s ou dispositivos semelhantes.
Memórias
Memórias ROM (Read Only Memory)
Uma ROM na verdade nada mais é do que um conversor
de código e pode ser construído a partir de dispositivos
mais simples e baratos que as portas normalmente
mais simples e baratos que as portas normalmente
utilizadas.
Existem algumas variáveis das memórias ROM:
- ROM Programáveis (PROM)
Memórias
Memórias ROM Programáveis (PROM)
PROM são circuitos de ROM que permitem que o usuário
estabeleça as informações que serão armazenadas, ao invés do fabricante.
do fabricante.
A gravação só pode ser feita uma única vez e não mais alterada. Normalmente a gravação é feita através da queima de elos
fusíveis que determinam se a posição de memória conterá “um” ou “zero”.
Memórias
Memórias ROM Programáveis e Apagáveis (EPROM/EEPROM) EPROM (Erasable Programmable ROM)
Os dados são armazenados em dispositivos baseados em
MOSFET’s. Estes dispositivos fazem ou não a conexão (guardam
A programação é feita através de um programador de EPROM’s. MOSFET’s. Estes dispositivos fazem ou não a conexão (guardam bit “um” ou “zero”) conforme haja ou não carga elétrica na
Memórias
Memórias ROM Programáveis e Apagáveis (EPROM/EEPROM) EPROM (Erasable Programmable ROM)
Uma característica importante é a de que a exposição a luz
O apagamento possibilita uma nova programação (gravação). Uma característica importante é a de que a exposição a luz ultravioleta forte (por aproximadamente 30 min.) permite a fuga das cargas, apagando a memória.
Memórias
Memórias ROM Programáveis e Apagáveis (EPROM/EEPROM) EEPROM (Electrically Erasable Programmable ROM)
O processo para apagar pode ser feito eletricamente,
facilitando assim o processo de alteração das informações A memória flash é uma memória não-volátil mais moderna, derivada da EEPROM. Quando grandes quantidades de dados estáticos devem ser armazenados a memória flash é mais
econômica do que os dispositivos tradicionais de EEPROM. facilitando assim o processo de alteração das informações armazenadas
Memórias
RAM x EEPROM
Apesar das memórias EEPROM serem graváveis e apagáveis elas não são iguais as memórias RAM, pois as informações não são perdidas quando a energia é desligada.
O tempo gasto para armazenar a informação nas memórias EEPROM é muito maior comparado a memória RAM.
são perdidas quando a energia é desligada.
O número de gravações que se pode fazer na EEPROM é limitado.
Arquitetura dos microprocessadores
Para compreender o funcionamento de um microcontrolador é necessário primeiro compreender o funcionamento de um microprocessador.
O microprocessador é o coração de um microcontrolador.
microprocessador.
Embora todos os microprocessadores tenham suas
peculiaridades, a maioria deles possui grande semelhança quanto a seu modo geral de funcionamento.
A seguir é apresentado um diagrama de blocos que mostra a arquitetura básica do microprocessador.
São registradores nomeados de Registrador A até Registrador D.
Registradores de propósito geral
O número destes registradores varia de um
Arquitetura dos microprocessadores
O número destes registradores varia de um microprocessador para outro.
Por exemplo, no AVR são 32 registradores de 8 bits,
no Z80
são 16 de 8 bits,
no 8051 são 8 registradores de 8 bits.A função destes registradores é armazenar os dados que estão sendo processados pelo microprocessador.
São registradores nomeados de Registrador A até Registrador D.
Registradores de propósito geral
O número destes registradores varia de um
Arquitetura dos microprocessadores
O número destes registradores varia de um microprocessador para outro.
Por exemplo, no AVR são 32 registradores de 8 bits,
no Z80
são 16 de 8 bits,
no 8051 são 8 registradores de 8 bits.A função destes registradores é armazenar os dados que estão sendo processados pelo microprocessador.
Essa unidade e o centro do microprocessador
.Unidade Lógica Aritmética (ULA ou ALU)
Ela possui somador, subtrator, multiplicador e divisor;
Arquitetura dos microprocessadores
Ela possui somador, subtrator, multiplicador e divisor; operadores AND, OR e XOR bit a bit; incrementador e decrementador. Tudo integrado em uma única unidade. Portanto, todas as operações lógicas e aritméticas passam
obrigatoriamente por esta unidade. Em resumo, a ULA é uma "grande calculadora eletrônica“.
Faz o deslocamento por um número específico de bits para esquerda ou para direita (bit shift).
Unidade de Deslocamento
Deslocamentos podem ser interpretados como multiplicações
Arquitetura dos microprocessadores
Deslocamentos podem ser interpretados como multiplicações ou divisões por potências de 2.
Serve apenas para armazenar temporariamente um dos
operadores da ULA.
Registrador temporário
É um registrador especial dedicado às operações
envolvendo a ULA.
Acumulador
Arquitetura dos microprocessadores
Ele é um dos operandos envolvidos nas operações da ULA e também é o registrador que recebe o resultado das
operações.
Assim como os registradores de propósito geral, admite transferência bidirecional.
Instruções de programação
Instruções de programação
É nesse registrador que o microprocessador guarda o endereço de memória que aponta para a instrução do programa que
esta sendo executada.
Program Counter (PC)
Arquitetura dos microprocessadores
esta sendo executada.
O microprocessador usa esse conteúdo para informar à
memória o endereço onde está a instrução, faz a leitura desta instrução e guarda a instrução lida no registrador de instrução. Logo após ter lido a instrução o conteúdo do registrador PC é automaticamente incrementado para que o microprocessador possa ler a próxima instrução.
É nesse registrador que o microprocessador guarda a
instrução lida da memória para que possa ser decodificada e executada.
Registrador de Instrução
Arquitetura dos microprocessadores
Quando uma instrução é lida da memória ela não passa de um byte qualquer.
Decodificador de Instrução e Unidade de Controle
A instrução então passa por uma unidade com um número
Arquitetura dos microprocessadores
A instrução então passa por uma unidade com um número imenso de portas lógicas (decodificador) que geram os sinais de controle.
Sinais de controle comandam não só os registradores, mas também todo o sistema.
Pode-se dizer que esta unidade de controle é o cérebro de todo o sistema.
Sigla para Complex Instruction Set Computer, ou, em uma
tradução literal, "Computador com um Conjunto Complexo de Arquitetura C.I.S.C. e R.I.S.C.
C.I.S.C.
Arquitetura dos microprocessadores
tradução literal, "Computador com um Conjunto Complexo de Instruções"
É uma linha de arquitetura de processadores capaz de executar centenas de instruções (mais de 1500) complexas sendo extremamente versátil.
A vantagem da arquitetura CISC é que existe muitas instruções guardadas no próprio processador, o que facilita o trabalho dos Arquitetura C.I.S.C. e R.I.S.C.
C.I.S.C.
Arquitetura dos microprocessadores
guardadas no próprio processador, o que facilita o trabalho dos programadores de linguagem de máquina.
O fato de existirem muitas instruções reduz também o tamanho do código executável.
Porém, do ponto de vista de velocidade de processamento, os CISCs têm algumas desvantagens em relação aos RISCs.
Sigla para Reduced Instruction Set Computer; em português, "Computador com um conjunto reduzido de instruções“.
Arquitetura C.I.S.C. e R.I.S.C.
R.I.S.C.
Arquitetura dos microprocessadores
"Computador com um conjunto reduzido de instruções“.
É uma linha de arquitetura de processadores que favorece um conjunto simples e pequeno de instruções (menos de 250).
Utiliza em processadores PowerPC (da Apple, Motorola e IBM) e SPARC (SUN)
Apesar do número reduzido de instruções, a grande vantagem da arquitetura RISC é a alta velocidade de processamento.
Arquitetura C.I.S.C. e R.I.S.C.
R.I.S.C.
Arquitetura dos microprocessadores
da arquitetura RISC é a alta velocidade de processamento. A desvantagem é que os programas dos microprocessadores RISC são maiores.
Atualmente vemos processadores híbridos, que são
essencialmente processadores CISC, mas incorporam muitos recursos encontrados nos processadores RISC
.
As arquiteturas Harvard e Von Neumann dizem respeito à forma como a memória é conectada ao microprocessador. Arquitetura HARVARD e VON NEUMANN
Na arquitetura Harvard, há dois barramentos de endereços independentes e dois de dados também independentes.
Arquitetura HARVARD e VON NEUMANN HARVARD
Arquitetura dos microprocessadores
independentes e dois de dados também independentes.
Memória de Programa Memória de Dados
CPU
Instruções Endereços Endereços DadosArquitetura HARVARD e VON NEUMANN
Enquanto um desses barramentos serve para a leitura de instruções de um programa, o outro serve para a leitura e HARVARD
Arquitetura dos microprocessadores
Com isso, é possível operar simultaneamente uma instrução e um byte de dados.
Isso garante maior velocidade de processamento.
instruções de um programa, o outro serve para a leitura e escrita de dados.
Arquitetura HARVARD e VON NEUMANN
Atualmente, os processadores de sinais digitais (DSP – Digital Signal Processor) utilizam a arquitetura Harvard.
HARVARD
Arquitetura dos microprocessadores
DSPs são processadores especializados no
processamento dos sinais em tempo real.
Na arquitetura Von Neumann, há apenas um barramento de dados e endereços.
Arquitetura HARVARD e VON NEUMANN VON NEUMANN
Arquitetura dos microprocessadores
dados e endereços. Memória de Programa Memória de Dados
CPU
Endereços Dados InstruçõesNa arquitetura Von Neumann, há apenas um barramento de dados e endereços.
Arquitetura HARVARD e VON NEUMANN VON NEUMANN
Arquitetura dos microprocessadores
dados e endereços. Memória de Programa Memória de Dados
CPU
Endereços Dados InstruçõesNeste caso, as instruções estão em uma faixa de endereços que ativa a memória que possui as instruções
Arquitetura HARVARD e VON NEUMANN VON NEUMANN
Arquitetura dos microprocessadores
que ativa a memória que possui as instruções
Já os dados estão em outra faixa de endereços que ativa outra memória onde se pode ler e escrever os dados.
Comparando ambas, conclui-se que Harvard é mais veloz, mas exige mais um barramento.
Arquitetura HARVARD e VON NEUMANN
Pelo fato da Harvard possuir um barramento a mais, o custo de
Arquitetura dos microprocessadores
Pelo fato da Harvard possuir um barramento a mais, o custo de produção das placas é maior.
Von Neumann utiliza apenas um barramento, mas não pode efetuar acessos simultâneos às memórias.
O custo de produção é menor, porém o desempenho da Von Neumann também é menor.
Como exemplos podemos citar o computador pessoal que utiliza a arquitetura Von Neumann e os microcontroladores AVR que utilizam a arquitetura Harward.
Arquitetura HARVARD e VON NEUMANN
Arquitetura dos microprocessadores
AVR que utilizam a arquitetura Harward.
A arquitetura Harward é bastante utilizada nos
microcontroladores pelo fato das memórias estarem
integradas no próprio componente, o que não acarreta em placas de circuito complexas com várias trilhas de
Von Neumann (Serial) CISC
Harward (Paralela) RISC
Arquitetura dos microprocessadores
Faz-se esta associação mas nem sempre ela é verdadeira. Para o processador com núcleo ARM7 a arquitetura é Von Neumann e RISC.
Microprocessadores x Microcontroladores
Até agora foram estudados microcontroladores e
microprocessadores, mas não foi discutida muito bem, qual a diferença entre eles.
Microprocessadores são circuitos integrados que reúnem Microprocessadores são circuitos integrados que reúnem todos os componentes necessários para a execução dos comandos de um programa, mas não possuem memórias, nem dispositivos de entrada e saída ou circuito de clock.
Microcontroladores por sua vez são circuitos integrados que possuem, além de um microprocessador, todos os requisitos para que o sistema possa funcionar sem a
Microprocessadores x Microcontroladores
Até agora foram estudados microcontroladores e
microprocessadores, mas não foi discutida muito bem, qual a diferença entre eles.
Microprocessadores são circuitos integrados que reúnem Microprocessadores são circuitos integrados que reúnem todos os componentes necessários para a execução dos comandos de um programa, mas não possuem memórias, nem dispositivos de entrada e saída ou circuito de clock.
Microcontroladores por sua vez são circuitos integrados que possuem, além de um microprocessador, todos os requisitos para que o sistema possa funcionar sem a
Microprocessadores x Microcontroladores
Os microcontroladores possuem em seu interior: - Microprocessador (chamado de CPU)
- As memórias de dados e programa - Circuito de clock
- Temporizadores - Temporizadores - Contadores
- Geradores de pulso
- Interfaces de entrada e saída - etc.