Como es el Contador ascendente/descendente en assembler y c
Enviado por Yetro Valenzuela Cortes • 10 de Noviembre de 2017 • Informe • 5.489 Palabras (22 Páginas) • 2.465 Visitas
[pic 1]
UNIVERSIDAD DE TARAPACÁ[pic 2]
ESCUELA UNIVERSITARIA DE INGENIERÍA
ELÉCTRICA – ELECTRÓNICA
SEDE ESMERALDA
IQUIQUE – CHILE
2º Módulo de Microprocesadores
Alumnos: Bastián Bolados
Álvaro Muñoz
Yetro Valenzuela
Asignatura: Laboratorio III
Académico: Sr. Omar Quezada
Fecha de realización: 13-09-2017
Fecha de entrega: 18-10-2017
Índice
Contenido Página
1. Resumen 1
2. Introducción 2
3. Marco teórico 3
3.1 Conceptos 3
3.2 Descripción de los puertos y su configuración como entrada/salida 4
3.3 Organización de las interrupciones 4
3.4 Habilitación/inhabilitación de las interrupciones 5
3.5 Priorización de las interrupciones 5
3.6 Software Proteus 5
3.7 Fases para crear y usar una tabla 6
4. Desarrollo 8
4.1. Listado de materiales 8
4.2 Contador con displays de 7 segmentos 8
4.3 Secuencia de encendido de diodos LED. 9
5. Conclusiones y observaciones 14
5.1 Montaje N°1. 14
5.2 Montaje N°2. 14
6. Referencias bibliográficas 16
7. Anexos 17
7.1 Anexo N°1. Contador ascendente ASM. 17
7.2 Anexo N°2. Contador descendente ASM. 18
7.3 Anexo N°3. Contador ascendente ASM con dos interrupciones. 19
7.4 Anexo N°4. Contador ascendente lenguaje C. 21
7.5 Anexo N°5. Contador descendente lenguaje C. 21
7.6 Anexo N°6. Contador ascendente lenguaje C con dos interrupciones. 22
7.7. Anexo Nº7. Secuencia de Leds (Assembler) 24
7.8. Anexo Nº8. Secuencia de Leds (C). 24
7.9. Anexo Nº9. Secuencia de Leds dependiendo del estado de P2. 25
7.10. Anexo Nº10. Secuencia de Leds con interrupciones en assembler. 26
1. Resumen
Para la realización de la experiencia de laboratorio, se llevaron a cabo dos montajes; estos consistían en hacer un contador que contara desde 0 hasta 999, mientras que el otro requería trabajar con los puertos de la placa como salida mostrando diferentes secuencias de encendido de luces leds. La particularidad de este módulo de microprocesadores era que se debían usar las interrupciones en ambos montajes para que la placa de desarrollo actuara conforme a los requisitos que se pedían.
La aplicación de las interrupciones dentro de los programas hechos en lenguaje ASM y C fue el objetivo principal de esta experiencia. Para llevar a cabo estas programaciones, se usó el programa Keil uVision5 para programar; después se procedió a crear un esquemático en el programa Proteus para tener la simulación del microcontrolador y sus respectivos periféricos; luego se efectuó la inclusión del archivo hexadecimal de la programación en el software Proteus, por lo que se podía observar si el microcontrolador funcionaba como estaba supuesto. Finalmente, cuando la simulación funcionaba de manera correcta, se cargaba el archivo hexadecimal en la placa de desarrollo, corrigiendo los errores de programación en caso de que hubiese.
2. Introducción
En el presente informe se trataron temas tales como la descripción de los puertos y su configuración, tanto como entrada y salida del microcontrolador 8051 (específicamente se utilizó el microcontrolador AT89S8253). También se trabajó con las interrupciones; para utilizar de manera correcta estas interrupciones había que conocer la dirección en las que estas se encontraban para, de esta forma, poder llamarlas y emplearlas. Para resolver los problemas impuestos en el lenguaje ensamblador o Assembler (ASM), se hizo uso de subrutinas y de la gestión de pila (stack), además de las funciones PUSH y POP.
...