Universidad de Costa Rica

IE0623 Microprocesadores

Créditos:
3
Departamento:
Automática
Curso:
Troncal
Tipo:
0 - Teórico
Horas:
5h: 3h T, 0h L, 2h P, 0h T/P
Requisitos:

Descripción

Este es un curso de microprocesadores, arquitectura y programación. Se cubren conocimientos sobre arquitectura de microprocesadores, modelos de programación y programación en lenguaje ensamblador. Se utiliza un microcontrolador como referencia de implementación del modelo ISA para procesadores incrustados y se aprende el uso de herramientas de desarrollo como IDE, simuladores y sistemas de desarrollo.

Contenidos

Parte I

Arquitectura de procesadores y modelo ISA del 9S12

1. Procesadores Incrustados. 

1.1. Introducción

1.2. Modelo de la Arquitectura ISA

1.2.1. Operaciones

1.2.2. Operandos

1.2.3. Almacenamiento

1.2.4. Modos de direccionamiento.

1.2.5. Manejo de Interrupciones y excepciones

1.2.6.  Clasificación de los Modelos ISA 

2. Desarrollo de Aplicaciones

2.1. Microcomputadores, microprocesadores, microcontroladores. SoC.

2.2. Selección de un microcontrolador

2.3. Proceso de desarrollo

2.4. Procesadores incrustados Freescale de NXP

2.4.1. Familias de Microcontroladores

2.4.2. Familia HC12/S12

2.4.3. Recursos de desarrollo.

3. Modelo ISA del 9S12. Parte I

3.1. Modelo de programación.

3.2. Registro de Banderas.

3.3. Organización de Memoria.

3.4. Formato de las instrucciones en ensamblador.

3.5. Tipos de Instrucciones.

3.6. Instrucciones de Movimiento y manipulación de datos.

3.7. Operaciones lógicas y de bit

3.8. Instrucciones de pruebas de datos.

3.9. Ciclo de Ejecución de Instrucciones

4. Modelo ISA del 9S12. Parte 2

4.1. Modos de direccionamiento.

4.1.1. Direccionamiento Inherente

4.1.2. Direccionamiento Inmediato.

4.1.3. Direccionamiento Directo y Extendido.

4.1.4. Direccionamiento Indexado.

4.1.5. Direccionamiento relativo

4.2. Estructuras de Programación (Secuencial, Iterativa, Selección y Modular).

4.3. Instrucciones de salto y ramificación.

4.3.1. Instrucciones de Salto Incondicional.

4.3.2. Instrucciones de Salto Condicional

4.3.3. Instrucciones de Salto Condicional Largo.

4.3.4. Casos especiales BRSET y BRCLR.

5. Diseño de Programas y herramientas de desarrollo.

5.1. Diagramas de Flujo. Ejemplos.

5.2. Tipos de Lenguajes de Programación

5.3. Ensamblaje de Programas.

5.3.1. Archivo de Listado .LST

5.3.2. Archivo Objeto .S19

5.4. Directivas de Ensamblador.

5.5. Ensamblado de programas: Un ejemplo

5.6. IDE Assembler

5.7. El Simulador SimHCS12.

5.8. Ejemplo ORDENE 3.

5.9. Tarjeta Dragon 12

5.10 Debug 12 de Freescale

6. Modelo ISA del 9S12. Parte III

6.1. Números binarios con y sin signo.

6.1.1. Números sin signo en base 2.

6.1.2. Números con signo en base 2.

6.1.3. Representación de números con signo en base 2.

6.1.4. Distinción de números con y sin signo.

6.2. Operaciones Artimeticas con signo

6.3. Instrucciones Aritméticas.

6.4. Conversión Binario a BCD.

7. Estructura de Programación Modular: Subrutinas. 

7.1. La pila: Almacenamiento temporal de datos.

7.2. Instrucciones de salto y retorno de subrutina.

7.3. Paso de parámetros a Subrutinas.

7.3.1. Por registros internos de la CPU

7.3.2. Por direccionamiento directo a memoria.

7.3.3. Por direccionamiento indirecto a memoria.

7.3.4. Por Pila

7.3.5. Implícitamente.

7.4. Instrucciones LEA

7.5 Subrutinas del Debug 12

Parte II 

Periféricos del 9S12

8. Estructuras de Entrada/Salida: Los puertos paralelos. 

8.1. E/S mapeada a memoria y por instrucción (acceso directo).

8.2. Registros de Datos, Control y Estatus.

8.3. Capacidades de periféricos del S12

8.4. GPIO y PIM (Port Integration Module) del S12.

8.5. Módulo GPIO en Puertos Periféricos

8.6. Módulo GPIO en Puertos Core

8.7. Funciones adicionales y uso de GPIO en modo pulling

8.8. Ejemplo de GPIO por polling con la Dragon 12+

9. Sistema de Reloj y Excepciones. 

9.1. Sistema de Reloj.

9.2. Excepciones del sistema

9.2.1. Prioridad de excepciones de Reset y No Mascarables

9.2.2 Interrupciones: Proceso de Atención

9.2.2.1. Interrupciones No Mascarables.

9.2.2.2. Trampas (Traps) e Interrupciones por Software (SWI).

9.2.2.3. Interrupciones Mascarables.

9.2.2.4. Tabla de Vectores de Excepciones.

9.2.2.5. Prioridad de Interrupciones mascarables

9.2.2.6. Procedimiento de Atención a Interrupciones 

9.2.2.7. Interrupción externa Mascarable. Ejemplo con el Simulador

9.2.2.8. Interrupción del Reloj de Tiempo Real (RTI).

9.2.3. Excepciones de Reestablecimiento (Reset).

9.2.3.1. Clock Monitor Reset.

9.2.3.2. COP Reset.

9.2.4. PIO con Sincrconización

9.2.4.1. Estructuras de I/O condicional con Strobes.

9.2.4.2.Estructuras de I/O condiconal con Handshaking

9.2.4.3. Key Wakeups.

9.3 Programación por Máquinas de Estado. Ejemplo: Leer_PB

9.4 Lectura de Teclados matriciales

10. El módulo de Timer

10.1 Módulo Timer

10.2 Contador de Tiempo

10.3 Salida por comparación (Output Compare)

10.4 El caso especial del Canal 7

10.5 Captura de Entrada

10.6 Acumulador de Pulsos

10.7 Manejo de Pantallas

10.7.1 Pantallas Multiplexadas

10.7.2 Pantallas autocontenidas

11.  Módulo de Conversión Analógica Digital.

11.1 Operación de los Convertidores A/D

11.2 Tipos de Convertidores A/D

11.3 Convertidores A/D de 9S12

11.4 Registros de los ATD

11.5 Ejemplo de conversión A/D

11.6 Disparo externo de ATD

11.7 Puerto ATD como entradas digitales

12. Comunicación Serial Asincrónica. Interfaz SCI

12.1 Conceptos de la Comunicación Serial.

12.2 La interfaz de Comunicación Serie (SCI)

12.3 Configuración de la Interfaz SCI

12.4 Operación de la Interfaz SCI

12.5 Interfaz de capa físcia: Estándares RS232/RS485

12.6 Comunicación serial con el terminal Putty

13. Comunicación serial Sincrónica: Interfaces SPI, IIC

13.1 Principio de operación de la comunicación sincrónica. 

13.2 Interfaz Serial Sincrónica (SPI)

13.2.1. La interfaz de hardware SPI

13.2.2. Interfaz SPI del 9S12

13.2.3. Configuración básica SPI del 9S12

13.2.4. Configuración del formato de transferencia

13.2.5. Operación en modo bidireccional

13.2.6. El LTC1661

13.2.7. Ejemplo: Generador diente de sierra

13.3. Interfaz Inter-Integrated Communication (IIC)

13.3.1. Interfaz de hardware IIC

13.3.2. Principio de operación del bus IIC

13.3.3. Configuración de la interfaz IIC del 9S12

13.3.4 RTC para IIC: el DS1307

Competencias

POR DEFINIR

© 2020 Escuela de Ingeniería Eléctrica, Universidad de Costa Rica.