O sistema lógico do projeto é composto por 3 CIs que são responsáveis pelo RESET e o PRESET do contador. Em nosso projeto, foi ultilizado: CIs 44LSO5, 74LSO8 E 74LS20.
0 74LSO5 é um CI, que contém 6 inversores, para inverter o sinal de entrada, por exemplo: entra 0 (terra) e sai 1 (VCC), se entrar 1 (VCC) sai 0 (terra).
O diagrama de pinos do CI 74LS05:
A função do 74LS05 em nosso projeto, é para inventer o sinal da saídas C e a A do contador das unidades, pois irá garantir que o CI 74LSO8 funcione corretamente.
O 74LS08 é um CI que contém 4 Portas AND de 2 entradas.
A porta AND multiplica as entradas e deixa a saída com o resultado da multiplicação. Ex: 1x1 resulta em 1 e 0x0, 0x1 resulta em 0.
A seguir o diagrama de pinos:
Em nosso projeto ela atua junto com o CI 74LS05 para ativar o RESET de nosso contador, que é ativo em ALTO (1).
Como explicado no post sobre o contador, temos que resetar o "10" para que vire 0.
DCBA = 1010 (10 em binário), as saídas D e B do contador já estão prontas para o 74LS08. Porém, C e A não!
C e A não estão prontos, pois se ignorarmos eles, na contagem decrescente o contador irá resetar no 15 (1111) pois ele irá entender que D e B são 1, e irá resetar, assim prejudicando a contagem.
Para corrigir isso, temos que garantir que o reset ative em 10, que tem como código único 1010, então passemos no inversor C e A.
Para exemplificar melhor:
Números de 0 a 7 têm como D 0, ou seja: 0: 0000 e 7 : 0111... então na multiplicação DxC(invertido)xBxA(Invertido) sempre será 0.
Segue uma imagem:
Na imagem acima, estamos exemplificando o que acontece com 0, o 3 e o 7, tendo em vista que, o foco principal é ver que o algarismo correspondente ao D é e não muda, portando esse diagrama serve para os números de 0 a 7. Concluindo que os números com D = 0 sempre resultará em 0.
Para números maiores que 7, que usam D segue a imagem a seguir:
Na imagem acima, estamos exemplificando o que acontece com 8,9,10 e 15, mostrando que o contador só resetará quando o CI de portas AND obtiver 1 em seu resultado, e esse resultado, que determinamos é o 10, por isso o uso dos inversores em C e A, assim garante que o código de 10 seja o correto.
Pelo Reset ser mais rápido que o Clock, antes mesmo de ele mudar e registrar 10, o contador já está zerado e pronto para continuar a contagem!
O 74LS20 é um CI que contém 2 Portas NAND de 4 entradas.
Seu funcionamento é muito parecido com o CI 74LS08. Ele multiplica as entradas como o 7408, porém ele automaticamente inverte a saída.Ex: 1x1 resulta em 1, a saída é invertida, logo, será 0. e 0x0, 0x1 resulta em 0, com saída invertida, resultando em 1.
A seguir o diagrama de pinos:
Esse CI foi utilizado para a ativação do PRESET do contador, que é ativa em BAIXO, ou seja 0.
Configuramos o contador para estado de 9, porém ativo em 15.
O estado configurado foi 9, simulando uma contagem decrescente, exemplo: 11-10 - 09.
Além disso, colocamos na saída do 7420 também o preset para 0 das dezenas, simulando a contagem feita logo a cima.
Essas portas são ativas em 15 (1111), visto que o contador conta, decrescentemente, 2-1-0 - 15 - 14...
Como o número 15 é formado por todo 1, não temos que passar por um inversor antes, ou seja, qualquer algarismo contendo o 0, seu resultado será 0, invertido no final dará 1, e o PRESET não é ativado (LEMBRE SEMPRE QUE O PRESET SE ATIVA EM 0)!
A seguir uma imagem exemplificando:
Como podemos observar, toda combinação que contenha algum algarismo 0, seu resultado invertido dará 1 e assim NÃO ativa o Preset, logo, para ele ser ativo, todos os números terão de ser 1 para após sua múltiplicação com produto 1, invertido dando 0, e o único número é o 15 (1111).
Com isso encerramos a parte lógica do projeto.