Autor Tema: Problema con pulsadores y tiempo de registro de datos  (Leído 1698 veces)

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

Desconectado andyta

  • PIC10
  • *
  • Mensajes: 28
Problema con pulsadores y tiempo de registro de datos
« en: 19 de Abril de 2010, 18:48:57 »
hola a todos:
Tengo un problema con al siguiente programa adjunto esoy usando  CCS y simulador proteus. Se trata de un contador ascendente(muestro en portb), Se dara inicio al contador cada ves que presione un pulsador ubicado  portc_0, se contara hasta diez y luego repite el ciclo.
Cada ves que presiono otro pulsador detiene el conteo (portc_1), guardando el resultado de la medicion en la memoria eeprom interna del pic y pone el contador a 0. Para verificar que efectivamente estoy usando la memoria eeprom muestro lo que voy guardando en portd. Necesito hacer esto para un monitoreo de mediciones.

El problema que tengo es que el inicio del contador debe darse desde el momento que preciono el pulsador ubicado en portc_0, no cuando suelto el pulsador(Los que sucede en el programa) No se que modificaciones mas realizar el programa, ya a mutado varias veces de su foma original a llegar a ser lo que es ahora. Otro problema que tengo con es que se tiene que presinar por lo menos un segundo el pulsador  ubicado en portc_1, para registrar la medicion, de lo contrario no se registra la edicion y continua con el conteo. Segun mis requerimientos el pulsador a lo mucho debe estar 500ms o un clik oulsado. No se si es problema del simulador o de codigo.
Apreciaria cuanquier sugerencia.
Muchas gracias de entemano.
« Última modificación: 19 de Abril de 2010, 18:52:34 por andyta »

Desconectado The_Chosen

  • PIC12
  • **
  • Mensajes: 51
Re: Problema con pulsadores y tiempo de registro de datos
« Respuesta #1 en: 19 de Abril de 2010, 20:32:54 »
hola a todos:
Tengo un problema con al siguiente programa adjunto esoy usando  CCS y simulador proteus. Se trata de un contador ascendente(muestro en portb), Se dara inicio al contador cada ves que presione un pulsador ubicado  portc_0, se contara hasta diez y luego repite el ciclo.
Cada ves que presiono otro pulsador detiene el conteo (portc_1), guardando el resultado de la medicion en la memoria eeprom interna del pic y pone el contador a 0. Para verificar que efectivamente estoy usando la memoria eeprom muestro lo que voy guardando en portd. Necesito hacer esto para un monitoreo de mediciones.

El problema que tengo es que el inicio del contador debe darse desde el momento que preciono el pulsador ubicado en portc_0, no cuando suelto el pulsador(Los que sucede en el programa) No se que modificaciones mas realizar el programa, ya a mutado varias veces de su foma original a llegar a ser lo que es ahora. Otro problema que tengo con es que se tiene que presinar por lo menos un segundo el pulsador  ubicado en portc_1, para registrar la medicion, de lo contrario no se registra la edicion y continua con el conteo. Segun mis requerimientos el pulsador a lo mucho debe estar 500ms o un clik oulsado. No se si es problema del simulador o de codigo.
Apreciaria cuanquier sugerencia.
Muchas gracias de entemano.

Creo que lo que quieres es que el conteo se active con el flanco de subida de la señal que se da en portc_0, y no con el cambio de estado del pin en cuestión. Creo que no es posible eso ya que en el programa uno compara ceros y unos, no flancos de subida y de bajada. A menos que utilices una interrupción externa del propio microcontrolador y que te de la opción de que se active por flanco de subida.
El segundo problema es raro, ¿Porqué no lo implementas físicamente?
No soy un gran experto en PICs, sin embargo yo anidaría los ciclos if(aux==1) y if(aux==2) dentro de if(portc==1) y if(portc==2) respectivamente, así eliminaría las variables aux1 y aux2. :)

Desconectado andyta

  • PIC10
  • *
  • Mensajes: 28
Re: Problema con pulsadores y tiempo de registro de datos
« Respuesta #2 en: 21 de Abril de 2010, 16:49:13 »
gracias por responder voy a hacer la prueba.


 

anything