Você está na página 1de 2

Configuração de Portas de um MCU

Registradores de configuração de portas (pinos):


● DDRxn - indica a direção do pino (0 = entrada, 1 = saída);
● PORTxn - define o nível lógico da saída e ativa pull-up
● PINxn - faz a leitura do nível lógico de uma porta.

Alteração de apenas um bit específico:


● Colocar o bit em 1: DDRx |= (1<<DDx);
● Colocar o bit em 0: DDRx &= ~(1<<DDx);
● Inverter o estado do bit: DDRx ^= (1<<DDx);

Configuração de entrada e saída:


⮚ Entrada:
● DDRxn = 0 e PORTxn = 0 => ativa porta como entrada

DDRx &= ~(1<<DDxn);


PORTx &= ~(1<<Pxn);

● DDRxn = 0 e PORTxn = 1 => ativa porta como entrada e habilita o pull-up interno

DDRx &= ~(1<<DDxn);


PORTx |= (1<<Pxn);

⮚ Saída:
● DDRxn = 1 => ativa porta como saída.

DDRx |= (1<<DDxn);

● DDRxn = 1 e PORTxn = 0 => ativa porta como saída e nível lógico baixo.

DDRx |= (1<<DDxn);
PORTx &= ~(1<<Pxn);

● DDRxn = 1 e PORTxn = 1 => ativa porta como saída e nível lógico alto.

DDRx |= (1<<DDxn);
PORTx |= (1<<Pxn);

Endereço dos registradores de GPIO:

bit 7 6 5 4 3 2 1 0
DDRx DDx7 DDx6 DDx5 DDx4 DDx3 DDx2 DDx1 DDx0
PORTx Px7 Px6 Px5 Px4 Px3 Px2 Px1 Px0
PINx PINx7 PINx6 PINx5 PINx4 PINx3 PINx2 PINx1 PINx0

Exercícios
1) Configure os seguintes pinos:

a) Pino 6 do port B como saída em nível alto.

b) Pino 5 do port B como saída em nível baixo.

c) Pino 0 do port A como entrada com pull-up interno.

d) Pino 3 do port D como entrada sem pull-up interno.

2) Circuito onde um LED pisca em uma frequência de 10 Hz. Use o operador ^ (XOR)
para inverter o estado do pino. Use o Tinkercad.com para simular.

3) Circuito onde um LED (pino 2 do port B) pisca em um frequência de 10 Hz, após


o acionamento de um botão. Use o pull-up interno. Use o Tinkercad.com para
simular.

4) Circuito com dois LEDs, um verde e um vermelho, conectados em dois pinos


diferentes. Após o acionamento de um botão, o LED verde pisca e o LED
vermelho permanece desligado. Quando o botão está solto, o LED vermelho
pisca e o verde desliga. Use o Tinkercad.com para simular.

Você também pode gostar