PRESENTACIÓN DEL CURSO
Microcontroladores
M. C. Felipe Santiago Espinosa
Instituto de Electrónica y Mecatrónica
Cubículo 19
Marzo / 2020
Contacto: [email protected]
http://www.utm.mx/~fsantiag (material del curso)
OBJETIVO
Otorgar al alumno las bases teóricas,metodológicas y técnicas del diseño de sistemaselectrónicos basados en microcontroladores.
Específicamente en el curso se trabajará con elmicrocontrolador ATMega328P de la familia AVRde ATMEL.
El temario oficial del curso se puede descargar de:
2
http://www.utm.mx/~ofertaeducativa/electronica/PlanVigente/6TO._SEMESTRE/MICROCONTROLADORES.pdf
TEMAS Y SUBTEMAS
1. Introducción a los microcontroladores1. Controlador y microcontrolador
2. Microprocesador y microcontrolador
3. Arquitectura básica de un microcontrolador
4. Unidad central de procesamiento (CPU)
5. Sistema de Memoria
6. Periféricos incorporados a un microcontrolador
7. Familias populares de microcontroladores
8. Elección de un microcontrolador
2. Organización interna de los microcontroladores1. Arquitectura
2. Registros
3. Mapa de memoria
4. Sistema de inicialización
5. Sistema de interrupciones
6. Puertos de entrada/salida
7. Modos de funcionamiento 3
3. Programación
1. Conjunto de instrucciones
2. Modos de direccionamiento
3. Gestión de interrupciones
4. Herramientas de desarrrollo
5. Lenguaje ensamblador
6. Estructura de un programa
7. Estimación de tiempos
4. Periféricos incluidos en un microcontrolador
1. Interrupciones Externas
2. Temporizadores/Contadores
3. Modulación por ancho de pulso (PWM)
4. Comparador analógico
5. Convertidor analógico a digital
6. Convertidor digital a analógico
7. Protocolos de comunicación (USART, SPI, I2C) 4
5. Interfaz y control de periféricos externos1. Botones e Interruptores
2. LEDs
3. Visualizadores de 7 segmentos
4. Teclados
5. Display de Cristral Líquido (LCD)
6. Control de motores de CD
7. Control de motores de pasos
8. Interfaz con sensores
9. Interfaz con una PC
6. Desarrollo de aplicaciones y sistemas basados en microcontroladores
1. Metodología de diseño
2. Desarrollo de un sistema hardware y software
3. Programación en lenguajes de alto nivel
5
CRONOGRAMA
Capítulo 1er. Parcial 2o. Parcial 3er. Parcial Final
1. Introducción
2. Organización
3. Programación
5. Periféricos Internos
6. Periféricos Externos
7. Desarrollo de Aplicaciones
6
EVALUACIÓN
Parciales :
Examen : 60 %
Laboratorio (prácticas y reporte) : 40 %
Final (Depende del promedio de los parciales (P.P.)) :
Si P.P. >= 8.0:
Proyecto : 100 %
Si P.P. < 8.0:
Proyecto : 50 % (Requisito para tener derecho al examen)
Examen : 50 %
Extraordinario 1:
Proyecto : 30 % (Requisito para tener derecho al examen)
Examen : 70 %
7
EVALUACIÓN
Para las prácticas y el proyecto se trabajará en equipos con 3
integrantes como máximo.
Para las prácticas se tomará en cuenta su realización exitosa y la
documentación de la solución.
En los exámenes del 2º y 3er parcial es posible (y conveniente)
llevar las diapositivas impresas.
El proyecto es obligatorio.
ASISTENCIA
Deben cubrir el 85 % de Asistencia para tener derecho al examen
parcial correspondiente y un 65 % durante el semestre para el 1er
y 2do examen extraordinario. (Art. 48, reglamento de alumnos.
http://www.utm.mx/DocsUTM/Reglamentos/4_ALUMNOS.pdf ).
Para simplificar, tienen derecho a 3 faltas en cada parcial. La semana de
exámenes también se pasa lista.
El porcentaje de asistencia para el final es el promedio de la asistencia en
parciales.
8
REPORTES
Se realizará sólo un reporte por cada parcial, así como uno para el proyecto final.
Los reportes se enviarán en formato electrónico a [email protected]
El reporte es tan valioso como la práctica misma.
El formato es a una sóla columna, letra tamaño 12 a espacio y medio. El reporte debe incluir:
1. Introducción. (Breve, original y enfocada a las prácticas, entre media y una página)
2. Objetivo general. (¿Qué se espera de las prácticas?)
3. Objetivos específicos. (¿Cómo se va a conseguir el objetivo general?)
4. Diseño del hardware. (explicando entradas y salidas, cómo se va a resolver el problema)
5. Diseño del software. (algoritmo o diagrama de flujo, explicando el comportamiento esperado)
6. Resultados. (Simulaciones y/o fotos de la implementación real)
7. Conclusiones. (Especificar qué concluyó cada integrante del equipo)
8. Referencias
9. Apéndices. (código, descripción de componentes interesantes) 9
BIBLIOGRAFÍA
Libros básicos:
Los Microcontroladores AVR de Atmel / Felipe Santiago Espinosa; México: Universidad Tecnológica de la Mixteca, 2012. ISBN: 978-607-95222-7-8.
Programming and Customizing the AVR Microcontroller / Dhananjay V. Grade; New York, N. Y.: McGraw-Hill , 2001. ISBN: 0-07-134666-X.
Libros complementarios:
ATMega328 : AVR RISC Microcontroller, Datasheet, AtmelCorporation (http://www.atmel.com)
The AVR Microcontroller and Embedded System, usingassembly and C / Muhamad Ali Mazidi, Sarmad Naimi, Sepehr Naimi; United States of America: Prentice Hall, 2011. ISBN-10: 0-13-800331-9.
Make: AVR Programming / Elliot Williams, 2014, Printed in the United States of America. Published by Maker Media, ISBN: 978-1-449-35578-4
10
HERRAMIENTAS DE DESARROLLO
Si tienen Windows XP o Win-7 lo conveniente es usar el
entorno AVR-Studio, versión 4.18.
11
+
Editor, simulador y
ensamblador (AVR-asm).
Suite que incluye al
compilador AVR-gcc.
Instalando ambos programas, desde el AVR-Studio es
posible la edición de programas en lenguaje C, la
invocación del compilador con exhibición de resultados, así
como la simulación y depuración de aplicaciones.
HERRAMIENTAS DE DESARROLLO
Con Windows 8 ó 10, lo mejor es utilizar el entorno de
Atmel Studio, la versión más reciente es la 7.
12
Atmel Studio permite trabajar con microcontroladores AVR de 8
bits, así como con dispositivos AVR y ARM de 32 bits.
Incluye al compilador para C/C++ y es completamente compatible
con el estándar ANSI-C.
SIMULADOR VISUAL
Facilidades de Proteus :
13
• Edición de Esquemáticos
• Simulación Visual de Sistemas
• Diseño de Circuitos Impresos
PROGRAMACIÓN DEL MICROCONTROLADOR
1. Programador Universal
14
2. ATMel AVR STK-500
3. AVR Dragon
4. Programador USBasp
5. Programador USB ISP
16
17
6. La Tarjeta Arduino puede ser un programador para los AVR, básicamente se
debe considerar:
• El "sketch" a descargar en Arduino es ArduinoISP y está en los ejemplos
incluidos en el entorno.
• La conexión Arduino One -Microcontrolador es:
• Ejecutar el programa avrdude en línea de comandos, por ejemplo:
c:\...\avrdude -p m328p -P com19 -b 19200 -c avrisp -U flash:w:nom_archivo.hex
Avrdude es parte de WinAvr, la ayuda para las opciones se obtiene con -? o se
puede obtener en el sitio: http://www.ladyada.net/learn/avr/avrdude.htm, fue hecho
para Linux y por ello se maneja en línea de comandos, pero se pueden descargar
interfaces gráficas que facilitan su uso.
Arduino One ATMega328P
10 RST (1)
11 MOSI (17)
12 MISO (18)
13 SCK (19)
IMPORTANCIA DEL CURSO
Los microcontroladores son la base para el
desarrollo de Sistemas Embebidos.
Un sistema embebido (SE) es un sistema
electrónico que contiene elementos de
Hardware y Software estrechamente
acoplados para desempeñar una función simple
o formar parte de un sistema más grande.
18
CARACTERÍSTICAS DE LOS SE
Desempeña una función simple.
Pueden ser parte de un Sistema más grande.
No están orientados a ser programados por el usuario.
Se espera que trabajen con intervención humana mínima.
Poseen una operación reactiva (tiempo real).
Fuertemente restringidos.
19
SISTEMA TRADICIONAL
20
SISTEMA TRADICIONAL + NUEVAS CARACTERÍSTICAS
Posibles características:
• Reloj de tiempo real
• Encendido programable
• Auto-apagado
• Análisis de seguridad
• Factores de preparación
seleccionables por el usuario
+
Microcontroller Unit - MCU
21
SISTEMA EMBEBIDO
22
Top Related