Laboratorio : Entrada por método de puertos paralelos y memoria externa
Enviado por JOSE ALEJANDRO DOMINGUEZ LARRAHONDO • 22 de Mayo de 2024 • Trabajo • 6.132 Palabras (25 Páginas) • 61 Visitas
Reemplazar esta línea con su número de documento de identificación (hacer doble clic aquí para editar) <
[1]
Laboratorio 1: Entrada por método de puertos paralelos y Memoria externa
Jose Alejandro Dominguez Larrahondo, Codigo:2190081
Resumen - Estas instrucciones le dan las directrices para la preparación de documentos para IEEE TRANSACTIONS y JOURNALS. Use este documento como una plantilla si está utilizando Microsoft Word 6.0 o posterior. En caso contrario, utilice este documento como un conjunto de instrucciones. El archivo electrónico de su documento será estructurado por la IEEE. Definina todos los símbolos utilizados en el resumen. No citar referencias en el resumen. No elimine la línea en blanco inmediatamente encima del resumen; Establezca la nota de pie de página en la parte inferior de esta columna.
Palabras claves :Interrupciones, Timer compuertas, Amplificador operacional
Índice de Términos - Alrededor de cuatro palabras o frases clave en orden alfabético, separadas por comas. Para obtener una lista de palabras claves sugeridas, envíe un correo en blanco a keywords@ieee.org o visite el sitio web de IEEE en http://www.ieee.org/organizations/pubs/ani_prod/keywrd98.txt
- introduccion
En este laboratorio, se explorará el uso avanzado del microcontrolador ATMEGA2560 para implementar un generador de señales en lenguaje ensamblador. El objetivo principal es desarrollar un sistema que pueda generar cuatro tipos diferentes de señales (cuadrada, triangular, diente de sierra y sinusoidal) y permita al usuario seleccionar la señal deseada mediante un pulsador. Cada tipo de señal tendrá un período de 350 ms, lo que requiere una precisa gestión del tiempo utilizando interrupciones de temporizador. Además, la selección de la señal se indicará en una pantalla de 7 segmentos.
La implementación del sistema aprovechará tanto las capacidades de los puertos paralelos del microcontrolador como la interfaz de memoria externa. La primera versión del proyecto utilizará los puertos paralelos para la comunicación con el display y el convertidor digital-analógico (DAC), mientras que la segunda versión empleará la memoria externa para estos dispositivos, ofreciendo una profunda comprensión sobre la gestión de periféricos a través de diferentes métodos de acceso.
- Procedimiento para el envió del trabajo
- DESCRIPCIÓN DE LABORATORIO
En este laboratorio, se desarrollará un generador de señales utilizando el microcontrolador ATMEGA2560, implementado en lenguaje ensamblador. El generador permitirá seleccionar entre cuatro tipos de señales: cuadrada, triangular, diente de sierra y sinusoidal. La selección de la señal se realizará mediante un pulsador, que al ser presionado, cambiará la señal activa a la siguiente en la secuencia. Para indicar qué señal está activa, se utilizará una pantalla de 7 segmentos que mostrará el número correspondiente a la señal actual: 1 para cuadrado, 2 para triangular, 3 para diente de sierra y 4 para sinusoidal.
El programa requerirá la utilización de interrupciones tanto para la detección del pulsador como para la temporización. El periodo de cada señal será de 350 ms, controlado mediante interrupciones de un temporizador para asegurar la precisión del periodo de muestreo. La detección del cambio de señal mediante el pulsador se gestionará a través de interrupciones externas, garantizando una respuesta rápida y eficiente al evento del pulsador.
La solución se presentará en dos versiones. En la primera versión, la comunicación entre el microcontrolador y la pantalla de 7 segmentos, así como el convertidor digital-analógico (DAC), se realizará a través de los puertos paralelos del microcontrolador. En la segunda versión, tanto el display como el DAC se accederán como dispositivos de memoria de datos externos, utilizando los buses de datos, direcciones y control del microcontrolador. Se proporcionará un mapa de memoria detallado para esta solución, especificando cómo se asignan las direcciones de memoria para el acceso a los dispositivos. Esta estructura permitirá un manejo eficiente y organizado de los recursos del sistema, facilitando la generación precisa de las señales requeridas.
- Primera Solución
En la primera solución del laboratorio, se desarrollará un generador de señales utilizando el microcontrolador ATMEGA2560, donde la comunicación con el display de 7 segmentos y el convertidor digital-analógico (DAC) se realizará a través de los puertos paralelos del microcontrolador. Mediante un pulsador, el usuario podrá seleccionar entre cuatro tipos de señales (cuadrada, triangular, diente de sierra y sinusoidal), con cada selección mostrada en la pantalla. El control del periodo de 350 ms de las señales se gestionará mediante interrupciones de temporizador, y las interrupciones externas se utilizarán para detectar los eventos del pulsador, asegurando una operación precisa y eficiente del sistema.
Procedemos primero a realizar el cálculo para precargar el temporizador teniendo en cuenta que el periodo es de 350 ms, se uso esta formula para encontrar el tiempo adecuado
[pic 1]
Esta forma nos da un valor en hexadecimal de 0xBBA4
Procedemos a mostrar el código de la solución:
CODIGO:
.ORG 0x0000
JMP Inicio
.ORG 0x0002
JMP Int_Externa0 ; Interrupción del pulsador 1
.ORG 0x0028
JMP InterrupcionT1; Desbordamiento del Timer 1
0x0000 Dirección de memoria
Da un salto a Inicio
0x0002 Dirección de memoria
Da un salto a Int_Externa0
0x0028 Dirección de memoria
Da un salto a InterrupcionT1
LDI R16, 0xFF
OUT DDRB, R16; Define el Puerto B como salida
LDI R18, 0xFF
OUT DDRA, R18
LDI R17, 0xFF; Inicializa el valor del puerto B
OUT PORTB, R17; Escribe el dato almacenado en R17 en el Puerto B
LDI R18, 0xFF; Inicializa el valor del puerto B
OUT PORTA, R18; Escribe el dato almacenado en R17 en el Puerto B
La etiqueta Inicio configura los puertos de salida del
microcontrolador, se establece un valor específico en el puerto
PORTA para el diplay 7 segmentos y se configuran los puertos DDRA y DDRB como salidas.
...