Autor Tema: Problemas con un contador para pic16f877a  (Leído 2932 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado perkantronico

  • PIC10
  • *
  • Mensajes: 7
Problemas con un contador para pic16f877a
« en: 30 de Noviembre de 2008, 20:41:38 »
Hola que tal, he buscado por muchos lados, no se si he buscado mal o no entiendo mucho el tema..
lo que pasa es que necesito programar un contador no muy normal...
La idea general es que el pic, cuente pulsos de entrada ejemplo un interruptor,
si se aprieta el interruptor 10 veces dentro de 20 seg. haga algo por ejemplo parpalee un led cada medio segundo y si se aprieta 20 veces dento de los 20 seg. parpalee el led pero cada 100 mS

ojala alguien pueda ayudarme aunque sea con la idea o algo similar a lo que necesito hacer..
confio en la experiencia de las personas que se encuentran en el foro..

saludos..Antonia

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Problemas con un contador para pic16f877a
« Respuesta #1 en: 30 de Noviembre de 2008, 22:58:58 »
Hola.

Se me ocurre hacerlo con esperas activas, por medio de un timer, la cuenta del tiempo se lleva con las interrupciones de algun timer y mientras tanto con un while con el flag de habiltacion de ciclo controlado por la interrupcion, se testea el pin del pulsador.

Código: CSS
  1. #int_TIMER0
  2. void timer_isr(void)
  3. {
  4.  ++ints0;
  5.  if(ints0>=value)//value: valor a determinar segun el tiempo de espera
  6.  {
  7.    ints0=0;
  8.    flag_espera=1;
  9.  }
  10. }
  11.  
  12. void main (void)
  13. {
  14.  while(!flag_espera)
  15.  {
  16.    if(input(pin_xx))//testeo el pin
  17.    {
  18.      ....
  19.    }
  20.  }
  21. }

saludos
El papel lo aguanta todo

Desconectado perkantronico

  • PIC10
  • *
  • Mensajes: 7
Re: Problemas con un contador para pic16f877a
« Respuesta #2 en: 01 de Diciembre de 2008, 19:08:48 »
Gracias....voy a intertar lo que me dices ,
te comento luego los resutados...

Desconectado perkantronico

  • PIC10
  • *
  • Mensajes: 7
Re: Problemas con un contador para pic16f877a
« Respuesta #3 en: 16 de Diciembre de 2008, 03:53:01 »
Gracias de todas maneras a todos lo que ayudaron..
mi problema lo solucioone con
#int_EXT
EXT_isr() {
  fEXT=0x01;
  ++nEXT;
  contador++;
}

Desconectado Vash

  • PIC10
  • *
  • Mensajes: 9
Re: Problemas con un contador para pic16f877a
« Respuesta #4 en: 20 de Diciembre de 2008, 16:05:37 »
Hola tambien estoy trabajando en un contador de eventos con el pic 16F877A usando el timer1(RC0), basicamente mi contador cuenta desde 0 hasta 9999 y despliega el conteo en una pantalla de LCD, mi problema es que en la simulacion en proteus, sale perfectamente, pero ya armado fisicamente en el circuito el lcd no muestra nada. acontinuacion les pongo mi ASM y la simulacion en proteus.

este es la simulacion en proteus.
http://www.4shared.com/file/76867745/d762d62c/CONTA.html

 y aqui esta el

ASM

http://www.4shared.com/file/76868677/4be09ea2/conta.html


segun un amigo me comento que eran las rutinas de tiempo que nesecita el lcd, para la escritura y lectura, sin embrago ya las aumente y nada, la verdad creo que es el lcd lo que no funcina y si no es eso creo ke soy yo  :), no he podido probar con otro lcd por no lo e conseguido, si embrago quise preguntar, nos vemos y espero su respuesta.