CONTADOR DIGITAL UP/DOWN – COM PIC 16F628A (REF308)  

  RSS

0

Boa noite Cláudio,

Primeiro gostaria de parabenizá-lo pelo excelente conteúdo do blog e pela sua bondade em compartilhar seus conhecimentos.

Bom, gostaria de sua ajuda pra tentar solucionar um problema de mau funcionamento em um projeto que estou desenvolvendo baseado nesse Contador up/down com PIC 16F628A.

Fiz algumas modificações no código para que ele funcione como um temporizador ON/OFF, ou seja, programo um tempo em que ele vai ficar ligado e um tempo em que ele vai ficar desligado e esse ciclo fica se repetindo.

Na simulação com o Proteus tudo funciona perfeitamente, mas, quando gravo o PIC e testo no protoboard até consigo programar os tempos ON/OFF mas quando dou o start ele apaga o display ou as vezes aparece uns números aleatórios.

Já revisei a montagem e está tudo ok

Já troquei o PIC 4 vezes e nada

Já troquei a fonte e nada

Não sei se tem alguma coisa haver mas estou desconfiando que o timer0 e timer1 não funcionam muito bem trabalhando juntos. Será que é isso?

O timer0 mantive igual ao código original, faz a multiplexação do display de 7 segmentos

O timer1 estou usando como base de tempo para os segundos e só ligo ele quando dou o start.

Não sei o que fazer e gostaria de uma luz

Se precisar eu coloco o código aqui.  

 
0

Olá Nelson!

Provavelmente a alteração que você fez no código está produzindo o erro. Verifique a rotina que você fez, se ela não está 'trancando' o código com o uso de delays. Dentro da rotina de interrupção de algum  timer não é recomendado o uso da rotina 'delay_ms() ou delay_us()'.

 
Share: