Memorias en Computadoras y Microcontroladores. Arquitectura PIC
Tipos de memorias, comparativas, ejemplos prácticos y arquitectura de microcontroladores PIC.
💡 Memorias y Arquitectura PIC
Las memorias determinan la velocidad, capacidad y posibilidades de cualquier sistema embebido o computadora. ¡Conocerlas te ayuda a elegir el microcontrolador ideal para tu proyecto!
Explora los tipos de memoria
RAM (Memoria de Acceso Aleatorio)
Volátil, muy rápida, almacena datos temporales. Tipos: SRAM (caché), DRAM (RAM principal). Ejemplo: Arduino UNO tiene 2 KB de SRAM.
Tabla comparativa de memorias
| Tipo | Volatilidad | Reprogramable | Velocidad | Ciclos de Escritura | Ejemplo de Uso |
|---|---|---|---|---|---|
| RAM | Volátil | Sí | Muy rápida | Ilimitados | Memoria temporal |
| ROM | No volátil | No | - | - | Firmware |
| EPROM | No volátil | Sí (con UV) | Media | ~1,000 | Desarrollo |
| EEPROM | No volátil | Sí (eléctrico) | Lenta | ~100,000 | Configuraciones |
| Flash | No volátil | Sí (eléctrico) | Rápida | >1,000,000 | Programas |
Arquitectura y Memoria en PIC
| Gama | Características | Ejemplo | Aplicación |
|---|---|---|---|
| Baja | Limitados periféricos, bajo costo. | PIC10F | Juguetes, controles simples. |
| Media | Memoria moderada, periféricos estándar. | PIC16F84A | Electrónica doméstica, proyectos educativos. |
| Alta | Mayor memoria, periféricos avanzados (USB, Ethernet). | PIC18F | Automatización industrial, IoT. |
Los PIC usan arquitectura Harvard (buses separados para datos e instrucciones).
Ejemplo práctico con Arduino (EEPROM vs. Flash)
#include <EEPROM.h>
void setup() {
EEPROM.write(0, 123); // Guarda '123' en dirección 0 de EEPROM
int valor = EEPROM.read(0); // Lee el valor
}
void loop() {}Flash almacena el programa (no se modifica en ejecución). EEPROM almacena datos persistentes (ej: configuración).
Ejemplo práctico: Encender un LED con un botón en Wokwi (PIC16F84A)
Sigue los pasos para simular un PIC16F84A que enciende un LED al presionar un botón.
1. Componentes a usar en Wokwi
- 1 x PIC16F84A
- 1 x LED
- 1 x Resistencia (220Ω para el LED)
- 1 x Pulsador (Pushbutton)
- 1 x Resistencia (10kΩ para pull-down del botón)
2. Conexiones sugeridas
[Botón]---[10kΩ]---GND
|
RA0 (pin 17)
RB0 (pin 6)---[220Ω]---[LED]---GND- El botón conecta RA0 a VCC cuando se presiona (usa el editor visual de Wokwi para conectar).
- El LED conecta RB0 a GND a través de la resistencia.
3. Código ensamblador para PIC16F84A
; Configurar GPIO
BSF STATUS, RP0 ; Ir al Banco 1
MOVLW 0x01 ; RA0 como entrada (botón)
MOVWF TRISA
MOVLW 0x00 ; RB0 como salida (LED)
MOVWF TRISB
BCF STATUS, RP0 ; Volver al Banco 0
; Bucle principal
LOOP:
BTFSS PORTA, 0 ; ¿Botón presionado?
GOTO APAGAR
BSF PORTB, 0 ; Enciende LED
GOTO LOOP
APAGAR:
BCF PORTB, 0 ; Apaga LED
GOTO LOOP¿Cómo ejecutar código PIC en Wokwi? (Paso a paso)
- Abre el simulador PIC en Wokwi (ver abajo).
- Arrastra los componentes y realiza las conexiones como se indica arriba.
- Haz clic en "Edit Code", borra el código de ejemplo y pega el código ensamblador.
- Haz clic en "Start Simulation" y prueba el botón: el LED debe encenderse solo cuando el botón está presionado.
Simulador online PIC en Wokwi
Puedes probar y ejecutar los códigos de los ejemplos prácticos en línea usando el simulador de Wokwi:
Si el simulador no carga correctamente, abre el siguiente enlace en una nueva pestaña: Wokwi Arduino Simulator
Conclusión
- RAM es esencial para el rendimiento en tiempo de ejecución.
- ROM/Flash almacenan programas de manera permanente.
- EEPROM es ideal para datos configurables.
- La Flash domina en dispositivos modernos por su equilibrio entre velocidad, costo y durabilidad.
- Los PIC son versátiles y se usan desde proyectos simples hasta industriales.
- Su arquitectura Harvard y bancos de memoria optimizan el rendimiento.
- GPIO, timers e interrupciones son esenciales para aplicaciones embebidas.
Introducción a Microcontroladores: Conceptos, Arquitecturas y Aplicaciones
Definición, diferencias, arquitecturas, ejemplos y proyectos prácticos con Arduino.
Partes y Componentes de una PC
Guía visual e intuitiva sobre los componentes de una computadora, sus funciones y recomendaciones para elegirlos.