Autor Tema: ayuda cronometro  (Leído 1951 veces)

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

Desconectado CesarGomez

  • PIC10
  • *
  • Mensajes: 12
ayuda cronometro
« en: 18 de Abril de 2017, 15:39:11 »
buen día señores, en una materia de mi carrera, debo realizar un cronometro, una de mis preguntas es como realizar el antirrebote ya que debo tener tres pulsadores un start/stop, un lap y un reset, anexo mi programa el cual tambien tengo otro incoveniente con la estructura de este, adjunto imagenes y programa en txt, agradezco cualquier colaboracion y sugerencia, muchas gracias.


* pastedImage.png
(99.73 kB, 1280x800 - visto 387 veces)

* pastedImage.png
(99.73 kB, 1280x800 - visto 387 veces)

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:ayuda cronometro
« Respuesta #1 en: 18 de Abril de 2017, 16:13:49 »
Yo lo que suelo hacer es coger una variable y ponerla a su valor medio y esperar a que desborde un limite por arriba o por abajo. Por ejemplo, inicializa una variable a 1000 y cada vez que veas un '1' en la linea le sumas 1 y cuando veas un '0' le restas 1, si ves que la variable llega a 500 es que tienes un '0' lógico y si llega a 1500 es que tienes un '1' lógico. Claro que eso tienes que ajustarlo a tú reloj porque evaluarlo a 100mhz de ciclo de reloj (facil en una fpga) puede ser evaluarlo demasiado rápido: entonces cambias los valores a los que se desborda...

En C es sencillo, en hdl supongo que también pero estoy oxidado :P

Saludos!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:ayuda cronometro
« Respuesta #2 en: 18 de Abril de 2017, 17:10:12 »

Desconectado CesarGomez

  • PIC10
  • *
  • Mensajes: 12
Re:ayuda cronometro
« Respuesta #3 en: 18 de Abril de 2017, 18:00:04 »
muchas gracias manwenwe y KILLERJC por estar atentos a mi inquietud, la verdad lo estoy haciendo por medio de un contador el cual contara segun la formula del link enviado por KILLERJC, este contara hasta 250.000  e ira incrementando las decimas de segundos y asi sucesivamente con cada formato, el problema es que utilizo en dos ocasiones el reloj y un contador y me muestra el error en la imagen adjunta, adjuntare el programa para facilitar entendimiento
* programa.txt
(5.86 kB - descargado 234 veces)
, gracias.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:ayuda cronometro
« Respuesta #4 en: 18 de Abril de 2017, 23:19:49 »
Si no me equivoco el problema viene porque hay 2 o mas procesos que asignan valores a un mismo registro/variable/etc.

divisor100hz asigna valores a C1,M1,etc
Pero sincronizacion lo hace tambien

Hace mucho que no "programo" en VHDL, pero no te conviene hacer como una especie de "modulo" que transforme el binario en 7 segmentos, de esa forma repetis el modulo para cada "salida" en binario. A mi entender parece que queres hacer todo junto.


 

anything