(R E S O L V I D O) Pisca led com retardo usando 12f629/675 ?

Colegas, 

Estou com este código no .TXT em anexo. O esquema também está anexado.

Nele o led pisca (500ms) só 1 vez quando a chave abre depois de ter estado fechada. Se a chave fechar e tornar a abrir, o led pisca novamente. E assim vai. 

Mas o que pretendo é:

Gp0 = 0, led não faz nada

Gp0 = 1 por mais que 5 segundos, led pisca só 1 vez (500ms). 

   Se Gp0 ficar = 0 antes dos 5 segundos, led não faz nada e a contagem de tempo zera

   Para o led piscar novamente Gp0 = 0 e Gp0 = 1 por mais que 5s

Quando eu crio um int=0; e coloco x++, e x==5000. Para de funcionar. O led nem pisca mais em momento algum. 

Quem pode incluir este delay-retardo no código em anexo ?

O colega mineirin RV resolveu ===========================

GRATO

Exibições: 201

Anexos

Responder esta

Respostas a este tópico

Tudo bem. Valeu.

Vou fazer no mplab e coloco o arquivo .asm e o .hex aqui.

Te agradeço demais, mas esta pequena função será uma adição a um código maior e por isso teria que ser em c mesmo. É uma caixinha de som que pretendo fazê-la dar pausa tão logo o som parar no alto-falante. Coisa minha aqui. Nada tão importante.

Poxa já tava quase terminando kkk...

Ok desculpa aí.

Boa semana.

Boa tarde SF, (se não gosta que te chame pelas iniciais, avise),

por favor, remova o sketch da área de texto do seu tópico e anexe um arquivo com ele.

RV mineirin

Boa noite SF, (se não gosta que te chame pelas iniciais, avise),

encontrei o erro naquele arquivo que te enviei anteriormente.

Se ainda estiver precisando da ajuda, faça o que solicitei no post anterior.

RV mineirin

Colegas, este código em anexo faz o led piscar se eu pulsar o botão 3 vezes, só atua na abertura do botão. Isso significa que a variável x está incrementando. Porém, o que eu desejo é que o led só pisque 1 vez quando o botão abrir depois de estar fechado e ficar aberto por 5 segundos. Aí pensei em tirar o while, mas se eu fizer isso ele não vai mais aguardar o botão abrir, vai piscar o led logo ao ligar o circuito pois o botão está naturalmente em 0 através de um resistor de 10K (quando fecha vai para 1, ligado nos 5 volts). Então como é que teria que ficar ?

Anexos

Boa tarde SF, (se não gosta que te chame pelas iniciais, avise),

testa este código.

codigolab_V03.txt

RV mineirin

Bom dia, talvez o problema seja o bouncing do botão. 

Faz uma rotina de debounce pra testar.

Bom dia F2M, (se não gosta que te chame pelas iniciais, avise),

o problema foi resolvido com o ultimo código que postei.

RV minierin

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço