Curso: Técnico em Automação Industrial Integrado ao Ensino Médio Disciplina : AVR Prof. Thiago Javaroni Prati
Família AVR Os microcontroladores AVR da fabricante ATMEL são microcontroladores de 8 bits e 32 bits Arquitetura HAWARD Diferença?
Família AVR Prof. Sc.M. Thiago Javaroni Prati
Família AVR Os microcontroladores AVR da fabricante ATMEL são microcontroladores de 8 bits Arquitetura HAWARD Diferença?
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
Família AVR Arquitetura permite a execução de uma instrução por CICLO do processador. Uma função pode exigir algumas isntruções
Família AVR Prof. Sc.M. Thiago Javaroni Prati
Família AVR Aplicações Sistemas embarcados megaavr com controlador LCD, USB, PWM, CAN, etc FPSLIC (AVR com FPGA)
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
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
Família AVR AVR Attiny 1KB Flash 64B SRAM 64B EEPROM 32B para registros 4 A/Ds de 10 bits
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
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
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)
Atmega 8 3 Ports A, C e C Avcc, Aref VCC e GND
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.
Programação AVR Para Escrita, Compilação e Depuração Para Gravação AVR Studio Khazama AVR Programer http:// khazama.com/project/programmer
Programação AVR sistemas microcontrolados programação é tão importante quanto o hardware Um bom programa pode aumentar consideravelmente o desempenho de um sistema
Programação AVR sistemas microcontrolados programação é tão importante quanto o hardware Um bom programa pode aumentar consideravelmente o desempenho de um sistema
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
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?
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.
Programação AVR 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
Portas Entrada Saída O ATmega8 possui 3 portas: PORTB, PORTC e PORTD Com seus respectivo pinos: PB7.. PB0, PC6.. PC0 e PD7.. PD0 Todos os pinos do AVR possuem a função Lê Modifica Escreve quando utilizados como portas genéricas de I/Os
Portas Entrada Saída Direção do Pino pode ser alterada individualmente Valores lógicos dos pinos assim como resistores de Pull-UP podem ser ativados individualmente
Portas Entrada Saída Todas as portas têm resistores de pull-up e diodos de proteção para o VCC e o terra
Portas Entrada Saída DDRx: registrador de direção da porta, usado para definir se os pinos são de entrada ou saída. Registradores: Memórias específicas que definem o funcionamento dos periféricos do microcontrolador ou possuem valores dos hardwares
Portas Entrada Saída PORTx: registrador de dados da porta, usado para escrever nos pinos ou habilitar pull-up.
Portas Entrada Saída PINx: registrador de entrada da porta, usado para ler o conteúdo dos pinos.
Portas Entrada Saída Resumindo, para uso de um pino de I/O, deve-se: Primeiro definir no registrador DDRx se ele será entrada ou saída: Se o pino for de saída, uma escrita no registrador PORTx altera o estado lógico do pino, também empregado para habilitar os pull-ups.
Portas Entrada Saída Os estados dos pinos da porta são lidos do registrador PINx Detalhe: para a leitura do PINx logo após uma escrita do PORTx e DDRx, deve ser gasto pelo menos um ciclo de máquina para sincronização dos dados pelo µcontrolador
Modelo de Programa Prof. Sc.M. Thiago Javaroni Prati
Modelo de Programa Prof. Sc.M. Thiago Javaroni Prati