Está en la página 1de 10

PRÁCTICA # 1: SECUENCIA DE VISUALIZACIÓN

LED COMANDADA POR PULSANTES.

Gabriel Jara1, Karen Mogrovejo2 y Francisco Valdez3


1,2 y 3 Universidad Politécnica Salesiana, Cuenca, Ecuador
kmogrovejo@est.ups.edu.ec
gjarar@est.ups.edu.ec
fvaldezo1@est.ups.edu.ec

Abstract. In this document we are going to show the development process of


Practice 1, which consists of turning on a 7-segment display with 3 different se-
quences and with variable speed. To control the display. We made use of the
PIC16F18875 microcontroller, which had two buttons as input that regulated
the speed and three switches to choose between the three sequences. The out-
puts will be 4 bits to a 7448 chip that will help us control our display.

Keywords: Microcontroladores, PIC, Secuencia, Programación.

1 OBJETIVO

1.1 Objetivo General

Diseñar un sistema electrónico para la visualización de caracteres en un display 7


segmentos que permita variar la secuencia de visualización y la velocidad de presen-
tación por medio de pulsantes.

2 INTRODUCCIÓN

Una secuencia con un display de 7 segmentos hace referencia a cuando los diferentes
leds del display se encienden y se apagan en un cierto tiempo (ya sea en segundo,
milisegundos, etc), mostrando diferentes símbolos con una secuencia lógica. El en-
cendido y apagado de esos segmentos lo programamos nosotros mismo, haciendo uso
del software mplab, un compilador xc8 y dentro del hardware hemos utilizado un
microcontrolador pic 16F18775, pulsantes, microswitchs, decodificadores 7448, dis-
plays de 7 segmentos, resistencias, entre otros.
2

3 MARCO TEÓRICO

3.1 Microcontroladores

Los microcontroladores son circuitos integrados y son el componente principal de una


aplicación embebida. Se le puede comparar con una pequeña computadora que in-
cluye sistemas para controlar elementos de entrada/salida. También incluye a un
procesador y por supuesto memoria que puede guardar el programa y sus variables
(flash y RAM). Funciona como una mini PC. Su función es la de automatizar pro-
cesos y procesar información.
El microcontrolador se aplica en toda clase de inventos y productos donde se re-
quiere seguir un proceso automático dependiendo de las condiciones de distintas en-
tradas.[1]

Fig. 1.Ejemplos de microcontroladores.

3.2 PIC 16F18875

Los microcontroladores PIC16F18875 cuentan con periféricos analógicos indepen-


dientes del núcleo y periféricos de comunicación, combinados con eXtreme Low
Power (XLP) para una amplia gama de aplicaciones de uso general y de bajo consu-
mo. La familia cuenta con CRC/SCAN, HLT y Windowed WDT para ayudar a los
clientes que buscan agregar seguridad a su aplicación. Además, esta familia incluye
hasta 56 KB de memoria Flash, junto con un ADC de 10 bits con Computación
(ADC2) para el análisis de señales automatizado para reducir la complejidad de la
aplicación.[2]
3

Fig. 2. Integrado del PIC 16F18875.

3.3 Interrupciones

Interrupt On Change (IOC) es una función de hardware en la mayoría de los disposi-


tivos PIC y que también está integrado en el microcontrolador que utilizaremos. Está
disponible en pines de E/S seleccionados. Cuando el hardware detecta un cambio de
estado, de bajo a alto o de alto a bajo, se producirá una interrupción. Se ejecutará la
rutina de servicio de interrupción, implementando cualquier código personalizado que
haya desarrollado el diseñador.[3]

4 EXPERIMENTACIÓN

4.1 Materiales

• PIC 16F18875
• Display de 7 segmentos
• Integrado 7448
• Alambre 22 awg
• Pulsantes
• Microswitchs
• Resistencias de varios valores
• Ambiente de Desarrollo MPLAB X IDE

4.2 Desarrollo
Lo primero que debemos definir para el desarrollo de nuestra práctica es tener en
claro cual es el funcionamiento que tendrá nuestro circuito y cuales son las especifi-
caciones que se necesitan:

• El sistema debe poseer 3 secuencias de visualización en un display de 7 segmen-


tos. El display debe estar conectado a un único puerto del microcontrolador.
4

• La selección de las distintas secuencias de visualización debe ser realizada por


medio de micro interruptores (microswitch).
• El sistema debe poseer controles para regular la velocidad de exhibición (tempo-
rización) de las distintas secuencias por medio de pulsadores de Incremento y
decremento. La atención a los eventos de los pulsantes debe ser realizado por in-
terrupción externa.

Una vez con las especificaciones necesarias a cumplir podemos realizar el dia-
grama de flujo que lo tenemos en nuestro anexo # 1.

Ahora si procederemos a realizar la programación en nuestro ambiente de desa-


rrollo MPLAB X IDE.
Lo primero que tenemos que hacer es configurar los distintos pines y la frecuen-
cia a la que trabajaremos que estará definida por nuestro oscilador y obtenemos
lo siguiente:

Fig. 3. Parte de configuración de pines.

Una vez con todos los pines configurados, es momento de continuar con nuestra
programación, para lo cual vamos a definir distintas variables que utilizaremos en
nuestro programa y las secuencias que deseamos que tenga nuestro display:
5

Fig. 4. Declaración de variables y de secuencia.

También es necesario realizar una función la cual será la encargada de regular el


tiempo de espera entre los símbolos de nuestra secuencia. Aquí usamos un bucle for
con la posibilidad de variar el número de iteraciones que realice:

Fig 5. Función controladora del tiempo.

Ahora es el momento de definir como va a variar la velocidad, para esto haremos


uso de las interrupciones, incrementando o decrementando la variable de entrada
de nuestra función anterior:
6

Fig 6. Función con interrupciones para leer aumento o decremento de velocidad.

Por último, tenemos nuestro programa principal, aquí será necesario activar las
interrupciones y la manera en las que se leerá. Además, aquí primero se definirá
los puertos como entradas o salidas, como digitales o analógicos y los estados
iniciales:
7

Fig 7. Definición de puertos.

Por ultimo también implementaremos la lógica de nuestro programa que será la se-
lección de la secuencia a mostrar y obtenemos lo siguiente:
8

Fig 8. Lógica principal para la elección de secuencia.

5 Conclusiones

Una vez que hemos realizado esta práctica hemos podido plasmar los conocimientos
adquiridos por nosotros mismos para la programación de microcontroladores y en
parte los conocimientos impartidos por el docente, haciendo uso de libros, foros de
internet y video que encontramos en la web. El mayor obstáculo que encontramos al
momento de realizar esta práctica fue el como hacer uso de las interrupciones para lo
cual necesitamos más tiempo de investigación y experimentación.
9

References

[1] “ ¿Qué es un MICROCONTROLADOR? Tipos, aplicaciones, etc.”


https://microcontroladoress.com/ (accessed Nov. 09, 2022).
[2] “PIC16F18875 | Microchip Technology.” https://www.microchip.com/en-
us/product/PIC16F18875 (accessed Nov. 09, 2022).
[3] “Interrupt on Change - Developer Help.”
https://microchipdeveloper.com/mcu1101:project-9 (accessed Nov. 09, 2022).

También podría gustarte