Introducción. Repaso de temas fundamentales de Técnicas Digitales
Representación de la información. Aritmética de enteros. Flags.
Familias lógicas. Características eléctricas.
Memorias: tipos y uso. Diagramas de tiempos.
Decodificadores.
Estructura básica de microprocesadores
Unidad aritmético-lógica (ALU).
Buses. Datos, direcciones y control.
Registros básicos: acumuladores, punteros, estado, contador de programa, de uso general.
Memoria de programa y de datos.
Hardware de microprocesadores
Microprocesadores vs. microcontroladores.
Periféricos internos.
Mapas de memoria interna y externa. Decodificación de direcciones. Diagramas de tiempos. Características eléctricas.
Modos de direccionamiento.
Software de microprocesadores
Lenguaje assembly. Concepto de firmware.
Conjunto de instrucciones. Tipos de instrucciones: aritméticas, lógicas, de transferencia, de control y bifurcación.
Stack. Llamados a rutinas. Otros usos.
Máquina de estados.
Herramientas de desarrollo. Ensambladores, linkers, depuradores, emuladores.
Mantenibilidad del código fuente. Modularidad.
Entrada y salida
Puertos paralelos. Características y tipos de bidireccionalidad.
Puertos serie. Cararterísticas y tipos.
Normas básicas de comunicaciones. Sistemas distribuídos.
Interrupciones
Atención de periféricos por polling.
Concepto de interrupción. Rutina de servicio a la interrupción.
Tipos de interrupciones. Enmascaramiento y priorización.
Anidamiento de interrupciones. Metodologías de atención.
Concepto de handler.
Periféricos
Timers/counters.
Watchdog timers.
Relojes de tiempo real (RTC's).
Conversores A/D y D/A.
Manejo de taclados y displays.
Aplicaciones. Otras arquitecturas
RISC vs. CISC.
Harvard vs. von Neumann.
Desarrollo con microprocesadores y microcontroladores de 8 y 16 bits.
Etapas durante el proyecto de sistemas embebidos.
Documentación del proyecto: hardware, firmware/software, manual de uso.