Escolar Documentos
Profissional Documentos
Cultura Documentos
Slides LT36D Aula1e2
Slides LT36D Aula1e2
Microcontroladores
Notas de Aula
Aulas 1 e 2
Prof. Eduardo G. Bertogna
DAELN/UTFPR-Campo Mourão
1
Sistema Microprocessado Mínimo
Von-Neumann e Harvard
3
• Harvard: nesta outra arquitetura o processador
possui barramentos de dados distintos para a me-
mória de programa e a memória de dados.
Desta forma, o processador pode buscar simultaneamente
o código de instrução na memória de programa e seu ope-
rando (quando existente) na memória de dados, e por-
tanto, a execução da instrução é mais rápida que no Von-
Neumann;
4
Famílias de Microcontroladores
Populares
• tinyAVR
• megaAVR
• XmegaAVR
• Battery Management
• Automotive AVR
7
Sub-Famílias tinyAVR, e megaAVR
Modelo* Características Principais
tiny11 1kB Flash, 1 T/C de 8bits, 6 Pinos de E/S.
tiny12 Idem ao tiny11, com 64B de EEPROM.
tiny13 Idem ao tiny12, com 64B de SRAM, e 4 ADC's.
tiny15 Idem ao tiny12, com 4 ADC's.
tiny26 2kB Flash, 128B EEPROM, 128B SRAM, 2 T/C
de 8bits, 16 Pinos de E/S, 11 ADC's de 8bits.
tiny28 2kB Flash, 1 Timer/Counter de 8bits, 20 Pinos de E/S.
tiny2313 2kB Flash, 128B de EEPROM, 128B de SRAM, 2 T/C
(1 de 8bits, 1 de 16bits), 18 Pinos de E/S, 1 Serial.
mega8 8kB Flash, 512B EEPROM, 512B SRAM, 3 T/C (2x8,1x16)
23 Pinos de E/S, 1 Serial, 3 PWM, 8 ADC' s,
mega8515 8kB Flash, 512B EEPROM, 512B SRAM, 2 T/C (1x8,1x16)
35 Pinos de E/S, 1 Serial, 3 Canais de PWM
mega8535 Idem ao mega8515, com 2 Timer/Counter de 8bits,
4 Canais de PWM, 8 ADC's, e 32 Pinos de E/S.
mega16 16kB Flash, 1KB EEPROM, 1KB SRAM, 3 T/C (2x8,1x16)
32 Pinos de E/S, 1 Serial, 6 Canais de PWM, 8 ADC' s,
mega162 Idem ao mega16, c/ 2 T/C de 16bits, 4 Canais de PWM,
2 Canais Seriais, 35 Pinos de E/S, porém sem ADC's.
mega32 Idem ao mega16, c/ 32kB de Flash, 2kB SRAM, 4 PWM.
mega64 64kB Flash, 2kB EEPROM, 4kB SRAM, 4 T/C (2x8,1x16)
54 Pinos de E/S, 2 Serial, 8 Canais de PWM, 8 ADC's.
mega128 Idem ao mega64, com 128kB Flash, 4kB EEPROM.
mega48 4kB Flash, 256B EEPROM, 512B SRAM, 3 T/C (2x8,1x16)
24 Pinos de E/S, 1 Serial, 5 Canais de PWM, 8 ADC's.
mega88 Idem ao mega48, c/ 8kB Flash, 512B EEPROM, 1kB RAM.
mega168 Idem ao mega88, c/ 16kB de Flash.
mega256 Idem ao mega128, c/ 256kB Flash, 8kB SRAM, 16 PWM.
8
Ambientes de Desenvolvimento p/
AVR
CodeVisionAVR
10
AVR Studio 4 ou 5
Versão distribuída anteriormente à criação do Atmel
Studio, tendo como vantagem ser mais leve (125MB),
pela razão de não sendo baseado no Visual Studio.
Pode ser baixada de:
http://pessoal.utfpr.edu.br/ebertonha/programas-p-download/avr-
studio-4.19.
11
Atmel Studio 6 ou 7
12
Núcleo da Arquitetura AVR RISC
13
Recursos do ATmega328
14
ATmega328: Arquitetura Interna
15
ATmega328: Pinagem DIP-28
• GND - Referência.
16
• PORTAS B, C e D (PCINT0...PCINT22) - Todos os 23
pins de E/S das Portas B, C e D possuem a função alternativa
de ativar uma interrupção na mudança de estado do respec-
tivo pino, servindo assim como uma interrupção externa.
17
• PORTC (PC0...PC6) - Porta de 7 bits bidirecional de E/S.
Cada pino desta porta possui uma função alternativa, ver
tabela a seguir.
18
Placas da Família Arduino AVR
Pinagem do ATmega328p na
Placa Arduino Uno/Nano
Gravadores ISP
20
Sistema de Clock do ATmega328
21
• Sinais de clock derivados da fonte primária:
22
Seleção da Fonte Primária de Clock - Fuse-bits CKSEL3...0
A fonte primária de clock é selecionada quando da programação
do dispositivo, através dos fuse-bits CKSEL3...0 :
26
Registro de e Status da CPU - MCUSR
27
Registro de Controle da CPU - MCUCR
• Bit :
PUD Pull-Up Disable , setado desabilita todos
os pull-ups em todos os pinos das portas;
Habilitação/Desabilitação de Interrupções
Declarações em C:
Para o compilador C do IDE Codevision:
#include
...
<mega328p . h> / / A r q . h e a d e r i n t e r r u p .
#asm ( " c l i " ) / * D e s a b i l i t a i n t e r r u p ç õ e s g l o b a l m e n t e * /
...
#asm ( " s e i " ) / * H a b i l i t a i n t e r r u p ç õ e s g l o b a l m e n t e * /
Declarações em ASM:
. INCLUDE "M328PDEF . INC " ; Arq . de d e f i n i ç õ e s d i s p o s .
...
CLI ; D e s a b i l i t a i n t e r r u p ç õ e s
...
SEI ; H a b i l i t a i n t e r r u p ç õ e s
31
Modos de Baixo Consumo - Sleep Modes
O modo de baixo consumo é ativado se o bit de Habilitação do
Modo Sleep, SE =1 (registro SMCR), e uma instrução SLEEP for
executada.
Modo Idle
- CPU é parada;
- Periféricos e Interrupções continuam funcionando;
- CPU retorna do modo Idle ao ocorrer uma destas interrupções;
- Circuito de BOD não pode ser desativado neste modo.
Modo Power-Down
- Oscilador externo é parado;
- Circuitos dos TWI, WDT, e Interrupções, permanecem funcio-
nando;
- Retorno do Power-Down através de uma interrupção destes cir-
cuitos, de um Reset externo, ou Reset por Brown-out.
Modo Power-Save
- Idêntico ao Power-Down, exceto que T/C2 continua ativo;
- Adicionalmente, pode retornar deste modo por interrupções do
T/C2;
- Se o T/C2 não será usado recomenda-se o modo Power-Down.
Modo Standby
- Idêntico ao Power-Down, exceto que o oscilador externo se man-
tém funcionando;
- Somente possível de ser usado com Cristal/Ressonador externo.
SMCR
SM2 SM1 SM0 SE
33