Moderadores: andre_luis, 51, guest2003, Renie
brasilma escreveu:O meu sistema usa o '393 como contador e o '245 como porta de entrada, funciona muito bem, ontem comecei a montar outro conjunto de '393 e '245 para colocar em cascata.
O interessante desta solução é que não utiliza nenhum recurso do micro.
unsigned int contador1600,freq; //16 bits. Sua leitura não pode passar de 65535Hz
if (contador1600++>1599) // a cada passada pela isr incrementa uma variável contador1600. Depois de 1599 passadas já se passou 1 segundo
{
contador1600=0; //vamos zerar este contador pra recomeçar novamente de novo outra vez na próxima vez
freq=TIMER16bits; //vamos ver quantas contagens por hw houveram em 1 segundo
TIMER16bits=0; //e, claro, vamos zerar a contagem pra recomeçar.
}
andre_teprom escreveu:Vou na mesma linha que o KrafT, os contadores assincronos são propensos a induzir a falsas contagens devido aos estados intermediários, sobretudo nesse caso aí onde serão usados N flip-flops ( sendo N >10 ), mas de qualquer modo via algoritmo é possivel detectar "pontos-fora-da-curva" de uma média-móvel e contabilizar apenas aqueles que parecerem corretos.
Coincidentemente, fiz uma simulação comparando os dois tipos aqui: Performance de contador Sincrono x Assincrono
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante