Sei sulla pagina 1di 5

Display de 7 segmentos y Contador del 0 al 9

Display de 7 segmentos.

El displays de 7 segmentos, es un componente que se utiliza para la representacin de nmeros


en muchos dispositivos electrnicos. Cada vez es ms frecuente encontrar LCDs en estos equipos
(debido a su bajsima demanda de energa), todava 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 nmeros en
el display (del 0 al 9).
El display de 7 segmentos ms comn es el de color rojo, por su facilidad de visualizacin.
Cada elemento del display tiene asignado una letra que identifica su posicin en el arreglo del
display. Ver el grfico.

Si se activan o encienden todos los segmentos se forma el nmero "8"


- Si se activan solo los segmentos: "a,b,c,d,f," se forma el nmero "0"
- Si se activan solo los segmentos: "a,b,g,e,d," se forma el nmero "2"
- Si se activan solo los segmentos: "b,c,f,g," se forma el nmero "4"
p.d. representa el punto decimal
El display nodo comn
En el display nodo comn, todos los nodos de los diodos LED unidos y conectados a la fuente
de alimentacin. En este caso para activar cualquier elemento hay que poner el ctodo del
elemento a tierra a travs de una resistencia para limitar la corriente que pasa por el elemento.

El display ctodo comn

El display ctodo comn 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
(tensin de la fuente) a travs de una resistencia para limitar el paso de la corriente.

Tambin hay display alfanumricos que permiten representar tanto letras como nmeros

Ejercicio 3.
Nuestro tercer ejemplo es un contador de 0 a 9 el cual esta compuesto por un display de 7
segmentos de nodo comn conectado al puerto B del PIC 16f84.
Como primer paso debemos determinar el nmero en binario que se debe mandar al puerto B del
PIC para que muestre en el display el nmero correspondiente. La conexin del puerto B hacia el
PIC se muestra en la siguiente tabla:

Por lo tanto, a continuacin se muestra una tabla que corresponde al nmero en binario que se
necesita mandar al puerto B para mostrar el nmero correspondiente.

Una vez obtenidos los datos que vamos a ocupar en nuestro cdigo procedemos a realizar el
programa en el compilador CCS.

#include <16f84a.h> //PIC a utilizar


#USE DELAY( CLOCK=4000000 ) //Oscilador de 4MHZ
#FUSES XT,NOWDT,NOPROTECT,NOPUT//Ordenes para el programador
///////////PROGRAMA PRINCIPAL//////////////
void main(void)
{
char i=0; //incremento para la tabla de 7 segmentos
int tab7seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xb8,0x80,0x98}; //Tabla con
los datos correspondientes al numero a visualizar.
set_tris_b(0x00); //portb como salida
while(true)//ciclo
{
output_b(tab7seg[ i ]); //muestra por portb digito 7 segmentos
delay_ms(500); //tiempo de espera de 500ms
i++; //incremento contador para visualizar siguiente digito
if(i>9) //ya se ha mostrado el digito 9?
{
i=0; //SI -> vuelve a empezar(digito 0)
}
}
}
Como se muestra en el cdigo hemos declarado una variable llamada i como char o carcter, en
esta variable guardamos el incremento que nos va hacer necesario para sacar los datos de la
tabla. Tambin declaramos tab7seg[10] como entero, este representa una tabla en la cual
introducimos el nmero en hexadecimal correspondiente a cada nmero a visualizar en el display
(del 0 al 9), el 10 que tenemos dentro de los corchetes corresponde a los 10 espacios que
necesitamos.

Despus configuramos el puerto B como salida poniendo puros ceros en el TRISB.


Tambin observamos una nueva instruccin llamada if, la cual, no se haba visto en los ejemplos
anteriores de este blog, esta instruccin es usada a manera de pregunta y su estructura es la
siguiente:
If(expresin con la cual queremos preguntar)
{
//lo que se debe realizar en caso de ser verdadero
}
A manera de resumen a continuacin se muestran los pasos que realiza nuestro cdigo:
1.- Se declara la variable para el incremento (i) y la tabla donde se introduce el nmero en
hexadecimal de los nmeros a visualizar (tab7seg[10]).
2.- Se configura el puerto B como salida.
3.- Muestra por el puerto B el digito correspondiente (inicialmente es el cero).
4.- Espera 500ms.
5.- Incrementamos i, esto es muy importante ya que de ello depende que se muestren los dgitos
de manera correcta.
6.- Se pregunta si i es mayor que 9, si no es as se continua con el ciclo hasta que i sea mayor
que nueve, en este momento se pone a i nuevamente en cero para seguir el ciclo y mostrar de
cero hasta el nueve de manera indefinida.
Por ultimo solo nos falta armar el circuito en Proteus y simularlo como se muestra en la siguiente
figura:

Potrebbero piacerti anche