Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

18/09/2010 #1


Reloj Digital, utilizando el timer Pic 16f877A
Hola que tal, me estoy iniciando en esto de los micros, y me encargaron hacer un reloj digital que utilice como entrada para contar exacto 1 segundo (utilizando el timer del pic), convertir una onda senoidal a cuadrada, y esta que entre al pic, y funcione como reloj, todo en ensamblador, he encontrado un contador que cuenta a 9 y regresa, lo que quiero saber es como hacer el reloj algo parecido a contadores en cascada, el reloj lleva segundos, Muchas Gracias
18/09/2010 #2

Avatar de ivan_mzr

Respuesta: Reloj Digital, utilizando el timer Pic 16f877A
Muy rebuscado... una cosa es convertir la onda senoidal a cuadrada y otra lo de contar... mejor organiza tus preguntas para no entenderte mal. Para cambiar la cuenta del tiempo solo utilizas: INCF para incrementar el registro de segundos y cuando llega a 60 reinicia e incrementa en los minutos.
18/09/2010 #3


Respuesta: Reloj Digital, utilizando el timer Pic 16f877A
Si mira, lo que quiero es como poder hacer un reloj, utilizando el timer de contador que tiene el Pic, mi idea, es utilizar un tren de pulsos que entren de manera digital al pic, y que este registre el conteo, para los segundos, minutos y horas, multiplexeado. Gracias
18/09/2010 #4

Avatar de ivan_mzr

Respuesta: Reloj Digital, utilizando el timer Pic 16f877A
Bueno eso habia entendido, es simple si separas las partes que necesitas. Pero tienes que agarrar corte y ser mas especifico en lo que quieres, si quieres o buscas el .asm que haga todo eso, va a estar canijo...

Para el tiempo incrementas el registro de segundos en cada interrupcion y para desplegarlo lo conviertes a BCD.
Código:
        org     0x004           ;ubicacion de las interrupciones

PER_INT_V
        
        BTFSC   PIR1, TMR1IF    ; Timer1 hay desborde?
        GOTO    T1_OVRFL        ; Si, opderacion de interrupcion

                                ;no deberia llegar a este punto...


T1_OVRFL
        BCF     PIR1, TMR1IF    ;limpia la bandera de interrupcion Timer1 
        MOVLW   0x80            ;agrega 0h80 
        MOVWF   TMR1H           ;para aumentar 1 segundo
        btfsc   BANDERA,1       ;interrupcion indeseada, salta y regresa     
        incf    SEG,1           ;decrementa el registro de segundos
        BSF     T1CON, TMR1ON   ;activa el Timer1 
         
        RETFIE                  ;Retorno de la interrupcion
y para el multiplexado yo lo e hecho asi:
Código:
     SWAPF   DSEG,0                     ;display minutos
     ANDLW   0FH
     CALL    TABLE
     MOVWF   PORTB
     BSF     PORTA,4
     CALL    DELAY
     BCF     PORTA,4
 
    bsf        PORTD,3
    
     MOVFW   DSEG                       ;display minutos
     ANDLW   0FH
     CALL    TABLE
     MOVWF   PORTB
     BSF     PORTA,5
     call    DELAY
     bcf     PORTA,5
        RETURN
el delay es de 0x3F a 4Mhz quedo asi:
05/03/2013 #5


Hola amigo, soy nuevo es esto de la programación de pic en mplab, no entendi bien el codigo. Lo podrias expliar un poco?

Gracias de ante mano amigo!
06/03/2013 #6


Conexion de Reloj Multiplexado
Buenos dias compañeros del foro, buscando en internet me encontre un reloj multiplexado.Y quise probarlo pero me surgieron algunas dudas que no he podido resolver espero y puedan ayudarme.
Lo primero que hize fue conectarlo en el protoboard con un solo display ya que no poseo las librerias en el isis para poderlo pasar al ares(pensaba hacerlo en express pcb, el diseño).
Pero en el protoboard nose de que forma sea la correcta de conectar ya que en el esquematico muestra 6 tierras conectadas al CD4009.
¿Las dos tierras de cada display se conectan juntas y de ahi se conecta al CD4009?

Ya he realizado el circuito asi y lamentablemente no me funciona correctamente,espero puedan ayudarme
Archivos Adjuntos
Tipo de Archivo: rar reloj.rar (197,5 KB (Kilobytes), 271 visitas)
06/03/2013 #7

Avatar de Gudino Roberto duberlin

Amigo, bueno para empezar, debes añadir las resistencias limitadoras, una a cada segmento.
Ademas el CD4009, no posee la capacidad de corriente como para alimentar un digito.
Utiliza transistores.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.