0% encontró este documento útil (0 votos)
62 vistas13 páginas

Atmega 16

Este documento presenta un curso sobre microcontroladores. El curso estudiará el microcontrolador Atmega16 de Atmel. Consiste en nueve o doce capítulos teóricos con prácticas asociadas. Los estudiantes trabajarán en grupos para desarrollar circuitos usando el microcontrolador. La evaluación consta de exámenes teóricos, prácticas y tareas. El material requerido incluye un programador, microcontroladores y componentes electrónicos.

Cargado por

Marlene Perez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
62 vistas13 páginas

Atmega 16

Este documento presenta un curso sobre microcontroladores. El curso estudiará el microcontrolador Atmega16 de Atmel. Consiste en nueve o doce capítulos teóricos con prácticas asociadas. Los estudiantes trabajarán en grupos para desarrollar circuitos usando el microcontrolador. La evaluación consta de exámenes teóricos, prácticas y tareas. El material requerido incluye un programador, microcontroladores y componentes electrónicos.

Cargado por

Marlene Perez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 13

INSTITUTO POLITÉCNICO NACIONAL

Escuela Superior de Ingeniería Mecánica y Eléctrica

Apuntes para la materia de microcontroladores

Carrera de Ingeniera en comunicaciones y electrónica


Curso de microcontroladores
Presentación

Existen alrededor de cincuenta fabricantes de microcontroladores en el mundo, pero el estudio


detallado de uno en particular permite entender cómo funcionan este tipo de dispositivos ya que
todos comparten entre sí una arquitectura similar y por tanto sus partes son similares

Durante el curso se estudia un microcontrolador en especial, este será el Atmega16 del fabricante
Atmel. Para el desarrollo del curso, que es teórico practico, se sigue un programa compuesto de al
menos nueve capítulos y dependiendo de las condiciones del desarrollo del curso se extiende a
doce capítulos, a partir del segundo capítulo cada capítulo va acompañado de al menos una
práctica.

Cada una de las prácticas requiere por parte de los estudiantes, agrupados en grupos de dos
personas y máximo de tres, de desarrollar el armado de un circuito con el microcontrolador y
algunas componentes asociadas, el programa en lenguaje C es proporcionado por el profesor así
como la explicación a detalle del programa y del hardware.

La parte teórica está dividida en capítulos y se proporciona una explicación detallada de los
registros que intervienen en cada una de las funciones del microcontrolador.

Para un mejor entendimiento de la teoría y la práctica, el estudiante debe de manifestar sus dudas
o aclaraciones que ayuden al entendimiento de la teoría, y del desarrollo de las prácticas. Se hace
énfasis que cada práctica corresponde con la teoría, la práctica debe de ayudar a entender y
reafirmar los conocimientos teóricos estudiados. Por cada capítulo teórico y por cada práctica se
proporcionara por escrito todo lo expuesto en la clase, mediante medios electrónicos –usb del
estudiante-.

El programa propuesto es el siguiente:

 Capitulo 1. Introducción al microcontrolador


 Capitulo 2. Entradas y salidas del microcontrolador
 Capitulo 3. Interrupciones externas
 Capitulo 4. Temporizadores contadores del microcontrolador
 Capitulo 5. Manejo de una LCD mediante el microcontrolador
 Capitulo 6. Comparador analógico
 Capitulo 7. Convertidor analógico digital
 Capitulo 8. USART
 Capitulo 9. PWM
 Capitulo 10. EEPROM
 Capitulo 11. Interfaz periférica serial SPI
 Capitulo 12. Interfaz serial de dos hilos TWI

Evaluación

El profesor aplica un examen escrito por cada tres capítulos, la calificación del curso es el
promedio aritmético de cada una de las calificaciones. Es obligatorio el desarrollo de las prácticas
cuenta como evaluación con un peso total del 25% de la calificación final. Adicional se dejaran
tareas prácticas a entregar con un peso de la calificación final del 5%. Quedando la evaluación
como sigue 70% la calificación de los exámenes teóricos, 25% calificación de las elaboración total
de las practicas, 5% de la calificación las tareas a entregar.

Para tener derecho al examen teórico es necesario cumplir con el reglamento de la escuela
respecto a las asistencias a las clases teóricas y de laboratorio. No se aplica ningún examen fuera
de los mencionados, tampoco se deja ningún proyecto para mejorar calificaciones. Sólo se
suspenden clase en las fecha oficiales de la escuela o por causa de fuerza mayor.

La calificación numérica se toma de la siguiente forma, la escala es del 0 al 10, siendo aprobatoria
del 6 en adelante, para cada examen se aplica la siguiente regla: para una calificación no
aprobatoria siempre se redondea al número inferior inmediato, ejemplo.

Calificación obtenida 0.9 se redondea a 0 cero

Calificación obtenida de 1.9 se redondea a 1 uno

Calificación obtenida de 2.9 se redondea a 2 dos

Calificación obtenida de 3.9 se redondea a 3 tres

Calificación obtenida de 4.9 se redondea a 4 cuatro

Calificación obtenida de 5.9 se redondea a 5 cinco

Para calificaciones aprobatorias la regla es.

Calificación obtenida de 6.6 se redondea a 7 siete, calificación de 6.5 de redondea a 6 seis y así
sucesivamente con todos los numero hasta el 9 nueve.

Una vez fijada una fecha de examen no se mueve bajo ninguna circunstancia
Del material

Para la elaboración de las prácticas se requiere de un programador de microcontroladores ATMEL,


además se requiere del microcontrolador atmega16 y otras componentes como resistores, diodos
emisores de luz, capacitores, tableta de armado (protoboard), fuente de alimentación de 5 volts,
matriz de diodos emisores de luz, indicadores de siete segmentos y un pequeño motor de CD,
cables telefónicos de diferentes colores, pinzas de punta y de corte y algunos otros materiales no
mencionados. Es recomendable que cada equipo cuente con un multímetro.

Se sugiere la compra del programador, el microcontrolador atmega16, y los componentes


necesarios para la elaboración de las prácticas.

Si por alguna razón un estudiante no desea comprar ningún componente podrá realizar las
prácticas mediante la simulación en computadora, esto le permitirá la cabal comprensión de la
teoría y una buena aproximación a la experiencia práctica pero no podrá sustituir en calificación a
la elaboración física de las prácticas.

Para la elaboración de las practicas, y debido a que se cuenta con poco tiempo asignado en el
laboratorio, es necesario que cada equipo se presente con su circuito correspondiente a la práctica
armado y listo para probar su correcto funcionamiento; no se recomienda que el equipo de
trabajo invierta su tiempo de laboratorio, en armado de los circuitos en el protoboard dentro del
tiempo del laboratorio.

Referencias

1. Steve Barrel, Daniel Pack, Mitchel Thorton. Atmel AVR microcontrollers primer:
programming and interfacing Morgan & Claypool publishers December 15, 2007.
2. Joe Pardue. C programming for microcontrollers featuring atmel´s AVR butrfly and the free
win AVRA compiler Smiley micros March 2005.
3. Richard H. Barnett, Sarah Cox, Larry O´cull. Embedded C programming and the atmel AVR
Cengage Delmar learning 2° edition june 6 2006
4. Jefte Usaim Maciel Hernández. AVR Alfaomega por publicarse en 2011
5. Santiago Espinisa Felipe, los microcontroladores AVR de Atmel. Universidad tecnológica de
la Mixteca Haujuapan de León Oaxaca 2012.

Páginas electrónicas

www.atmel.com

www.hobbyrobotic.org

www.youtube.microcontrollers avr.com
Capitulo 1

INTRODUCCIÓN

No creo que exista mercado para más de cinco computadoras en el mundo.

-Thomas Watson, Gerente general de IBM, 1943

No existe razón para que alguien desee tener una computadora en su casa.

-Ken Olson, presidente de la Digital Equipment Corporation, 1977

1.1 Introducción

Los microcontroladores están presentes en muchos de los productos electrónicos que se emplea
en la vida cotidiana. Existen en el mercado una gran variedad de modelos y una gran cantidad de
aplicaciones posibles. Sin embargo, a pesar de su diversidad, hay coincidencia en los principios de
funcionamiento y en las arquitecturas de muchos microcontroladores. En estos apuntes se
aprovecha esa coincidencia presente en la diversidad para aplicar los fundamentos del diseño y la
programación de los microcontroladores.

Sistemas incrustados (embedded system). Un sistema incrustado es una combinación de hardware


de computadora y software, y quizá partes mecánicas u otras partes, diseñadas para ejecutar una
función específica. Un buen ejemplo es el horno de microondas. Muchas amas de casa tiene uno,
unos diez millones de ellos son empleados todos los días, pero pocas personas se percatan que un
procesador y software están implicados en la preparación de sus alimentos.

Existe un contraste entre la computadora personal en el cuarto de estudio, ésta también está
compuesta de hardware y software y componentes mecánicas (manejador del disco, por ejemplo).
Sin embargo, una computadora personal no está diseñada para ejecutar una función específica. En
su lugar es capaz de realizar diferentes funciones específicas. En ocasiones se emplea el término
computadora de propósito general para establecer la distinción claramente. Los fabricantes de
computadoras personales no saben qué actividad le asignara el dueño de la PC. Algunos la pueden
emplear como servidor, otros sólo para juegos, o para escribir una novela.
Frecuentemente, un sistema incrustado es una componente dentro de un gran sistema, por
ejemplo automóviles modernos y camiones contiene muchos sistemas incrustados. Un sistema
incrustado controla el ABS (sistema de frenos con antibloqueo), otro vigila y controla la emisión de
gases contaminantes, un tercero muestra la información en el tablero.

Las computadoras personales en sí mismas están construidas de numerosos sistemas incrustados.


Por ejemplo, la computadora cosiste de un teclado, ratón, tarjeta de video, modem, manejador de
disco duro, tarjeta de sonido, cada uno de esos es un sistema incrustado. Cada uno de estos
dispositivos contiene un procesador y software y está diseñado para ejecutar una función
específica. Por ejemplo, el modem está diseñado para enviar y recibir datos digitales sobre un
canal analógico de una línea telefónica. Así se puede explicar cada uno de los sistemas
incrustados.

Si un sistema incrustado está bien diseñado, la existencia del procesador y el software pueden
pasar completamente desapercibidos para el usuario del dispositivo. Algunos ejemplos son, el
horno de microondas, el lector de películas, el lector de discos compactos, el reloj con alarma. En
algunos casos es posible construir el dispositivo equivalente que no contenga procesador y
software. Esto es puede ser realizado reemplazando la combinación procesador software, por un
circuito integrado que ejecute la misma función en hardware. Sin embargo, se perdería una gran
flexibilidad, ya que es mucho más fácil, y barato, cambiar unas pocas líneas de software a
rediseñar una pieza de hardware.

El objetivo de estos apuntes es enseñar la arquitectura y la programación de los


microcontroladores en general, tomando como ejemplo los microcontroladores AVR de ATMEL. La
documentación que ofrecen los fabricantes es tan abundante que su mero acopio ocuparía varios
volúmenes. En estos apuntes se han seleccionado los temas de forma que el estudiante adquiera
un panorama general pero al mismo tiempo detallado en base al microcontrolador seleccionado

1.1 Microcontrolador y microprocesador.

En este punto se estudian las características generales comunes a muchos microcontroladores. En


primer lugar se define que se entiende por microcontrolador y se establece su diferencia con el
microprocesador

Un microcomputadora. Se compone de tres bloques fundamentales: la CPU (de sus iníciales en


ingles), la memoria, la entrada y salida. Los bloques se conectan entre sí mediante grupos de líneas
eléctricas denominadas buses. Los buses pueden ser de direcciones (si transportan direcciones de
memoria o de entrada y salida), de datos (si transportan datos o instrucciones) o de control (si
transportan señales diversas).

La CPU es el “cerebro” de la microcomputadora y actúa bajo el control del programa almacenado


en la memoria. La CPU se ocupa de traer las instrucciones del programa desde la memoria,
interpretarlas y hacer que se ejecute. La CPU también incluye los circuitos para realizar las
operaciones aritméticas y lógicas elementales con los datos binarios, es la denominada ALU –
unidad aritmética lógica-.

En una microcomputadora, la CPU no es otra cosa que el microprocesador, el circuito capaz de


realizar las funciones antes mencionadas. Un microcontrolador es una microcomputadora en un
circuito integrado. Históricamente, los microcontroladores aparecieron con posteridad a los
microprocesadores y han tenido evoluciones independientes.

Los microprocesadores se han desarrollado fundamentalmente orientados al mercado de las


computadoras personales y las estaciones de trabajo, donde se requiere una elevada potencia de
cálculo, el manejo de gran cantidad de memoria y una gran velocidad de procesamiento. Un
parámetro importante en los microprocesadores es el tamaño de sus registros internos (8, 16,32 ó
64 bits), que determina la cantidad de bits que pueden procesar simultáneamente.

Los microcontroladores se han desarrollado para cubrir las más diversas aplicaciones. Se emplean
en la industria automotriz, en equipos de comunicaciones y de telefonía, en instrumentos
electrónicos, en equipos médicos e industriales de todo tipo, en electrodomésticos, en juguetes,
etcétera.

Los microcontroladores están concebidos para ser empleados en aplicaciones puntuales, es decir,
aplicaciones donde los microcontroladores deben realizar un pequeño número de tareas, al menor
costo posible. En estas aplicaciones el microcontrolador ejecuta un programa almacenado
permanentemente en su memoria, el cual trabaja con algunos datos almacenados temporalmente
e interactúa con el exterior a través de las líneas de entrada salida de que dispone. El
microcontrolador es parte de la aplicación: es un controlador incrustado o embebido en la
aplicación (embedded controller). En aplicaciones de cierta envergadura se utilizan varios
microcontroladores, cada uno de los cuales se ocupa de un pequeño grupo de tareas

Hay varias características que son deseables en un microcontrolador:

 Recursos de entrada salida


 Espacio optimizado
 El microcontrolador idóneo para la aplicación
 Seguridad en el funcionamiento del microcontrolador (watchdog)
 Bajo consumo
 Protección de los programas frente a copias

1.3 Arquitectura abierta y arquitectura cerrada.

Considerando la memoria y sus capacidades de expansión, cuando un microcontrolador está


acondicionado para tener acceso a memoria externa, se dice que tiene una arquitectura abierta,
en caso contrario, su arquitectura es cerrada. Con una arquitectura abierta, además de manejar
memoria externa, es posible manejar periféricos externos, mapeándolos en memoria de datos y
reservándoles un espacio de direcciones para su manejo.

Una arquitectura abierta es aquella que puede ampliarse después de la construcción de un


sistema, generalmente añadiendo circuitos adicionales, por ejemplo añadiendo módulos de
memoria o conectando al sistema principal un circuito integrado con un nuevo microprocesador.

En la arquitectura abierta, las especificaciones del sistema se hacen públicas, lo que permite que
otras empresas puedan fabricar los productos de expansión.

Una arquitectura cerrada es aquella que es lo opuesto a una abierta, es decir suelen utilizarse en
computadoras o equipos especializados que no requieren modificaciones o ampliaciones de
ningún tipo.

1.4 Arquitecturas RISC y CISC.

CISC (Complex Instruction Set Computer) y RISC (Reduced Instruction Set Computer) son dos
modelos generales de computadoras, desde el punto de vista de la concepción de su repertorio de
instrucciones, lo cual repercute directamente sobre la arquitectura del CPU. Una computadora
CISC tiene un repertorio de instrucciones complejo y una computadora RISC tiene un repertorio de
instrucciones sencillo.

Al aparecer los microprocesadores y los microcontroladores, la tendencia inicial fue proveerlos de


un repertorio de instrucciones lo más potente posible, de modo que el modelo predominante fue
el CISC. La complejidad de las instrucciones fue en aumento; en un mismo repertorio había
instrucciones que hacían operaciones simples, como por ejemplo mover un dato desde la memoria
a un registro de propósito especifico, junto a otras que efectuaban operaciones tan complejas
como mover una cadena de datos de un lugar a otro en la memoria. Las instrucciones tenían
diferente longitud y los modos de direccionamiento se hicieron cada vez más elaborados. Este
aumento en la complejidad de las instrucciones se reflejo, en la complejidad del hardware de la
CPU, en el que se hacía necesario dedicar un gran espacio del circuito integrado a la decodificación
y ejecución de instrucciones.

En la arquitectura RISC, la CPU dispone de un repertorio corto de instrucciones sencillas. Cada


instrucción puede realizar una operación muy simple, como mover un dato entre la CPU y la
memoria, pero a alta velocidad. Se puede lograr que todas las instrucciones tengan la misma
longitud. Hay pocos modos de direccionamiento de los datos y son aplicables a todas las celdas de
memoria de datos. La complejidad de la CPU disminuye, de modo que es fácil aumentar la
frecuencia del oscilador de la CPU y con ello la velocidad de las instrucciones. Como tiene menos
transistores, son más baratas de diseñar y producir. Desde mediados del octavo decenio del siglo
veinte, está ha sido la tendencia predominante en el diseño de los microprocesadores y
microcontroladores. Los microcontroladores AVR de ATMEL son un ejemplo de arquitectura RISC.
1.5 Comparación entre microcontroladores.

Tarea a realizar Tiempos empleados para desarrollar la tarea en µs


MSP 430 ATmega323 PIC18F452 Rabbit
TI Atmel Microchip 2000
Suma de 16 bits 27 40.4 71.6 63.6
Multiplicación de 16 bits 72.4 60.8 193 80
División de 16 bits 480 538 940 608
Multiplicación de 32 bits 182 191 344 286
Resta de 32 bits 57.2 75.6 76.4 172
Ordenamiento de burbuja 992 834 3330 6380
Movimiento y 6750 5800 12400 6360
comparación
de bloques de memoria
Saltos condicionales 131.2 143.6 169 242
Pushing & popping 314 258 412 426
Frecuencia de prueba 8 MHz 8 MHz 20 MHz 22.1 MHz

Tabla 1.1 comparativo entre diferentes familias de microcontroladores.

También podría gustarte