Autor Tema: AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ  (Leído 1005 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado NIKHEL

  • PIC10
  • *
  • Mensajes: 10
AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« en: 26 de Noviembre de 2018, 16:43:50 »
Un cordial saludo, comunidad.

Hace un tiempo diseñé un simple temporizador a base del 74LS190, compuertas y 74LS47 en cuenta descendente, para que después de 160 minutos, se detuviera en 000 y activara una alarma. Usaba un 555 para la señal de reloj (un pulso cada minuto), pero no era muy preciso con el tiempo.
Entonces se me ocurrió usar un PIC12F509 y valerme de la técnica básica del experimento del destello del led, es decir, activar una salida cada cierto tiempo y esta salida la conecté al pin de entrada de señal de reloj del primer 74LS190. Lo hice así pues un PIC me daría mas precisión respecto al tiempo.
El problema fue que el contador programado para descender desde 160 minutos, al encender el circuito muestra el 160 pero al instante muestra el numero 156 .....al siguiente pulso 154, 152, 148, 144 ...y etc. Y el patrón se repite cada vez que energizo.
Entonces pienso que el PIC no funciona exactamente como un reloj y los pulsos no son limpios ya que parece que lanza 4 y 2 micropulsos en cada flanco de subida y el 74LS190 detecta eso.......lo que a simple vista jamás podría ver.
Entonces no sé si mi idea fue buena o si lo es, cómo podría solucionar esto?
Qué me sugieren?
 Anexo el diagrama del circuito. En la simulación de Proteus funciona perfecto .....en la realidad al parecer no es así.
Realmente necesito poner a funcionar este temporizador.
Agradezco de antemano la atención brindada.

PD: olvidé anexar el código para el PIC12f509 de la línea baseline de solo 8 pines. Pongo por acá ese código y el diagrama de reloj donde uso el pin 5 (GP2/T0CKI) como salida de señal de reloj y el pin 7 (GP0) conectado a la entrada PL de los contadores que inicialmente debe estar en un estado bajo para permitir leer el numero programado en sus entrada (a traves de dipswitch) y despues ponerse en estado alto para iniciar conteo. Es por ello que en el código verán una rutina cortita de 0.2 segundos para esta salida.
La siguiente rutina es para el ciclo de un pulso cada minuto.
Espero que la puedan entender y ustedes que tienen la experiencia y el conocimiento en el manejo de los PIC´S puedan ver si lo hecho es correcto o no.
De antemano, muchísimas gracias por cualquier ayuda.
« Última modificación: 27 de Noviembre de 2018, 10:52:57 por NIKHEL »

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1023
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #1 en: 26 de Noviembre de 2018, 23:48:29 »
Puedes subir el código.
Tal vez exista por ahí algún bug.

Elreypic

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7332
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #2 en: 27 de Noviembre de 2018, 00:01:36 »
Yo creo que la pregunta esta en....

- ¿Por que usar todo eso?

Con solo un PIC te es suficiente para todo lo que queres. Podes usar uno con mas pines. Y lograrias lo mismo.

-----------------

De no querer cambiar el hardware por ahora.... SI el problema lo tenes en tu programa por lo que parece.

Desconectado NIKHEL

  • PIC10
  • *
  • Mensajes: 10
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #3 en: 27 de Noviembre de 2018, 10:27:18 »
Puedes subir el código.
Tal vez exista por ahí algún bug.

Elreypic
Tienes razón, olvidé subir el código.
Espero no sea muy tarde y por aquí lo anexo.

Desconectado NIKHEL

  • PIC10
  • *
  • Mensajes: 10
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #4 en: 27 de Noviembre de 2018, 10:37:16 »
Yo creo que la pregunta esta en....

- ¿Por que usar todo eso?

Con solo un PIC te es suficiente para todo lo que queres. Podes usar uno con mas pines. Y lograrias lo mismo.

-----------------

De no querer cambiar el hardware por ahora.... SI el problema lo tenes en tu programa por lo que parece.
Tienes toda la razón respecto a que para un simple temporizador estoy usando muchas cosas y circuiteria que solo complica el proceso. La razón es que al momento, ya tengo este hardware en una tarjeta y no deseo que se desperdicie. La otra razón es que es un proceso de mejora continua y la cúspide es implementar todo esto con un solo sistema microcontrolado .......y la tercera razón es que apenas me inicié y no tengo idea de como hacerlo solamente con un micro y mucho menos, el programa para ello y mientras aprendo, me tomará mucho tiempo y no lo tengo pues debo implementar esto rápidamente.
Por aqui anexo el código que usé para el micro a ver si puedes juzgar si está bien o tiene sus errores. Te comento que la simulación en Proteus funciona perfecto y aun cuando programé el chip y lo probé en protoboard, funciona muy bien .......el problema es cuando conecto esta salida a la entrada de reloj de los contadores.
Un saludo!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7332
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #5 en: 27 de Noviembre de 2018, 15:38:49 »
El programa parece correcto, no me fije en la cantidad de la demora... Y entiendo tu punto de vista, entonces nos vamos a basar en solo el Reloj con el PIC.

Todo correcto por que es un PIC muy simple, es configurar la salida y listo.
Considero que si estas buscando no errarle TANTO, uses un cristal de 32768Hz en los pines del oscilador del PIC, de esa forma tendrias una frecuencia de 8192Hz, o una instruccion ejecutada cada 1/8192 s... O... contar 8192 ciclos para lograr 1 segundo...

Si lo haces con delays.. Por ejemplo con este codigo:

Código: ASM
  1. Delay_1s
  2.                         ;8188 cycles
  3.         movlw   0x65
  4.         movwf   d1
  5.         movlw   0x07
  6.         movwf   d2
  7. Delay_1s_0
  8.         decfsz  d1, f
  9.         goto    $+2
  10.         decfsz  d2, f
  11.         goto    Delay_1s_0
  12.  
  13.                         ;4 cycles (including call)
  14.         return

El problema es que tus CALL, tus MOVWF, etc consumen tiempo tambien.. veamos tu funcion:

Código: ASM
  1. CICLO                                                   ;
  2.                         movlw   b'11000101'     ; Esto ocupa 1 ciclo de reloj
  3.                         movwf   GPIO            ;   Esto ocupa 1 ciclo de reloj
  4.                         call    TIME            ;      El CALL ocupa 2 y el return otros 2.. por suerte arriba ya esta contemplado esos 4 ciclos
  5.                         movlw   b'11000001'     ;1 ciclo de reloj
  6.                         movwf   GPIO            ;       1 ciclo de reloj
  7.                         call    TIME            ;  Nuevamente tiempo
  8.                         goto    CICLO           ; 2 ciclos de reloj

Si observas al momento de apagarlo tenemos 2 ciclos mas que son del GOTO... Podemos hacer lo siguiente:

Código: ASM
  1. CICLO                                                   ;
  2.                         movlw   b'00000100'     ; Esto ocupa 1 ciclo de reloj
  3.                         xorwf   GPIO, F         ;   Esto ocupa 1 ciclo de reloj
  4.                         call    TIME            ;      El CALL ocupa 2 y el return otros 2.. por suerte arriba ya esta contemplado esos 4 ciclos
  5.                         goto    CICLO           ; 2 ciclos de reloj


Y ahora si solo necesitamos que esos 2 ciclos del GOTO y los 2 ciclos de antes esten esten incluidos en el total... Si con ese oscilador necesitaba 8192 ciclos. Y tengo 4 que no pertenecerian a la demora en si... entonces necesito una demora de 8188 ciclos.. por lo tanto:

Código: ASM
  1. TIME
  2.                         ;8183 cycles
  3.         movlw   0x64
  4.         movwf   d1
  5.         movlw   0x07
  6.         movwf   d2
  7. TIME_0
  8.         decfsz  d1, f
  9.         goto    $+2
  10.         decfsz  d2, f
  11.         goto    Delay_1s_0
  12.  
  13.                         ;1 cycle
  14.         nop
  15.  
  16.                         ;4 cycles (including call)
  17.         return
  18.  
  19. CICLO                                                   ;
  20.                         movlw   b'00000100'     ; Esto ocupa 1 ciclo de reloj
  21.                         xorwf   GPIO, F         ;   Esto ocupa 1 ciclo de reloj
  22.                         call    TIME            ;      El CALL ocupa 2 y el return otros 2.. por suerte arriba ya esta contemplado esos 4 ciclos
  23.                         goto    CICLO           ; 2 ciclos de reloj

En el caso de usar un cristal de mas frecuencia tambien podes llegar al mismo resultado... Pero teniendo en cuenta que necesitas MINUTOS.. no creo que te afecte el PIC con una velocidad tan baja.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1023
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #6 en: 27 de Noviembre de 2018, 18:55:01 »
Como bien lo sabe hacer, nuestro buen amigo KILLERJC te ha brindado una excelente respuesta.
Por otro lado revisando el esquemático noté algunas cosas:

1)El pin D/U aunque está interconectado entre cada 74HC190, al final este está flotado. Asegúrate que en tu circuito real esté conectado a VDD (5V). Aunque lo ideal es usar una resistencia entre VDD y este pin (10Kohms está bien).

2) No veo capacitores de desacoplo de 0.1uF para cada uno de los circuitros integrados (microcontrolador, Contadores, decoders, inversores, compuertas NANDs y NORs ).

elreypic.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1023
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #7 en: 28 de Noviembre de 2018, 11:14:15 »
Buenos días NIKHEL,

Anoche me di a la tarea de realizar la simulación de tu circuito en Proteus 8.6 SP2, y tal como tienes el circuito no logré por ningún motivo que funcionara. Este siempre se queda en estado de "RESET" mostranto "000" en los displays y sin realizar el conteo descendente.
Lo primero que arreglé fue el pin flotado del D/U, el cual lo puse en nivel alto (conectado a VDD), pero seguía sin funcionar. Entonces me puse a ver lo que estaba sucediendo y esto fue lo que encontré.HC
Las salidas TC de los contadores (pin 12 de los 74HC190) los llevas a una compuerta NAND de 4 entradas (74HC20), la salida de este a la entrada de un inversor 74HC04  y la salida del inversor hacia el pin E de los contadores (pin 4 del 74HC190). La función de este parte del circuito es detener el conteo cuando este llega a "000", pero noté que los pines de entrada 1 y 2 de dicha NAND los tienes unidos, y esto es lo que estaba ocasionando el problema de inicio, además de que una vez terminado el conteo regresivo, la única manera de volver a comenzar es aplicando un POWER ON RESET (Es decir apagar y volver a encender el circuito).
Entonces lo que hice fue lo siguiente:
1) Desconecté ese pin 1 del pin 2 de la NAND y lo conecté en el pin PL de los contadores (pin 11 del 74HC190) y este a su vez al pin GP0 del microcontrolador PIC12F509.
2) Luego agregué un pulsador el pin del MCLR del microcontrolador (pin 4 del PIC12F509)
3) Realicé la simulación de tu código orginal en MPLAB (la versión antigua 8.92) y tus rutinas de tiempo relamente son exactas (felicidades por eso). Por lo que no encontré ningún problema con tu código. Sin embargo realicé algunas modificaciones.
4) Realicé la simulación en proteus y ahora sí, todo funcionó a la perfección. De esta manera cuando el temporizador o conteo llega a "000", no necesitas realizar un POWER ON RESET, simplemente presionas el pulsador del MCLR en el microcontrolador y el temporizador comenzará su conteo desde su valor programado, en este caso desde "160".

Te he adjuntado tanto el archivo de simulación en proteus como el archivo de ASM del código para el microcontrolador.

También quería mencionarte que otra forma en que puedes hacer el generador de tiempo es usando un oscilador de 32.768 KHz y unos contadores más para dividir la frecuencia hasta obtener un pulso cada minuto. He realizado el inicio de este usando un 74HC4060 y he logrado la frecuencia de salida de 2Hz; por lo que necesito agregar más contadores (o flip-flops) para seguir dividiendo la frecuencia hasta lograr el pulso cada minuto. Una vez que lo tenga listo subo el esquemático a este tema para que le eches una mirada y ya tú decidas lo que más te convenga.

saludos,

elreypic.

Desconectado NIKHEL

  • PIC10
  • *
  • Mensajes: 10
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #8 en: 28 de Noviembre de 2018, 18:30:37 »
El programa parece correcto, no me fije en la cantidad de la demora... Y entiendo tu punto de vista, entonces nos vamos a basar en solo el Reloj con el PIC.

Todo correcto por que es un PIC muy simple, es configurar la salida y listo.
Considero que si estas buscando no errarle TANTO, uses un cristal de 32768Hz en los pines del oscilador del PIC, de esa forma tendrias una frecuencia de 8192Hz, o una instruccion ejecutada cada 1/8192 s... O... contar 8192 ciclos para lograr 1 segundo...

Si lo haces con delays.. Por ejemplo con este codigo:

Código: ASM
  1. Delay_1s
  2.                         ;8188 cycles
  3.         movlw   0x65
  4.         movwf   d1
  5.         movlw   0x07
  6.         movwf   d2
  7. Delay_1s_0
  8.         decfsz  d1, f
  9.         goto    $+2
  10.         decfsz  d2, f
  11.         goto    Delay_1s_0
  12.  
  13.                         ;4 cycles (including call)
  14.         return

El problema es que tus CALL, tus MOVWF, etc consumen tiempo tambien.. veamos tu funcion:

Código: ASM
  1. CICLO                                                   ;
  2.                         movlw   b'11000101'     ; Esto ocupa 1 ciclo de reloj
  3.                         movwf   GPIO            ;   Esto ocupa 1 ciclo de reloj
  4.                         call    TIME            ;      El CALL ocupa 2 y el return otros 2.. por suerte arriba ya esta contemplado esos 4 ciclos
  5.                         movlw   b'11000001'     ;1 ciclo de reloj
  6.                         movwf   GPIO            ;       1 ciclo de reloj
  7.                         call    TIME            ;  Nuevamente tiempo
  8.                         goto    CICLO           ; 2 ciclos de reloj

Si observas al momento de apagarlo tenemos 2 ciclos mas que son del GOTO... Podemos hacer lo siguiente:

Código: ASM
  1. CICLO                                                   ;
  2.                         movlw   b'00000100'     ; Esto ocupa 1 ciclo de reloj
  3.                         xorwf   GPIO, F         ;   Esto ocupa 1 ciclo de reloj
  4.                         call    TIME            ;      El CALL ocupa 2 y el return otros 2.. por suerte arriba ya esta contemplado esos 4 ciclos
  5.                         goto    CICLO           ; 2 ciclos de reloj


Y ahora si solo necesitamos que esos 2 ciclos del GOTO y los 2 ciclos de antes esten esten incluidos en el total... Si con ese oscilador necesitaba 8192 ciclos. Y tengo 4 que no pertenecerian a la demora en si... entonces necesito una demora de 8188 ciclos.. por lo tanto:

Código: ASM
  1. TIME
  2.                         ;8183 cycles
  3.         movlw   0x64
  4.         movwf   d1
  5.         movlw   0x07
  6.         movwf   d2
  7. TIME_0
  8.         decfsz  d1, f
  9.         goto    $+2
  10.         decfsz  d2, f
  11.         goto    Delay_1s_0
  12.  
  13.                         ;1 cycle
  14.         nop
  15.  
  16.                         ;4 cycles (including call)
  17.         return
  18.  
  19. CICLO                                                   ;
  20.                         movlw   b'00000100'     ; Esto ocupa 1 ciclo de reloj
  21.                         xorwf   GPIO, F         ;   Esto ocupa 1 ciclo de reloj
  22.                         call    TIME            ;      El CALL ocupa 2 y el return otros 2.. por suerte arriba ya esta contemplado esos 4 ciclos
  23.                         goto    CICLO           ; 2 ciclos de reloj

En el caso de usar un cristal de mas frecuencia tambien podes llegar al mismo resultado... Pero teniendo en cuenta que necesitas MINUTOS.. no creo que te afecte el PIC con una velocidad tan baja.
Muchisimas gracias por tu aporte.
Aunque no recién me inicié en esto de los microcontroladores, voy a aplicar lo que me dices en el código y ya veremos que sucede.
Todo esto es un gran aprendizaje para mi.
Un saludo!

Desconectado NIKHEL

  • PIC10
  • *
  • Mensajes: 10
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #9 en: 28 de Noviembre de 2018, 18:53:25 »
Buenos días NIKHEL,

Anoche me di a la tarea de realizar la simulación de tu circuito en Proteus 8.6 SP2, y tal como tienes el circuito no logré por ningún motivo que funcionara. Este siempre se queda en estado de "RESET" mostranto "000" en los displays y sin realizar el conteo descendente.
Lo primero que arreglé fue el pin flotado del D/U, el cual lo puse en nivel alto (conectado a VDD), pero seguía sin funcionar. Entonces me puse a ver lo que estaba sucediendo y esto fue lo que encontré.HC
Las salidas TC de los contadores (pin 12 de los 74HC190) los llevas a una compuerta NAND de 4 entradas (74HC20), la salida de este a la entrada de un inversor 74HC04  y la salida del inversor hacia el pin E de los contadores (pin 4 del 74HC190). La función de este parte del circuito es detener el conteo cuando este llega a "000", pero noté que los pines de entrada 1 y 2 de dicha NAND los tienes unidos, y esto es lo que estaba ocasionando el problema de inicio, además de que una vez terminado el conteo regresivo, la única manera de volver a comenzar es aplicando un POWER ON RESET (Es decir apagar y volver a encender el circuito).
Entonces lo que hice fue lo siguiente:
1) Desconecté ese pin 1 del pin 2 de la NAND y lo conecté en el pin PL de los contadores (pin 11 del 74HC190) y este a su vez al pin GP0 del microcontrolador PIC12F509.
2) Luego agregué un pulsador el pin del MCLR del microcontrolador (pin 4 del PIC12F509)
3) Realicé la simulación de tu código orginal en MPLAB (la versión antigua 8.92) y tus rutinas de tiempo relamente son exactas (felicidades por eso). Por lo que no encontré ningún problema con tu código. Sin embargo realicé algunas modificaciones.
4) Realicé la simulación en proteus y ahora sí, todo funcionó a la perfección. De esta manera cuando el temporizador o conteo llega a "000", no necesitas realizar un POWER ON RESET, simplemente presionas el pulsador del MCLR en el microcontrolador y el temporizador comenzará su conteo desde su valor programado, en este caso desde "160".

Te he adjuntado tanto el archivo de simulación en proteus como el archivo de ASM del código para el microcontrolador.

También quería mencionarte que otra forma en que puedes hacer el generador de tiempo es usando un oscilador de 32.768 KHz y unos contadores más para dividir la frecuencia hasta obtener un pulso cada minuto. He realizado el inicio de este usando un 74HC4060 y he logrado la frecuencia de salida de 2Hz; por lo que necesito agregar más contadores (o flip-flops) para seguir dividiendo la frecuencia hasta lograr el pulso cada minuto. Una vez que lo tenga listo subo el esquemático a este tema para que le eches una mirada y ya tú decidas lo que más te convenga.

saludos,

elreypic.

Un gran saludo y antes que nada, muchisimas gracias por tomarte el tiempo de analizar, simular y mejorar el circuito del temporizador.
Tienes toda la razón respecto a los pines D/U que estaban unidos y flotantes; efectivamente se me olvidó por completo enviarlos a 5Vcc para el conteo descendente y fue unos de los problemas que tuve que corregir por medio de un cable en la tarjeta fisica......aunque no lo hice por medio de una resistencia.
Tengo que detallar bien tu diagrama y código en los archivos adjuntos que sé, me daran mucha luz sobre el camino (tambien el aporte al código que hizo KillerJ).
Te comento que para la fuente de 5Vcc usaba un circuito a base del LM2576 T-5.0 (Y la arme según el circuito básico que aparece en su datasheet),para obtener mejor eficiencia y no generar tanto calor como sucede con los reguladores lineales tales como el 7805. Llegué a quitar el pic de la placa y conectar una señal de reloj momentánea con un 555 y seguía descendiendo de 2 en 2 ........cambie la fuente y obtuve mas estabilidad (al menos con el 555), pero al  usar la señal del PIC, regresaba a lo mismo .....160, 156, 154, 152 ......del 142 salta al 130 .....una locura.
Es por eso que debo tomar muy en serio tus aportes en cuanto a la estabilidad del circuito mediante los condensadores y demás ajustes. La verdad, he pecado por no colocar ello y creí que con solo un par de capacitores a la entrada de la alimentación bastaría.
De allí, me toca estudiar bien el código pues en teoría (simulación en proteus), el circuito funciona. Ya me ha pasado que en la realidad no marcha igual.

Nuevamente, muchisimas gracias por tu tiempo y dedicación a responder esto y ayudarme. Ya les avisaré como me fue.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1023
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #10 en: 29 de Noviembre de 2018, 10:46:53 »
Que tal NIKHEL,

Pues lo prometido es deuda. Anoche nuevamente me puse a trabajar un poquito en lo de generar la base de tiempo usando solamente lógica digital y un cristal de 32.768KHz. Te comento que los capacitores de 22pF no los coloqué ya que el circuito de prueba lo ensamblé un un protoboard y la capacitancia en este es suficiente. Si lo armas en un PCB es necesario colocar esos capacitores, pero su valor depende de la frecuencia interna del cristal. En la simulación no está conectado el el cristal al circuito integrado 4060, pero indico como debería ser conectado. He adjuntado el archivo de simulación en proteus para que le eches un vistazo. Si tienes alguna pregunta, por favor házmela saber.

En el circuito real debes colocar resistencias limitadoras entre el display de 7 segmentos y el 7447. En la simulación no son necesarias.

elreypic.
« Última modificación: 29 de Noviembre de 2018, 10:50:32 por elreypic2 »

Desconectado NIKHEL

  • PIC10
  • *
  • Mensajes: 10
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #11 en: 29 de Noviembre de 2018, 12:44:36 »
Que tal NIKHEL,

Pues lo prometido es deuda. Anoche nuevamente me puse a trabajar un poquito en lo de generar la base de tiempo usando solamente lógica digital y un cristal de 32.768KHz. Te comento que los capacitores de 22pF no los coloqué ya que el circuito de prueba lo ensamblé un un protoboard y la capacitancia en este es suficiente. Si lo armas en un PCB es necesario colocar esos capacitores, pero su valor depende de la frecuencia interna del cristal. En la simulación no está conectado el el cristal al circuito integrado 4060, pero indico como debería ser conectado. He adjuntado el archivo de simulación en proteus para que le eches un vistazo. Si tienes alguna pregunta, por favor házmela saber.

En el circuito real debes colocar resistencias limitadoras entre el display de 7 segmentos y el 7447. En la simulación no son necesarias.

elreypic.
Un gran saludo!

He quedado gratamente sorprendido por tu aporte y ayuda para mi caso; ciertamente estoy infinitamente agradecido.
El circuito de base de tiempo es luz para mi y voy ya mismo a comprar los componentes y probarlo en la protoboard. Estoy aprendiendo mucho gracias a ti y no sabria expresar con exactitud lo satisfactorio que es encontrar personas que se toman la tarea de investigar, probar y compartir su ayuda.
Muy agradecido!
Como lo dije, ya mismo salgo a encargar los componentes y a probar y ensamblar se dijo.
Todos mis resultados los registraré por acá al igual que las dudas que se me presenten.

Un abrazo y nuevamente, MUCHÍSIMAS GRACIAS por tus aportes :) 

Desconectado NIKHEL

  • PIC10
  • *
  • Mensajes: 10
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #12 en: 30 de Noviembre de 2018, 15:26:50 »
Que tal NIKHEL,


No sé si lean este comentario pero déjenme decirles que después de implementar los consejos, modificaciones y sugerencias me sirvieron tanto que EL CIRCUITO TEMPORIZADOR ESTÁ FUNCIONANDO PERFECTAMENTE!!!!!
Muchísimas gracias por su ayuda; les estoy grata y enteramente agradecido y en especial, al señor reypic2  ((:-)) ((:-)) ((:-)) ((:-)) ((:-))
MUCHAS GRACIAS!!

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1023
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #13 en: 30 de Noviembre de 2018, 16:43:04 »
Que bueno saber que finalmente todo funciona muy bien.
Gracias por compartir tu agradecimiento, vaya la redundancia.
Y finalmente cual fue la opción de oscilador que usaste? La del PIC o la del oscilador de 32.678KHz?

elreypic

Desconectado NIKHEL

  • PIC10
  • *
  • Mensajes: 10
Re:AYUDA CON PIC 12F509 USADO COMO GENERADOR DE SEÑAL DE RELOJ
« Respuesta #14 en: 01 de Diciembre de 2018, 22:10:06 »
Que bueno saber que finalmente todo funciona muy bien.
Gracias por compartir tu agradecimiento, vaya la redundancia.
Y finalmente cual fue la opción de oscilador que usaste? La del PIC o la del oscilador de 32.678KHz?

elreypic

El PIC ya que era el sistema originalmente planeado y va de maravilla. Tu modificación del código lo hiciste mas corto y efectivo; se ahorran lineas de código con la función XOR. Y en la parte de hardware, me di cuenta que no sé porqué pero había puesto un pequeño capacitor en la señal del reloj entre el PIC y el contador 74HC190 y este ocasionaba doble pulsos en cada flanco de subida. Y tuve que "estirparlo"  :D
Este aprendizaje vale ORO y espero seguir en contacto con la comunidad y aprendiendo......realmente soy muy nuevo con esto de los PIC, así que si por acá alguien ha compartido un curso idoneo para que individuos como yo, puedan adquirir las bases elementales y algún día estar colaborando con aportes a la gente que se inicia, me gustaría que me lo indicaran.
Y hasta la saciedad: MUCHAS GRACIAS!!
 PD:La opción del oscilador la tengo reservada para otro proyecto personal y cuando lo tenga, les compartiré.