Prefacio1. Sistemas de microcontroladores
1.1 Introducción
1.2 Los sistemas de microcontroladores
1.2.1 RAM
1.2.2 ROM
1.2.3 EPROM
1.2.4 EEPROM
1.2.5 EEPROM Flash
1.3 Los recursos de los microcontroladores
1.3.1 Tensión de alimentación
1.3.2 Reloj
1.3.3 Temporizadores
1.3.4 Perro guardián (Watchdog)
1.3.5 Entrada reset
1.3.6 Interrupciones
1.3.7 Detector de tensión mínima en la alimentación
1.3.8 Conversor Analógico/Digital
1.3.9 E/S Serie
1.3.10 Memoria de datos EEPROM
1.3.11 Controladores de LCD
1.3.12 Comparador analógico
1.3.13 Reloj de tiempo real
1.3.14 Modo de reposo
1.3.15 Reset durante el encendido
1.3.16 Funcionamiento con bajo consumo
1.3.17 Capacidad de entrega y absorción de corriente
1.4 Arquitecturas de los microcontroladores
1.4.1 RISC y CISC
1.5 Ejercicios
2. La familia de Microcontroladores PIC
2.1 Palabra de instrucción de 12 bits
2.2 Palabra de instrucción de 14 bits
2.3 Palabra de instrucción de 16 bits
2.4 En el interior de un microcontrolador PIC
2.4.1 Memoria de programa (Flash)
2.4.2 Memoria de Datos (RAM)
2.4.3 Mapa de registros y registros de funciones especiales
2.4.4 Circuitos osciladores
2.4.5 Circuito de Reset
2.4.6 Interrupciones
2.4.7 Palabra de configuración
2.4.8 Interfaz de E/S
2.5 Ejercicios
3. Desarrollo de proyectos con microcontroladores PIC
3.1 Herramientas de hardware requeridas
3.1.1 PC
3.1.2 Dispositivo programador de microcontroladores PIC
3.1.3 Placa de pruebas
3.1.4 Microcontroladores PIC y componentes de soporte mínimo
3.1.5 Fuente de alimentación
3.2 Herramientas de software requeridas
3.2.1 Editor de texto
3.2.2 Compiladores PicBasic y PicBasic Profesional
3.2.3 Software del dispositivo programador
3.3 Sistemas de desarrollo integrados
3.4 Placas de evaluación
3.5 Ejemplo de desarrollo de proyectos
3.6 Otras herramientas de desarrollo útiles
3.6.1 Simuladores
3.6.2 Emuladores “en circuito”
3.7 Ejercicios
3.8 Enlaces útiles a sitios web
4. Programación en PicBasic y PicBasic Profesional
4.1 Lenguaje PicBasic
4.1.1 Variables en PicBasic
4.1.2 Operaciones matemáticas y lógicas en PicBasic
4.1.3 Instrucciones de control del flujo de programa en PicBasic
4.1.4 Otras instrucciones de PicBasic
4.1.5 Estructura de Programa Recomendada en PicBasic
4.2 Lenguaje PicBasic Profesional
4.2.1 Variables en PicBasic Profesional
4.2.2 Constantes
4.2.3 Comentarios
4.2.4 Líneas con varias instrucciones
4.2.5 INCLUDE
4.2.6 DEFINE
4.2.7 Extensión de línea
4.2.8 Acceso a puertos y otros registros en PicBasic Profesional
4.2.9 Operadores aritméticos
4.2.10 Instrucciones del PicBasic Profesional
4.3 Interfaz con visualizadores de cristal líquido (LCD) y comandos
4.3.1 Visualizadores LCD paralelos
4.3.2 Visualizadores LCD serie
4.4 Interrupciones
4.5 Estructura recomendada de un programa en PicBasic Profesional
4.6 Uso de motores de pasos
4.7 Uso de servomotores
4.8 Ejercicios
5. Proyectos con PicBasic y PicBasic Profesional
Proyecto 1 – Parpadeo simple de un LED
Proyecto 2 – Parpadeo complejo de un LED
Proyecto 3 – Luces de aviso con LEDs parpadeantes
Proyecto 4 – Encendido de LEDs impares
Proyecto 5 – Contador binario con LEDs
Proyecto 6 – Desplazamiento hacia la izquierda con LEDs
Proyecto 7 – Desplazamiento hacia la derecha con LEDs
Proyecto 8 – Desplazamiento en ambos sentidos (izquierda«derecha) con LEDs
Proyecto 9 – Dado con LEDs
Proyecto 10 – Contador con visualizador 7 segmentos a LED
Proyecto 11 – Dado con visualizador 7 segmentos
Proyecto 12 – Visualizador 7 segmentos de dos dígitos
Proyecto 13 – Contador con dos visualizadores 7 segmentos
Proyecto 14 – Contador de eventos con dos visualizadores LEDs 7 segmentos
Proyecto 15 – Contador con un visualizador LEDs 7 segmentos de 4 dígitos y entrada serie
Proyecto 16 – Contador con un visualizador 7 segmentos de 4 dígitos y entrada serie, sin ceros a la izquierda
Proyecto 17 – Contador de eventos en un visualizador de 4 dígitos utilizando la interrupción externa
Proyecto 18 – Cronómetro de 4 dígitos utilizando la interrupción
del temporizador Proyecto 19 – Sistema de control para un estacionamiento de coches
Proyecto 20 – Contador de segundos con un visualizador LCD
Proyecto 21 – Reloj digital con horas, minutos y segundos empleando un LCD
Proyecto 22 – Cronómetro con LCD
Proyecto 23 – Voltímetro con LCD utilizando un conversor A/D
Proyecto 24 – Termómetro con LCD empleando un conversor A/D
Proyecto 25 – Termómetro con LCD serie y EEPROM serie
Proyecto 26 – Termómetro Programable con salida serie RS232
Proyecto 27 – Órgano electrónico
Proyecto 28 – Control de un motor de pasos unipolar
Proyecto 29 – Control de un motor de pasos unipolar empleando UCN5804B
Proyecto 30 – Control de un robot móvil con servomotor