Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
AVR
Família AVR
• Os microcontroladores AVR da fabricante
ATMEL são microcontroladores de 8 bits e
32 bits
• Arquitetura HAWARD – Diferença?
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
• Os microcontroladores AVR da fabricante
ATMEL são microcontroladores de 8 bits
• Arquitetura HAWARD – Diferença?
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
• Instrução é 1, 2, … n bytes que o
processador entende como algo que ele
pode executar
• Ex: movimentar valores de memória, somar,
subtrair, rotacionar memória
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
• Arquitetura permite a execução de uma
instrução por CICLO do processador.
• Uma função pode exigir algumas
isntruções
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
● Aplicações
– Sistemas embarcados
– megaAVR com controlador LCD, USB, PWM,
CAN, etc
– FPSLIC (AVR com FPGA)
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
● Características:
– Portabilidade de código
– Um conjunto de ferramenta de
desenvolvimento(Atmel Studio)
– Comptibilidade de pinos e sua utilização em
software
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
● Programas com memória entre 1kb e 8kb
● Encapsulamento entre 8 pinos e 32 pinos
● Conjunto limitado de periféricos
● Modelos também para Tempo Real
– Tempo Real – Sistema que deve desenvolver
uma função dentro de um tempo específico.
Não necessáriamente quer dizer
processamento instantâneo
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
● AVR Attiny
– 1KB Flash
– 64B SRAM
– 64B EEPROM
– 32B para registros
– 4 A/Ds de 10 bits
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
● MegaAVR
– Bootloader independente
● Pedaço de software que recebe o programa e o passa
para a memória destino (Arduino)
– Real Time Clock Counter
– Versões especiais para aplicações automotivas
com controle PWM, A/Ds com suporte CAN
– A/D de 12 bits
– Suporta encriptação do programa
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
● Atmega8
– 8kB de memória Flash para o programa
– 1kB bytes de memória para execução do programa
– 1kB de EEPROM
– Oscilador interno de 1MHz, aceita oscilar externo de até 16MHz
– 6 canais para conversão analógico digital
– Comunicação serial
– PWM
– 3 Contadores, 2 de 8 bits e um de 16 bits
*Valores sujeitos a alteração de acordo com a revisão do hardware
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Família AVR
● Alguns projetos com Atmega
– Sistemas operacionais
● AvrX (http://www.barello.net/avrx/)
● FreeRTOS (http://www.freertos.org/)
● csRTOS(http://www.circuitcellar.com/avr2004/DA3650.html)
● AVR wii nunchuck library
(http://davidegironi.blogspot.com.br/2012/11/avr-
atmega-wii-nunchuck-library-
01.html#.Vs5vFPkrLIU)
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Atmega 8
● 3 Ports
– A, C e C
● Avcc, Aref
● VCC e GND
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Programação AVR
● O código fonte (programa – firmware) para o
microcontrolador necessita ser escrito,
compilado, depurado e gravado.
● Todas estas tarefas são realizadas com o
suporte de softwares adequados.
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Programação AVR
Para Escrita, Compilação e Depuração
AVR Studio®
Para Gravação
Khazama AVR Programer http://
khazama.com/project/programmer
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Programação AVR
● sistemas microcontrolados → programação é
tão importante quanto o hardware
● Um bom programa pode aumentar
consideravelmente o desempenho de um
sistema
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Programação AVR
● sistemas microcontrolados → programação é
tão importante quanto o hardware
● Um bom programa pode aumentar
consideravelmente o desempenho de um
sistema
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Programação AVR
● É um sistema de recursos limitados – memória
e poder de procesamento
● Muito cuidado ao programar em C para não
confundir com a programação para
computadores
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Programação AVR
● É um sistema de recursos limitados – memória
e poder de procesamento
● Muito cuidado ao programar em C para não
confundir com a programação para
computadores
● Maneiras para se economizar RAM?
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Programação AVR
● Constantes e literais devem ser colocados na
memória flash
● Evite usar variáveis globais. Empregue
variáveis locais sempre que possível.
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Programação AVR
● Microcontroladores não possuem sistema
operacional para controlar o programa
executado então este nunca porde terminar
pois não sobra nada para controlar o hardware
● Interface de entrada pode variar muito
dependendo o projeto, já que essa é
personalizada dentro do programa
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
.
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Modelo de Programa
Prof. Sc.M. Thiago Javaroni Prati
IFC – Campus Luzerna - SC
Microcontroladores
Modelo de Programa