Logo Studenta
¡Este material tiene más páginas!

Vista previa del material en texto

MICROCONTROLADOR
ATMega328p
ATMega328p
Microcontrolador de 8 bits de baja potencia basado en 
la arquitectura RISC (Reduced Instruction Set 
Computer) mejorada AVR. Ejecuta instrucciones 
poderosas en un ciclo de reloj, lo que permite al 
diseñador optimizar consumo de potencia versus 
velocidad de procesamiento.
ATMega328p
Arquitectura AVR
ATMega328p - Arquitectura AVR
El core AVR combina un conjunto de instrucciones 
(CPU) con 32 registros de trabajo de propósito general 
(banco de registros). Los registros se conectan 
directamente a la ALU, permitiendo que dos registros 
puedan ser accesados durante una instrucción, la cual es 
ejecutada en un ciclo de reloj. Este microcontrolador de 
arquitectura RISC es diez veces más rápido que los 
microcontroladores CISC (Complex Instruction Set 
Computer) convencionales. 
ATMega328p - Arquitectura AVR
Reloj (clock) y 
alimentación
Arquitectura AVR
➢ Arquitectura Harvard 
➢ Flash – Memoria de 
programa
▪ 32K
➢ SRAM – Memoria de 
datos
▪ 2K
➢ EEPROM
▪ Para datos de largo 
término
▪ Bus de datos I/O
ATMega328p - Arquitectura AVR
➢ Flash (32K)
▪ Memoria de Programa – sólo lectura
▪ No volátil
➢ SRAM (2K)
▪ Valores temporales, pila, etc.
▪ Volátil
▪ Espacio limitado!
➢ EEPROM (1K)
▪ Datos a largo plazo
ATMega328p - CPU AVR
CPU AVR
Búsqueda de 
instrucción y 
decodificación
CPU AVR
Instrucciones de la 
ALU
CPU AVR
I/O y funciones 
especiales
Mapa de memoria – AVR CPU
Memoria de programa
➢Memoria Flash. En el 
ATMega328 es de 32 Kbytes (16 
K x 2 bytes). 
➢Se puede dividir en una sección 
para aplicación y una sección de 
arranque, donde podría manejarse 
un cargador para auto 
programación.
Memoria de programa
➢16 K x 2 bytes: 16 K palabras, cada palabra tiene 2 bytes (16 
bits).
▪ 1 K= 210
▪ 16 K = 16*1 K = 24*210 = 214
▪ Entradas de dirección = 14 bits
▪ Dato de salida = 2 bytes = 16 bits
Memoria de programa
A13
.
.
.
A0
D15
.
.
.
D0
Entradas de 
dirección
Dato de 
salida
Memoria de datos
Memoria SRAM de datos
Memoria SRAM de datos
➢Localidades de propósito general: 0x0100 - 0x08FF 
▪ 0x08FF: 12 bits
▪ Entradas de dirección = 12 bits
▪ Salida de datos = 8 bits
Memoria SRAM de datos
Localidades de propósito general
A11
.
.
.
A0
D7
.
.
.
D0
Entradas de 
dirección
Dato de 
salida
Registros AVR
➢ 32 registros de propósito general de 8 bits
➢ Parte del espacio de la memoria SRAM
Registros de direccionamiento especial
➢ Registros X, Y y Z
▪ Registros de 16-bits usando registros 26 – 31
➢ Estos registros son punteros de dirección de 16-bit 
para direccionamiento indirecto del espacio de 
datos.
Memoria AVR
➢ Memoria de datos - SRAM
2048*8
Modos de direccionamiento
El modo de direccionamiento depende de donde está la 
dirección del operando en la memoria de datos.
➢ Dirección del operando en la instrucción: 
direccionamiento directo.
➢ Dirección del operando en el registro X, Y o Z: 
direccionamiento indirecto. 
Modos de direccionamiento
Direccionamiento 
directo por registro
Modos de direccionamiento
Direccionamiento de I/O directo
Modos de direccionamiento
Direccionamiento directo a memoria de datos
Modos de direccionamiento
Direccionamiento directo a memoria de datos con 
desplazamiento
Modos de direccionamiento
Direccionamiento indirecto a memoria de datos
Modos de direccionamiento
Direccionamiento indirecto a memoria de datos con 
pre-decremento
Modos de direccionamiento
Direccionamiento indirecto a memoria de datos con 
post-incremento
Lectura/Escritura SRAM Propósito General
Temporización Lectura/Escritura SRAM Pr. Gen.
Registro puntero de pila (Stack Pointer)
➢ Registro especial en el espacio de I/O [3E,3D]
▪ Suficientes bits para direccionar el espacio de 
datos
▪ Inicializado con RAMEND (dirección de 
memoria más alta).
Registro de estado AVR
➢ El registro de estado contiene información 
acerca del resultado de la más reciente 
instrucción aritmética.
➢ Esta información puede ser usada para alterar el 
flujo del programa (operaciones condicionales).
Registro de estado AVR
Conjunto de Instrucciones
Instrucciones aritméticas y lógicas
Algunos ejemplos:
Conjunto de Instrucciones
Instrucciones de Bifurcación
Algunos ejemplos:
Conjunto de Instrucciones
Instrucciones de Bit y Revisión de Bit
Algunos ejemplos:
Conjunto de Instrucciones
Instrucciones de Transferencia de Datos
Algunos ejemplos:
Conjunto de Instrucciones
Instrucciones de Control del Microcontrolador
BIBLIOGRAFÍA
ATmega328P 8-bit AVR Microcontroller with 32K 
Bytes In-System Programmable Flash, DATASHEET.
AVR Microcontrollers AVR Instruction Set Manual
Documentación para ATMega328p: 
https://www.microchip.com/wwwproducts/en/ATmega3
28p
https://courses.cs.washington.edu/courses/csep567/10wi
/lectures/Lecture6.pdf
BIBLIOGRAFÍA
Capítulo 2: Los microcontroladores AVR. “El 
microcontrolador ATMega328P de Microchip”. Felipe 
Santiago Espinosa. 
	Diapositiva 1
	Diapositiva 2: ATMega328p 
	Diapositiva 3: ATMega328p Arquitectura AVR
	Diapositiva 4: ATMega328p - Arquitectura AVR
	Diapositiva 5: ATMega328p - Arquitectura AVR
	Diapositiva 6: Arquitectura AVR
	Diapositiva 7: ATMega328p - Arquitectura AVR
	Diapositiva 8: ATMega328p - CPU AVR
	Diapositiva 9: CPU AVR
	Diapositiva 10: CPU AVR
	Diapositiva 11: CPU AVR
	Diapositiva 12: Mapa de memoria – AVR CPU
	Diapositiva 13: Memoria de programa
	Diapositiva 14: Memoria de programa
	Diapositiva 15: Memoria de datos
	Diapositiva 16: Memoria SRAM de datos
	Diapositiva 17: Memoria SRAM de datos
	Diapositiva 18: Registros AVR
	Diapositiva 19: Registros de direccionamiento especial
	Diapositiva 20: Memoria AVR
	Diapositiva 21: Modos de direccionamiento
	Diapositiva 22: Modos de direccionamiento
	Diapositiva 23: Modos de direccionamiento
	Diapositiva 24: Modos de direccionamiento
	Diapositiva 25: Modos de direccionamiento
	Diapositiva 26: Modos de direccionamiento
	Diapositiva 27: Modos de direccionamiento
	Diapositiva 28: Modos de direccionamiento
	Diapositiva 29: Lectura/Escritura SRAM Propósito General
	Diapositiva 30: Temporización Lectura/Escritura SRAM Pr. Gen.
	Diapositiva 31: Registro puntero de pila (Stack Pointer)
	Diapositiva 32: Registro de estado AVR
	Diapositiva 33: Registro de estado AVR
	Diapositiva 34: Conjunto de Instrucciones
	Diapositiva 35: Conjunto de Instrucciones
	Diapositiva 36: Conjunto de Instrucciones
	Diapositiva 37: Conjunto de Instrucciones
	Diapositiva 38: Conjunto de Instrucciones
	Diapositiva 39: BIBLIOGRAFÍA
	Diapositiva 40: BIBLIOGRAFÍA