Está en la página 1de 13

12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

INICIO CONOCE MS HERRAMIENTAS INFOGRAFIAS FOROS VIDEOS

SERVICIOS SUSCRIBIRSE CONTACTAR

PROGRAMACIN DESARROLLO WEB TECNOLOGA MARKETING SEO INFORMTICA

GANAR DINERO MS

Blog>Electronica>Display 7 Segmentos Y PIC


Tutorial Electronica

Display 7 Segmentos Y PIC


Tutorial Electronica

Jonathan Melgoza 2017-09-30


Electronica
Comparte con tus amigos

https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 1/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

Compartir en Facebook Compartir en Twitter

Compartir en Google Plus Compartir en Pinterest

Compartir en Linkedin Enviar correo electrnico

Quieres aprender a montar un display 7 segmentos


en un pic? En este Articulo veremos como conectar un
display de 7 segmentos de anodo comun a un
PIC16F877A y mostrar un contador de 0 a 9. Tambien
conectaremos un led para indicar el estado del
circuito. Comenzemos

Requerimientos

-Programador de Pics (Uso uno master prog)


-PIC16F877A
-Display de 7 segmentos de anodo comun
-Cristal de Cuarzo de 4 MHZ
-2 Capacitores Ceramicos de 22pF
-3 Resistencias de 220
-1 Resistencia de 10K
-1 led color Verde
-Alimentacion 5V (Baterias,conexion usb,fuente de
poder,etc)
-Protoboard
-Cable para Protoboard

Recomendado

Manual PIC16F877A
Conceptos Basicos Display 7 Segmentos Anodo
Comun

Estructura del PIN 16F877A


https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 2/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

Desarrollo

Para empezar vamos a ver el circuito que queremos


realizar en este articulo.

Suscrbete a nuestra lista de correo y


recbe los ltimos contenidos
directamente en tu bandeja de
correo electrnico, puedes elegir
nicamente de que categoria del blog quieres
recibir contenido.

Suscrbeme


https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 3/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

Obviamente con su respectiva alimentacin y tierra en


el pin 11 y 12.

Montamos este circuito en el protoboard.

Como puedes ver al ser un display de anodo comn


los pines centrales de ste se conectan a voltaje, no a
tierra.

Ahora pasemos al programa en C que se cargara en el


Microcontrolador.

1 #include <16F877A.h>
2 #fuses XT, NOWDT
3 #use delay(clock=4000000)
4
5 #BYTE TRISB = 0x86
6 #BYTE PORTB = 0x06
7
8 void escribir(int n); //definiciones de funciones
9
10 void main(){ //funcion principal
11 TRISB = 0x00; //establecemos puerto b como salida
12 while(1){ //ciclo infinito
13 int i;
14 for(i=0;i<10;i++){ //realizamos el conteo de 0 a 9 para el
15 escribir(i); //mandamos escribir el numero correspondien
16 delay_ms(1000); //esperamos 1 seg
17 }
18 }
19 }
20
21 void escribir(int n){ //funcion para escribir el numero en el dis
22 switch(n){
23 case 0: // si es 0 apagamos pines abcdef
24 PORTB=0B11000000;
25 break;
26 case 1: // si es 1 apagamos pines bc
27 PORTB=0B11111001;
28 break;
29 case 2: // si es 2 apagamos pines abdeg
30 PORTB=0B10100100;
31 break;
32 case 3: // si es 3 apagamos pines abcdg
33 PORTB=0B10110000;
34 break;
35 case 4: // si es 4 apagamos pines bcfg
36 PORTB=0B10011001;
37 break;
38 case 5: // si es 5 apagamos pines acdfg

https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 4/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza
39 PORTB=0B10010010;
40 break;
41 case 6: // si es 6 apagamos pines acdefg
42 PORTB=0B10000010;
43 break;
44 case 7: // si es 7 apagamos pines abc
45 PORTB=0B11111000;
46 break;
47 case 8: // si es 8 apagamos pines abcdefg
48 PORTB=0B10000000;
49 break;
50 case 9: // si es 9 apagamos pines abcfg
51 PORTB=0B10011000;
52 break;
53 }
54 }

Al contrario de lo que pudiera parecer, para encender


un led en el display es necesario mandar una seal de
apagado, esto es porque estamos manejando un
display de anodo comun, asi que para encenderlo es
necesario mandarle una seal baja para que pueda
tener conexion y asi encender. Tambien si te diste
cuenta al pin b7 siempre le enviamos un 1 sin importar
que numero sea, esto es porque utlizamos ese pin
para encender el led extra que agregamos para
encender en cuanto reciba energia, este pin ya no esta
conectado al display por lo que funciona de manera
normal y el 1 que le enviamos es para mantenerlo
encendido.

Despues convertimos el codigo fuente a hexadecimal


(puedes generarlo con el programa PIC C COMPILER
CSS).
Luego mediante el programador de pics y su
respectivo software lo grabamos en el
microcontrolador.
y probamos.


https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 5/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

Programacin de contador con PIC 16F877A y Display 7

Conclusion

En este articulo vimos como programar un


microcontrolador para realizar una determinada tarea,
en este caso contar del 0 al 9 y mostrarlo en un
display, vimos el codigo fuente que contiene la
estructura basica de un programa para un PIC y
armamos un circuito para montar el PIC y el display.

Esto servira para empezar a desarrollar nuestros


circuitos e ir aprendiendo.

Si te sirvio este post no olvides compartirlo en tus


redes sociales y dejarme un comentario, asi podr
saber que es til para ti y seguir subiendo post de
este tema.

Hasta luego!

Comparte con tus amigos

Compartir en Facebook Compartir en Twitter

Compartir en Google Plus Compartir en Pinterest

Compartir en Linkedin Enviar correo electrnico


https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 6/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

9 Comentarios Qu opinas t del


tema?

Javier Fongun

me marca 3 errores, uno ya lo correg es despues


del #include le puse lo faltante que es pero lo otro
es en esto
for(i=0;i<10;i++){ //realizamos el conteo de 0 a 9
para el display
ah me marca dos errores, en los parentesis y en
el lt
ayuda porfavor
Responder

David

Te manda error porque deberia ser:


For(i=0; i<=10; i++) donde la variable i se
inicia en cero, luego se compara para
que sea igual o menor a 10 y cuando se
cumpla lo anterior se le sume un 1 a la
variable i

Diana

Hola, mucho gusto mi nombre es Diana


necesito hacer una secuencia pero utilizando 1 pic
como maestro y 2 esclavos,
en el cual el maestro tiene que dar la orden de la
secuencia y los esclavos tienen que mostralo en el
display, sera que puedas ayudarme?

https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 7/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

Responder

jorge

Estimado Jonathan buneas tardes mi nombre es


Jorge Rojas , necesito realizar un proyecto en
Pic16f84 donde pueda ingresar un numero de 4
digitos en 4 display 7 segmentos , mediante
programa en asembler , si puedes darme algun
apoyo con el programa , gracias por la ayuda
Responder

beatriz soto

tengo duda en cuanto al programa por que me


salen dos errores uno en el tipo de pic y otro en la
instruccin B YTE que tengo mal?
Responder

Alejandro Moncada

Si quisiera cambiar el puerto de salida B, por el


puerto A? que cambio
Responder

Jonathan Melgoza

TRISA = 0x85
PORTA = 0x05
Saludos!


https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 8/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

Lee Murio

amigo usaste un pulsador en este montaje o


apenas le das los 5v al pic empieza las secuencia
de 0 a 9? Gracias de ante mano
Responder

Jonathan Melgoza

Hola Lee,
En este tuto no utilize pulsador ( no
tenia uno a la mano XD ) en cuanto se le
da energia comienza la secuencia y al
terminar se reinicia el contador, puedes
ponerle uno la verdad no es nada del
otro mundo XD
Saludos!

Dejar un comentario
Tu direccin de correo electrnico no ser publicada.
Los campos obligatorios estn marcados con *

Tu Nombre*

Tu Email*


https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 9/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza
Publicar comentario

Escribe aqui..

Buscar

Hola! Soy Jonathan


Melgoza Ingeniero
en sistemas
computacionales de
Mxico y juntos en
este blog
aprenderemos

https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 10/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

sobre programacin,
desarrollo web,
tecnologa,
marketing, seo,
emprendimiento,
blogging, wordpress,
electronica, ganar
dinero, hacking,
informtica y mucho
ms.. cosas que a ti
y a mi nos
apasionan.

@JONATHAN__MEL
Ingeniero en sistem
computacionales progr
blogger y geek Mxic
Contctame para servici
Sgueme para cosas de prog


https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 11/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

Sgueme en Instagram

NECESITAS AYUDA?

VISITA NUESTRO
FORO


https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 12/13
12/10/2017 Display 7 Segmentos Y PIC - Tutorial Electronica | Blog de Jonathan Melgoza

QUIERES MIS
SERVICIOS?

CONTCTAME
AHORA

TE GUSTA EL
BLOG?

RECIBE MIS
ARTICULOS

CATEGORIAS LO LTIMO ENLACES

Programacion Plantillas de correo en Gmail Acerca del blog


Herramienta / Extensin
Desarrollo web Acerca de m
Aprender Online a travs de
seo Aviso Legal
tutores por Skype
Tecnologia Escribir post de invitado
Display 7 Segmentos Y PIC
Marketing Tutorial Electronica Herramientas Basicas

Emprendimiento Aadir un icono Font Awesome Publicidad en el sitio

Electronica en un encabezado con CSS Foros

Opinion Comandos bsicos en windows Suscribirse

O topic Cmo con gurar el correo en Contactar


Outlook 2016?

Diferencias entre Email


Marketing y Email Transaccional

Blog de Jonathan Melgoza Copyright 2017. Hospedado por WebEmpresa


https://jonathanmelgoza.com/blog/display-7-segmentos-con-pic/ 13/13

También podría gustarte