¿Qué es? es un chip microcontrolador creado por Atmel y pertenece a
la serie megaAVR, de alto desempeño, bajo consumo y optimizado para compiladores C. Características: 32 KB de memoria flash; con la capacidad de leer-mientras- escribe. 1 KB de memoria EEPROM, 2 KB de SRAM. 23 líneas de E/S de propósito general. 32 registros de proceso general. Tres temporizadores flexibles/contadores con modo de comparación, interrupciones internas y externas. programador de modo USART. una interface serial orientada a byte de 2 cables. SPI e I2C. 6 canales 10-bit Conversor A/D. "watchdog timer" programable con oscilador interno. cinco modos de ahorro de energía seleccionables por software. El dispositivo opera entre 1.8 y 5.5 voltios. Su arquitectura le permite ejecutar instrucciones en un solo ciclo de reloj, alcanzando una potencia de 1 MIPS. Especificaciones técnicas: Chip: ATMEGA328P-PU Formato DIP Pines: 28 Memoria FLASH: 32KB Memoria RAM: 2KB EEPROM: 1KB Máxima frecuencia de funcionamiento: 20Mhz CPU: 8-bit AVR Pines de entrada/salida: 23 Entradas Analógicas (ADC): 6 Ahora bien, explicaremos el significado de cada pin de este microprocesador: VCC : Voltaje Digital.
GND : Tierra.
PORTB : Es un puerto bidireccional de 8 bits, con resistencias pull-
up internas, seleccionables para cada pin. Las funciones alternas para los pinos del PORTB son:
- XTAL
- SPI
- Comparadores de salida (Output Comapare) para los
Timers. PORTC : Es un puerto bidireccional de 7 bits, con resistores pull- up internas, seleccionables para cada pin. Las funciones alternas para los pinos del PORTC son:
- Entradas analógicas (ADC)
PORTD : Es un puerto bidireccional de 8 bits, con resistencias
pull-up internas, seleccionables para cada pin. Las funciones alternas para los pinos del PORTD son:
- Puerto serial USART.
- Interrupciones externas INT0 y INT1.
- Comparadores de salida para los Timers.
AVcc : Es el pin de voltaje para el conversor análogo para digital
(ADC).
AREF : Pin de referencia análoga para el ADC.
Memorias del microprocesador:
El microcontrolador ATmega328P tiene una memoria Flash 32 Kbytes reprogramable en el propio sistema o circuito, para el almacenamiento del programa. Como todas las instrucciones AVR son de 16 o 32 bits, la memoria Flash es organiza en 16K x 16. Para la seguridad del software, la memoria Flash de programa es divida en 2 espacios:
La sección de inicialización de carga (Boot Loader).
La sección de programa de la aplicación.
Interrupciones en el microprocesador: Interrupciones es el mecanismo de hardware por el cual el microcontrolador se entera que hay un evento urgente que atender. Para esto el microcontrolador deja el programa principal y atiende la interrupción, que es una rutina de código para atender a un evento en especial. Las interrupciones externas pueden ser disparadas por flanco de subida, o flanco de bajada o nivel bajo. Fuentes de información: ATmega328P Datasheet (Hoja de datos), Atmel, Obtenido de: http://www.datasheet.es/PDF/1057332/ATmega328P- pdf.html ATMega328p DataSheet , Ruiz de Clavijo, Paulino, obtenido de: http://www.dte.us.es/docencia/etsii/gii- is/estructura-de-computadores/grupo-4- 2018/atmega328ds.pdf/view Microcontroladores, M. C. Felipe Santiago Espinosa, obtenido de: http://www.utm.mx/~fsantiag/Micros/2_Organizacion_AV Rs.pdf Conociendo El Microcontrolador Núcleo (Core) Atmega328p De Arduino Uno. (MIC019S), Alfonso Perez, obtenido de: http://www.incb.com.mx/index.php/articulos/78- microcontroladores-y-dsps/2546-conociendo-el- microcontrolador-nucleo-core-atmega328p-de-arduino- uno-mic019s