Projeto contador flip flop T conta de 0 a 6 no proteus

|

Nesse projeto vamos usar o proteus para simular um contador síncrono usando flip flop JK na configuração T(toggle) para contar de 0 a 6. Usaremos uma técnica rápida e simples que não demanda mapas ou recursos de otimização e discutiremos o circuito, suas vantagens e desvantagens.
Veja mais abaixo:


Gostou? Incentive mais visitando:
LOJA do Brasilrobotics

Objetivo:
-Montar um contador síncrono.
-Usando flipflop JK na configuração T(flipflop tipo T)
-Contar de 0 a 6(decimal)

Primeiramente: Baixe o arquivo de simulação no proteus versão 8.6 ou monte o circuito abaixo:
Observe e simule o projeto para que possa entender como projeta-lo e acompanhar o desenvolvimento desse projeto: 





Vamos para a técnica usada para projeta-lo:
Nosso pré requisito é contar  de 0 a 6(decimal) e retornar a contagem usando flip flops usamos a seguinte noção:
2^1=2
2^2=4
2^3= 8
2^N=x , N é o numero de flip flops necessários para contar até algum número. Sendo que "2" elevando a esse numero(N) nos dá  "x" o numero de contagens possíveis.
Note N=2 conta até 4(decimal) mas precisamos chegar até 6(decimal), sendo  N=3 capaz de contar até 8(decimal) usaremos obrigatoriamente 3 flip flops para poder expressar o número 6(decimal).
Abaixo uma tabela mostra os números em decimais(N)  associado com números binários(q0,q1,q2) sendo (q2,q1,q0) os bits(dígitos) que a "maquina"(saída do flipflop) apresenta.

Outro objetivo é que esse circuito seja síncrono, então as entradas de clock do flipflop precisam estar todas ligadas em uma única fonte de clock(marca o tempo).
Abaixo os 3flipflops que vamos usar com fonte de clock interligada:




O flip flop JK quando tem suas duas portas J e K curto circuitadas(ligadas) se comporta como um flip flop T(toggle) comportamento que ao ter 1 troca a saída e ao ter 0 mantém a saída anterior.
Assim vamos ligar o primeiro flipflop para que esteja a cada pulso do clock alterando a saída. Esse será o q0 e ligar no segundo(q1) para que ele possa reagir conforma a mudança do primeiro.
Até ai tudo bem... A grande sacada vem agora: quando q0 e q1  chegam em (11) temos que desencadear uma alteração no q2  e para isso usamos uma porta lógica AND para detectar essa variação.
Abaixo os dois dígitos que devem ser capturados na porta AND:

 Abaixo essa porta lógica destacada de vermelho:



Segundo passo e que tem a mesma estratégia utilizada no passo anterior é fazer a reinicialização do circuito. Fazer tudo voltar ao zero. Para isso temos no flipflop uma porta CLR(clear) a função que força o "0" na saída. Bom... agora o que fazer? note que se o contador chegar ao 7 temos nas saídas (q2,q1,q0) os valores:"111". Então usamos uma porta lógica para que detecte esse estado e rapidamente ative o clear forçando todo o contador a zerar e consequentemente reiniciar a contagem mantendo um loop continuo que é o nosso objetivo.
Abaixo mostra em destaque as portas quando "N"  está acusando do digito "7".
Abaixo em destaque a implementação de uma porta AND capturando esses dígitos:

Agora podemos acompanhas os dígitos alterando pelas ponteiras de estados lógicos que estão conectadas nas saídas (q2,q1,q0). Faça o acompanhamento juntamente com a tabela para verificar o funcionamento.
Abaixo em destaque essa ponteiras de prova que se alteram após ativar a simulação:


O que podemos dizer sobre esse tipo de técnica?
Muito pratica e permite expandir para qualquer número de contagem que desejamos. Não fizemos uso de tabelas da verdade ou outros artifícios que demandam um certo esforço.
Entretanto há uma desvantagem. Como fazermos a reinicialização do nosso sistema utilizando a detecção de uma estado que não entra na nossa contagem temos pequeno atraso(conhecido como glitches). Se colocarmos num osciloscópio conseguimos notar que a porta lógica para perceber que as saídas estão em "111" leva um certo tempo esse tempo é muito pequeno para nossa percepção humana mas ele existe no circuito e isso no caso de um contador com o propósito de montar um relógio geraria um atraso e um erro que se somaria com o passar do tempo gerando erro em um projeto de relógio que demanda precisão. Entretanto para outros projetos que basta a mudança do estado isso seria irrelevante. Vale aqui avaliar o objetivo do contador e aplicar quando favorável.

Nota:
1-O "set" é um pino que coloca todas as saídas em "1" como não vamos usar essa função as porta "set" estão todas aterradas. É um procedimento padrão para evitar interferências.
2-Usamos conectores com nomes ao invés de ligar usando fios pois deixa o projeto mais limpo. Basta verificar o nome de cada conexão e considerar que é um fio ligando um ponto a outro.

Gostou? Incentive mais visitando:
LOJA do Brasilrobotics



0 comentários:

 

©2010 Brasil Robotics | by Gamesh_