|
|
Profesor Encargado de Cátedra: Ing. Vicente Gonzalez Ayala
Ayudantes de Cátedra: Carlos
Alberto González
PROGRAMA
DESCRIPCION DEL CURSO:
Diseño de sistemas de aplicación específica
utilizando microcontroladores modernos con énfasis en la
programación de los mismos y de sus periféricos.
Definición de una metodología estructurada de
diseño de sistemas basados en microprocesadores que permita el
desarrollo ordenado de proyectos y el trabajo en equipo.
Una parte muy importante del curso es el desarrollo de las clases
prácticas en las que los alumnos trabajarán con el
procesador que se describe en las clases teóricas.
En paralelo al desarrollo del curso los alumnos deben construir un
sistema completo, desde las especificaciones hasta la
construcción de un prototipo operativo.
DURACION DEL CURSO:
90hs
ALCANCE PRETENDIDO:
Capacitar al alumno para desarrollar sistemas de aplicación
específica
(empotrados) basados en microprocesadores comerciales.
Capacitar al alumno para analizar, interpretar y utilizar los manuales
y
las herramientas, tanto software como hardware, necesarios para
desarrollar sistemas basados en microprocesadores.
SINTESIS DE PROGRAMA:
Introducción a la Arquitectura de procesadores. Elementos
componentes de un microprocesador. Metodología de desarrollo de
sistemas. Lenguaje de máquina y lenguaje ensamblador. Memoria y
dispositivos de entrada y salida. Modos de direccionamiento.
Interrupciones. Practicas de laboratorio utilizando equipos
didácticos.
BIBLIOGRAFIA:
- Cady, Fredrick. "Software and Hardware Engineering.
Motorola M68HC11", Oxford University Press. 1997.
- Cady, Fredrick. "Microcontrollers and Microcomputers.
Principles of
software and Hardware Engineering", Oxford University Press. 1997.
- Keil, Heinrich. "Microcomputadores". Editorial Marcombo
S.A. y Siemens Aktiengesellschaft.
- Manuales específicos de los dispositivos
descritos y utilizados durante el curso
Al inicio
PROGRAMA ANALÍTICO
- Introducción (2h)
- Breve historia de los microprocesadores. Desde los
inicios hasta lo
que se espera en el futuro.
- ¿Qué es un microprocesador y para
qué sirve?
- Arquitectura de procesadores (5hs)
- Arquitectura de Von Neumann.
- Implementación. Buses.
- Un ejemplo de procesador.
- Temporización en el microprocesador.
- Ejemplos de microprocesadores/microcontroladores:
- MC68HC11
- Lenguaje de Máquina y Lenguaje Ensamblador
(14hs)
- Formato y longitud de la palabra de
instrucción
- Tipos de instrucciones
- El modelo de programación
- Aritmética en el procesador
- Lenguaje ensamblador y programa ensamblador
- Recomendaciones prácticas para la
programación en lenguaje ensamblador
- Ejemplos y ejercicios basados en el 68HC11
- Organización y manejo de Memoria y dispositivos
de Entrada/Salida (7hs)
- Decodificación de dispositivos
- Mapa de Memoria y de Entrada/Salida
- Ejemplos y ejercicios basados en el 68HC11
- Modos de direccionamiento (7hs)
- Concepto
- Modos más comunes
- Implementación de estructuras de datos
- Ejemplos y ejercicios basados en el 68HC11
- Interrupciones (7hs)
- Concepto
- Tipos
- Inicialización del sistema (reset)
- De atención opcional
- De atención obligatoria
- Prioridades
- Cuidados en la programación
- Ejemplos y ejercicios basados en el 68HC11
- El 68HC11 de Motorola (21hs)
- Los Periféricos internos
- Puerto Serial Asincrónico
- Puerto Serial Sincrónico
- Temporizadores
- Conversor Analógico Digital
- Puertos Paralelos
- Contador de Eventos
- Ejercicios
- Desarrollo de Sistemas basados en microprocesador (27hs)
- Reseña
- Conformación de un sistema
- Fases del desarrollo
- Componentes de la planificación
- Métodos de representación del problema
a resolver
- Diagramas de flujo - Seudo Codificación
- Máquinas de estados finitos
- Diagrama de Estados (statechart)
- Fase de planificación
- Especificación del sistema
- Análisis del sistema
- Desarrollo del Hardware
- Modularidad
- Módulos de Hardware
- Prueba del Hardware
- Equipos necesarios
- Autodiagnóstico
- Desarrollo del Software
- Programación estructurada
- Fases de desarrollo
- Análisis de problema
- Codificación
- Lenguajes de programación
- Pruebas del software
- Integración
- Documentación y mantenimiento del equipo
- Ejercicios
Al inicio
|