Vous êtes sur la page 1sur 12

UNIVERSIDAD AUTÓNOMA DE LA CIUDAD DE

MÉXICO
(U.A.C.M)

PLANTEL SAN LORENZO TEZONCO

APLICACIONES CON MICROPROCESADORES Y


MICROCONTROLADORES
PRÁCTICA # 2
MULTIPLEXEO DE DISPLAYS DE 7 SEGMENTOS

PROF. OMAR TERAN JIMENEZ


ALUMN. ADRIÁN MARTÍNEZ MÉNDEZ
Objetivo

Diseñar un circuito secuencial automático que muestre los números del 000 al 999 en display de
siete segmentos conectados en un solo puerto del microcontrolador PIC16F887.

INTRODUCCIÓN

El display de 7 segmentos, es un componente que se utiliza para la


representación de números en muchos dispositivos electrónicos.

Figura1.

Cada vez es más frecuente encontrar LCD´s en estos equipos (debido a


su bajísima demanda de energía), todavía hay muchos que utilizan el
display de 7 segmentos por su simplicidad.

Este elemento se ensambla o arma de manera que se pueda activar


cada segmento (diodo LED) por separado logrando de esta manera
combinar los elementos y representar todos los números en el display
(del 0 al 9). El display de 7 segmentos más común es el de color, por su
facilidad de visualización.

Cada elemento del display tiene asignado una letra que identifica su posición en
el arreglo del display. Ver el gráfico arriba
 Si se activan todos los segmentos: “a,b,c,d,f,g” se forma el número
“8”
 Si se activan sólo los segmentos: “a,b,c,d,f,” se forma el número “0”
 Si se activan sólo los segmentos: “a,b,g,e,d,” se forma el número “2”
 Si se activan sólo los segmentos: “b,c,f,g,” se forma el número “4”
 Si se activan sólo los segmentos: “a,b,g,c,d,” se forma el número “3”
 Si se activan sólo los segmentos: “a,f,g,c,d,” se forma el número “5”

p.d. representa el punto decimal

Display de Cátodo Común

El display cátodo común tiene todos los ánodos de los diodos LED
unidos y conectados a tierra. Para activar un segmento de estos hay que
poner el ánodo del segmento a encender a Vcc (tensión de la fuente) a
través de una resistencia para limitar el paso de la corriente.

Figura2.

Desarrollo

Se deben multiplexar tres displays de 7 segmentos de cátodo común de tal manera que
todos muestren la secuencia como si fuera continua partiendo del 000 al 999, el display de
cátodo común; utilice un display de 2 dígitos y 1 de un solo digito, a continuación se
muestra en la Figura.
Figura3.

Para lograr mostrar los números en los displays se deben de mandar los datos de manera
desfasada (encendiendo uno por uno) pero tan rápido que para el ojo humano parezca
que están presentes al mismo tiempo, esto se logra mediante transistores que enciendan
y apaguen los displays dependiendo del número a mostrar. El transistor que se ocupa es el
2N3904 el cual es un NPN; debido a que los displays son de cátodo común.

Figura4.
El transistor se conecta al cátodo común de cada transistor el cual será activado mediante
el microcontrolador que será quien realice el switcheo.

Diagrama de Flujo

En el siguiente diagrama de flujo se puede observar el planteamiento del problema para


posteriormente pasar a la programación y después la implementación física.

Figura5.
Programa

El programa que se usa para capturar el código es el que se ha ido utilizando a lo largo del
semestre (CCS C COMPILER), el código se muestra a continuación con los respectivos
comentarios.

#include <16f887.h>

#FUSES HS,NOWDT,NOPROTECT,NOPUT

#use delay (clock=8000000)

#use fast_IO (B)

#use fast_IO (A)

byte CONST DISPLAY[10] = {0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};

void main(void)

int16 i;

byte ud=0,dec=0,cen=0;

SET_TRIS_B(0X00);

SET_TRIS_A(0X00);

OUTPUT_B(0);

for( ;; )

for(cen=0;cen<10;cen++)

for (dec=0;dec<10;dec++)

{ //Cuenta dígito decenas

for (ud=0;ud<10;ud++)

{
//for(i=0;i<=400;i++)

OUTPUT_B(DISPLAY[ud]); // Digito unidades

OUTPUT_A(0x01); // cat_D = apagado, cat_U = encendido

delay_ms(10);

OUTPUT_A(0X00);// Para evitar parpadeos

OUTPUT_B(DISPLAY[dec]); // Digito unidades

OUTPUT_A(0X02); // cat_D = apagado, cat_U = encendido

delay_ms(10); // Para evitar parpadeos

OUTPUT_A(0X00);// Para evitar parpadeos

OUTPUT_B(DISPLAY[cen]); // Dídito decenas

OUTPUT_A(0X04);

delay_ms(10); // Para evitar parpadeos

OUTPUT_A(0X00);// Para evitar parpadeos

/*if (cen==0) output_a(0X07); // Si centenas = 0,

// cat_C = apagado

else output_a(0X01); // Si decenas > 0,

// cat_D = encendido

cen=0;*/
}

Simulación

En la simulación mediante el software de Proteus se observan las conexiones que se


deben realizar para la implementación física

Figura6.

Implementación

En las siguientes imágenes se observa que los tres displays muestran la secuencia deseada
sin que parpadeen debido a que los números se mandan en instantes diferentes sin
embargo es tan rápido que le ojo humano observa que los tres están prendidos al mismo
tiempo.
Figura7.

Conclusión

El multiplexado de 2 o más displays de 7 segmentos; nos permite gran gama de procesos


de visualización en la industria y en nuestra vida cotidiana, debido a su gran economía
tanto en display de 7 segmentos, como de los transistores; en la actualidad esta técnica de
multiplexado con micro y displays se puede ver muy comúnmente en hornos de
microondas por mencionar algunos de los casos.

BIBLIOGRAFÍA

Juan Ricardo Clavijo Mendoza, Diseño y Simulación de Sistemas


Microcontrolados en Lenguaje C.

Eduardo García Breijo, Compilador C CCS y Simulador PROTEUS para


Microcontroladores PIC, Alfaomega Marcombo ediciones técnicas.

Vous aimerez peut-être aussi