Académique Documents
Professionnel Documents
Culture Documents
MÉXICO
(U.A.C.M)
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
Figura1.
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
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
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
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++)
for (ud=0;ud<10;ud++)
{
//for(i=0;i<=400;i++)
delay_ms(10);
OUTPUT_A(0X04);
// cat_C = apagado
// cat_D = encendido
cen=0;*/
}
Simulación
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
BIBLIOGRAFÍA