Olá amigos, estou trabalhando num projeto com o pic 16f628a, preciso, que ao pressionar um botão, ele dê um pulso de +- 5 seg numa porta, e um pulso direto em outra, e ao pressionar novamente, desligue o pulso direto, e dê outro pulso de +- 5seg naquela porta, desenvolvi esse programa no CCS, mas ele só realiza um ciclo, não volta ao início após terminar as funções, notei no proteus, que as portas, após o pulso positivo(ponto vermelho no proteus) ficam em descanso negativo(ponto azul), acredito que é isso q está impossibilitando o loop da função, será que é alguma configuração dos #fuses? ou um erro no programa?
Pergunta
ADRIANOLIZ9
Olá amigos, estou trabalhando num projeto com o pic 16f628a, preciso, que ao pressionar um botão, ele dê um pulso de +- 5 seg numa porta, e um pulso direto em outra, e ao pressionar novamente, desligue o pulso direto, e dê outro pulso de +- 5seg naquela porta, desenvolvi esse programa no CCS, mas ele só realiza um ciclo, não volta ao início após terminar as funções, notei no proteus, que as portas, após o pulso positivo(ponto vermelho no proteus) ficam em descanso negativo(ponto azul), acredito que é isso q está impossibilitando o loop da função, será que é alguma configuração dos #fuses? ou um erro no programa?
#include<16f628a.h> #use delay(clock=4000000) #fuses INTRC_IO,NOWDT,PUT,BROWNOUT #define BOTAO PIN_A0 void main(void) { while(true){ if(input(BOTAO)){ if (output_low(PIN_A2)){ output_high(PIN_A1); delay_ms(3000); output_low(PIN_A1); output_high(PIN_A2);} else { output_low(PIN_A2); output_high(PIN_A1); delay_ms(3000); output_low(PIN_A1); } } } }Editado por ADRIANOLIZ9Adicionar tag's e modificar título conforme regra 3.6 (Jonathan)
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.