0% encontró este documento útil (0 votos)
23 vistas8 páginas

Informe

El informe detalla la programación de un microcontrolador PIC18F4550 para encender y apagar LEDs de forma secuencial, primero sin delay y luego con delay, para observar el efecto visual. También se describe un proyecto que utiliza el PIC18F4550 y un decodificador 74LS47 para mostrar números del 0 al 9 en tres displays de 7 segmentos. Se enfatiza la importancia de la temporización y la correcta conexión de los componentes para lograr un funcionamiento adecuado.

Cargado por

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

Informe

El informe detalla la programación de un microcontrolador PIC18F4550 para encender y apagar LEDs de forma secuencial, primero sin delay y luego con delay, para observar el efecto visual. También se describe un proyecto que utiliza el PIC18F4550 y un decodificador 74LS47 para mostrar números del 0 al 9 en tres displays de 7 segmentos. Se enfatiza la importancia de la temporización y la correcta conexión de los componentes para lograr un funcionamiento adecuado.

Cargado por

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

Informe #3 Sistemas Digitales I

Alumno: Steven Navarrete Chinga

Grupo: #1

Fecha: 12/05/2025
Encendido y Apagado secuencial de leds sin usar delays.
Encendido y apagado secuencial sin utilizar la función delay, con el objetivo de hacer
que las luces LED se enciendan y apaguen de forma continua.
Codigo:
#include<18f4550.h> // es el modelo del microcontrolador

#Fuses HS

#use delay (clock=20Mhz)


void main (void)
{
set_tris_d(0x00); // Estoy programando al puerto D todo como salida
while(true)
{
output_high(PIN_D0);
output_high(PIN_D1);
output_high(PIN_D2);
output_high(PIN_D3);
output_high(PIN_D4);
output_high(PIN_D5);
output_high(PIN_D6);
output_high(PIN_D7);

output_low(PIN_D7);
output_low(PIN_D6);
output_low(PIN_D5);
output_low(PIN_D4);
output_low(PIN_D3);
output_low(PIN_D2);
output_low(PIN_D1);
output_low(PIN_D0);

}
}

Este código debe ingresarse en PIC C Compiler,


donde primero lo compilamos para asegurarnos de
que no tenga errores. Una vez compilado, se genera
un [Link], el cual utilizaremos posteriormente
en el programa PICKit 3. Este programa nos permite
cargar el código al microcontrolador 18F4550
mediante un programador o quemador.
Una vez ya subido y verificado podemos hacer la conexión debidamente para que
funcione.

Observación:
Como se muestra en la imagen, el LED parece estar encendido de forma continua y no
apagarse. Esto ocurre porque no hemos implementado un delay, lo que provoca que el
encendido y apagado sucedan tan rápidamente que, debido a la limitación de nuestra
percepción visual, no lo notamos con claridad.

Funcionamiento:
El funcionamiento de este ejercicio fue completamente exitoso, ya que nos permitió
experimentar y comprender cómo influye la velocidad en el parpadeo de los LEDs.
Aunque a simple vista parece que las luces permanecen encendidas de forma
continua, en realidad están encendiéndose y apagándose a una velocidad tan alta que
el ojo humano no logra percibirlo claramente. Este experimento demuestra la
importancia del control de tiempos en sistemas digitales y cómo pequeños cambios en
la temporización pueden alterar significativamente la percepción del comportamiento
del hardware.
Encendido secuencial de leds + delay + apagado secuencial de los
mismos leds + delay.

En este caso, se requiere que las luces LED incluyan un delay en su programación con
el propósito de lograr una secuencia visible y continua de encendido y apagado. Al
incorporar esta pausa controlada entre los cambios de estado, es posible observar
claramente cómo cada LED se enciende y se apaga de forma secuencial. Esto no solo
mejora la visualización del comportamiento del sistema, sino que también permite
comprender mejor el uso de temporización en el control de dispositivos electrónicos.
Sin este delay, el parpadeo ocurre tan rápidamente que resulta imperceptible al ojo
humano, dando la falsa impresión de que los LEDs permanecen encendidos todo el
tiempo.
Código:

#include<18f4550.h>
#Fuses HS
#use delay (clock=20Mhz)

void main (void)


{
set_tris_d(0x00)
while(true)
{
output_high(PIN_D0);
delay_ms(20);
output_high(PIN_D1);
delay_ms(20);
output_high(PIN_D2);
delay_ms(20);
output_high(PIN_D3);
delay_ms(20);
output_high(PIN_D4);
delay_ms(20);
output_high(PIN_D5);
delay_ms(20);
output_high(PIN_D6);
delay_ms(20);
output_high(PIN_D7);
delay_ms(20);
output_low(PIN_D7);
delay_ms(20);
output_low(PIN_D6);
delay_ms(20);
output_low(PIN_D5);
delay_ms(20);
output_low(PIN_D4);
delay_ms(20);
output_low(PIN_D3);
delay_ms(20);
output_low(PIN_D2);
delay_ms(20);
output_low(PIN_D1);
delay_ms(20);
output_low(PIN_D0);
delay_ms(20);
}
}

Este código debe ser ingresado en el entorno


de desarrollo PIC C Compiler, donde primero se
compila para verificar que no existan errores.
Una vez completada la compilación, se genera
un archivo con extensión .hex. Este archivo es
esencial, ya que será utilizado posteriormente
en el programa PICKit 3, el cual permite
transferir el código al microcontrolador
PIC18F4550 mediante un programador
(quemador). De esta manera, el
microcontrolador puede ejecutar el programa
cargado.

Una vez ya subido y verificado podemos hacer la conexión debidamente para que
funcione.
Observación:
Si el delay no se implementa correctamente, los cambios de estado de los LEDs ocurren tan
rápido que parecen estar todos encendidos al mismo tiempo, lo que dificulta visualizar la
secuencia de encendido y apagado.

Funcionamiento:
El funcionamiento del encendido y apagado secuencial de LEDs con delay consiste en activar
cada LED de forma ordenada uno tras otro, introduciendo un pequeño retardo entre cada
encendido para que el cambio sea visible al ojo humano. Una vez que todos los LEDs están
encendidos, se procede a apagarlos en el mismo orden (o inverso), aplicando nuevamente un
delay entre cada apagado. Este proceso crea un efecto visual de barrido o secuencia luminosa
que permite entender mejor cómo controlar salidas digitales y aplicar temporización básica en
microcontroladores, como el PIC18F4550, usando instrucciones como __delay_ms() para
manejar los tiempos de espera entre cada acción.
Usando el uC 18F4550 y el decodificador 74LS47 (de BCD a display de 7
segmentos) mostrar los números del 0 al 9 en cada uno de los 3 displays.

Se Controlar la visualización numérica en un sistema de tres displays de 7 segmentos utilizando


el microcontrolador PIC18F4550 y el decodificador 74LS47, con el fin de mostrar los números
del 0 al 9 en cada display de forma secuencial o simultánea. Este proyecto busca comprender
cómo se comunican un microcontrolador y un decodificador BCD (Binary Coded Decimal) para
convertir datos binarios en representaciones numéricas visibles, así como practicar el manejo
de salidas digitales, multiplexado (si se aplica), y la sincronización necesaria para controlar
múltiples dispositivos de visualización.

Este código debe ser ingresado en


el entorno de desarrollo PIC C Compiler,
donde primero se compila para verificar
que no existan errores. Una vez
completada la compilación, se genera un
archivo con extensión .hex. Este archivo
es esencial, ya que será utilizado
posteriormente en el programa PICKit 3,
el cual permite transferir el código al
microcontrolador PIC18F4550 mediante
un programador (quemador). De esta
manera, el microcontrolador puede
ejecutar el programa cargado.

Una vez ya subido y verificado podemos hacer la conexión debidamente para que
funcione.
Observación:
Es importante asegurarse de que las conexiones entre el PIC18F4550, el 74LS47 y los
displays estén correctamente configuradas, especialmente en cuanto al tipo de display
(cátodo común). Además, si se opta por controlar los tres displays mediante
multiplexado, se debe considerar el tiempo de refresco adecuado para evitar
parpadeos visibles. La lógica de control también debe garantizar que los datos
enviados a cada display se mantengan sincronizados para evitar errores en la
visualización de los números.

Funcionamiento:
El sistema se basa en el uso del microcontrolador PIC18F4550 para enviar valores en
formato BCD (Binary Coded Decimal) al decodificador 74LS47, el cual se encarga de
convertir estos datos en señales compatibles con un display de 7 segmentos de cátodo
común. Cada vez que el microcontrolador envía un número binario del 0 al 9, el 74LS47
lo decodifica y activa las salidas correspondientes para iluminar los segmentos
correctos del display, mostrando así el número deseado. Este proceso se repite para
cada uno de los tres displays, que pueden ser controlados de forma individual o
mediante técnicas de multiplexado si se desea optimizar el uso de pines del
microcontrolador. El resultado es una visualización clara y secuencial (o simultánea,
dependiendo del diseño) de los números del 0 al 9 en cada uno de los tres displays.

También podría gustarte