Descripción del Microcontrolador PIC

Microcontrolador PIC de 18 Pines

Distribución de Pines

  • Puerto A (5 pines)
  • Puerto B (8 pines)
  • MCLR: Master Clear (Reinicio).
    • PoR (Power on Reset o Reset en Frío): Se activa al alimentar el pin MCLR, borrando la memoria RAM.
    • Reset en Caliente (0 lógico en el pin): No borra la memoria RAM.
  • VSS / VDD: Alimentación y conexión a tierra.
  • Oscilador: Determina la velocidad de trabajo del microcontrolador. Cada cuatro ciclos de reloj se ejecuta una instrucción.
    • XT: Cristal de cuarzo (entre 4 MHz y 100 MHz).
    • HS: Cristal de alta velocidad (entre 4 MHz y 20 MHz).
    • LS: Cristal de bajo consumo (menor a 100 KHz, típicamente 32.768 kHz).
    • RC: Oscilador con resistencia y condensador (bajo costo, pero impreciso).
    • Externo: Oscilador fuera del microcontrolador.

Componentes Externos

  • Diodo LED: Dispositivo que permite comprobar el funcionamiento de los circuitos con una emisión de luz.
  • Interruptores/Pulsadores: Introducen un 0 o 1 lógico cuando el circuito está abierto o cerrado.
  • Display de 7 Segmentos: Usado para representar valores numéricos, aunque requiere varias líneas para su control.

Memoria

ROM

Contiene las instrucciones del programa de control (hasta 1024 instrucciones de 14 bits cada una, desde la dirección 0x000 a 0x3FF). No es volátil.

  • Posición 0x000: Vector de reset (indica la primera instrucción tras un reset).
  • Posición 0x004: Vector de interrupción.

Está paginada en 4 páginas de 256 posiciones cada una. Se direcciona mediante el registro PC (Contador de Programa) de 13 bits (10 bits utilizados: 2 de PCH para la página y 8 de PCL para la posición dentro de la página, mapeado en RAM). El PC apunta a la próxima instrucción y se incrementa automáticamente. Tras un reset, el PC se ubica en 0x000.

RAM

Contiene los datos que maneja el programa. Es volátil. Cada posición tiene 8 bits.

  • SFR (Registro de Funciones Especiales): Controla los periféricos internos. 22 posiciones, divididas en Bank 0 (0x00 a 0x0B) y Bank 1 (0x80 a 0x8B), con 12 posiciones cada uno. Cada registro tiene su equivalente en el otro banco (ej. STATUS en 0x03 y 0x83).
  • GPR (Registro de Propósito General): Almacena las variables del programa. 68 posiciones.

Registros

  • PORTA (0x05): Puerto de entrada/salida de 5 bits. Configurado por TRISA.
  • PORTB (0x06): Puerto de entrada/salida de 8 bits. Configurado por TRISB.
  • TRISA (0x85): Configura PORTA (0: salida, 1: entrada).
  • TRISB (0x86): Configura PORTB (0: salida, 1: entrada).
  • PCL (0x02, 0x82): 8 bits bajos del PC. Lectura y escritura directa.
  • PCH: 5 bits altos del PC. Sin acceso directo.
  • WORK: Registro interno de la CPU (8 bits) para operaciones lógico-matemáticas. No mapeado en RAM.
  • STATUS (0x03, 0x83): Indica el estado de la última operación (flags).
    • Carry (bit 0): Indica acarreo en el último bit.
    • Decimal Carry (bit 1): Indica acarreo entre nibbles.
    • Zero (bit 2): Indica resultado cero.
    • RP0 (bit 5): Selecciona el banco de memoria (0: Bank 0, 1: Bank 1).

Arquitectura Interna

Microprocesador con cuatro bloques (ROM, RAM, I/O1, I/O2), conectados por tres buses: direcciones (unidireccional), datos (bidireccional) y control (bidireccional).

  • Bus de Direcciones: Selecciona el módulo según el rango de direcciones.
  • Bus de Datos: Transfiere datos entre la memoria y el microprocesador.
  • Bus de Control: Coordina las operaciones.

Arquitecturas de Microcontroladores

  • Von Neumann: CPU conectada a una memoria compartida para datos y programa.
  • Harvard: CPU conectada a memorias separadas para datos y programa.
  • Ortogonal:
    • Microprocesador Tradicional: Memoria de datos <-> ALU <-> Acumulador <-> Memoria de datos/ALU.
    • Microcontrolador PIC: Memoria de datos/Registro W <-> ALU <-> Memoria de datos/Registro W.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.