Circuito Contador BCD
Vimos anteriormente que os flip flops tipo T podem ser usados como contadores individuais de divisão por dois. Se conectarmos vários flip-flops de alternância em uma cadeia em série, podemos produzir um contador digital que armazena ou exibe o número de vezes que uma determinada seqüência de contagem ocorreu.
Flip-flops do tipo T em clock atuam como um contador binário dividido por dois e, em contadores assíncronos, a saída de um estágio de contagem fornece o pulso de relógio para o próximo estágio. Então um contador flip-flop tem dois estados de saída possíveis e adicionando mais estágios de flip-flop, podemos fazer um contador de divisão por 2N. Mas o problema com os contadores binários de 4 bits é que eles contam de 0000 a 1111. Isso é de 0 a 15 em decimal.
Para fazer um contador digital que conte de 1 a 10, precisamos de ter o contador a contar apenas os números binários de 0000 a 1001. Isto é de 0 a 9 em decimal e felizmente para nós, circuitos de contagem estão prontamente disponíveis como circuitos integrados sendo um desses circuitos o Asynchronous 74LS90 Decade Counter.
Contadores digitais contam para cima de zero até algum valor de contagem pré-determinado na aplicação de um sinal de relógio. Uma vez atingido o valor de contagem, reinicializando-os retorna o contador de volta a zero para iniciar novamente.
Contagem de uma década numa sequência de dez e depois retorna a zero após a contagem de nove. Obviamente, para contar até um valor binário de nove, o contador deve ter pelo menos quatro chinelos de dedo dentro de sua cadeia para representar cada dígito decimal, como mostrado.
BCD Diagrama de estados do contador
Então, o contador de uma década tem quatro chinelos de dedo e 16 estados potenciais, dos quais apenas 10 são usados e se conectássemos uma série de contadores juntos poderíamos contar até 100 ou 1.000 ou qualquer que fosse o número final de contagem que escolhêssemos.
O número total de contagens que um contador pode contar também é chamado de seu MÓDULO. Um contador que volta a zero após n contagens é chamado de contador modulo-n, por exemplo um contador modulo-8 (MOD-8), ou modulo-16 (MOD-16), etc, e para um “contador n-bit”, o intervalo completo da contagem é de 0 a 2n-1.
Mas como vimos no tutorial Contadores Assíncronos, que um contador que se reinicia após dez contagens com uma sequência de contagem de divisão por 10 do binário 0000 (decimal “0”) até 1001 (decimal “9”) é chamado de “contador binário codificado decimal” ou contador BCD para abreviar e um contador MOD-10 pode ser construído usando um mínimo de quatro alternâncias.
É chamado de contador BCD porque sua seqüência de dez estados é a de um código BCD e não tem um padrão regular, ao contrário de um contador binário reto. Então um contador BCD de estágio único como o 74LS90 conta de 0 a 9 decimais e, portanto, é capaz de contar até um máximo de nove pulsos. Note também que um contador digital pode contar para cima ou para baixo ou contar para cima e para baixo (bidirecional) dependendo de um sinal de controle de entrada.
Código decimal codificado binário é um código 8421 que consiste em quatro dígitos binários. A designação 8421 refere-se ao peso binário dos quatro dígitos ou bits utilizados. Por exemplo, 23 = 8, 22 = 4, 21 = 2 e 20 = 1. A principal vantagem do código BCD é que ele permite a fácil conversão entre as formas decimal e binária dos números.
O Contador 74LS90 BCD
O circuito integrado 74LS90 é basicamente um contador MOD-10 década que produz um código de saída BCD. O 74LS90 consiste em quatro flip-flops JK master-slave conectados internamente para fornecer um contador MOD-2 (contagem até 2) e um contador MOD-5 (contagem até 5). O 74LS90 tem uma chave múltipla JK independente acionada pela entrada CLK A e três chaves de câmbio JK que formam um contador assíncrono acionado pela entrada CLK B, conforme mostrado.
74LS90 Contador BCD
Os contadores de quatro saídas são designados pelo símbolo de letra Q com um subscrito numérico igual ao peso binário do bit correspondente no código dos circuitos do contador BCD. Assim, por exemplo, QA, QB, QC e QD. A sequência de contagem 74LS90 é disparada na borda negativa do sinal do relógio, isto é, quando o sinal do relógio CLK passa da lógica 1 (HIGH) para a lógica 0 (LOW).
Os pinos de entrada adicionais R1 e R2 são pinos de “reset” do contador enquanto as entradas S1 e S2 são pinos de “set”. Quando ligadas à lógica 1, as entradas Reset R1 e R2 repõem o contador a zero, 0 (0000), e quando as entradas Set S1 e S2 estão ligadas à lógica 1, colocam o contador no máximo, ou 9 (1001) independentemente do número ou posição real da contagem.
Como dissemos anteriormente, o contador 74LS90 consiste num contador divide-by-2 e num contador divide-by-5 dentro do mesmo pacote. Então podemos usar qualquer um dos contadores para produzir um contador de freqüência divide-por-2 apenas, um contador de freqüência divide-por-5 apenas ou os dois juntos para produzir o nosso desejado contador divide-por-10 BCD.
Com os quatro flip-flops que compõem a seção do contador divide-por-5 desabilitados, se um sinal de relógio for aplicado ao pino de entrada 14 (CLKA) e a saída tirada do pino 12 (QA), podemos produzir um contador binário padrão divide-por-2 para uso em circuitos de divisão de freqüência como mostrado.
74LS90 Dividir por 2 contadores
Para produzir um contador padrão divide-por-5, podemos desativar o primeiro flip-flop acima, e aplicar o sinal de entrada do relógio diretamente no pino 1 (CLKB) com o sinal de saída sendo retirado do pino 11 (QD) como mostrado.
74LS90 Dividir por 5 contadores
Note que com esta configuração de dividir por 5 contadores, a forma de onda de saída não é simétrica, mas tem uma relação mark-space de 4:1. Isto é, quatro sinais de relógio de entrada criam uma saída BAIXA ou lógica “0” e o quinto sinal de relógio de entrada produz uma saída ALTA ou lógica “1”.
Para produzir um contador de década de divisão por 10 BCD, ambos os circuitos internos do contador são usados dando um valor de divisão por 2 vezes 5. Como a primeira saída QA do flip-flop “A” não está conectada internamente aos estágios seguintes, o contador pode ser estendido para formar um contador BCD de 4 bits conectando esta saída QA à entrada CLKB, como mostrado.
74LS90 Dividir por 10 contadores
Então podemos ver que os contadores BCD são contadores binários que contam de 0000 a 1001 e depois reiniciam, pois tem a capacidade de limpar todos os seus flip-flops após a nona contagem. Se ligarmos um botão de pressão (SW1) à entrada do relógio CLKA, cada vez que o botão de pressão for libertado, o contador contará por um. Se conectarmos diodos emissores de luz (LED’s) aos terminais de saída, QA, QB, QC e QD como mostrado, podemos ver a contagem decimal codificada binária à medida que ela ocorre.
74LS90 contador da década BCD
Aplicações sucessivas do interruptor de botão, SW1 irá aumentar a contagem até nove, 1001. Na décima aplicação, o ABCD retornará a zero para iniciar uma nova sequência de contagem. Com tal MOD-10 número redondo de pulsos podemos usar o contador de década para acionar um display digital.
Se quisermos exibir a seqüência de contagem usando um display de sete segmentos, a saída BCD precisa ser decodificada apropriadamente antes de poder ser exibida. Um circuito digital que pode decodificar as quatro saídas do nosso contador 74LS90 BCD e iluminar os segmentos necessários do display é chamado de Decoder.
Driving a Display
Felizmente para nós, alguém já projetou e desenvolveu um IC Decodificador de Display BCD para 7 segmentos, como os 74LS47, para fazer exatamente isso. O 74LS47 tem quatro entradas para os dígitos BCD A, B, C e D e saídas para cada um dos segmentos do display de sete segmentos.
Nota que um display LED padrão de 7 segmentos geralmente tem oito conexões de entrada, uma para cada segmento LED e uma que atua como um terminal comum ou conexão para todos os segmentos do display interno. Alguns displays também possuem uma opção de ponto decimal (DP).
74LS47 BCD para Driver de 7 segmentos
O decodificador de display 74LS47 recebe o código BCD e gera os sinais necessários para ativar os segmentos de LED apropriados responsáveis pela exibição do número de pulsos aplicados. Como o decodificador 74LS47 foi projetado para acionar um display de ânodo comum, uma saída LOW (logic-0) irá iluminar um segmento de LED enquanto uma saída HIGH (logic-1) irá desligá-lo “OFF”. Para operação normal, o LT (Lamp test), BI/RBO (Blanking Input/Ripple Blanking Output) e RBI (Ripple Blanking Input) devem estar abertos ou conectados à lógica-1 (HIGH).
Note que enquanto o 74LS47 tem saídas LOW ativas e é projetado para decodificar um visor de LEDs de 7 segmentos de ânodo comum, o CI do decodificador/condutor 74LS48 é exatamente o mesmo, exceto que ele tem saídas HIGH ativas projetadas para decodificar um visor de 7 segmentos de cátodo comum. Portanto, dependendo do tipo de display de LEDs de 7 segmentos que você tenha, você pode precisar de um IC decodificador 74LS47 ou de um IC decodificador 74LS48.
As entradas decimais com código binário 74LS47 podem ser conectadas às saídas correspondentes do Contador 74LS90 BCD para exibir a seqüência de contagem no display de 7 segmentos como mostrado cada vez que o botão de pressão SW1 é pressionado. Ao mudar a posição do botão de pressão e do resistor 1kΩ, a contagem pode ser feita para mudar na ativação ou liberação do botão de pressão, SW1.
Final 4-bit BCD Counter Circuit
Nota que um display de 7 segmentos é feito de sete diodos emissores de luz individuais para formar o display. O melhor método para limitar a corrente através de um display de sete segmentos é usar um resistor limitador de corrente em série com cada um dos sete LED’s, conforme mostrado. Mas podemos fazer isto de duas maneiras.
Resistores limitadores de corrente
Resistor único – aqui é usado um único resistor limitador de corrente em série, R. Se você não está particularmente preocupado com um brilho constante do display, então esta é a opção mais fácil e simples para controlar o display de 7 segmentos.
A quantidade de luz emitida por um LED varia com a corrente através do dispositivo com a corrente fluindo através do resistor sendo compartilhada entre o número de segmentos do display. Então o brilho do display agora depende de quantos segmentos são iluminados ao mesmo tempo.
Resistores Múltiplos – aqui cada segmento tem o seu próprio resistor limitador de corrente como mostrado no nosso circuito contador BCD simples acima.
>
Os displays de 7 segmentos em geral requerem cerca de 12 a 20 miliampères para iluminar os segmentos, portanto o valor resistivo do resistor limitador de corrente (todos serão idênticos) é escolhido para limitar a corrente para dentro destes valores. Observe que alguns monitores podem ser destruídos se acionados a 40mA e acima.
A vantagem aqui é que o brilho de um determinado segmento de LED não depende do estado dos outros seis LED’s dando ao monitor um brilho constante. Os valores dos resistores limitadores de corrente podem ser escolhidos para fornecer a quantidade correta de brilho, pois a quantidade de luz ambiente também determinará a intensidade de LED necessária.
Nosso circuito mostra um simples contador digital de 0 a 9 usando um Contador BCD 74LS90 e um driver de display 74LS47 de 7 segmentos. Para contar acima de 10 e produzir um contador e um mostrador de 2 dígitos de base, precisaríamos de cascata dois contadores separados, divididos por dez, juntos. Um contador BCD de 2 dígitos contaria em decimal de 00 a 99 (0000 0000 a 1001 1001) e depois retornaria para 00. Note que, embora seja um contador de 2 dígitos, os valores que representam números hexadecimais de A a F não são válidos neste código.
Likewise, se quisermos contar de 0 a 999 (0000 0000 0000 0000 a 1001 1001 1001 1001), então são necessários três contadores de década em cascata. De facto, vários contadores de décadas podem ser construídos simplesmente em cascata através de circuitos de contadores BCD individuais, um para cada década, como mostrado.
Contador BCD de 2 dígitos de 00 a 99
Resumo do contador BCD
Neste tutorial vimos que um contador BCD é um dispositivo que passa por uma sequência de dez estados quando é contado e retorna a 0 após a contagem de 9. Em nosso exemplo simples acima, os pulsos de entrada do relógio são de um botão de pressão mas os contadores podem ser usados para contar muitos eventos do mundo real, como a contagem de objetos em movimento.
No entanto, pode ser necessário um circuito adequado para gerar os pulsos elétricos para cada evento a ser contado, pois esses eventos podem ocorrer em intervalos de tempo discretos ou podem ser completamente aleatórios.
Em muitos circuitos e aplicações eletrônicas digitais, os contadores digitais são implementados usando o Toggle flip-flops ou com qualquer outro tipo de flip-flop que pode ser conectado para dar a função de comutação necessária, ou com o uso de ICs de contagem dedicados, como os 74LS90. Contadores binários são contadores que passam por uma sequência binária e um contador binário de n bits é feito de um número “n” de flip-flops contando de 0 a 2n-1.
BCD, seguindo uma sequência de dez estados e contando usando números BCD de 0000 a 1001 e depois retornando a 0000 e repetindo. Tal contador deve ter pelo menos quatro “flip-flops” para representar cada dígito decimal, uma vez que um dígito decimal é representado por um código binário com pelo menos quatro bits dando uma contagem MOD-10.
Vimos também que a saída codificada BCD pode ser exibida usando quatro LED’s ou com um display digital. Mas para exibir cada número de 0 a 9 é necessário um circuito decodificador, o que traduz uma representação de número codificado binário nos níveis lógicos apropriados em cada um dos segmentos do display.
Display circuitos decodificadores podem ser construídos a partir de elementos lógicos combinados e existem muitos circuitos integrados dedicados no mercado para realizar esta função, tais como o BCD 74LS47 para decodificador/condutor de 7 segmentos.
Os displays de quase 7 segmentos são normalmente usados em aplicações de contagem de vários dígitos, de modo que, ao fazer cascata com mais contadores BCD, podem ser construídos contadores de 4 dígitos que dão displays com uma leitura máxima de 9999.
O Contador 74LS90 BCD é um circuito de contagem muito flexível e pode ser usado como um divisor de freqüência ou feito para dividir qualquer contagem de números inteiros de 2 a 9, alimentando as saídas apropriadas de volta para as entradas de Reset e Set do CI.