ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Como es el Contador ascendente/descendente en assembler y c

Yetro Valenzuela CortesInforme10 de Noviembre de 2017

5.489 Palabras (22 Páginas)2.515 Visitas

Página 1 de 22

[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.

De la misma forma en que se necesitó de subrutinas para dar solución a los problemas planteados en el lenguaje ensamblador, en el lenguaje C se estudió la definición, declaración y llamada de funciones, para así poder aplicarlas y cumplir con los requerimientos de los problemas en cuestión.

Los montajes Nº1 y Nº2 realizados, los cuales están explicados de forma detallada en las secciones 4.2 y 4.3 respectivamente, de forma general plantean los siguientes objetivos:

Montaje Nº1: Hacer un contador de 0 a 999, en donde a través de interrupciones externas, realice las funciones pedidas, como por ejemplo pausar, cambiar el conteo de ascendente a descendente, entre otras cosas.

Montaje Nº2: Para este montaje se ocuparon los diodos LEDs como pieza fundamental; este montaje consistió en crear secuencias de encendido para los diodos, por consiguiente, se utilizaron las interrupciones externas del microcontrolador para ir cambiando las secuencias, conforme estas se activaban.

El informe se dividió en ocho secciones, en las cuales se van a hacer énfasis en dos de estas: marco teórico y desarrollo de la experiencia.

Marco teórico: Consistió en explicar la teoría detrás de cada montaje, por ende, se definió y detalló las funciones usadas en los programas, tales como interrupciones (lenguaje C y lenguaje ensamblador), definición, declaración y llamada de funciones (lenguaje C), llamadas a subrutina y gestión de pila (lenguaje ensamblador), y las diferentes formas de trabajar con las interrupciones: su organización, habilitación/inhabilitación y priorización.

Desarrollo de la experiencia: En esta sección del informe, se presentaron las resoluciones de los problemas planteados; para aquello se fue explicando el procedimiento de cada programación, haciendo hincapié en las funciones que se encontraban inmersas en el programa, así como las subrutinas que eran parte de las soluciones de los problemas.

Finalmente, este documento lo que busca es exhibir de forma exhaustiva la resolución de los problemas planteados; para esto se presentó los contenidos que abarca cada montaje en el marco teórico; luego se procedió a exponer de manera secuencial la solución de cada uno de los montajes, detallando cada una de las funciones y subrutinas de la programaciones pertinentes; la sección de las conclusiones exterioriza las observaciones e ideas fundamentales que se obtuvieron con la realización de cada uno de los montajes; en la sección de anexos, se muestra las programaciones hechas para cada montaje, para que así, el lector de este informe pueda replicar de forma exacta lo hecho en el laboratorio, sólo basándose en este documento como guía.

...

Descargar como (para miembros actualizados) txt (33 Kb) pdf (2 Mb) docx (452 Kb)
Leer 21 páginas más »
Disponible sólo en Clubensayos.com