Você está na página 1de 22

Microcontroladores

Prof. Bruno Mendonça da Silva


bruno.silva@unifbv.edu.br
PORTAS DE ENTRADA E SAÍDA (I/Os)
• O ATMEGA328P possui 23 pinos de I/O;

• Podem drenar até 40mA;

• Possuem resistores de pull-up interno que pode


ser habilitado/desabilitado individualmente;

• Cada pino pode ser configurado e usado


individualmente;
PORTAS DE ENTRADA E SAÍDA (I/Os)

• A primeira duvida ao se trabalhar com um


microcontrolador é como funcionam os seus
pinos, ou seja, com são escritos e lidos dados
nas suas entradas e saídas.
• O ATmega328 possui 3 conjuntos de pinos de
entrada e saida (I/Os):
PORTB, PORTC e PORTD; respectivamente,
pinos PB7 .. PB0, PC6 .. PC0 e PD7 .. PD0
PORTAS DE ENTRADA E SAÍDA (I/Os)
Os registradores responsáveis pelos pinos de I/O
são:
• PORTx: registrador de dados, usado para
escrever nos pinos do PORTx.
• DDRx: registrador de direção, usado para
definir se os pinos são entrada ou saída
(entrada=0; saída=1);
• PINx: registrador de entrada, usado para ler o
conteúdo dos pinos do PORTx.
PORTAS DE ENTRADA E SAÍDA (I/Os)
Para o uso de um pino de I/O:

Definir se ele será entrada ou saída escrevendo-se


no registrador DDRx.

PORTx alterara o estado lógico do pino se ele for


saída ou poderá habilitar o pull-up interno, se ele for
entrada.

Os estados logicos dos pinos do PORT são lidos do


registrador PINx.
PORTAS DE ENTRADA E SAÍDA (I/Os)
PORTAS DE ENTRADA E SAÍDA (I/Os)
Utilização de botões nos pinos como entrada:

Botões apresentam o chamado efeito bounce,


um ruído que pode ocorrer ao se pressionar ou
soltar o botão.

Esse ruído produz uma oscilação na tensão


proveniente do botão, ocasionando sinais lógicos
aleatórios que podem produzir leituras errôneas.
PORTAS DE ENTRADA E SAÍDA (I/Os)
•Em io.h estão definidos os registradores e os pinos para
serem usados diretamente pela linguagem C:

•Para a Porta B:
•DDRB -> se refere ao registrador DDRB
•DDB7 ... DDB0 -> são os bits 7 a 0 do registrador
DDRB
•PORTB -> se refere ao registrador PORTB
•PORTB7 ... PORTB0 -> são os bits de 7 a 0 de POTRB
•PINB -> se refere ao registrador PINB
•PINB7 ... PINB0 -> são os bits de 7 a 0 de PINB
PORTAS DE ENTRADA E SAÍDA (I/Os)
• Para a Porta C:

•DDRC -> se refere ao registrador DDRC


•DDC6 ... DDC0 -> são os bits 6 a 0 do registrador
DDRC
•PORTC -> se refere ao registrador PORTC
•PORTC6 ... PORTC0 -> são os bits de 6 a 0 de
POTRC
•PINC -> se refere ao registrador PINC
•PINC6 ... PINC0 -> são os bits de 6 a 0 de PINC
PORTAS DE ENTRADA E SAÍDA (I/Os)
•Para a Porta D:

•DDRD -> se refere ao registrador DDRD


•DDD7 ... DDD0 -> são os bits 7 a 0 do registrador
DDRD
•PORTD -> se refere ao registrador PORTD
•PORTD7 ... PORTD0 -> são os bits de 7 a 0 de POTRD
•PIND -> se refere ao registrador PIND
•PIND7 ... PIND0 -> são os bits de 7 a 0 de PIND
PORTAS DE ENTRADA E SAÍDA (I/Os)
•Para a Porta D:

•DDRD -> se refere ao registrador DDRD


•DDD7 ... DDD0 -> são os bits 7 a 0 do registrador
DDRD
•PORTD -> se refere ao registrador PORTD
•PORTD7 ... PORTD0 -> são os bits de 7 a 0 de POTRD
•PIND -> se refere ao registrador PIND
•PIND7 ... PIND0 -> são os bits de 7 a 0 de PIND
PORTAS DE ENTRADA E SAÍDA (I/Os)
PORTAS DE ENTRADA E SAÍDA (I/Os)
PORTAS DE ENTRADA E SAÍDA (I/Os)
PORTAS DE ENTRADA E SAÍDA (I/Os)

Você também pode gostar