0% encontró este documento útil (0 votos)
49 vistas12 páginas

Angel David Sepulveda Alvarado ITS 1846885 Nicolás Alday Esparza ITS 1862172 Kristopher Torres Vega ITS

La práctica se centra en el uso de herramientas de simulación electrónica para desarrollar un microcontrolador ATmega328P que controle LEDs. Se abordan conceptos clave como registros de configuración y estado de salida, así como el uso de Microchip Studio para programar en C. Los estudiantes aprenden sobre la importancia de la depuración y el uso de capacitores de desacoplo en circuitos electrónicos.

Cargado por

j856zbgmyr
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
49 vistas12 páginas

Angel David Sepulveda Alvarado ITS 1846885 Nicolás Alday Esparza ITS 1862172 Kristopher Torres Vega ITS

La práctica se centra en el uso de herramientas de simulación electrónica para desarrollar un microcontrolador ATmega328P que controle LEDs. Se abordan conceptos clave como registros de configuración y estado de salida, así como el uso de Microchip Studio para programar en C. Los estudiantes aprenden sobre la importancia de la depuración y el uso de capacitores de desacoplo en circuitos electrónicos.

Cargado por

j856zbgmyr
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 PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD AUTÓNOMA DE

NUEVO LEÓN

FACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA

Controladores y Microcontroladores

Practica No.01

Matricula Nombre Carrera

1945385 Angel David Sepulveda Alvarado ITS

1846885 Nicolás Alday Esparza ITS

1862172 Kristopher Torres Vega ITS

Periodo: Enero – Junio 2024


Grupo: 003
Profesor: Ing. David Tadeo Correa Aguilar

San Nicolás de los Garza, N.L., a Miércoles 21 de Febrero del 2024


Introducción
En esta práctica, se nos introduce al uso de herramientas de simulación electrónica
como Proteus y Microchip Studio. Estas herramientas serán fundamentales para el
desarrollo de un microcontrolador ATmega328P capaz de generar salidas para
encender LEDs. El ATmega328P es un microcontrolador de la familia AVR de Atmel
(ahora adquirida por Microchip Technology) y es ampliamente utilizado en el ámbito
de la electrónica embebida.

Para controlar los puertos y periféricos del microcontrolador, se utilizan registros


especiales. En el caso del ATmega328P, estos registros incluyen DDRB, DDRC y
DDRD para configurar los puertos B, C y D respectivamente como salidas. Además,
se emplean los registros PORTB, PORTC y PORTD para controlar el estado de las
salidas.

En esta práctica, aprenderemos a programar en lenguaje C utilizando Microchip


Studio y configuraremos estos registros del ATmega328P para establecer cada
puerto como una salida. El objetivo final es diseñar un sistema que permita encender
un LED desde cada puerto del microcontrolador. Esta aplicación práctica nos
permitirá entender cómo interactuar directamente con los registros del
microcontrolador para controlar dispositivos externos, sentando las bases para
proyectos más complejos en el futuro.
Diagrama de flujo del código
Marco Teórico
Esta práctica recopila el uso de varias herramientas digitales, para la realización de
la misma podemos emplear microcontroladores, registros, software para la creación
de simulación electrónica y entro otros que se recopilan enseguida:

1. Microcontrolador ATmega328P: El ATmega328P es un microcontrolador


de 8 bits de la familia AVR fabricado por Microchip Technology. Es
ampliamente utilizado en proyectos de electrónica embebida debido a su
versatilidad, bajo consumo de energía y facilidad de programación.
2. Puertos de E/S (Entrada/Salida): Los microcontroladores AVR, incluido el
ATmega328P, tienen varios puertos de E/S que pueden configurarse como
entradas o salidas. En esta práctica, nos enfocaremos en los puertos B, C y
D del ATmega328P para generar salidas y controlar LEDs.
3. Registros de Configuración de Dirección (DDRx): Estos registros se
utilizan para configurar los pines del microcontrolador como entradas o
salidas. En nuestro caso, configuraremos los bits correspondientes en los
registros DDRB, DDRC y DDRD para definir los pines como salidas.
4. Registros de Estado de Salida (PORTx): Estos registros se utilizan para
controlar el estado de los pines configurados como salidas. Escribir un valor
en estos registros determina si un pin correspondiente se establece en alto
(encendido) o bajo (apagado). Utilizaremos los registros PORTB, PORTC y
PORTD para encender y apagar los LEDs conectados a los puertos B, C y
D, respectivamente.
5. Herramientas de Simulación Electrónica: Utilizaremos herramientas de
simulación electrónica como Proteus y Microchip Studio para simular el
funcionamiento del circuito y el código que desarrollaremos. Estas
herramientas nos permiten probar y depurar nuestro diseño antes de
implementarlo en hardware físico.

Este marco teórico proporciona una visión general de los componentes y


herramientas que utilizaremos en la práctica, sentando las bases para el desarrollo
del proyecto y la comprensión de cómo interactúan entre sí.
Imagen del código del programa en microchip
Circuito en Proteus

Link del funcionamiento del Circuito:

https://youtu.be/BrYTQTCpF5s
Cuestionario
• ¿Qué es un registro?
Un registro en un microcontrolador es una pequeña área de almacenamiento de
datos dentro del propio chip. Es como una casilla individual en la memoria del
microcontrolador, donde se pueden guardar valores temporales o información de
configuración. Entre sus principales características tenemos que:
• Tamaño: Los registros son pequeños, generalmente de 8, 16 o 32 bits de
ancho.
• Velocidad: Son mucho más rápidos que la memoria RAM normal del
microcontrolador.
• Acceso: Se puede acceder a ellos directamente por las instrucciones del
programa.
• Tipos: Hay diferentes tipos de registros, cada uno con un propósito
específico. Algunos tipos comunes son:
o Registros de propósito general: Se pueden usar para almacenar
cualquier tipo de dato.
o Registros de puntero: Almacenan la dirección de memoria de otro
dato.
o Registros de índice: Se usan para acceder a elementos en una
matriz.
o Registros de estado: Contienen información sobre el estado actual
del microcontrolador.
Funciones

• Almacenan datos temporales que se utilizan en cálculos o operaciones.


• Almacenan información de configuración para los periféricos del
microcontrolador.
• Controlan el flujo del programa.
• Almacenan el estado del programa, como el valor del contador de
programa.
• ¿Para que sirve el pin
RESET?
El pin "RESET" en un microcontrolador tiene dos funciones principales:
1. Reiniciar el microcontrolador:
• Cuando se lleva el pin "RESET" a tierra (GND), se reinicia el
microcontrolador. Esto significa que el microcontrolador comienza a ejecutar
su programa desde el principio.
• Esta función se utiliza para:
o Corregir errores en el programa.
o Iniciar el programa desde el principio.
o Sacar el microcontrolador de un estado de espera.
2. Permitir la programación del microcontrolador:
• En algunos microcontroladores, el pin "RESET" también se utiliza para
permitir la programación del microcontrolador.
• Cuando se lleva el pin "RESET" a un voltaje específico, el microcontrolador
entra en modo de programación.
• En este modo, el microcontrolador puede recibir nuevos programas a través
de un puerto de programación.
• Menciona una diferencia entre el lenguaje Ensamblador y C.

Nivel de abstracción:

• Ensamblador: Es un lenguaje de bajo nivel que se asemeja al código


máquina que el microcontrolador entiende directamente. Se trabaja con
instrucciones muy específicas para el hardware, como mover datos entre
registros o realizar operaciones matemáticas.
• C: Es un lenguaje de alto nivel que ofrece un nivel de abstracción mayor que
el ensamblador. Permite escribir código más genérico e independiente del
hardware, utilizando conceptos como variables, funciones y estructuras de
control.

Aquí dejo un ejemplo de como se ve la diferencia de código entre Ensamblador y el


lenguaje C:

Ensamblador
LDA #$05 ; Carga el valor 5 en el acumulador
STA $0200 ; Almacena el valor en la dirección de memoria $0200

C
int main ()
{
int x = 5;
x++;
return 0;
}
• ¿Cuál es el uso de la herramienta “debbuging” en Microchip Studio?

La herramienta de depuración en Microchip Studio te permite ejecutar tu programa


paso a paso, examinando variables y registros, y observando el comportamiento del
microcontrolador en tiempo real. Esto facilita la identificación y corrección de errores
en tu código.

Las principales funcionalidades de la herramienta de depuración son:

• Ejecución paso a paso: Puedes


ejecutar tu programa línea por
línea, observando cómo cambian los
valores de las variables y registros
después de cada instrucción.
• Puntos de interrupción: Puedes
establecer puntos de interrupción en tu
código para que el programa se detenga
en una línea específica, permitiéndote
examinar el estado del programa en ese
punto

• Examen de variables y registros: Puedes ver el valor de cualquier variable


o registro en tu programa, lo que te ayuda a identificar errores en la lógica de
tu código.
• Modificación de variables y registros: Puedes modificar el valor de
variables y registros mientras el programa está en ejecución, lo que te
permite probar diferentes escenarios y corregir errores.
• Observación de la pila de llamadas: Puedes ver la pila de llamadas para
ver qué funciones se están ejecutando en ese momento, lo que te ayuda a
comprender el flujo de control de tu programa.

La herramienta de depuración es una herramienta esencial para cualquier


desarrollador que trabaje con microcontroladores. Te permite encontrar y
corregir errores de forma rápida y eficiente, lo que te ayuda a ahorrar tiempo y
esfuerzo.
• ¿Para que sirve el capacitor de desacoplo en el
esquemático?

Un capacitor de desacoplo, también conocido como capacitor de bypass, tiene dos


funciones principales en un circuito electrónico:

1. Reducir el ruido eléctrico:

Los componentes electrónicos generan ruido eléctrico, que son pequeñas


fluctuaciones de voltaje no deseadas. Estas fluctuaciones pueden afectar el
funcionamiento del circuito y causar errores.

El capacitor de desacoplo actúa como un filtro, almacenando energía y liberándola


cuando sea necesario para suavizar las fluctuaciones de voltaje. Esto ayuda a
reducir el ruido eléctrico y mejorar la estabilidad del circuito.

2. Proporcionar un suministro de energía local:

Los componentes electrónicos necesitan una fuente de energía constante para


funcionar correctamente. Sin embargo, la impedancia de los cables y pistas de la
placa de circuito impreso (PCB) puede causar caídas de voltaje en la fuente de
alimentación.

El capacitor de desacoplo actúa como un pequeño depósito de energía local,


almacenando energía y liberándola cuando sea necesario para compensar las
caídas de voltaje. Esto ayuda a asegurar que los componentes electrónicos reciban
un suministro de energía constante y confiable.

Referencias

[1] MIKROE, «Principales Registros,» MikroElektronika, 15 01 2024. [En línea]. Available:


https://www.mikroe.com/ebooks/microcontroladores-pic-programacion-en-c-con-
ejemplos/principales-registros-sfr. [Último acceso: 21 02 2024].
[2] J. A. G. V, «Manual de Microcontroladores,» None, 24 05 2015. [En línea]. Available:
https://www.unioviedo.es/ate/alberto/manualPic.pdf. [Último acceso: 21 02 2024].
Conclusiones

Angel David Sepulveda Alvarado

He aprendido mucho sobre los microcontroladores y su funcionamiento. He


descubierto la importancia de los pines, cómo usar el pin de reinicio, las diferencias
entre el ensamblador y C, la utilidad de la herramienta de depuración en Microchip
Studio y la función del capacitor de desacoplo.

Me ha sorprendido la complejidad de la electrónica y la programación de


microcontroladores, pero también me ha fascinado su potencial. Estoy emocionado
de seguir aprendiendo y explorando este campo, y espero poder usar mis
conocimientos para crear proyectos increíbles en el futuro.

Nicolás Alday Esparza

Me pareció muy interesante esta práctica ya que aprendimos sobre el chip


Atmega328p, sus principales características y puertos, además de cómo podemos
usar cada uno de ellos, me pareció interesante la sintaxis de programación para
este tipo de componentes a comparación de la sintaxis de programación tradicional,
con esta forma de programar es un poco más difícil su entendimiento, pero con ello
podemos tener más control sobre los componentes que estaremos manipulando.

Kristopher Torres Vega

En conclusión, la práctica de configuración de puertos ha sido fundamental para


establecer una comunicación efectiva entre los componentes en Proteus. La
asignación precisa de los puertos B, D y C, junto con conexiones coherentes, ha
permitido simular con éxito la interacción deseada.

También podría gustarte