Fork me on GitHub

Microcontrolandos

O Blog está passando por uma fase de mudanças. Todos os posts estão sendo atualizados, códigos, links e imagens estão sendo arrumados. Conteúdos novos ainda estão por vir.

Introdução ao AVR

Share:

Introdução ao AVR


"AVR" é o nome de uma família de microcontroladores de 8 bits comercializada pela ATMEL. O AVR consiste, tal como um PIC e outros microcontroladores, num processador (o "core"), memórias voláteis e não-voláteis e periféricos. Ao contrário do PIC, o core do AVR foi muito bem pensado e implementado desde o inicio. Assim de uma forma rápida podemos resumir a arquitectura do AVR nos seguintes pontos:


  • Consiste num core de processamento, memória de programa (não volátil, FLASH), memória volátil (RAM estática, SRAM), memória de dados persistentes (não volátil, EEPROM) e bits fuse/lock (permitem configuraralguns parâmetros especiais do AVR).
  • Arquitectura de memória Harvard (memória de programa e memória de dados separadas).
  • A memória volátil (SRAM) é contínua.
  • A maior parte das instruções têm 16 bits de tamanho, e é este o tamanho de cada palavra na memória deprograma (FLASH).
  • Execução de 1 instrução por ciclo de relógio para a maior parte das instruções.
  • Existem 32 registos de 8 bits disponíveis e há poucas limitações ao que se pode fazer com cada um.
  • Os registos do processador e os de configuração dos periféricos estão mapeados (são acessíveis) na SRAM.
  • Existe um vector de interrupção diferente por cada fonte de interrupção.
  • Existem instruções com modos de endereçamento complexo, como base + deslocamento seguido de auto-incremento/decremento do endereço.
  • O conjunto de instruções foi pensado para melhorar a conversão de código C em assembly.
Existem 4 grupos de microcontroladores AVR:

tinyAVR( Atiny ) - Memória de programa de 0.5 a 8KB; 6 ou 32 pinos;

megaAVR( ATmega ) - Memória de programa de 4 a 256KB; 20 ou 100 pinos;

XMEGA ( ATxmega ) - Memória de programa de 16 a 384Kb; 44, 64 ou 100 pinos; Maior desempenho;

ATMEL At94k - Núcleo baseado em FPGA; Utiliza SRAM para a memória de programa;

PROGRAMAÇÃO:
Assim como para os PICs, eu também utilizarei os compiladores da MikroElektronika. Neste caso vou utilizar o compilador MikroC PRO AVR.

Neste e nos proximos posts estarei fazendo tutoriais e projetos sobre esse microcntrolador, especialmente o ATMEGA328, o mesmo utilizado no arduíno.

4 comentários:

  1. Olá gostaria de saber se você tem algum exemplo de interrupção pela serial para o arduino Uno. Se tiver poderia me mandar no email j.felipe.araujo@outlook.com, obrigado e otimo blog.

    ResponderExcluir
  2. Onde posso encontrar material para estudar programação de avrs em c, no braço como nos pic...Fora daquela plataforma básica do arduino... Obrigado

    ResponderExcluir
  3. Gostaria de saber o mesmo do amigo de cima fabio dos anjos quero programar no braço ele também.

    ResponderExcluir
  4. Gostaria de saber o mesmo do amigo de cima fabio dos anjos quero programar no braço ele também.

    ResponderExcluir