Vous êtes sur la page 1sur 13

26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Unidade 1

Seção 2

Microcontroladores e
Microprocessadores
iStock 2017
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 1/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Webaula 2
Arquitetura AVR – ATmega328

1
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 2/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

ATmega328
Vamos conhecer o núcleo e a estrutura interna do microcontrolador ATmega328, o
chip da placa Arduino UNO. O conhecimento dessas partes internas é muito
importante para os programadores de sistemas embarcados para saber quais os
recursos estão disponíveis, como são configurados e como atuam no sistema. Por
exemplo, é fundamental para um desenvolvedor que programa em linguagem
assembly saber que o espaço de memória RAM para variáveis se inicia a partir do
endereço, 0x0100, como será visto nesta webaula.

2 iStock 2017
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 3/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Para tanto, observe a arquitetura do


microcontrolador ATmega328, presente na
popular placa de desenvolvimento Arduino
UNO e fabricado pela Atmel. Este é um
microcontrolador é da família AVR, de 8 bits,
de baixo consumo (low power), tecnologia
CMOS e construído sobre a arquitetura AVR
RISC Harvard modificada.
Fonte: <Link>. Acesso em: 29 abr. 2017.

3
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 4/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Núcleo
Apesar de não ter o papel de armazenar dados,
algumas informações importantes ficam contidas
em registradores internos ao núcleo. Os dados a
serem processados pela a ULA (Unidade Lógica e
Aritmética), ou seus endereços de memória, ficam
nos Registradores de Propósito Geral, enquanto
informações para gerenciamento do processo
ficam em outros registradores especiais, de
propósitos específicos.

4 iStock 2017
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 5/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Registradores de Propósito
Geral
São 32 registradores de 8 bits que possuem
exclusivamente acesso direto à ULA,
permitindo que a maioria das operações seja
feita em um único ciclo de clock. Portanto,
todos os dados que serão processados na
ULA, tanto constantes na memória de
programa quanto variáveis na memória
RAM, devem ser previamente transferidos
para esses registradores, para então serem
operados.

5 iStock 2017
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 6/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Podemos ver, a seguir, o interior do núcleo. Vale


ressaltar que os números apresentados com o
prefixo “0x” estão representados na base
hexadecimal, assim como é feito na maioria das
linguagens de programação. As denominadas
flags, ou bandeiras de indicação, servem para
anunciar informações importantes sobre o
processo em andamento, e serão explicadas logo Fonte: Elaborada pelo autor.
adiante, no registrador de status.

6
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 7/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Esses registradores configurados dessa forma são


denominados de registradores de 16 bits X, Y e Z.
Cada registrador geral possui um endereço de
memória (figura a seguir), mapeando-os
diretamente nos primeiros 32 locais do espaço de
dados do usuário, RAM. Apesar de não serem
implementadas fisicamente na memória, esta
organização proporciona grande flexibilidade no
acesso dos registradores, já que os registros de
Fonte: Elaborada pelo autor.
ponteiros X, Y e Z podem ser definidos para indexar
qualquer registro no arquivo.

7
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 8/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Registrador de Status

Fonte: Elaborada pelo autor.

8
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 9/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Bit 7 – I: Global Interrupt Enable: Bit de Ativação de Interrupção


Global. Deve ser acionado para que as interrupções possam ocorrer.
Além deste, as fontes de interrupção devem ser acionadas
individualmente para habilitar as interrupções. Esse bit funciona
como um “disjuntor geral” das interrupções, quando se deseja
desabilitar todas (que foram individualmente habilitadas) de uma
única vez. Esse bit é automaticamente zerado por hardware quando 
ocorre uma interrupção, e é reativado quando a rotina de
interrupção termina, para permitir que outras rotinas de
interrupção sejam tratadas, caso estejam pendentes.

9 iStock 2017
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 10/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Android: 
https://goo.gl/yAL2Mv

iPhone e iPad - IOS:


https://goo.gl/OFWqcq

10
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 11/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

Bons estudos!
11
http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 12/13
26/08/2017 WA01172-U1S2-Microcontroladores-Microprocessadores

http://cm-kls-content.s3.amazonaws.com/201702/INTERATIVAS_2_0/MICROCONTROLADORES_E_MICROPROCESSADORES/U1/S2/index.html 13/13

Vous aimerez peut-être aussi