Olá a todos! Espero que estejam tendo um bom dia.
Como todos sabemos, este é um blog sobre circuitos lógicos. Porém, algumas pessoas podem se questionar o motivo de, até o presente momento, não termos montado nenhum circuito lógico propriamente dito. Já tivemos posts sobre as portas lógicas (que são a base dos circuitos lógicos), sobre codificadores, softwares para simulação e até sobre conversão numérica, mas não vimos como um circuito lógico realmente funciona. Por este motivo, hoje faremos a simulação de alguns circuitos básicos e iremos entender seu funcionamento. Antes de iniciar, é interessante recapitular alguns conceitos vistos em posts passados, pois estes conceitos são bastante importantes para a compreensão de algumas aplicações dos circuitos lógicos. Para isso, será usado como base o livro "Sistemas Digitais" (11ª edição) de Ronald J. Tocci.
Primeiramente, vamos relembrar como são feitas conversões de unidades. Sempre que temos um número binário, por exemplo, podemos convertê-lo para decimal, assim como podemos converter um número decimal em binário. Como já existe um post no blog detalhando essas conversões, irei apenas comentar sobre as conversões e mostrar alguns exemplos.
No exercício 2-1 a) do livro do Tocci, encontramos nosso primeiro desafio: Converter o número 10110 em decimal. Quando nos lembramos da forma utilizada para converter números binários em decimal, podemos perceber que esta é uma tarefa bastante simples. Basta lembrar que o bit menos significante (mais a direita) vale 2 (base do número binário) elevado a 0 (posição do bit) e o bit mais significante (mais a esquerda) vale 2 elevado a 4 (pois este é um número de 5 bits e, considerando que a primeira posição é o 0, a última posição fica sendo o 4).
Agora, basta multiplicar o número correspondente a potência pelo número binário:
Agora, somamos os resultados:
E pronto! O número 10110 corresponde ao número 22!
Agora, devemos nos lembrar que o contrário também é possível. Podemos converter número decimais em números binários. Para este exemplo, irei utilizar o exercício 2-1 b) do livro do Tocci, onde devemos converter o número 13 em binário. Observe que agora precisaremos fazer várias divisões sucessivas por 2 e observar sempre o valor do resto para chegar ao número binário correspondente. Lembrando que, caso haja alguma dúvida sobre esta conversão, o primeiro post deste blog explica com mais detalhes (e com um vídeo) sobre o processo de conversão.
Para começar, vamos dividir o número 13 por 2. Teremos como resultado o número 6 e resto 1:
Depois, faremos a divisão por 2 até encontrarmos o resultado 1 ou 0:
Pronto! Agora só precisamos pegar o último resultado (que no caso é 1), considerar ele o bit mais significativo e colocar os restos como bits menos significativos (respeitando a ordem em que eles aparecem):
Com todas essas informações, já podemos fazer algo um pouco mais diferenciado. Em um dos posts anteriores deste blog, foram mostrados alguns códigos diferenciados. Um deles foi o BCD, que representa números decimais de 0 a 9 utilizando grupos de 4 bits. Este código é muito utilizado em displays de 7 segmentos. Lendo o livro do Tocci, me deparei com um exercício muito interessante e que tem bastante relação com a postagem de hoje. O exercício 2-19 pede para que seja feita a conversão do número 47 para o código BCD. A primeira vista, este pode parecer um exercício muito complicado, visto que até agora foram feitas apenas conversões de binário para decimal e de decimal para binário. Porém, precisamos nos lembrar que o código BCD nada mais é do que a representação dos números decimais usando 4 bits, ou seja, esta conversão nada mais é do que uma conversão de decimal para binário. Porém, existe outro problema: o código BCD vai apenas de 0 a 9 e 47 é um número bem maior do que 9. Novamente, precisamos nos lembrar de como funciona o código BCD. Neste tipo de código, vamos representar cada algarismo como um número binário de 4 bits. Ou seja, vamos converter o 7 em um binário de 4 bits e depois o 4. A resolução é a seguinte:
Sendo assim, o número ficaria: 0100 0111. Lembrando que sempre precisamos representar os números em BCD com 4 bits, ou seja, precisamos adicionar zeros a esquerda caso o número tenha menos de 4 bits. Este exercício é interessante pois existem circuitos lógicos responsáveis por transformar números binários em BCD para a utilização em displays de 7 segmentos, que por sua vez mostram os números em decimal. Neste exercício vimos, matematicamente, como é feito o processo contrário e ao final deste post, deixarei um link para um vídeo (infelizmente em inglês) onde é possível ver com mais detalhes o funcionamento de um circuito deste tipo.
Agora, vamos finalmente para os circuitos lógicos. Os circuitos lógicos são circuitos que fazem uso de portas lógicas para executar certas tarefas. Para desenvolver circuitos lógicos é utilizada a álgebra de Boole. Na álgebra de Boole, as portas AND funcionam como uma multiplicação (caso um dos sinais recebidos seja 0, o resultado da operação é 0) e as portas OR funcionam como uma soma (caso um dos sinais seja 1, o resultado seria 1). Esta ferramenta é muito importante para facilitar a construção de circuitos lógicos. Para entender melhor este assunto, vamos começar com circuitos lógicos montados e iremos encontrar a expressão booleana correspondente ao circuito. Depois disso, iremos partir da expressão booleana e com isso teremos as informações necessárias para montar o circuito. Abaixo, podemos ver um exemplo utilizando o exercício 3-12 do livro do Tocci.
Com isso, se torna muito mais fácil analisar qual seria a saída se A, B ou C fossem 1 ou 0. Bastaria substituir na equação.
Agora, iremos fazer o oposto. O exercício 3-16 a) do livro do Tocci nos dá a seguinte expressão:
Nenhum comentário:
Postar um comentário