Logo Studenta

PRÁCTICA DE LABORATORIO 1 Hello World 2022_compressed - Brigith Lojan

¡Este material tiene más páginas!

Vista previa del material en texto

FACULTAD DE ENERGÍA LAS INDUSTRIAS Y LOS
RECURSOS NATURALES NO RENOVABLES
Carrera Computación
LABORATORIO DE SISTEMAS DIGITALES
“HELLO WORLD CON
MICROCONTROLADORES”
Integrante(s)
Brigith Lojan
Gerardo Quizhpe
Cecilia Trueba
Loja - Ecuador
2022
ÍNDICE
I. INTRODUCCIÓN 3
II. OBJETIVOS. 3
III. MATERIALES Y MÉTODOS
IV. RESULTADOS 5
V. CONCLUSIONES Y RECOMENDACIONES 5
VI. BIBLIOGRAFÍA 5
VII. ANEXOS 7
I. INTRODUCCIÓN
La idea de la programación surge con la evolución de la electrónica y con ello los
primeros transistores a microcontroladores, a causa de la complejidad de la
electrónica, la tecnología ha hecho que los componentes cada vez sean más
pequeños y con mayor capacidad tanto en almacenamiento y funcionamiento.Los
lenguajes ensambladores llevan mucho tiempo entre nosotros.
Aunque hoy existen lenguajes de programación de alto nivel, todavía se sigue
utilizando el lenguaje ensamblador para la programación de dispositivos,
controladores de hardware y mucho más.
Además en los últimos años, la plataforma de desarrollo de Arduino ha crecido
notablemente. Esto se debe a su fácil manejo, contribuciones de hardware y
software e interés de empresas como Intel, Microsoft, Texas Instruments, etc., en
adaptar sus productos a esta plataforma.
Una de las tarjetas más usadas es la Arduino Uno, cuyo microcontrolador núcleo
es el atmega328p.El ATmega328P es un microcontrolador de arquitectura RISC
avanzado AVR de Atmel, de alto desempeño, bajo consumo y optimizado para
compiladores C.
Con la presente práctica hemos conocido las herramientas de Arduino y su
respectivo proceso de programación, tanto en Microchip Studio utilizando el
lenguaje ensamblador para el manejo de microcontroladores AVR, como al
simularlo en proteus .
Para comprobar la viabilidad de diversos sistemas de control de tráfico y así poder
comparar su funcionalidad, se decidió implementar un semáforo capaz de mostrar
su funcionamiento.
El diseño consiste en un semáforo, el cual tendrá tres leds que se encenderán y
apagaran en los segundos señalados. Es decir contará con tres luces (rojo,
amarillo, verde) la cual cumple la funcion de alertarnos con el significado de cada
uno de los colores del semaforo.
Este proyecto fue muy interesante ya que representa lo que sabemos de un
semáforo,que el rojo es para detenerce o parar, el amarillo representa cambio o
disminuya la velocidad del vehiculo y por ultimo verde representa siga o adelante.
II. OBJETIVOS.
Principal:
● Emplear lenguaje ensamblador para el manejo de microcontroladores AVR.
Específicos:
● Realizar la codificación del semáforo en microchip studio con el
microcontrolador ATMEGA328P
● Implementar y/o simular un semáforo en proteus
● Comprender las partes del microcontrolador ATMEGA328P
● Experimentar con los puertos de salida del microcontrolador ATmega328p.
● Utilizar herramientas de software para simular la operación del
microcontrolador.
● Armar el circuito en físico con la ayuda de la placa de desarrollo Arduino
Uno para el manejo de salidas de microcontroladores.
III. MATERIALES Y MÉTODOS
Materiales
• 1 Protoboard
• 1 Fuente de poder de +5V
• 1 Osciloscopio
• 1 Multímetro
• 1 Arduino Uno
• 1 Cable USB tipo B (programación de Arduino)
• N Cables Jumper macho – macho, o similar
• 3 Resistores de 330 Ω
• 1 Led verde
• 1 Led rojo
• 1 Led amarillo
• Software Microchip Studio
• Software Proteus
• Software XLoader
• Datasheets de ATmega328p.
• Datasheets de Arduino Uno.
Métodos
1. Cree un nuevo proyecto en ensamblador usando Microchip Studio.
2. Realice un programa en ensamblador que genere señales de salida que controlan un
semáforo con tres leds, con las siguientes características:
● Usar el microcontrolador ATMega328p, con la placa de desarrollo Arduino
Uno.
● Tener en cuenta el oscilador a emplear de 16 MHz.
● Usar los puertos PB0 (Rojo), PB1 (Amarillo), PB2 (Verde).
● La señal de salida debe mantener el LED Rojo encendido: 2 segundos
(apagados amarillo y verde), luego encender 1 segundo el LED amarillo
(apagados rojo y verde), luego encender 2 segundos el LED verde
(apagados amarillo y rojo).
● Usar subrutinas.
● Colocar comentarios dentro del código.
3. Genere el archivo .HEX y simule el mismo en Microchip Studio.
4. Realizar una simulación del código, programando el microcontrolador con el uso del
software Proteus.
5. Realice la programación del Arduino Uno y cargue el archivo .hex con la ayuda del
software XLoader.
6. Con la ayuda del docente en el laboratorio de Electrónica, mida las señal generada en
los puertos PB0, PB1, PB2 con el osciloscopio, y compruebe que los tiempos de
encendido y apagado sean los solicitados en el numeral 2.
IV. RESULTADOS
Se hizo uso de las instrucciones para la configuración del semáforo:
● LDI: Carga un valor constante a un registro determinado
● RJMP: Es un salto relativo, es decir salta en un rango que se encuentra en la
instrucción.
● DEC: Decrementa en 1 al registro de trabajo.
● BRNE: Salto condicionado.
● Etiquetas: que nos sirven para crear las subrutinas (L1. delay)
CODIFICACIÓN
En la codificación en emsamblador se configuro a los registros 16,17 y 18 como
las salidas de los leds, tmabien se cambio de nombre a los registro es decir el
R16(rojo), R17(amarillo), R18(verde).
SIMULACIÓN
En la herramienta proteus podemos simular el semáforo cargando el archivo hex, y
así poder ver su funcionamiento. Por lo que se procede a ocupar los pines de
salida declarados por Atmega328P, para PB0, PB1 y PB2.
Cargamos el archivo hex al xloader, ya que esta herramienta nos permite enviar el código
en ensamblador a nuestro Arduino.
Semáforo armado y funcionando.
CÁLCULOS REALIZADOS
En las primeras 100 vueltas que da la rutina se demora un tiempo de 18.6874 us.
t=18.6874 useg x (250) x (213) = 995.10405 ms ->0.99510405s
Por lo que se obtiene un aproximado a 1s : 995104.05 segundos.
CÁLCULOS OBTENIDOS
Se obtuvo un tiempo de duración de 1.2 s en cada led, realizados en el
osciloscopio.
V. CONCLUSIONES
HIPÓTESIS CONCLUSIÓN (EXTRACTO)
● La codificación del
semáforo presenta
diferentes opciones
para realizarla tanto
de manera física,
como simulada,al
utilizar diversas
herramientas que nos
permiten poner en
práctica nuestros
conocimientos sobre
sistemas digitales.
● La experimentación
con los puertos de
salida del
microcontrolador
ATmega328p es de
gran importancia
para los estudiantes
que están
aprendiendo sobre
sistemas digitales.
● Implementar un
semáforo tanto en
físico como simulado
permite conocer
cómo se generan las
señales de salida que
controlan un
semáforo con tres
leds.
● Podemos concluir que con la realización
de la práctica hemos utilizado las
herramientas como Microchip Studio
que nos sirvió para programar en
lenguaje ensamblador usando el
microcontrolador ATMega328p, la
herramienta Proteus que nos ayudó a
implementar y simular para luego
armar el circuito del semáforo en físico
.
● Podemos concluir que la frecuencia de
señal generada por el puerto PB0 fue
de 10 Hz esto se puede obtener con
ayuda del osciloscopio, de esta manera
hemos conocido sobre los distintos
puertos del microcontrolador
ATmega328p como fue el caso de los
puertos PB0, PB1 y PB2.
● Pudimos observar que la señal de
salida del LED Rojo encendido fue de 2
segundos (apagados amarillo y verde).
el LED Amarillo encendido fue de 1
seundo (apagados rojo y verde) y el
LED Verde encendido fue de 2
segundos (apagados amarillo y rojo).
VI. RECOMENDACIONES
● Tener en cuenta la frecuencia con la que trabaja el microcontrolador ATMEGA
328p y también el voltaje máximo que puede soportar.
● Verificar el datasheet para poder ver cuales son los pines de entrada y salida,
entre otros.
● Al realizar un programa en ensamblador se recomienda colocar comentarios
dentro del código, para poderse guíar con los demás compañeros que conforman
el grupo de trabajo.
● Usar programas (Proteus) que nos permitan simular los resultados obtenidos de la
codificación y así poder ir viendo cómo vamos y también poder corregiralgunos
errores.
VII. PREGUNTAS DE CONTROL:
¿Las señales generadas en los puertos PB son iguales si se usa otro valor
de oscilador?, explique.
No, porque si cambiamos el valor del oscilador nuestras señales de estado
van a cambiar ya que este convierte la energía de corriente continua en
corriente alterna de una determinada frecuencia.
¿Cuál es la frecuencia de la señal que se ha generado en el puerto PB0
medida en el osciloscopio?
La frecuencia generada en el osciloscopio es de 10 Hz
VIII. BIBLIOGRAFÍA
[1] A. Molina. (26 Mayo, 2016). “Microcontrolador ATmega328p”. Escuela Técnica
Superior de Tecnología e Informática. Disponible en:
https://docplayer.es/20816120-Programacion-del-microcontrolador-atmega328p.ht
ml
[2] J. González. (15 Junio, 2018). “Introducción a los microcontroladores y lenguaje
ensamblador”. Manual de microcontroladores. Disponible
en:https://www.unioviedo.es/ate/alberto/manualPic.pdf
[3] Santiago, F., Los Microcontroladores AVR de ATMEL, (2012): Universidad
Tecnológica de Mixteca: 978-607-95222-7-8
IX. ANEXOS
Semáforo implementado en el arduino 1, para luego realizar sus respectivas mediciones
en cada led con el osciloscopio.
https://docplayer.es/20816120-Programacion-del-microcontrolador-atmega328p.html
https://docplayer.es/20816120-Programacion-del-microcontrolador-atmega328p.html
https://www.unioviedo.es/ate/alberto/manualPic.pdf
Medición del led rojo
Medición del led amarillo
Medición del led verde

Continuar navegando

Otros materiales