Está en la página 1de 7

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

FACULTAD DE CIENCIAS E INGENIERÍA

Sistemas Digitales

Especialidad : Ingeniería Electrónica Clave : IEE256
Área : Electrónica Créditos : 5.5
Ciclo : Quinto Teoría : 4 horas semanales
Semestre : 2010-2 Práctica : 2 horas quincenales
Profesores : Hugo Pratt L. Laboratorio : 4 horas quincenales
Javier Chang Requisitos : IEE144, INF135, IEE146

I. DESCRIPCIÓN DEL CURSO

En el curso se enseña a diseñar computadoras de aplicación específica, en base al
microcontrolador ATmega8 de Atmel. Para ello se describen las computadoras de
aplicación específica, diferenciándolas de las computadoras de propósito general. Se
describe el microcontrolador (sus partes internas y juego de instrucciones) y también las
herramientas de desarrollo a utilizar (ensamblador, simulador). Finalmente se diseña un
computador y el programa que lo controla. Las clases son un complemento a los trabajos
realizados en el laboratorio del curso.

II. OBJETIVOS

OBJETIVO GENERAL:
Al final del curso, los alumnos de Sistemas Digitales estarán en condiciones de diseñar
un computador basado en un microcontrolador de 8 bits, y desarrollar el programa que lo
controla. También serán capaces de leer y comprender la documentación técnica
(manuales de referencia y especificaciones técnicas) de un microcontrolador.

OBJETIVOS ESPECÍFICOS:
1. Conocer las partes básicas de un computador y la terminología relacionada (tanto en
castellano como en inglés).
2. Conocer el lenguaje (juego de instrucciones) de un microcontrolador.
3. Utilizar adecuadamente un lenguaje ensamblador (tanto las instrucciones como
directivas) para el desarrollo de programas.
4. Conocer el uso y saber utilizar un simulador para la depuración de programas.
5. Desarrollar, simular y depurar programas en lenguaje ensamblador empleando para
ello herramientas de desarrollo de software (ensamblador, simulador).
6. Conocer y utilizar interfaces y periféricos programables.
7. Diseñar un computador basado en un microcontrolador de 8 bits, utilizando las
interfaces y periféricos adecuados, y desarrollar el programa que lo controla,
tomando en consideración las especificaciones técnicas y documentación técnica de
los fabricantes de microcontroladores.

7 Instrucción de lectura de tablas en memoria de programa (LPM). Registro de salida PORT.0 horas). Instrucciones de salto relativo incondicional (RJMP) y condicional (BREQ. puertos de E/S. Ejemplos. Ejemplos. (2 horas) Lecturas: [9] AVR assembler user´s guide: Directives.6 [6d] Modelo del Programador.5 (páginas 1 a 12) 2.4 (17 páginas) [6b] Capítulo 1 parte 2: para sección 1.CSEG.4 Enmascaramiento de bits con operaciones lógicas. [12] AVR072 3. y 16 a 18. (0. SBI). Instrucción de comparación inmediata (CPI).1 Directivas: . High(). Von Neuman.2 Directivas: . Funciones del ensamblador: Low(). INTRODUCCIÓN (7 horas) 1. BRNE). (0.4 Instrucciones aritméticas de suma: ADD. (3 horas) 2. Ejemplo.DB.1.1 a 1. registro de entrada PIN. Instrucciones LDI. de signo.BYTE. Banderas: definición.DW. lenguaje de ensamblaje.2 y 2. . (0. LD.5 horas) 3. Sus diferencias. OUT. 3.5 horas) 1.1.4 (páginas 1 a 3.5 horas) 3. 1. 2. Ejemplos. [7] ATmega8 datasheet: Para sección 2. Microprocesador y microcontrolador.3 (7 páginas) [6d] Modelo del Programador.ORG. y páginas 5 a 8.3 Banderas: De acarreo. LDS. para sección 2. espacio de registros.EQU. Ejemplo: Programa con uso de puertos configurados como entrada y salida. (0. de desborde. código máquina.1 leer páginas 1 a 12.5 (páginas 8 a 11). (2. .6 Directivas: .0 horas) Lecturas: [6c] Capítulo 2 parte 1: para secciones 2. DIRECTIVAS DEL ENSAMBLADOR E INSTRUCCIONES DEL CPU (8. hasta bandera de cero. . características. Modelo de memoria con compuertas lógicas y registros. (3 horas) 3.3 Instrucción IN. mapa de memoria.DSEG. Registro de direcciones DDR.1 Características generales del microcontrolador Avr-ATmega8 de atmel: Diagrama de bloques.2 El computador digital: sus partes. (1. Instrucción Y lógica (ANDI).2 leer páginas 51 a 56.5 horas) 1.4 Arquitectura de un computador: Harvard. Instrucción RJMP. 3.2.5 horas) 3. Codificación de instrucciones y ciclos máquina. (2 horas) 1.INCLUDE.5 Lenguaje máquina.2 Puertos: definición. y para sección 3. de medio acarreo.3 Memorias semiconductoras: tipos. ST.5 Instrucciones de transferencia de datos: MOV. Ejemplos para manejo de puertos(1. STS.1 Introducción al curso (2 horas). (1 hora) 3. PROGRAMA ANALÍTICO 1. ADC. .3 (páginas 2 a 5). [6e] Instrucciones ATmega8 Parte 2: para sección 3. Instrucciones de manejo de bits (CBI.4 (páginas 1 a 4) -2- .5 horas) 3. disposición de pines. (1 hora) Lecturas: [6a] Capítulo 1 parte 1: para secciones 1. Banderas y Modos de Direccionamiento: Para secciones 2. Banderas y Modos de Direccionamiento: Para sección 3. ADIW. (1 hora) 2. bandera de cero (Z). . de cero. Para secciones 3.3 y 2. hasta direccionamiento relativo). PERIFÉRICOS PROGRAMABLES PARTE I (Puertos de E/S) (7 horas) 2.III. (1. .5 horas) 3. 2.ESEG.

1 Niveles lógicos TTL. Su uso en modo normal. Señal de reloj. Velocidad de comunicación (bps). POP.5 horas) 5. ST).2 Instrucciones de llamada a subrutinas y retorno: RCALL. y 85 a 89) 8. [8] 8-bit AVR Instruction Set: Para secciones 3. Instrucciones PUSH. y 66 a 68) -3- . LDS.2 Uso de la interfaz RS232 del ATmega8: Disposición de pines. (3 horas) Lecturas: [6k] Subrutinas (12 páginas) 5.5 horas) 8.5 horas) 8. Puntero de pila (SP). pre- escalador.2 Instrucciones de rotación y desplazamiento (1 hora) Lecturas: [6e] Instrucciones ATmega8 Parte 2: para sección 6. (1. SBIC (0. LD. (2.3 (6 páginas) [14] AVR200 [15] AVR202 7. 3.5 horas) Lectura: [7] ATmega8 datasheet: USART (páginas 133 a 162). datos. JUEGO DE INSTRUCCIONES PARTE II (3. PERIFÉRICOS PROGRAMABLES PARTE III (Circuito temporizador) (5 horas) 7. Ejemplo.7 (17 páginas) [13] AVR108 4. (3 horas) Lecturas: [6j] Interrupciones (16 páginas) [7] ATmega8 datasheet: Interrupts (páginas 46 a 48.1 Instrucciones aritmético-lógicas. parada. ADC.4.3 Ejemplo de interrupciones con el temporizador 1.1 Concepto de interrupción. (1 hora) 4. LA PILA Y SUBRUTINAS (4 horas) 4. 6. RET. (1.5 horas) 6. (3 horas) 5. Comparadores de salida. Funcionamiento.2 Interrupciones en el ATmega8: Habilitadores de interrupción. INTERRUPCIONES (6 horas) 8. [6g] Manejo de Tablas: Para sección 3.1 Temporizador 1: Disposición de pines. PERIFÉRICOS PROGRAMABLES PARTE II (5 horas) 5. Para sección 6. ADIW. STS. vectores de interrupción.1 La pila. (1. RS232.5 horas) 6.1 (6 páginas) [6f] Instrucciones ATmega8 Parte 3: para sección 6. Lectura y escritura de registros de 16 bits. Ejemplos.5 (Instrucciones ADD. Ejemplos (5 horas) Lecturas: [6i] Contadores y Temporizadores: páginas 1 a 15.3 Instrucciones de salto condicional: SBIS. paridad. MOV. Modo de operación CTC. Registros de control y de velocidad. Instrucciones de comparación y de salto condicional e incondicional. [7] ATmega8 datasheet: 16-Bit Timer/Counter 1 (Páginas 76 a 83. Formato de una comunicación serial asíncrona: bits de arranque.1 (páginas 4 a 10) [6h] Comparación de números.

voltajes). El asesor de proyecto definirá las tareas (avance del proyecto) que debe realizar cada alumno y presentar en la siguiente sesión de laboratorio.9. El problema se coloca en el campus virtual con una semana de anticipación. que será uno de los jefes de práctica del horario de laboratorio. El realizado en la cuarta sesión de laboratorio corresponde a 2 puntos de la nota del examen final. puertos con funciones múltiples. Programa para el laboratorio: • Es un problema que los alumnos deben de resolver durante el laboratorio. Manejo de arreglos en memoria RAM. (3 horas) Lecturas: [6i] Contadores y Temporizadores: páginas 15 y 16. • Una vez definidos y asignados los proyectos. y que tiene relación con la tarea dejada para la casa. 4. 5. Los alumnos deben elegir a su pareja para el proyecto. Manejo de tablas en memoria Flash. Contadores. 2. previa revisión y aprobación de los docentes del curso. Las actividades a realizar para cada sesión de laboratorio son: Tarea para la casa: • Es un problema propuesto que deben resolver los alumnos y presentar al inicio del laboratorio funcionando. desarrollen e implementen. Comunicación serial asíncrona. (4 horas) 9. DISEÑO DE UN COMPUTADOR (1 hora) 10. alguna iniciativa de los alumnos. Familiarización con las herramientas de desarrollo. Los proyectos son propuestos por los jefes de prácticas y profesores del curso. Ejemplos. (1 hora) PROGRAMA DEL LABORATORIO 1.1 Consideraciones para los puertos: Interpretación de las características eléctricas (corrientes. Los tipos de proyectos y el número de grupos que pueden realizar el mismo proyecto está determinado en gran medida por los recursos con que cuenta el laboratorio. cada pareja contará con un asesor de proyecto. Avance de proyecto y presentación final: • En la primera sesión de laboratorio se proponen una serie de proyectos para que los alumnos. Ejemplos basados en interrupciones. Presentación del proyecto. en parejas. [7] ATmega8 datasheet: 16-Bit Timer/Counter 1 (páginas 89 a 91) 10. se puede aceptar. resistencias PULL-UP internas. Dada la importancia de la motivación para poder terminar con éxito el proyecto. Prueba de entrada: • Es una prueba escrita de corta duración (máximo 20 minutos) que se toma al inicio del laboratorio y cuya finalidad es medir el conocimiento de los alumnos en detalles de carácter práctico o teórico necesarios para poder llevar a cabo el trabajo del laboratorio. Manejo de puertos de E/S.1 Temporizador 1: Generación de ondas PWM usando el modo PWM rápido. Programación empleando juego de instrucciones del microcontrolador. 3. temporizadores e interrupciones. PERIFÉRICOS PROGRAMABLES PARTE IV (Circuito temporizador) (7 horas) 9. -4- .2 temporizador 1: Capturador de entrada.

manual en línea 11.AVR200: Multiply and Divide Routines (21 pages. “Embedded C Programming and the Atmel AVR”. en cuyo caso.Arnold S. revision B.AVR072: Accessing 16-bit I/O Registers (4 pages. updated 5/02) 16. Berger. Contadores y Temporizadores. 2002. Capítulo 1 parte 2.. "AVR assembler user´s guide". McGraw-Hill. • El buen funcionamiento y documentación del proyecto corresponden además a cinco puntos del examen final..AVR108: Setup and use of the LPM Instructions (4 pages. manual en línea. BIBLIOGRAFÍA 1. updated 5/02) 13.Gadre. "Programming and customizing the AVR microcontroller". d. Noviembre 2005 9. 5.Atmel Corporation.. • La nota correspondiente al proyecto es individual.John Morton. Elsevier Science. updated 05/06) 15.AVR360: Step Motor Controller -5- .Advanced Micro Tools.Atmel Corporation. Thomson Learning Inc.. Smiley Micros. revision C.0 user's guide". Se considerará que un alumno abandona a su compañero de proyecto si no presenta los avances de proyectos. • Habrán dos avances.Richard Barnett.. e.. Interrupciones.. i. “AVR An Introductory Course”... 2005.. Comparación de números. Instrucciones ATmega8 Parte 1: Modelo del Programador.. 6. Instrucciones ATmega8 Parte 2: Instrucciones aritméticas. 2. "C programming for microcontrollers : featuring ATMEL's AVR butterfly and the free WinAVR compiler". Manuales 7. Sarah Cox... b.Separatas del curso: a. Dhananjay V. Joe .Pardue. Notas de aplicación 12.AVR202: 16-Bit Arithmetics (3 pages. "ATmega8 datasheet".Atmel Corporation. Manejo de Tablas. & techniques”. IV. An introduction to processes. j. 2001. "Avr Studio 4. f. La sustentación incluye una evaluación oral que se hace a cada integrante. revision B.. Instrucciones ATmega8 Parte 3: Instrucciones de rotación y desplazamiento. revision B. Octubre 2006 8. 10. • En la quinta sesión de laboratorio se hace la presentación final del proyecto y su sustentación.. 2002. correspondientes a la segunda y cuarta sesiones de laboratorio. CMP Books. g. A cada actividad del laboratorio le corresponde un puntaje de la nota de dicho laboratorio. tools. “VMLAB”.. Subrutinas. h. updated 5/02) 14. "8-bit AVR Instruction Set". 4. manual en línea. 3.. k. Capítulo 2 parte 1: Puertos de Entrada/Salida. Banderas y Modos de Direccionamiento. c. Capítulo 1 parte 1: El computador Digital. 2003. Larry O’Cull. “Embedded Systems Design.Atmel Corporation. la nota por presentación final que tendrá será cero.

http://www.Página web de la compañía Advanced Micro Tools (creadora del programa VMLAB empleado en el curso). Las clases son un apoyo al laboratorio.Páginas WEB: . Debido a las características del curso. http://www.amctools. Las lecturas corresponden a temas que deben aprender para poder realizar con éxito las prácticas en el laboratorio.com Bases de datos en línea (accesibles desde cualquier computadora de la universidad): Base de datos ProQuest www.infolearning. y no se dictarán las dos últimas clases del semestre. Laboratorio de Circuitos Digitales.com/pqdauto V. Circuitos Eléctricos 1) con lo cual la dedicación puede reducirse a 8 horas semanales. Por esta razón. donde adquirirán las habilidades que son parte de los objetivos del curso. o que no estén llevando el curso Circuitos Analógicos. es necesario que antes de la primera sesión de laboratorio se lleguen a cubrir las 12 primeras horas de clase. al inicio del semestre se define un proyecto que debe desarrollarse a lo largo del semestre y se presenta en la última sesión del laboratorio. -6- . Los temas de prácticas y exámenes son los vistos en clase.Página web de la compañía Atmel Corporation para la familia de microcontroladores AVR. para ser estudiadas antes de la próxima clase. se adelantarán dos clases en las dos primeras semanas de clase. que no hayan acreditado el nivel de idioma inglés requerido para egresar de Estudios Generales Ciencias.com/products/avr/ .bellhowell. METODOLOGÍA En las clases se fomenta la participación de los alumnos. Desde la primera clase se dejará material de lectura anticipada. Recomendaciones: • Debido a las características del curso. Lenguaje de Programación. muy relacionados con el laboratorio. Si no hay dudas. Se les recomienda contar con un computador para poder realizar los ejercicios necesarios para su aprendizaje (no se aprende a programar tan solo leyendo). http://www.com . en el horario que correspondería a la práctica de aula del curso.atmel. • No se recomienda la matrícula en este curso a los alumnos que no hayan aprobado el curso Circuitos Eléctricos 1. se recomienda una dedicación de 12 horas semanales para el curso teórico y el laboratorio. se avanza con el siguiente tema del curso.Portal especializado en los microcontroladores de la familia AVR de Atmel. Esto se informará por correo electrónico. Las clases tienen por objetivo absolver las dudas de los alumnos con relación a las lecturas o temas relacionados con el programa del curso y del laboratorio. y por tanto.avrfreaks. Este tiempo puede ser menor dependiendo del conocimiento adquirido en los cursos previos (Circuitos Digitales. o los dejados como lectura. entre las cuales están el aprendizaje de un nuevo lenguaje y la realización de tareas dejadas en el laboratorio del curso. antes del inicio de clases. para lo cual.

San Miguel. que establece que el promedio se calcula con la siguiente fórmula: Nota Final = (3 Ex1 + 4 Ex2 + 2 Pa + 1 Pb) / 10 Donde: Exi = Examen iésimo Pa = Promedio de prácticas Tipo “a”.VI. 2 puntos por la prueba individual que se toma en la cuarta sesión de laboratorio. sin considerar la menor nota El puntaje del examen final corresponde a: 13 puntos como prueba escrita. sin considerar la menor nota Pb = Promedio de prácticas Tipo “b”. agosto de 2010 -7- . SISTEMA DE EVALUACIÓN En este curso se aplica la modalidad de evaluación 4. 5 puntos por buen funcionamiento del proyecto y su documentación.