# Reloj digital por pic16f84, salen (minutos invertidos)



## azulxk

hola como estan.. 

me gustaria saber si alguien me puede ayudar a corregir un codigo en .asm que hace funcionar a un reloj de horas y minutos (00 .00 )con 4 displays de anodo  comun y un pic16f84 , cristal de 4mhz  .es un proyecto de JOSEPINO .  Y yo lo quise hacer como practica .  

funciona bien , solo que dos los displays de la derecha (minutos ) salen los numeros invertidos 

en la imagen del circuito y dice que los displays de los minutos van volteados , osea con el punto decimal hacia arriba, pero no importa el orden en que lo ponga simpre me salan alrrevez los numeros (solo los que marcan los minutos )


----------



## El nombre

eso de los numeros invertidos me ha traido de cabeza. ¿ te importaria definir "numeros invertidos"? el cuatro seve como una silla?

en fin...


----------



## azulxk

exacto , el cuatro parece una silla, y cada uno igual, 9 un 6   ,  un  2 parece un 5 ,el tres parece una E

gracias por interesarte


----------



## mabauti

en el esquema te indica que debes girarlos 180º


----------



## azulxk

si lo se , gracias por contestar 

mira , lo hice tal cual viene en el esquema y salen mal los minutos. si me di cuenta que los primeros 2 displays estan derechos y los otros dos (volteados a 180 grados ) pero aun asi , salen mal


----------



## fofo almarales

Oigan disculpen mi intromision pero ¿no le faltan los transistores a los displays en el diagrama?


----------



## ars

solo deberías modificar la tabla, no es lógico dar vueltas los dígitos, es mejor la soluciona por soft.


----------



## azulxk

no , este diagrama funciona sin transistores ,ya que no es de catodo comun , los displays 

y si , yo sigo pensando que esta mal el codigo. pero no consigo entender en donde estara el error , tengo poco de conocer el lenguaje ensamblador y como yo no hice el programa , se me dificulta mas encontrar el problema .

gracias por contestar de todos modos


----------



## fofo almarales

De que funciona, funciona. La cosa esta en ver cuanto te dura el pic. Corriente maxima de 25mA no te suena a algo


----------



## anthony123

fofo almarales dijo:
			
		

> De que funciona, funciona. La cosa esta en ver cuanto te dura el pic. Corriente maxima de 25mA no te suena a algo


mmm y vos lo armaste? si no es asi de donde sacas tanta seguridad?


----------



## El nombre

anthony123: La boca!

Es más Que 7 segmentos aguanta los 3,3~5.5V

Los hay que tienen que leer algo más.


----------



## anthony123

la boca que?


----------



## mabauti

anthony123 dijo:
			
		

> fofo almarales dijo:
> 
> 
> 
> 
> De que funciona, funciona. La cosa esta en ver cuanto te dura el pic. Corriente maxima de 25mA no te suena a algo
> 
> 
> 
> mmm y vos lo armaste? si no es asi de donde sacas tanta seguridad?
Hacer clic para expandir...

Por experiencia puedes saber si algo funcionara correctamente o no 


===========================================

ya lo resolviste azul? >_>

supongo que ademas de girarlos estás invirtiendo las conexiones ;

podrias poner alguna foto del circuito "funcionando"? quiza se resuelvan asi algunas dudas


----------



## ciri

Pregunta..

Y si invertís los pines de salida, y entrada al display?

Digo!..

Los números sales en orden pero invertidos...

Bueno.. lo que debes hacer es, los pines de arriba del display llevarlos abajo y los de abajo.. arriba.. en otras palabras dar vuelta los display con sus pistas correspondientes..


----------



## Leon Elec

Hola. El problema es que conectaste los display de los minutos en forma incorrecta. Lo debes conectar no respetando los números de los led, o sea, el segmento a de los display minutos con el segmento a de los display de horas, debes hacer coincidir los segmentos de los minutos con los de la hora por ejemplo, el segmento C con el F, el segmento E con el B.

Espero haberme explicado.


----------



## fofo almarales

Para anthony123: Bueno amigo no queria sonar desafiante. Arme un contador con 3 displays en conjunto con un contador unitario con alarma utilizando displays de catodo comun con un deco 7448 y los multiplexe con transistores 2N3906. Ese es el circuito mas complejo con displays que he hecho... Lo que decia era una aclaratoria no valla a ser que a la larga tenga problemas con el PIC. Bueno amigo disculpame si sone un poco presumido o algo por el estilo. Esto no lo hago con mala intensión.


----------



## fofo almarales

Ahora hablo en pro del tema principal



			
				Leon Elec dijo:
			
		

> Hola. El problema es que conectaste los display de los minutos en forma incorrecta. Lo debes conectar no respetando los números de los led, o sea, el segmento a de los display minutos con el segmento a de los display de horas, debes hacer coincidir los segmentos de los minutos con los de la hora por ejemplo, el segmento C con el F, el segmento E con el B.
> 
> Espero haberme explicado.



Estoy de acuerdo con Leon. Ya me ha pasado algo similar.


----------



## azulxk

gracias por ayudarme , pero ya arregle el circuito y ya funciona correctamente , no les pude comentar esto antes por que andaba muy ocupado 

el problema estaba en las conexiones (despues de varias pruebas encontre la forma correcta)


----------



## anthony123

Podrias poner las modificaciones que hiciste please?


----------



## cesartm

Queridos amigos,

Aprecio mucho su ayuda y sere concreto mis dudas, lo primero use displays de catodo comun, tengo que usar los transistores?, los segmentos tos tengo que conectar en serie o sea Seg. A con seg. A y de ahi cruzar a los minutos y conectarlos a los segmentos A o no tengo que respetar esto sino simplemente que se encienda los mismos LEDs del lado de los minutos?.
Esto se debe a que elabore el mismo circuito de jose pino pero me aparecen caracteres raros y ademas no cambian simplemente parpadean, utilice un pic16f84a lo cual cuando lo "queme" el ordenador me mando un mensaje donde decia que se habia hecho satisfactoriamente con el codigo hexadecimal de Jose al igual en su web site dice que utilizar este pic tiene un problema a corregir, bueno nos se si alguien pueda ayudarme.

Muchas Gracias de antemano y cualquier cosa de ayuda es bienvenida........Goooood Byee


----------



## mabauti

> lo primero use displays de catodo comun, tengo que usar los transistores?


de preferencia usalos, te sirven para evitar que el micro se pudiera dañar



> A con seg. A y de ahi cruzar a los minutos y conectarlos a los segmentos A o no tengo que respetar esto sino simplemente que se encienda los mismos LEDs del lado de los minutos?.


como te indica el diagrama, en los minutos es directo, en los segundos los inviertes , esto es A con A en los min y despues A con D en los segs, de preferencia primero usa un protoboard para que te des cuenta si estan funcionando bien.


----------



## cesartm

I made it! Fellas.

Gracias por su ayuda, pude ver donde estaban mis errores los cuales fueron en la alimentacion del circuito ya que use de catodo comun displays y los patitas del pic16f628 de la 6 a la 13 van hacia el primer display y yo las tenia una todas revueltas, el protoboard parece una sopa.

Mas tarde subire unas fotos..


----------



## cliver91

azulxk dijo:
			
		

> si lo se , gracias por contestar
> 
> mira , lo hice tal cual viene en el esquema y salen mal los minutos. si me di cuenta que los primeros 2 displays estan derechos y los otros dos (volteados a 180 grados ) pero aun asi , salen mal



pero cuando los diste vuelta? en la proto o en la plaqeta final? porqe tenes qe tener en cuenta qe cuando giras el display tmb tnes qe girar los cables (o pistas)... porqe sino te van a qedar los pines F con A, E con B ,etc etc... y va a ser lo mismo solo qe con el punto para arriba DD

espero aver ayudado =)

ah y otra cosa  yo qiero hacer un reloj por eso ando x aca  vos me lo recomendarias de qe anda bien (sin tener en cuenta la falla de los display)?


----------



## cesartm

Les dire que batalle mas en la duda que fue acerca de los display que en programar el 16F628, asi que prondre unos puntos concretos de lo que se deberia hacer:

*Usar un 16F628 (con su codigo para este), Ya que el codigo que da Jose para el 16F84 esta pendiente a corregir.
*No tomar en cuenta la patita numero 4 en el 16F628.
*Si usas Display de catodo comun conecta la patita numero 3 a tierra.
*De anodo comun al +.
*Los Display van invertidos en el lado de los minutos pero los segmentos de estos van en serie, en los de las horas A1 con A2 y de ahi a los minutos A3 con A4, asi sucesivamente.
*Las patitas del PIC, de la 6 a la 13 van en el primer display de las horas.

En este ultimo fue donde estubo mi error ya que en mi protoboard tenia una verdadera sopa hasta que hice esto, por que? yo no se, yo tambien estoy aprendiendo.

Gracias por su tiempo y espero que les sea de utilidad especialmente para cliver91.


----------



## mabauti

que bueno que por fin te quedo cesar 

una pregunta:  que tan exacto es? 


yo iba a hacerlo, pero al final me decidi por hacer un reloj con indicador de temperatura usando el DS1307 y el DS1820.


----------



## anthony123

En realidad la presicion de estos relojes es cuestionable! Yo arme uno y esta funcionando desde hace 2 meses sin parar (gracias que no han habido fallas en la luz) y no se ha retrazado! 
Pero me imagino que un año o 2 si se retraza un 1/6 de seg o algo asi


----------



## cesartm

mabauti dijo:
			
		

> que bueno que por fin te quedo cesar
> 
> una pregunta:  que tan exacto es?
> 
> 
> yo iba a hacerlo, pero al final me decidi por hacer un reloj con indicador de temperatura usando el DS1307 y el DS1820.



No se que tan exacto sea pero debe tener un rango de error como dice anthony123 y seria bueno colocarle ya sea una pila de 3V o un condensador entre la patita 5 y 14, para que no se reinicie cuando se vaya la luz, digo no?


----------



## cliver91

heey muchisimas gracias cesartm y sry por lo de las caritas "" jeje
el problema que tengo con ese circuito es que no consigo el pic ese.. 
osea yo estoy en un pueblo de "vacaciones" y no hay lugares para comprar cosas, y solo tengo el pic16F84A para programar... y ya probe ese circuito en la proto con el 16f84 y no anduvo.. 
y ya estoy re cansao de buscar programas porque no me anda ninguno... no c si es el programador o el pic o el archivo que baje... asi qe ya decidi hacerlo a lo antiguo: con el gran 555 contadores y decodificadores =)

gracias igual...


----------



## anthony123

Te va a salir mas caro de esa forma! Pon en google: Pagina de electronica de carlos diaz, ve al link de los circuitos y monta el que esta ahi! Yo lo arme y me esta funcionando perfecto:


----------



## zspikes

anthony123 dijo:
			
		

> En realidad la presicion de estos relojes es cuestionable! Yo arme uno y esta funcionando desde hace 2 meses sin parar (gracias que no han habido fallas en la luz) y no se ha retrazado!
> Pero me imagino que un año o 2 si se retraza un 1/6 de seg o algo asi



perdon q me meta, pero.......
como hiciste para lograr tanta precisión? yo hace poco hice un reloj binario con un 16F84A para practicar un poco (ya q soy muy nuevo en esto). Y me rompi la cabeza sacando cuentas para lograr un segundo usando varios acumuladores.
Terminé utilizando la interrupción de desbordamiento del tmr0 y uno q otro acumulador, pero asi y todo, el reloj se retrasa unos 10 segundos cada una hora.
Pense sumar esa cantidad de segundos cada hora, pero no me gustan los parches.
si queres ver el .asm no tengo ni un drama en subirlo, gracias!


----------



## anthony123

Amigo YO NO hice el codigo, lo tome de la pagina de Carlos Diaz

AKI esta el .asm, si quieres observalo y detalla cual fue la tecnica que empleo carlos para hecer el reloj!!

Te comento que es sumamente preciso! No se ha retrazado en lo que lleva funcionando!


----------



## zspikes

ufff, cuantas lineas jeje... ahora me voy a poner a leerlo bien a ver si descubro cual es el secreto 
muchas gracias!


----------



## anthony123

Jejejejeje el codigo fue hecho con mucho cuido! Se tomaron todas las variables: como retrazo, problema con los rebotes, etc!


----------



## zspikes

si, todo muy bonito, pero me encantaron las etiquetas: "ajujaju" "blablabla" jajaja.
La verdad q me re pierdo... creo q seria mas facil ver el codigo fuente de la funcion delay_ms() de C, pero no se si sera open source.


----------



## anthony123

Podria tratar de contactar al creador de site (Carlos Diaz) pero yo llevo meses intentandolo y  nada!


----------



## carlos_csm

Alguien me puede decir si el circuito del reloj despertador de la web de Carlos Diaz marca las horas en formato 24h.

Gracias.


----------



## anthony123

Efectivamente, lo muestra en ese formato... Pero cabe destacar que el reloj es preciso y no se ha atrasado en los 6 meses que tiene trabajando!


----------



## carlos_csm

Muchas gracias anthony123

Vamos a ir a comprar los materiales y a jugar un poquito. Mientras mi mujer hace anillos y pendientes, yo voy a soldar patillitas... jeje.


----------



## carlos_csm

Anthony123 ó alguien que lea esto... teneis la serigrafia de la plaquita del reloj de la web de Carlos Diaz?
Ya lo he montado sobre una protoboard y va de vicio. Hoy hasta me he despertado con su alarma pipipipiiii pipipipipiiiiii! je!.

Espero que alguien tenga el diseño ya de la plaquita funcionando. Gracias!


----------



## anthony123

Yo lo hice a mano! Pero creo que alguien del foro lo hizo en un programa..!


----------



## pancholo

alguien que me pueda ayudar cn el circuito de carlos diaz lo que pasa es que ya revise todo y a la hora de poner los minutos o las horas todos los displays se ponen en el mismo numero ya revise todo o si alguien lo hizo en protoboard si me puede mandar una foto

de antemano muchas gracias


----------



## miguelato

hola  anthony123 soy miguelato y me llamo mucho la atensión tu reloj pues el que vi en la pagina de carlos diaz era muy distinto , el tuyo parece que tenia un rtc o no¿?
me puedes aclarar esa parte porfavor, lo puedes subir?


----------



## DJ DRACO

para esta aplicación los tips son los siguientes:

1) todos los segmentos de todos los display van juntos (A-A-A-A;B-B-B-B;ETC)
2) la conmutación se hace por software y se necesita 1 transistor en el común de cada display...el transistor puede ir a masa (catodo comun) o a Vcc (anodo comun)
3) si girás los últimos 2 dígitos es lógico que se giren los números tambien.
4) al conectar todos los segmentos de cada display con el siguiente, revisar muy bien las conexiones...siempre hay problemas con eso.

saludos.


----------



## mam

anthony123 dijo:


> Amigo YO NO hice el codigo, lo tome de la pagina de Carlos Diaz
> 
> AKI esta el .asm, si quieres observalo y detalla cual fue la tecnica que empleo carlos para hecer el reloj!!
> 
> Te comento que es sumamente preciso! No se ha retrazado en lo que lleva funcionando!


crees que puedas pasarme el .asm por favor


----------



## LGNK3

cesartm dijo:


> Les dire que batalle mas en la duda que fue acerca de los display que en programar el 16F628, asi que prondre unos puntos concretos de lo que se deberia hacer:
> 
> *Usar un 16F628 (con su codigo para este), Ya que el codigo que da Jose para el 16F84 esta pendiente a corregir.
> *No tomar en cuenta la patita numero 4 en el 16F628.
> *Si usas Display de catodo comun conecta la patita numero 3 a tierra.
> *De anodo comun al +.
> *Los Display van invertidos en el lado de los minutos pero los segmentos de estos van en serie, en los de las horas A1 con A2 y de ahi a los minutos A3 con A4, asi sucesivamente.
> *Las patitas del PIC, de la 6 a la 13 van en el primer display de las horas.
> 
> En este ultimo fue donde estubo mi error ya que en mi protoboard tenia una verdadera sopa hasta que hice esto, por que? yo no se, yo tambien estoy aprendiendo.
> 
> Gracias por su tiempo y espero que les sea de utilidad especialmente para cliver91.



hla men intente bajar el hex y asm de este proyecto pero el url ya vencio es esta pagina : ftp://200.60.110.5/Docentes/Mario_R...control/Reloj Digital con display de LEds.htm    . creo que tu ya lo has hecho por favor si podrias subir el archivo al foro seria de gran ayuda..el asm y hex para cualquiera de los pic..el que funcione..


----------



## crisriver

como estas papa estoy buscando el reloj, q vos tenes pero no lo encuentro me eh metido en todos los foros y pag. eh hecho el circuito reloj despertador de la pag de carlos dias. pero lo simulo en el proteus y no me anda si vos tenes el programa .asm me lo podrias pasar para compilarlo y q me genere el codigo .HEX, no se como lo has hecho vos, si tenes una mejor idea me lo podrias decir ando buscando un reloj q sea bueno para ponerlo en mi casa. gracias y perdon por las molestias nos vemos un abrazo!!!!!


----------



## DJ DRACO

Ahi les subo el archivo...traten de no perderlo!!! jajaja

Comentario: no lo armé todavía, no aseguro que funcione.


----------



## crisriver

LGNK3 dijo:


> hla men intente bajar el hex y asm de este proyecto pero el url ya vencio es esta pagina : ftp://200.60.110.5/Docentes/Mario_R...control/Reloj Digital con display de LEds.htm    . creo que tu ya lo has hecho por favor si podrias subir el archivo al foro seria de gran ayuda..el asm y hex para cualquiera de los pic..el que funcione..



viejo como estan los archivos .HEX del 16f84 y el 16f628 no andan tiran error, fijate si lo podes encontrar por otra parte, por q no andan ni ahi vieja un abrazo yo los voy a buscar nos vemossss



mam dijo:


> crees que puedas pasarme el .asm por favor



q haces loco yo lo busque al archivo ese en la pag. y no lo pude bajar me lo podes pasar cualquier cosa te dejo mi mail despues asi me lo pasas al codigo .asm del reloj gracias nos vemos un abrazo!!!



DJ DRACO dijo:


> Ahi les subo el archivo...traten de no perderlo!!! jajaja
> 
> Comentario: no lo armé todavía, no aseguro que funcione.




Gracias papa pero el circuito q me pasaste dice 16C54 y el archivo dice 16F84 q onda sirve igual esto???? por q eh hecho el otro circuito q aparece en la pag del carlos diaz el loco este y no anda un sorongo la verga jaa....


----------



## crisriver

como andan todos, alguien por esas casualidades no tienen un circuito de un reloj digital con display de 7 segmentos q funcione ya se con el pic 16f84 o cualquier otro por q lo q eh encontrado los simulo en el proteus y no andan un joraca.... gracias cuidensen nos vemosssss!!!! desde ya graciasss...



cesartm dijo:


> Queridos amigos,
> 
> Aprecio mucho su ayuda y sere concreto mis dudas, lo primero use displays de catodo comun, tengo que usar los transistores?, los segmentos tos tengo que conectar en serie o sea Seg. A con seg. A y de ahi cruzar a los minutos y conectarlos a los segmentos A o no tengo que respetar esto sino simplemente que se encienda los mismos LEDs del lado de los minutos?.
> Esto se debe a que elabore el mismo circuito de jose pino pero me aparecen caracteres raros y ademas no cambian simplemente parpadean, utilice un pic16f84a lo cual cuando lo "queme" el ordenador me mando un mensaje donde decia que se habia hecho satisfactoriamente con el codigo hexadecimal de Jose al igual en su web site dice que utilizar este pic tiene un problema a corregir, bueno nos se si alguien pueda ayudarme.
> 
> Muchas Gracias de antemano y cualquier cosa de ayuda es bienvenida........Goooood Byee




como andas papa estoy en eso de los programas del pic, y estoy haciendo un reloj. si queres podes pasarme el circuito y el archivo .hex o el .asm q es mas logico seguirlo y con un amigo q sabe vanda de esto podemos solucionarlo si puedo ayudarte con todo gusto. estamos para aprender y q salga de la mejor manera un abrazo papa....


----------



## DJ DRACO

Si funciona igual, ambos pic's son similares. el circuito esta hecho para el 16F84

Ahora, hago una consulta...estoy haciendo un reloj digital para ajedréz...o sea que es doble, tiene 8 displays 7 segmentos multiplexados todo con el PIC16F84..

alguien lo armo?

alguien sabe si funciona?

si quieren paso el archivo del cual lo estoy haciendo


----------



## Carlosrc

Buenas arme el circuito de Kemisa, el mismo que usibo Draco y tengo dudas de si esta bien el . HEX porqe hay digitos que no se forman adecuadamente, saludos


----------



## MrCarlos

Hola Carlosrc

El archivo .HEX por el que preguntas está bien. Lo he probado con el circuito en ISIS de Proteus que adjunto.
Nota en él, que estoy utilizando el PIC18F84A en lugar del que se ve en la imagen que adjunto DJ DRACO en el archivo Reloj Digital.rar de su mensaje #47.

*Al parecer se requieren unos Display’s de 7 Segmentos con Memoria, por lo tanto agregué los 74LS273 entre el PIC y los Display’s. *
Si se arma tal cual viene en la imagen que viene contenida en el archivo que aportó DJ DRACO no funcionará por lo antes mencionado. Probablemente el Display con el que esta elaborado tenga características de memoria HDSP74D3.
Pero no encontré las hojas de datos de este Display.

Tiene 3 Botones que si presionas:
Aparecen los segundos en los Display’s de los Minutos Borrándose las Horas.
Ajustas Las Horas.
Ajustas Los Minutos.
Ocasionalmente en los Display’s de los minutos se presentan los segundos.
Conecté todos los Dp(Decimal Point) juntos para que parpadeen cada segundo.
Como al iniciar la simulación aparece la hora: 12:00 tendrá que pasar un minuto para que los Display’s de minutos cambien a 1.

Creo que este mensaje responde al de DJ DRACO #50 Fechado: 30/Ago/2011.

saludos
a sus ordenes


----------



## YIROSHI

Gracias por el aporte compañero MrCarlos

Saludos compañero


----------



## BAJOFE

buenas noches:
Anda el reloj digital para usar el timbre de una escuela? HEX pasar ASM?
Muchas Gracias!!!


----------



## SERGIOD

anthony123 dijo:


> Amigo YO NO hice el codigo, lo tome de la pagina de Carlos Diaz
> 
> AKI esta el .asm, si quieres observalo y detalla cual fue la tecnica que empleo carlos para hecer el reloj!!
> 
> Te comento que es sumamente preciso! No se ha retrazado en lo que lleva funcionando!



Por favor podrías subir esa información al foro


----------



## Mushito

Porfavor podrian subir el HEX y el ASM del reloj despertador de carlos diaz.No lo puedo descargar de su pagina (foro) por que me muestra como pagina no segura, y se corta. Porfavor suban los archivos comprimidos, no como link.Gracias


----------



## MrCarlos

Hola Mushito

A Ver, Aquí aparece lo que estás requiriendo:
http://electronica.webcindario.com/circuitos/relojdesp.htm

saludos
a sus ordenes


----------



## AleSergi

bahhh, el dueño de esa página no tiene mérito,   no comparte el ASM, que es lo más importante a la hora de comprender el funcionamiento del programa...


----------



## MrCarlos

Hola AleSergi

Bueno, primero te debes inscribir en aquel foro luego podrás bajar el ASM.

Una vez inscrito dale un click  donde apunta la flecha en la imagen adjunta.

saludos
a sus ordenes


----------



## BrunoARG

Hola. Mirá, no sé mucho del tema. Estudio electrónica y todo, pero todavía no cacé la de los PICs.

Lo que si te puedo decir, por deducción lógica, es que o tenes mal conectados los displays, o que programaste mal.

Es decir, vos "das vuelta" el display. Si las pistas, de cobre siguen estando en el mismo lugar, vas a tener el mismo error. Lo que tenés que hacer es o rehacer la placa, ó entrar a meter cables para conectar correctamente cada segmento del display.


----------



## emil_m

anthony123 dijo:


> Te va a salir mas caro de esa forma! Pon en google: Pagina de electronica de carlos diaz, ve al link de los circuitos y monta el que esta ahi! Yo lo arme y me esta funcionando perfecto:


hola. estoy buscando esta pagina pero no la encuentro. puedes subir tu los archivos? gracias.


----------

