Página 1 de 1

Monitorar 2 sensores

MensagemEnviado: 07 Mar 2010 20:30
por jroberto.vieira
Caro colegas,

Preciso de uma rotina para monitorar 2 sensores simultaneamente.
Em P3.2 (sensor 1) e em P3.3 (sensor 2).
Acontece que para evitar sensoriamento falso, introduzi uma rotina de programação de 1 a 9 segundos (o operador escolhe o tempo), para confirmação de sensor acionado e desta forma estar certo de que o sensor 1 ou 2 ou os dois ao mesmo tempo foram acionados e assim prosseguir com a parada de máquina e as providencias que preciso tomar.
Estou usando um AT89S8252 (apesar de estar descontinuado) e estou programando em Assembly.
Preciso da ajuda urgente dos nobres colegas para solucionar este problema.
Fico no aguardo de uma rotina. Não estou conseguindo visualizar a solução.

Abraço,

Roberto.

MensagemEnviado: 07 Mar 2010 21:02
por tcpipchip
leia em nivel de byte a P3 e faz um AND

MensagemEnviado: 07 Mar 2010 21:16
por jroberto.vieira
TCPIPCHIP,

Estou fazendo isto, acontece que os sensores podem deixar de assumir a condição de acionado a qualquer momento e somente apos a condição de efetivamente ter percorrido o tempo programado pelo operador é que posso desligar a máquina.
Exemplo.
Imagina que o operador programou 5 segundos para confirmação dos sensores. e que o sensor 1 foi acionado e o 2 nao. Ele teria que ficar acionado os 5 segundos programados pelo operador para que se possa ter certeza do acionamento correto e nao de repiques. A leitura deve ser feita a todo momento e caso o sensor nao esteja mais acionado, zerar todo o tempo percorrido iniciar novamente caso ele seja acionado.
Observe que isto pode ocorrer com o sensor 1, ou com o sensor 2 ou somente com o 2, ou com os 2 juntos.
Estou fazendo a leitura de um material muito crítico e preciso deste tempo de programação.

Abraço,

Roberto

MensagemEnviado: 07 Mar 2010 21:28
por tcpipchip
Quel uma interrupt do TIMER0 que corre a cada 1 segundo e lá voce cria 2 contatodores para sensor1 e sensor2 quando estiverem acionados ? Caso nao esteja...Zera o contador...

MensagemEnviado: 07 Mar 2010 21:39
por jroberto.vieira
Entendi....

Deveria criar uma rotina de interrupção com a variável tempo programado pelo operador por exemplo e monitorar as interrupções externas disparando cada uma o seu timer.

é isso?

Roberto.

MensagemEnviado: 07 Mar 2010 21:48
por tcpipchip
Use um timer so...e o sensor estiver acionado...acumule o tempo...ai no programa principal voce monitora os valores dos counters...

MensagemEnviado: 07 Mar 2010 21:56
por jroberto.vieira
TCPIPCHIP,


Vc me ajuda a montar esta rotina?
Sempre tive uma dificuldade enorme em entender estes timers.

Roberto.

MensagemEnviado: 08 Mar 2010 08:54
por tcpipchip