View
231
Download
0
Category
Preview:
Citation preview
8/18/2019 Reloj Digital Visualizaado Con Display
1/14
INTRODUCCIÓN
Display
El visualizador de siete segmentos (llamado también Display) es una forma de
representar números en equipos electrónicos. Está compuesto de siete segmentos
que se pueden encender o apagar individualmente, cada segmento tiene la forma
de una pequeña línea, ya que se podría comparar a escribir números con cerillas o
fósforos de madera.
A cada uno de los segmentos que forman el display se les denomina a, b, c, d, e, f
y g, están ensamblados de forma que se permita activar cada segmento porseparado consiguiendo formar cualquier dígito numérico. A continuación se
muestran algunos ejemplos:
Si se activan o encienden todos los segmentos se
forma el número "8".
Si se activan sólo los segmentos: "a, b, c, d, e, 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 for ma el número "4".
Muchas veces aparece un octavo segmento denominado p.d. (punto decimal).
http://commons.wikimedia.org/wiki/File:7_segment_display_labeled.svghttp://commons.wikimedia.org/wiki/File:7_segment_display_labeled.svghttp://commons.wikimedia.org/wiki/File:7_segment_display_labeled.svghttp://commons.wikimedia.org/wiki/File:7_segment_display_labeled.svghttp://commons.wikimedia.org/wiki/File:7_segment_display_labeled.svg
8/18/2019 Reloj Digital Visualizaado Con Display
2/14
2
Decodificador (74LS47)
Es un dispositivo que "decodifica" un código de entrada en otro. Es decir, transforma
una combinación de unos y cero, en otra. 74LS47, en particular transforma el código
binario en el código de 7 segmentos (decimal).
La función básica de un decodificador es detectar la presencia de una determinada
combinación de bits (código) en sus entradas y señalar la presencia de este código
mediante un cierto nivel de salida.
Un ejemplo de aplicación es el decodificador BCD a 7 segmentos. Este tipo de
decodificador acepta código BCD en sus entradas y proporciona salidas capaces
de excitar un display de 7 segmentos para indicar un dígito decimal:
74LS47: Usa display de ánodo común.
74LS48: Usa display de cátodo común.
Configuración de pines
8/18/2019 Reloj Digital Visualizaado Con Display
3/14
3
CONEXIÓN VIRTUAL DEL RELOJ DIGITAL VISUALIZADO CON
DISPLAY
Para empezar a construir el circuito simulado en ISIS PROTEUS, es necesario tener
en cuenta los siguientes elementos:
1) 7SEG-COM-AN-BLUE (4 Display)
2) 74LS47 (4 Decodificadores)
3) CAP (2 Capacitores)
4) 1 CRYSTAL
5) PIC16F877A
6) 1 RES (Resistencia 4.7k)
Estos componentes se encuentran dentro de esta ventana llama PICK DEVICES de
ISIS PROTEUS.
Una vez encontrado todos los componentes, se empiezan a colocar dentro del
espacio de trabajo de ISIS PROTEUS, pues esto permite la simulación y conexión
entre ellos.
Click sobre el símbolo“P”. Para visualizar la
pantalla donde seencuentran lasherramientas.
Espacio de búsqueda que
permite encontrar las
herramientas.
8/18/2019 Reloj Digital Visualizaado Con Display
4/14
4
A continuación se colocan todos los componentes de la siguiente manera:
En seguida se explican los pasos para conectar del PIC16F877A, a cada uno de los
demás componentes.
DISPLAY
Primeramente debemos conocer que un 7SEG-COM-AN-
BLUE (Display), consta de 7 segmentos o pines:
De lado izquierdo del Display (de arriba hacia abajo), se conectará la herramienta
74LS47 con la siguiente configuración:
Display 74LS47PIN 1 PIN 13-QA
PIN 2 PIN 12-QB
P N 3 PIN 11-QC
DISPLAY
74LS47
74LS47
CAPACITORES
CRYSTAL
RESISTENCIA PIC16F877A
8/18/2019 Reloj Digital Visualizaado Con Display
5/14
5
PIN 4 PIN 10-QD
PIN 5 PIN 9-QE
PIN 6 PIN 15-QF
PIN 7 PIN 14-QG
No olvidando que el PIN que se encuentra en la parte de arriba del Display va
conectado a Positivo.
Esta configuración se repite cuatro veces, pues se colocaron 4 Display; dos para
visualizar la hora y los otros dos para los minutos, cada uno con sus respectivas
herramientas: 74LS47.
CRYSTAL (Oscilador externo)
Todo microcontrolador requiere un circuito externo que le indique la velocidad a la
que debe trabajar; este circuito se le conoce como oscilador o reloj. El PIC16F877A
puede utilizar cuatro tipos de oscilador diferentes. Estos tipos son:
RC: Oscilador con resistencia y condensador.
XT: Cristal (ejemplo de 1 a 4 MHz).
HS: Cristal de alta frecuencia (ejemplo 10 a 20 MHz).
LP: Cristal para baja frecuencia y bajo consumo de potencia.
Conexión a
Positivo.
Conexión desde la
herramienta 74LS47 a
Display.
8/18/2019 Reloj Digital Visualizaado Con Display
6/14
8/18/2019 Reloj Digital Visualizaado Con Display
7/14
7
En la siguiente tabla se muestra la configuración:
Finalmente el circuito simulado quedará de la siguiente manera:
Para poder arrancar el circuito, se creará la extensión .HEX en el programa mikroC
PRO for PIC.
El objetivo de esta práctica es visualizar la hora y minuto en tiempo real. Para ello,
hay que empezar a escribir las constantes que serán del 0 al 59 que nos indica los
60 minutos, ya que teniendo como contador los minutos, se pueda llegar a completar
74LS47 PIC16F877A
PIN 7-A RB0/INT RB4 RC0/T1OSO/T1CKI RC4/SDI/SDA
PIN 1-B RB1 RB5 RC1/T1OSI/CCP2 RC5/SDO
PIN 2-C RB2 RB6/PGC RC2/CCP1 RC6/TX/CK
PIN 6-D RB3/PGM RB7/PGD RC3/SCK/SCL RC7/RX/DT
8/18/2019 Reloj Digital Visualizaado Con Display
8/14
8
la hora. Seguido de esto se escriben las variables que se manejarán para identificar
a los minutos como “Y”, y a las horas como “X”, inicializando en 0.
En las siguientes líneas de programación puede observarse lo que se explicó
anteriormente:
Después de haber declarado las variables respecto a los minutos y horas, es
necesario crear el cuerpo del programa, en el cual irán las indicaciones de como
inicializar el Display en una hora de tiempo real, es decir, prepararlo para su uso,
así como también la limpieza tras la ejecución que cuando llegue a 24 horas se
inicialice en 0.
void cuerpo(){
//mandar a pedir del arreglo
portc=display1[y];
portb=display1[x];
//Y aumenta cuando pase 60000 (1minuto)
y++;
delay_ms(60000);
if (y==60){
x++;
y=0;}
//cuando x llegue a 24 horas que x se reinicie a
0
if(x==24)
{
x=0;
}
}
int const
display1[60]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x
15,0x16,0x17,0x18,0x19,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x30,0x31,0x32,0x3
3,0x34,0x35,0x36,0x37,0x38,0x39,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x50,0x51
,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59};
//minutos
int y=0;
//horas
int x=0;
Declaración
constantes e
minutos
Declarando a minutos como
“Y” y horas como “X”.
8/18/2019 Reloj Digital Visualizaado Con Display
9/14
9
Y para que el ciclo del Reloj no termine se escriben las siguientes líneas de código,
indicando que el único puerto de entrada será el D, y el de salida los puertos B y C:
Ahora para visualizar el resultado de esta práctica, se cargar el archivo .HEX
(RELOJ.hex) al circuito simulado en ISIS PROTEUS, basta con hacer doble click
sobre la PIC16F877A y dirigirse a la dirección a donde se guardó el archivo al
momento de realizar la ejecución.
void main() {
//Los puertos de D serán entradas
TRISD=0B11111111;
//Los puertos de B y C son salidas...
TRISB=0B00000000;
TRISC=0B00000000;
while(1){
switch(portd)
{
case 0:
cuerpo();
break;
}
}
}
8/18/2019 Reloj Digital Visualizaado Con Display
10/14
10
Una vez ejecutado el programa, nuestro circuito quedaría de la siguiente manera:
8/18/2019 Reloj Digital Visualizaado Con Display
11/14
11
CONEXIÓN FÍSICA DEL RELOJ DIGITAL VISUALIZADO CON
DISPLAY
Para realizar la conexión entre los componentes, es necesario tener a la mano los
siguientes materiales necesarios para lograr que funcione el reloj digital:
2 Protoboad
Cable UTP (Lo suficiente)
4 Displays
4 Decodificadores (74LS47)
2 Capacitores cerámicos de 330
1 Oscilador de cristal de 10
1 Resistencia de 1k 4 Resistencias de 220 Ohms
1 PIC16F877A
1 Transistor
1 Batería de 9v.
Es necesario guiarse del diagrama simulado en ISIS PROTEUS para realizar la
conexión entre los componentes, pues es la misma función que desempeña el
circuito físico.
Se utilizaron 2 protoboad para tener una conexión entre cables más estéticos y
evitar los falsos. Para poder comenzar se buscó el nombre de los pines, o sea que
se investigó los datasheet del PIC16F877A, decodificador (74LS47) y Display; una
vez identificados los pines se prosigue a realizar la conexión con la ayuda de los
cables de UTP. También es conveniente hacer una conexión a los pines de
alimentación de corriente (positivo) y los de tierra (GND) tanto del PIC como del
LCD y no olvidando también el Display.
Una vez terminada la conexión entre los pines de los Displays, Decodificadores
(74LS47) y del PIC con los demás componentes, se comprueba que funcione
correctamente con una batería de 9v. conectando un transistor para regular el
8/18/2019 Reloj Digital Visualizaado Con Display
12/14
8/18/2019 Reloj Digital Visualizaado Con Display
13/14
13
estas conexiones que se ven son los únicos que se necesitan para poder llevar a
cabo el trabajo, ya que no se necesitan los demás puertos, puesto que la PIC da la
oportunidad para realizar otra conexión para otros dos Decodificadores y a través
de ellos conectar a los Displays y poder visualizar además de la hora y minutos, los
segundos.
Para que el circuito físico pueda tener una buena función, es necesario realizar las
mismas conexiones entre pines como se muestra en el circuito simulado. Por eso
debemos ser muy minuciosos a la hora de hacer las conexiones entre los
componentes, y darnos cuenta a que número de pin estamos conectando.
PROBLEMAS QUE SE PRESENTARON
Al conectar la fuente de alimentación de 5v. al circuito físico (un cable se conecta
a positivo y el otro a tierra) no se observa inmediatamente la hora en tiempo real,
pero si funciona el circuito correctamente porque empieza a marcar la hora desde
las 00:00 am y después empieza a correr los minutos como lo haría un reloj. Este
mismo problema también se presenta en el circuito virtual.
SOLUCIÓN A LOS PROBLEMAS
Para solucionar el problema anterior: “dar a conocer la hora en tiempo real del
circuito físico”, se pensó en conectar la fuente de alimentación de 5v. a las 12:00am,
y así el circuito empiece a marcar sus minutos y horas al compás del tiempo real,
pues como se sabe el programa empieza a dar la hora desde las 00:00am. Esto se
hiso para que durante el transcurso de la madrugada pueda correr la hora como un
reloj normal lo haría, y cuando se presentará este proyecto se pueda visualizar la
hora en tiempo real.
8/18/2019 Reloj Digital Visualizaado Con Display
14/14
14
CONCLUSIÓN
Los resultados de la práctica del reloj fueron favorables porque no se tuvieron tantos
problemas; y se podría decir que fue sencillo hacer la conexión entre los
componentes, debido a que con tan sólo investigar y leer en internet como construir
un reloj digital, esto ayuda a que se tenga éxito en la práctica.
Cómo sabemos, todo microcontrolador requiere un circuito externo que le indique la
velocidad a la que debe trabajar. Este circuito, que se conoce como oscilador, es
muy simple pero de vital importancia para el buen funcionamiento del sistema.
También es importante el uso del decodificador para facilitar la conversión de una
entrada en binario y mostrar una salida en decimal, pues la visibilidad en el display
será esa.
Es importante saber el nombre de los pines tanto de la PIC16F877A como del
Display y Decodificador (74LS47), pues hace mucho más fácil la conexión entre los
mismos, ya que solo consta de ubicar bien la posición de los pines para lograr el
buen funcionamiento del circuito.
Recommended