Está en la página 1de 25

Interfaces Digitales

PRÁCTICA 1
DE 01 A 06
Marco Antonio Ramirez Barrientos

Mariana Escudero Rodriguez


Isai Josue Rios Rosas
Axel Solano Guadarrama
Miguel Angel Urcid Hernandez

02 DE SEPTIEMBRE 2023
Objetivo
Utilizar el lenguaje C en el programa “mikroC PRO for PIC” para su ejecución en la
tarjeta “Miuva PIC18F45K50” y el grabado de código en el microcontrolador usando
“PICkit 2”. Así como aprender a simular en “Proteus” para visualizar el resultado
esperado como también comprobar si el código es correcto antes de llevarlo a la parte
práctica.

Estas prácticas buscan proporcionar una comprensión sólida de los conceptos clave
de programación de microcontroladores, incluyendo la manipulación de pines GPIO, la
gestión de tiempos y la visualización de información en displays de 7 segmentos. Nos
ayuda a proporcionar una base sólida en la programación de microcontroladores así
como la implementación de algoritmos más complejos para abordar proyectos más
avanzados y diversas aplicaciones de los microcontroladores.
Introducción
La tarjeta miuva, cuenta con un microprocesador, con el cual podemos realizar una
gran cantidad de proyectos, a diferencia de otros microcontroladores, como la STM,
esta tarjeta no cuenta con un software dedicado a su programación donde se pueda
ejecutar el código, si no que se tiene que hacer uso tanto de un compilador como de
un interprete del programa, con uso de nuestro compilador obtenemos el código en
hexadecimal, el cual podrá ser ejecutado por nuestra tarjeta, como primer
acercamiento al uso y manejo de esta tarjeta se realizaron 5 prácticas y una extra, las
cuales consisten en la programación de los puertos para controlar los leds y un display
de 7 segmentos.
Lista de materiales

Tarjeta de desarrollo Miuva Cable micro usb de


PIC18F45K50 transferencia de datos

Display de 7 segmentos
Módulo LED
cátodo común

Jumpers
Desarrollo Práctica 01
LedsBlink
En esta primera práctica se llevó a cabo la creación de un programa en la aplicación
de MikroC Pro form Pic, este programa se hizo con el fin de que induciéndolo en la
tarjeta Miuva prenda ocho leds y los mantenga encendidos por un tiempo determinado
para luego apagarlos por otro tiempo determinado y volverlos a encender.

1.1 Código de la práctica

Una vez hecho el programa se hizo la conexión, conectando los ocho leds a los ocho
pines B de 0-7, usando una resistencia de 330 ohms en cada led

1.2 Esquemático de la práctica

La tabla de verdad del funcionamiento de la práctica

1.3 Tabla de verdad


Resultados
Como en la práctica se utilizó un módulo led, no fueron necesarias las resistencias de
330 ohms, como se realizó en Proteus.

Como resultado tenemos un módulo de 8 leds que encienden y se apagan cada 500
mili segundos, el cual se apagará hasta detener el programa.

1.4 Resultado prácticos

PROTEUS PRÁCTICA
Desarrollo Práctica 02
Contador Binario 8 Bits
En esta segunda practica se creo un código que fuera un contador de 8 bits, estos
ocho bits estarían representados físicamente en 8 leds que prenderían según como
fuera la cuenta, todo esto programado en un tiempo de 10 segundos

2.1 Codigo de la práctica

La construcción del circuito para esta practica es igual a la de la primera practica,


conectando los 8 pines de la sección B con los 8 leds con una resistencia de 330 ohms

2.2 Esquematico de la práctica


La tabla de verdad del funcionamiento de la práctica

3.3 Tabla de verdad


3.3.1 Tabla de verdad
Resultados
Como resultado tenemos un módulo de 8 leds que realiza un conteo de forma binaria y
se ve reflejado por medio del modulo LED y el tiempo del conteo de 0 hasta 255 y el
tiempo de operacion coincide con los 10 segundos que estimamos usando la funcion
“Delay_ms” y ”Delay_us”

2.4 Resultado prácticos

PROTEUS PRÁCTICA
Desarrollo Práctica 03
Led Shift
En esta practica escribimos un código el cual en el primer ciclo prende los pines B y el
segundo ciclo compara cada uno de los pines y los va apagando uno por uno

3.1 Codigo de la práctica

La construcción del circuito para esta practica es igual a la de la primera practica,


conectando los 8 pines de la sección B con los 8 leds con una resistencia de 330 ohms

3.2 Esquematico de la práctica


La tabla de verdad del funcionamiento de la práctica

3.3 Tabla de verdad


Resultados
Como resultado tenemos un módulo de 8 leds que realiza un efecto vizual conocido
como Shift que consiste en una secuancia lineal de encendido hacia una direccion y al
momento de completar todos los Leds comienzan a apagarse en la misma secuencia.

3.4 Resultado prácticos

PROTEUS PRÁCTICA
Desarrollo Práctica 04
Display01
En esta practica se hizo un programa con el cual se quiere hacer un contador que
prenda un Display que vaya mostrando una cuenta de 0 a 9, en este programa cada
linea de código prendía los pines indicados para escribir cada uno de los segmentos
del Display para formar un numero, después se escribía un delay y se seguía con el
siguiente numero, causando asi que el programa fue de varias lineas

4.1 Codigo de la práctica


La conexión del circuito es del lado de los pines D pues esos son los que se
configuraron, cada pin desde el 0 al 7 se conectaron a cada segmento
correspondiente con una resistencia de 1k ohm

4.2 Esquematico de la práctica


La tabla de verdad del funcionamiento de la práctica

4.3 Tabla de verdad


Resultados
Como resultado tenemos un Display de 7 Segmentos que realiza un conteo de 0 hasta
9 y se reinicia, esto fue programado asignando los valores de cada numero de forma
hexadecimal seguidos de un delay

4.4 Resultado prácticos

PROTEUS PRÁCTICA
Desarrollo Práctica 05
Display02
En esta practica se volvio a hacer el codigo de la practica anterior con la diferencia de
que este es mas corto ya que se usa una funcion nueva llamada “unsigned short dato”
el cual ayuda a que se puedan poner cada uno de las configuraciones de los pines en
una sola linea

5.1 Codigo de la práctica

La conexión del circuito es del lado de los pines D pues esos son los que se
configuraron, cada pin desde el 0 al 7 se conectaron a cada segmento
correspondiente con una resistencia de 1k ohm

5.2 Esquematico de la práctica


La tabla de verdad del funcionamiento de la práctica

5.3 Tabla de verdad


Resultados
Como resultado tenemos un Display de 7 Segmentos que realiza un conteo de 0 hasta
9 y se reinicia, esto fue programado asignando los valores en hexadecimal a una
variable de tipo vector dentro de un ciclo “For” para su visualizacion.

5.4 Resultado prácticos

PROTEUS PRÁCTICA
Desarrollo Práctica 06
Display03 (Extra)
En esta práctica extra se va a imprimir la frase “Hola_mundo” letra por letra, este
programa solo se copio de la práctica anterior y se modifico los pines que se tenían
que prender, esto lo hicimos viendo los segmentos que prendia cada pin haciendo que
cada letra de la frase

6.1 Codigo de la práctica

La conexión del circuito es del lado de los pines D pues esos son los que se
configuraron, cada pin desde el 0 al 7 se conectaron a cada segmento
correspondiente con una resistencia de 1k ohm

6.2 Esquematico de la práctica


La tabla de verdad del funcionamiento de la práctica

6.3 Tabla de verdad


Resultados
La practica consistía en emplear lo aprendido de las anteriores 2, donde se usaba el
display de 7 segmentos, para ello se dio el reto extra de imprimir en el display de siete
segmentos la frase “HOLA_mundo”, haciendo uso de la tabla de verdad, determinamos
el valor en hexadecimal de los segmentos que deseamos activar, necesario para
programar nuestras salidas. En un principio existieron algunos problemas a la hora de
convertir nuestros valores a hexadecimal, dándonos como resultado la activación de
segmentos erróneos o el que no se activaran los deseados, al igual que comprobamos
que el delay afecta un poco en el funcionamiento del display.

Al final cumplimos con el reto y haciendo uso del código de la cuarta practica, se nos
facilito la realización del reto

6.4 Resultado prácticos

PROTEUS PRÁCTICA
Conclusiones
Mariana: A pesar de que era una tarjeta que no había utilizado antes, cada una de las
prácticas me resultó muy fácil su comprensión, puesto que ya tenía conocimientos
previos a los temas vistos en cada código. De la misma manera, en Proteus comprendí
todas las conexiones, ayudó mucho la previa explicación del profesor sobre los pines
de la tarjeta, para qué servía cada uno, dónde estaban ubicados y un poco de la
datasheet.
Haberlo simulado en Proteus antes, ayudó mucho en el resultado esperado. El único
código en el que tuvimos un poco de problemas fue el del display de 7 segmentos, en
el cual tenía que imprimir “HOLA_mundo”. Ya que en la tabla que hice para convertir de
binario a hexadecimal, los segmentos los estaba acomodando al revés. Lo bueno que
en la corrección del código era hacer cambios fáciles y rápidos.

Isai: Me encontré con una tarjeta que no había utilizado previamente. Sin embargo,
pude aplicar mis conocimientos previos en programación, escritura en hexadecimal y
simulación, lo que hizo que la comprensión de los conceptos fuera más accesible.
La orientación del profesor y la posibilidad de simular circuitos en Proteus resultaron
fundamentales para entender las conexiones y la programación de la tarjeta. Esta
metodología facilitó la transición de la simulación a la implementación física de los
proyectos.
Logré superar estos desafíos y alcanzar los objetivos del curso. En definitiva, esta
experiencia me enseñó la importancia de la adaptabilidad y la disposición para
aprender frente a nuevos conceptos y tecnologías. Además, confirmó que contar con
una base sólida de conocimientos previos puede ser un activo invaluable al abordar
cursos y proyectos tecnológicos. Estoy emocionado por seguir desarrollando mis
habilidades en el campo de las interfaces digitales y aplicar lo aprendido en futuros
proyectos.
Axel: La tarjeta miuva es una completamente desconocida para mi, siendo antes mis
únicos acercamientos Arduino, STM32 y por parte de los microprocesadores la
raspberry, gracias a mis conocimientos en programación el manejo de esta fue
complicada y el emplear escritura en hexadecimal para poder activar los puertos de la
tarjeta fue algo nuevo y útil, pues simplificó el código en muchos aspectos. Con la guía
del profesor y el uso de simuladores (Proteus), fue fácil comprender las practicas y
códigos, lo cual nos servirá mas adelante para poder realizar futuros proyectos.

En la ultima practica tuvimos una dificultad para imprimir el “HOLA_mundo”, pues la


conversión a hexadecimal nos dio problemas y tuvimos que rehacerlo, hasta que
descubrimos nuestro error, por lo demás fue un éxito.

Miguel Angel: Estas practicas fueron un tanto nuevas para mi pues la tarjeta no la
había usado antes, sin embargo la forma de escritura de los códigos asi como del uso
del simulador proteus es algo familiar para mi, por lo que no fue difícil entender como
usar esta tarjeta. Las practicas fueron fáciles de hacer, pues se explicaban en
simulador y luego solo teníamos que recrearlos físicamente, hubo algunos problemas
en la parte de los display pues aunque ya había usado hexadecimal antes, no es algo
que use con frecuencia, asi que fue un poco complicado recordar como escribirlo, y
esto causo algunos problemas al escribir el código, pero tras unos cuantos intentos se
pudieron lograr esos códigos.

Enlace a la carpeta de drive


REFERENCIAS

INTRODUCCIÓN AL USO DE MIKRO C PRO FOR PIC -


PDF DESCARGAR LIBRE. (S. F.).
HTTPS://DOCPLAYER.ES/66408867-INTRODUCCION-AL-
USO-DE-MIKRO-C-PRO-FOR-PIC.HTML

INTESC. (2021, MAY 24). INICIO - INTESC.


HTTPS://INTESC.MX/

HTTPS://WWW.CALCUVIO.COM/CONVERSION-
BINARIO-HEXADECIMAL

HTTP://WW1.MICROCHIP.COM/DOWNLOADS/EN/DEVI
CEDOC/30000684B.PDF

También podría gustarte