Está en la página 1de 20

Manejo de Puertos de Entrada/Salida para el

microcontrolador AVR de 8 bits

W.D.G.P Univ de Carabobo CEAN 2021


Manejo de Puertos de Entrada/Salida

 Pinout del microcontrolador AVR ATmega328p


 Pinout de la tarjeta Arduino UNO (basada en el ATmega328P)
 Circuito de un pin E/S del microcontrolador AVR ATmega328p
 Registros para el manejo de puertos E/S del microcontrolador AVR ATmega328p
 Características de los puertos E/S
 Registros asociados: DDRx, PORTx, PINx
 Ejemplo

W.D.G.P
Pinout del microcontrolador AVR ATmega328p

W.D.G.P
Pinout del microcontrolador AVR ATmega328p DIP

W.D.G.P
Pinout del microcontrolador AVR ATmega328p DIP

Nombre del pin Nº pin


Descripción
VCC 7 Voltaje de alimentación
GND 8,22 Tierra (Masa)
Port B (PB7:0) 14..19, 9,10 Puerto bidireccional (E/S) con resistencias internas de pull-up (configurables bit a bit)
XTAL1/XTAL2/TOSC1/TOSC2 Como entradas, los pines del Port B que se llevan a cero externamente, generarán corriente si Las
resistencias de pull-up están activadas. Los pines del Port B tienen tres estados cuando se activa
una condición de reset, incluso si el reloj no funciona.
PB7..6 se utiliza como TOSC2..1, como entrada para el temporizador asíncrono / Counter2 si se
configura el bit AS2 del registro ASSR

Port C (PC5:0) 23..28 Puerto bidireccional (E/S) con resistencias internas de pull-up (configurables bit a bit)
Como entradas, los pines del Port C que se llevan a cero externamente, generarán corriente si Las
resistencias de pull-up están activadas. Los pines del Port C tienen tres estados cuando se activa
una condición de reset, incluso si el reloj no funciona.

PC6/RESET 1 Si el fusible RSTDISBL está programado, PC6 se usa como un pin de E / S. Las características
eléctricas de PC6 difieren de los de los otros pines del puerto C.Si el fusible RSTDISBL no está
programado, PC6 se usa como entrada de reset. Un nivel bajo en este pin durante más tiempo que
la duración mínima del pulso generará un reinicio, incluso si el reloj no está funcionando.

Port D (PD7:0) 2..6, 11..13 Puerto bidireccional (E/S) con resistencias internas de pull-up (configurables bit a bit)
Como entradas, los pines de PortD que se llevan a cero externamente, generarán corriente si Las
resistencias de pull-up están activadas. Los pines del Port D tienen tres estados cuando se activa
una condición de reset, incluso si el reloj no funciona.

AVCC 20 Es el pin de voltaje de suministro para el convertidor A / D, PC3: 0 y ADC7: 6. Debe ser
externamente conectado a VCC, incluso si no se utiliza el ADC. Si se usa el ADC, debe estar
conectado a VCC a través de un filtro de paso bajo. Tenga en cuenta que PC6..4 utiliza voltaje de
W.D.G.P suministro, VCC.

AREF 21 AREF es el pin de referencia analógico para el convertidor A / D


Pinout del microcontrolador AVR ATmega328p SMD

W.D.G.P
Pinout de la tarjeta ArduinoUNO basada en el microcontrolador AVR ATmega328p

W.D.G.P
Circuito de un pin E/S del microcontrolador AVR ATmega328p

 posee tres (03) puertos bidireccionales


configurables bit a bit: PORTB, PORTC y
PORTD.

 Posee diodos de protección para Vcc y


GND en cada pin.

 Resistencias de pull-up configurables bit a


bit, en cada puerto

 La resistencia de pull- up establece un


estado ALTO, cuando el pin se encuentra
en reposo.
W.D.G.P
Registros para el manejo de puertos E/S del microcontrolador AVR ATmega328p

 DDRx: configura cada


bit como entrada o salida (MCUCR)

 DDRB
 DDRC
 DDRD

 PORTx: Escribe en
puerto ó habilita pul-up
 PORTB
 PORTC
 PORTD

 PINx: Lee del puerto


 PINC
 PINC
 PIND

W.D.G.P
Registros para el manejo de puertos E/S: DDRx

 DDRx: define la dirección del puerto.


 1 – Salida
 0 – Entrada

 Ejemplo:
 DDRD= 0B11111111; // todo puerto D
// salida
 DDRD= 0B00111100; // Bits 0,1,6 y
// 7 entrada y el
// resto salida.

W.D.G.P
Registros para el manejo de puertos E/S: PORTx

 PORTx:  PORTx: configura las resistencias de Pull-


 Registro para escritura de datos cuando Up, sólo cuando el puerto está
el puerto está configurado como salida. configurado como entrada.

 Si en un pin de PORTxn se escribe un  Para activar la resistencia de Pull_Up en un


pin de un puerto, se escribe un uno lógico
uno lógico, cuando el pin está
(si el pin se ha configurado como entrada).
configurado como salida, el pin del
puerto se activa con un alto (uno).
 Para desactivar la resistencia de Pull_Up en
un pin de un puerto, se escribe un cero
 Si en un pin de PORTxn se escribe un lógico (si el pin se ha configurado como
cero lógico, cuando el pin está entrada).
configurado como salida.
W.D.G.P
Registros para el manejo de puertos E/S: PORTx

 Ejemplos:

DDRD=0B00000000;
PORTD=0B11111111;
En este caso, todo el puerto D es entrada, y en todo
el puerto se van a habilitar las resistencias de
Pull_up

DDRD=0B11110000;
PORTD=0B11111111;
En este caso, sólo los bits 0,1,2 y 3 del puerto D son
entrada, por lo tanto, sólo a éstos bits 0,1,2 y 3,se
les habilitarán las resistencias de Pull-Up.
El resto de los bits están escribiendo un uno lógico en
el pin, ya que están configurados como salida.

W.D.G.P
Registros para el manejo de puertos E/S: PinX

 PINx: Registro para hacer lecturas


directas en las terminales de los
puertos.

W.D.G.P
Registros Asociados

W.D.G.P
Ejercicio: Asigne los valores adecuados a los registros de configuración de puertos para el siguiente circuito

LEDS

SWITCHES
W.D.G.P PULSADORES
Registros asociados

W.D.G.P
Registros Asociados

 DIRECCIÓN  PULL-UP Y VALOR INICIAL DE LAS SALIDAS


 DDRB= 00110000 : 30h  PORTB=00001111 : 0Fh
 DDRC=11111111 : FFh  PORTC=00000000 : 00h
 DDRD=11111100: FCh  PORTD= 00000011: 03h

W.D.G.P
Ejercicio propuesto

 Asigne los valores adecuados a los registros de configuración de puertos para que el
puertoC (DE 5 BITS) sea entrada y el puertoB sea salida, según las conexiones que se
muestran en el siguiente circuito. Use la tarjeta ArduinoUNO (Basada en el
ATmega328P)

W.D.G.P
Referencias Bibliográficas
 Datasheet ATmega328p descargado de www.microchip.com

W.D.G.P
Manejo de Puertos de Entrada/Salida INNOVENT

Próximo tema:
Uso del AVR Studio y la tarjeta Arduino UNO para desarrollo de programas con el
microcontrolador AVR 328p

W.D.G.P

También podría gustarte