Ir ao conteúdo
  • Cadastre-se

Tratamento de Sinal(Onda quadrada)


b166er

Posts recomendados

Hai! Galera geek... ¬¬ :eek:

Sou novato aqui no forum, primeiro posto, em compensação já chego com uma grande duvida, mais espero q o pessoal aqui possa me ajudar, eu pelo menos me dar uma ideia para terminar esse projeto. Então lá vai. :lol:

Tô terminando um programa em C, para um micro controlador com a seguinte função: Pro uma porta X ele recebe um sinal de onda quadrada com uma frequencia de 91.666 KHz e pela outra porta Y ele recebe um sinal tambem de onda quadrada com uma largura da parte baixa do sinal de 10 ms. Parte alta do sinal q chega a porta Y não me importa, o q me interessa e toda vez q ele identificar uma parte baixa, um vale de 10 ms ele conta um pulso.

Só q como a rede q me envia esses pulsos tem oscilações e ruidos, qulquer coisas q faça com q o sinal vá a nivel logico zero, ele identifica como pulso, pois ele ta programado para contyar pulsos por cada decida. :mad: :mad:

Ai ta a duvida, não sei tratar esse sinal, e gostaria q ele só conta-se um pulso somente quando esse vale, ou seja quando ele for nivel logico 0, tiver no minimo 5 ms de parte baixa.

Alguem entendeu ?? :mellow:

Se sim, por favor tentem me ajudar ou mandar e-mail pra mim [email protected]

Se não obrigoado por ter pelo menos lido o posto.

Vou deixando aqui uma parte do meu codigo fonte para ver se ajuda no entendimento.

while(TRUE)

{

While(end_teste = 0)

{

if (flg_initst == 1)

{

u0mr = 0;

while(endteste_M1 == 0)

{

LED_OFF;

if (PortaM1 == 1 && DecidaM == 0) DecidaM = 1;

else if (PortaM1 == 0 && DecidaM == 1)

{

txs = 0x01;

if(++NumPulsoM > Totalpulsos)

{

txs = 0x00;

xx = (unsigned char) tx;

yy = (unsigned char) prex;

prex = 0xFF;

tx = 0xFF;

XY = (((unsigned int)xx) << 8) + (unsigned int)yy;

PulsoM1[im1]= ((unsigned long int)(cont65536 * 0xFFFF) + (unsigned long int)((unsigned int)0xFFFF - XY));

cont65536 = 0x00;

NumPulsoM = 0x00;

if((++Im1) >= CONTPORM)

{

endteste_M1 = 0x01;

LED_ON;

}

}

DecidaM = 0;

}

}

}

}

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!