Você está na página 1de 32

V

Universidade Federal de Viçosa


Reitor
Demetrius David da Silva
Vice-reitora
Rejane Nascentes

Diretora
Silvane Guimarães Silva Gomes
Campus Universitário, 36570-000, Viçosa/MG

Telefone: (31) 3899 2858 | Fax: (31) 3899 3352

Autores: Mauro de Oliveira Prates


Layout: Taiane Souza
Editoração Eletrônica: Taiane Souza e Malena Stariolo
Edição de conteúdo e CopyDesk: João Batista Mota

2
Esta apostila é um estudo que abrange os princípios e as técnicas dos
modernos sistemas digitais. Ela é baseada no livro intitulado Sistemas Digitais
– Princípios e Aplicações, de autoria de Ronald J. Tocci e Neal S. Widmer,
editado pela Pearson – Prentice Hall.
A apostila foi escrita de forma que os conteúdos do livro-texto foram
escolhidos e resumidos com o intuito de selecionar os temas mais importantes
a serem utilizados no curso de Pós-Graduação lato sensu em Automação e
Controle de Processos Agrícolas e Industriais.
A seguir, você encontrará a apostila dividida em aulas para facilitar a
sequência de aprendizado e a estrutura. Dessa forma, aulas 1 a 5, que serão
vistas na primeira semana de aula, abordam temas relacionadas com a
matemática digital e os princípios de eletrônica digital. Embora algum
conhecimento de eletrônica básica ajude, a maior parte dessa apostila não
exige conhecimento prévio na área.
Nas aulas 6 a 11, abordadas na segunda semana, serão estudados temas
relacionados com álgebra de Boole e circuitos lógicos, nos quais serão vistos
assuntos, como raciocínios lógicos, de extrema importância em sistemas
digitais.
Da aula 12 a 14, na terceira semana, entraremos mais especificamente no
tema Flip-Flops (FFs), um elemento de memória muito importante,
implementado por meio de portas lógicas.
Boa leitura!

3
Princípios de eletrônica digital e analógica

1.Conceitos Introdutórios
No mundo atual, o termo digital tornou-se parte do nosso vocabulário no dia
a dia por causa da maneira profunda pela qual os circuitos e as técnicas digitais
tornaram-se amplamente utilizados em quase todas as áreas de nossas vidas, como:
computadores, automação, robôs, medicina, transportes, entretenimento etc.
Nesta primeira aula, vamos começar introduzindo alguns conceitos básicos
que são parte vital da tecnologia digital.

1.1. Representações Digitais e Analógicas


Na ciência, na tecnologia, nos negócios e em diversos campos, estamos
constantemente lidando com quantidades. Quantidades são medidas, monitoradas,
manipuladas aritmeticamente, observadas, ou de algum modo utilizadas na maioria
dos sistemas físicos. É importante que ao lidarmos com diversas quantidades
sejamos capazes de representar seus valores de modo eficiente e exato. Existem
basicamente duas formas de representar o valor numérico de quantidades: a
analógica e a digital.

1.1.1 . Representações Analógicas


Na representação analógica, uma quantidade é representada por uma
tensão, uma corrente ou uma medida de movimento que seja proporcional ao valor
da quantidade em questão. Um exemplo disso é o velocímetro de um automóvel,
em que a deflexão do ponteiro é proporcional à sua velocidade. A posição angular
do ponteiro representa o valor da velocidade, e o movimento do ponteiro segue as
alterações, aumento ou diminuição da velocidade do automóvel.
Outro exemplo é o termômetro de mercúrio comum, no qual a altura
da coluna de mercúrio é proporcional à temperatura do ambiente. Conforme o
aumento ou diminuição da temperatura, a coluna de mercúrio aumenta ou diminui
proporcionalmente, de maneira que o nível da coluna de mercúrio represente o
valor da temperatura.

4
As quantidades analógicas, tais como as citadas anteriormente, têm
uma importante característica: elas podem variar ao longo de uma faixa contínua de
valores. A velocidade de um automóvel pode ser representada por um valor
qualquer entre zero e 120 km/h, por exemplo. Da mesma forma, a temperatura
medida no termômetro pode apresentar qualquer valor dentro de uma faixa de 25°C
à 45°C.

1.1.2 Representações Digitais

Na representação digital, as quantidades não são representadas por


quantidades proporcionais, mas por símbolos denominados dígitos. Como exemplo,
considere o relógio digital, o qual apresenta a hora do dia na forma de dígitos
decimais, que representam as horas e os minutos. Como sabemos, o tempo varia de
modo contínuo, mas o que lemos no relógio digital não varia continuamente, ou
seja, ele varia em saltos ou degraus, sendo um por minuto. Em outras palavras, essa
representação digital do tempo varia de maneira discreta (em degraus), quando
comparada com a representação do tempo fornecida por um relógio analógico, no
qual o mostrador varia de modo contínuo.
Assim, a maior diferença entre as quantidades analógicas e digitais
pode ser determinada simplesmente da seguinte maneira:

Devido a essa natureza discreta das representações digitais, não há


ambiguidade quando se faz a leitura de uma quantidade digital, ao passo que o valor
de uma quantidade analógica apresenta, muitas vezes, uma interpretação livre.

1.2. Sistemas Digitais e Analógicos


Um sistema digital é uma combinação de dispositivos projetados para
manipular informação lógica ou quantidades físicas que são representadas no
formato digital, ou seja, as quantidades podem assumir apenas valores discretos.
Esses dispositivos são na maioria das vezes eletrônicos, mas podem também ser
mecânicos, magnéticos ou pneumáticos. Alguns dos sistemas digitais mais
conhecidos são os computadores e as calculadoras.
Um sistema analógico contém dispositivos que manipulam quantidades
físicas que são representadas na forma analógica. Em sistemas analógicos, as
quantidades físicas podem variar ao longo de uma faixa contínua de valores. Por
exemplo, um simples regulador de luminosidade (dimmer) varia de forma contínua
a intensidade luminosa de uma lâmpada.

5
1.2.1 Vantagens das Técnicas Digitais

Um aumento no número de aplicações em eletrônica, assim como


acontece em muitas outras tecnologias, está relacionada com o uso de técnicas
digitais para implementar funções que eram realizadas usando-se os métodos
analógicos. Os principais motivos da migração para a tecnologia digital são:

1. Os sistemas digitais são geralmente mais fáceis de serem


projetados. Isso porque os circuitos utilizados são circuitos de
chaveamento, nos quais não importam os valores exatos de tensão
ou corrente, mas apenas a faixa (nível alto ou baixo) na qual eles se
encontram;
2. Fácil armazenamento de informação. Esta é uma habilidade de
dispositivos e circuitos especiais, que podem guardar informação
digital e mantê-la pelo tempo necessário, e técnicas de
armazenamento de informações, que podem armazenar bilhões de
bits de informação em um espaço físico relativamente pequeno.
3. Maior precisão e exatidão. Os sistemas digitais podem manipular
todos os dígitos de precisão necessários simplesmente
acrescentando mais circuitos de chaveamento;
4. As operações podem ser programadas. É bastante fácil projetar um
sistema digital cuja operação é controlada por um conjunto de
instruções armazenadas denominado programa.
5. Os circuitos digitais são menos afetados por ruídos. Flutuações
espúrias na tensão não são tão críticas em sistemas digitais porque
o valor exato não é importante, desde que o ruído não tenha
amplitude suficiente que dificulte a distinção entre um nível alto e
um nível baixo;
6. CIs (Circuitos Integrados ou chips) digitais podem ser fabricados
com mais dispositivos internos. Os circuitos analógicos são mais
complexos e utilizam dispositivos que não podem ser
economicamente integrados (capacitores de alto valor, indutores
etc.).

1.2.2 Limitações das técnicas digitais

Na verdade, há apenas uma grande desvantagem quando se usam


técnicas digitais: O mundo real é quase totalmente analógico.
A maioria das quantidades (grandezas) físicas é de natureza analógica,
e essas grandezas são muitas vezes as entradas e saídas monitoradas, operadas
(alteradas) e controladas por um sistema. Como exemplos temos a temperatura,
pressão, posição, velocidade, nível de um líquido e vazão, entre outros. Estamos
habituados a expressar essas grandezas digitalmente, como quando dizemos que a

6
temperatura é 64°; mas o que estamos fazendo é uma aproximação digital para uma
grandeza analógica.
Para obter as vantagens das técnicas digitais quando tratarmos com
entradas e saídas analógicas, três passos devem ser seguidos:
1. Converter as entradas analógicas do mundo real para o formato
digital;
2. Realizar o processamento (operação) da informação digital;
3. Converter as saídas digitais de volta ao formato analógico (o
formato do mundo real).
A Figura 1 mostra um diagrama, com esses passos, de um sistema de
controle de temperatura típico. Conforme o diagrama, a temperatura analógica é
medida e o valor medido é em seguida convertido para digital por um conversor
analógico-digital (ADC, do inglês Analog to Digital Converter). A informação digital
é então processada por um circuito digital que pode, ou não, incluir um computador
digital. A saída digital é convertida de volta para o para o formato analógico por um
conversor digital-analógico (DAC). Essa saída analógica alimenta um controlador
que comanda algum tipo de ação para o ajuste da temperatura.

Temperatura
Dispositivo (Analógico) Conversor (digital)
analógica Processamento
de medição Analógico / Digital Digital
(sensor) ADC

(digital)

Conversor (Analógico)
Controlador Ajuste da
Digital / Analógico
temperatura
DAC

Figura 1 – Diagrama de um sistema de controle de temperatura que requer conversão


analógico-digital para permitir o uso de técnicas de processamento digital.

A necessidade de conversão da informação entre os formatos analógico


e digital pode ser considerada uma desvantagem porque acrescenta complexidade
e custo. Outro fator que muitas vezes é importante é o tempo extra necessário para
realizar essas conversões. Em muitas aplicações, esses fatores são superados pelas
numerosas vantagens do uso de técnicas digitais e, além disso, a conversão entre
grandezas analógicas tem se tornado uma operação tecnologicamente simples.
Apesar de o mundo ser analógico, a tecnologia digital continuará
invadindo rapidamente o cotidiano de nossas vidas, caminhando em direção a novas
fronteiras que talvez não tenhamos imaginado. Por isso precisamos aprender o
máximo sobre ela e tentar nos divertir nessa aventura que são os sistemas digitais.

7
Sistemas de Numeração Digital

Há muitos sistemas de numeração em uso na tecnologia digital. Os mais


comuns são os sistemas decimal, binário, octal e hexadecimal. O sistema decimal é
obviamente mais familiar por ser uma ferramenta que usamos todos os dias.
Examinar algumas de suas características nos ajudará a entender melhor os outros
sistemas.

1.Sistema Decimal

O sistema decimal é composto de 10 numerais ou símbolos: 0, 1, 2, 3, 4, 5, 6,


7, 8 e 9; usando estes símbolos como sendo os dígitos de um número, podemos
expressar qualquer quantidade. O sistema decimal também é chamado de base 10.
Por exemplo, considere o número 453. Sabemos que o dígito 4 representa 4
centenas, o 5 representa 5 dezenas e o 3 representa 3 unidades. Em essência, o
dígito 4 é o de maior peso entre os três; ele é denominado dígito mais significativo
(MSD, do inglês most significant digit). O dígito 3 é o dígito de menor peso, sendo
denominado dígito menos significativo (LSD, do inglês, least significant digit).
Sendo mais detalhista, as diversas posições relativas à vírgula decimal têm
pesos que podem ser expressos em potências de 10. Isso é ilustrado na Figura 2, em
que o número 2754,214 é representado. A vírgula decimal separa as potências de
10 com expoente positivo das potências de 10 com expoente negativo.
Em geral, qualquer número é simplesmente uma soma de produtos do valor
de cada dígito pelo seu valor posicional (peso).

Figura 2 – Valores posicionais de um número decimal expresso como potências de 10.

8
Sabemos também que no sistema decimal, usando duas posições decimais,
podemos contar 100 números diferentes (102 = 100). Com três posições, podemos
contar 1000 números e assim por diante. Em geral, com N posições ou dígitos
decimais podemos contar 10N números diferentes, começando pelo zero e
incluindo-o na contagem. O maior número sempre será 10N-1.

2.Sistema Binário

Infelizmente, o sistema de numeração decimal não é conveniente para ser


implementado em sistemas digitais. Por exemplo, é muito difícil projetar um
equipamento eletrônico para que ele opere com dez níveis digitais diferentes de
tensão. Por outro lado, é muito fácil projetar um circuito eletrônico simples e preciso
que opere com apenas dois níveis de tensão. Por esse motivo, quase todos os
sistemas digitais usam o sistema binário (base 2) como sistema básico de
numeração para suas operações, embora outros sistemas de numeração sejam,
muitas vezes, usados juntamente com o sistema binário.
No sistema binário há apenas dois símbolos ou valores possíveis para os
dígitos: 0 e 1. Esse sistema de base 2 também pode ser usado para representar
qualquer quantidade que possa ser representada em decimal ou qualquer outro
sistema de numeração.
Tudo o que foi mencionado anteriormente sobre o sistema decimal é
igualmente aplicável ao sistema binário. Seja por exemplo, o número 1011,101. Para
encontrar o seu equivalente decimal, basta somar os produtos do valor de cada
dígito pelo seu respectivo valor posicional:

1011,1012 = (1 × 23 ) + (0 × 22 ) + (1 × 21 ) + (1 × 20 ) + (1 × 2−1 )
+ (0 × 2−2 ) + (1 × 2−3 ) = 8 + 0 + 2 + 1 + 0,5 + 0 + 0,125
= 11,62510

Observe na operação acima que foram usados subscritos (2 e 10) para indicar
a base na qual o número em questão é expresso. Essa convenção sempre é usada
para evitar confusão quando mais de um sistema de numeração está sendo
utilizado.
No sistema binário, o termo dígito binário (do inglês binary digit) é quase
sempre abreviado com o uso do termo bit. Assim, o número 1011,101 tem 4 bits à
esquerda da vírgula e 3 bits à direita da vírgula binária.

2.1. Contagem Binária

Quando operamos com números binários, normalmente estamos restritos


a um número específico de bits. Seja a sequência de 4 bits mostrada na Figura 3,
que se inicia em zero (0000). Para cada contagem sucessiva, a posição de peso
unitário (20) alterna, ou seja, ela muda do valor binário 1 para o outro (0). Cada vez

9
que o bit unitário muda de 1 para 0, a posição de peso 2 (2 1) alterna (muda de
estado). Cada vez que o bit de peso 2 muda de 1 para 0, o bit de peso 4 (2 2) alterna.
Do mesmo modo, cada vez que o bit de peso 4 passa de 1 para 0, o bit de peso 8
(23) alterna. Esse mesmo processo se repetirá para os bits de ordem maior, caso o
número binário tenha mais de 4 bits.
Como vimos no sistema decimal, também é verdade para o sistema binário
que, usando N bits, podemos contar 2N números. Por exemplo, com 2 bits podemos
contar 22 = 4 contagens (002 até 112); com 4 bits podemos contar 24 = 16 contagens
(00002 até 11112), e assim por diante. A última contagem será sempre com todos os
bits em 1, que é igual a 2N-1 no sistema decimal. Por exemplo, usando 4 bits, a última
contagem é 11112 = 24 - 1=1510.
Essa foi uma breve introdução ao sistema de numeração binário e a sua
relação com o sistema decimal. Dedicaremos mais tempo a esses dois sistemas e
alguns outros sistemas nas próximas aulas.

Figura 3 – Sequência de contagem binária

10
1.Introdução

Como mencionado na aula anterior, a informação processada em sistemas


digitais é normalmente apresentada na forma binária. As quantidades binárias
podem ser representadas por qualquer dispositivo que tenha dois estados de
operação ou duas condições possíveis. Por exemplo, uma chave tem apenas dois
estados: aberta (bit zero) ou fechada (bit um). Com essas considerações, podemos
representar qualquer número binário, conforme está ilustrado na Figura 4, na qual
os estados das diversas chaves representam 100102.

Figura 4 – Chaves representando 0 (aberta) e 1 (fechada)

Existem vários outros dispositivos que têm apenas dois estados de operação
ou que podem ser operados em duas condições extremas. Entre esses dispositivos
temos: lâmpada (acesa ou apagada), diodo (em condução ou corte), relé (energizado
ou não), etc.
Em sistemas eletrônicos digitais, uma informação binária é representada por
tensões (ou correntes) que estão presentes nas entradas e saídas de diversos
circuitos. Tipicamente, os números binários 0 e 1 são representados por dois níveis
de tensões nominais. Por exemplo, zero volt (0 V) pode representar o binário 0, e
+5V pode representar o binário 1. Na realidade, devido às variações nos circuitos, o
0 e o 1 são representados por faixas de tensão. Isso é ilustrado na Figura 5 (a), na
qual qualquer tensão entre 0 e 0,8V representa o binário 0 e qualquer tensão entre
2 e 5 V representa o binário 1. Todos os sinais de entrada e saída estarão dentro de
uma dessas faixas, exceto durante transições de um nível para o outro.
Vejamos agora outra diferença significativa entre sistemas analógicos e
digitais. Nos sistemas digitais, o valor exato da tensão não é importante; por
exemplo, para os valores de tensões da Figura 5 (a), uma tensão de 3,6V significa o

11
mesmo que uma tensão de 4,3V. Em sistemas analógicos, o valor exato da tensão é
importante. Essa característica nos diz que o projeto de um circuito analógico,
considerando a precisão, é mais difícil que o de um circuito digital devido ao modo
com que os valores exatos de tensão são afetados por variações nos valores dos
componentes.
A Figura 5 (b) mostra um sinal digital típico e como ele varia ao longo do
tempo. Na realidade, trata-se de um gráfico de tensão versus tempo (t) que é
denominado diagrama de tempo. As transições foram desenhadas como linhas
verticais, o que não ocorre na realidade. No entanto, na maioria das situações os
tempos de transição são tão curtos, que podemos considerá-los como linhas
verticais.

Figura 5 – (a) Indicação de intervalos de tensão típicos binários 0 e 1; (b) típico diagrama de
tempo de um sinal digital

2.Circuitos Digitais

Os circuitos digitais são projetados para produzir tensões de saída (v0) que se
encontrem dentro das faixas de tensões determinadas para os níveis 0 e 1, e para
responderem a tensões de entrada (vi) previsíveis que também estejam dentro de
faixas definidas para os níveis 0 e 1. A forma como um circuito digital responde a
uma entrada é denominado lógica do circuito digital ou circuito lógico.
Quase todos os circuitos digitais utilizados nos modernos sistemas digitais são
Circuitos Integrados (CIs). A disponibilidade de uma grande variedade de CIs lógicos
tem tornado possível a implementação de sistemas digitais complexos. Várias
tecnologias de fabricação de circuitos integrados são usadas para a produção de CIs
digitais, sendo as tecnologias TTL e CMOS as mais comuns. Uma difere da outra pelo
tipo de circuito usado para implementar a operação lógica desejada. Por exemplo, a
tecnologia TTL (do inglês, Transistor-Transistor Logic) usa o transistor como seu
principal elemento de circuito, enquanto a tecnologia CMOS (Semicondutor de
óxido Metálico Complementar, do inglês, Complementary Metal-Oxide-
Semicondutor) usa o MOSFET tipo enriquecimento como seu principal elemento de
circuito.

12
3.Computadores Digitais

As técnicas digitais têm sido aplicadas em inúmeras áreas das tecnologias.


Porém, a área de computação digital é, sem dúvida, a mais notável e a mais ampla.
Embora os computadores digitais afetem de alguma maneira nossas vidas,
provavelmente poucos de nós sabemos o que um computador faz. Em termos
simples, um computador é um sistema de hardware que realiza operações
aritméticas, manipula dados (normalmente de forma binária) e toma decisões.
Um computador é mais rápido e preciso que uma pessoa; porém,
diferentemente de nós, ele precisa receber um conjunto completo de instruções que
determine exatamente o que fazer em cada passo de suas operações. Esse conjunto
de instruções é denominado programa, que são colocados na unidade de memória
do computador, codificados na forma binária, sendo que cada instrução tem um
único código. O computador busca, na memória, os códigos de instrução, um de
cada vez, e realiza a operação determinada pelo código.

3.1. Partes Principais de um Computador

Existem vários tipos de sistemas computacionais, porém cada um pode ser


representado pelas mesmas unidades funcionais. Cada unidade desempenha uma
função específica, e todas elas operam em conjunto para realizar as instruções
contidas no programa. A Figura 6 mostra as cinco principais partes de um
computador digital e as interações entre elas. As linhas contínuas com setas
representam o fluxo de dados e informações. As linhas tracejadas com setas
representam o fluxo dos sinais de controle e de temporização. As principais funções
de cada unidade são:

1. Unidade de entrada. Por meio dessa unidade, um conjunto completo


de instruções e dados é introduzido na unidade de memória do sistema
computacional para ser armazenado até o momento de ser utilizado. Uma
informação entra pela unidade de entrada por um teclado ou por um pen
drive.
2. Unidade de Memória. A memória armazena as instruções e os dados
recebidos da unidade de entrada. Ela armazena o resultado de operações
aritméticas recebidas da unidade aritmética e fornece informações para a
unidade de saída. Os dispositivos e circuitos de memória desempenham
um papel importante nos sistemas digitais porque eles proveem um meio
de armazenamento, temporário ou permanente, de números binários,
com a capacidade de alterar a qualquer momento, a informação
armazenada.
3. Unidade de controle. Essa unidade busca, uma de cada vez, as
instruções na unidade de memória e as interpreta. Então, envia sinais

13
apropriados para outras unidades de acordo com uma instrução específica
a ser executada.
4. Unidade lógica/aritmética. Todos os cálculos aritméticos e as decisões
lógicas são realizados nessa unidade, que pode enviar resultados para
serem armazenados na unidade de memória.
5. Unidade de saída. Essa unidade recebe os dados da unidade de
memória e imprime, exibe ou apresenta de qualquer outra maneira as
informações ao operador (ou processa, no caso de um computador de
controle de processos).

Além destas partes, é importante destacar a Unidade Central de


Processamento (CPU, do inglês Central Processing Unit), mostrada na Figura 6
como a união das unidades lógica/aritmética e unidade de controle. Dessa forma, a
CPU contém todo o circuito para a busca e a decodificação de instruções e, também,
para o controle e a realização de várias operações determinadas pelas instruções.

Figura 6 - Diagrama funcional de um computador digital

3.1. Transmissões Paralela e Serial

Uma das operações mais comuns que ocorrem em qualquer sistema


digital é a transmissão da informação de um lugar para outro. A informação pode
ser transmitida a uma distância tão pequena quanto de alguns centímetros em uma
mesma placa de circuito, ou a uma distância de vários quilômetros quando um
operador em um terminal de computador está se comunicando com um
computador em outra cidade. A informação é transmitida em formato binário e
geralmente é representada por tensões na saída de um circuito transmissor que está
conectado à entrada de um circuito receptor. A Figura 7 ilustra os dois métodos
básicos para transmissão de uma informação digital: paralelo e serial.
A Figura 7 (a) mostra como o número binário 10100110 é transmitido do
computador para a impressora usando uma transmissão paralela. Cada bit do

14
número binário é representado por uma das saídas do computador e conectado à
correspondente entrada da impressora, de modo que os 8 bits sejam transmitidos
simultaneamente (paralelamente).
A Figura 7 (b) mostra que há apenas uma conexão entre o computador e a
impressora quando é usada uma transmissão serial. Nesse caso, a saída do
computador produz um sinal digital cujo nível de tensão muda em intervalos
regulares de acordo com o número binário que está sendo transmitido; ou seja, é
transmitido um bit em cada intervalo de tempo (serialmente) para a entrada da
impressora. O diagrama de tempo que acompanha a figura mostra como o nível do
sinal varia com o tempo. Observe que o bit LSB é transmitido primeiro; isso é comum
em transmissão serial.
A principal relação entre as representações paralela e serial diz respeito à
velocidade versus a simplicidade do circuito. A transmissão de um dado binário de
um ponto para outro de um sistema digital pode ser feita mais rapidamente por
meio do formato paralelo, pois todos os bits são transmitidos simultaneamente,
enquanto no formato serial é transmitido um bit de cada vez. Por outro lado, o
formato paralelo requer mais linhas interligando o transmissor e o receptor de
dados binários do que o formato serial. Em outras palavras, a comunicação paralela
é mais rápida; a serial precisa de menos linhas de sinais.

15
Figura 7 (a) a transmissão paralela usa uma linha de conexão por bit, e todos os bits são
transmitidos simultaneamente; (b) a transmissão serial usa apenas uma linha de sinal, no
qual os bits são transmitidos serialmente (um de cada vez)

16
Sistemas de Numeração e Codificação

1. Introdução

Sem dúvida, o sistema de numeração binário é o mais importante em


sistemas digitais, mas há outros também relevantes. O sistema decimal, por
exemplo, é importante, porque é universalmente usado para representar
quantidades fora do sistema digital. Isso significa que ocorrem situações em que os
valores decimais têm de ser convertidos para valores binários antes de entrar em
um sistema digital. É o caso de quando você digita um número decimal em sua
calculadora ou computador, o circuito interno dessas máquinas converte o número
decimal em um valor binário.
Dessa maneira, ocorrem situações em que os valores binários das saídas de
um sistema digital têm de ser convertidos para valores decimais para serem
apresentados ao mundo externo. Por exemplo, sua calculadora usa números
binários para calcular as respostas de um problema e, então, as converte para
valores decimais antes de apresentá-las.
Além do binário e decimal, dois outros sistemas de numeração encontram
extensas aplicações em sistemas digitais. Os sistemas de numeração octal (base 8)
e hexadecimal (base 16) são usados com o mesmo propósito: prover um meio
eficiente para representar números binários grandes.

2.Conversões de Binário para Decimal e vice-versa

2.1. Conversão de Binário para Decimal


Conforme explicado na Aula 02, o sistema de numeração binário é um
sistema posicional em que cada dígito binário (bit) tem certo peso. Qualquer
número binário pode ser convertido para seu decimal equivalente simplesmente
somando os pesos das posições em que o número binário tiver um bit 1. Para
ilustrar, vamos converter 101101012 para seu equivalente decimal:

1 0 1 1 0 1 0 12
4
2 + 0 + 2 + 2 + 0 + 2 + 0 + 20 = 18110
7 5 2

Observe que o procedimento é determinar os pesos (isto é, as potências


de 2) para cada posição que contenha um bit 1 e, então, somá-los. Veja também

17
que o MSB (dígito mais significativo – confira na Aula 02) tem um peso de 27, ainda
que ele seja o 8º bit. Isso ocorre porque o LSB (dígito menos significativo) é o
primeiro bit e tem um peso de 20.

2.2. Conversão de Decimal para Binário


Há duas maneiras de converter um número decimal inteiro para seu
equivalente no sistema binário. O primeiro método é o processo inverso descrito na
seção 2.1. O número decimal é simplesmente expresso como uma soma de
potências de 2, e os bits 1s e 0s são colocados nos locais apropriados. Para ilustrar:

4510 = 32 + 8 + 4 + 1 = 25 + 0 + 23 + 22 + 0 + 20
= 1 0 1 1 0 12

Observe que um bit 0 é colocado nas posições 21 e 24, visto que todas as
posições têm de ser consideradas.
Um outro método para converter um número decimal inteiro usa divisões
sucessivas por 2. A conversão, ilustrada na Figura 1 para o número 25 10, requer
divisões sucessivas pelo decimal 2 e a escrita, de modo inverso, dos restos de cada
divisão até que o quociente zero seja obtido. Observe que o resultado binário é
obtido escrevendo o primeiro resto na posição LSB e o último na MSB.

Figura 8 – Conversão de 2510 para binário por divisões sucessivas

Esse processo pode ser representado pelo fluxograma da Figura 9 e pode


ser utilizado para converter um número decimal para qualquer outro sistema de
numeração.
DICA: Se você usa uma calculadora para realizar as divisões por 2, poderá
saber se o resto é 0 ou 1 observando se o resultado tem ou não uma parte
fracionária. Por exemplo, 25/2 gera 12,5 como resultado. Como há uma parte

18
fracionária (0,5), o resto é um. Se não houver parte fracionária, como 12/2=6, então
o resto é zero.

Figura 9 – Fluxograma do método das divisões sucessivas para conversão decimal-binário

Faixa de contagem: lembre-se que usando N bits, podemos contar 2N


diferentes números em decimal (de 0 a 2N – 1). Por exemplo, se N = 4, podemos
contar de 00002 a 11112, que corresponde a 010 a 1510, e há 24 números diferentes.

Exemplo 1: Converta 3710 para binário. Tente fazê-lo antes de olhar a solução
deste e dos demais exemplos a seguir, que está no final desta aula.

Exemplo 2: Qual é a faixa de valores decimais que pode ser representada com
oito bits?

Exemplo 3: Quantos bits são necessários para representar valores decimais


variando de 0 até 12500?

19
3.Sistema de Numeração Octal
O sistema de numeração octal é muitas vezes usado no trabalho com
computadores digitais. Ele possui a base oito, o que significa dizer que ele tem oito
dígitos possíveis: 0, 1, 2, 3, 4, 5, 6, e 7. Assim, cada dígito de um número octal pode
ter qualquer valor de 0 a 7.

3.1 Conversão de octal para decimal


Um número octal pode, portanto, ser facilmente convertido para o seu
equivalente decimal multiplicando cada dígito octal pelo seu peso posicional. Por
exemplo:

3728 = 3 × (82 ) + 7 × (81 ) + 2 × (80 ) = 3 × 64 + 7 × 8 + 2 × 1 = 25010

Eis outro exemplo:

24,68 = 2 × (81 ) + 4 × (80 ) + 6 × (8−1 ) = 20,7510

3.2 Conversão de decimal para octal


Um número inteiro pode ser convertido para octal utilizando o mesmo
método das divisões sucessivas que foi usado na conversão decimal-binário da
Figura 9, porém com um fator de divisão 8 em vez de 2. Isso é exemplificado a seguir:

Observe que o primeiro resto se torna o dígito menos significativo (LSD)


do número octal, e o último resto torna-se o dígito mais significativo (MSD).

20
3.3 Conversão de octal para binário

Essa conversão é realizada convertendo-se cada dígito octal no seu


equivalente binário de 3 bits. Os oito dígitos possíveis são convertidos conforme
indicado na Tabela 1 a seguir.

Dígito Octal 0 1 2 3 4 5 6 7
Equivalente 000 001 010 011 100 101 110 111
Binário

Tabela 1 – Conversão de octal para binário

Usando essas conversões, podemos converter qualquer número octal para


binário fazendo a conversão individual de cada dígito. Por exemplo, podemos
converter 4728 para binário da seguinte maneira:

Portanto, o octal 472 é equivalente ao binário 100111010.

3.4. Conversão de binário para octal

Esta conversão é feita simplesmente invertendo o processo anterior. Os


bits do número binário são agrupados em grupos de três bits, começando pelo LSB.
Em seguida, cada grupo é convertido no seu equivalente octal (Tabela 1).
Para ilustrar, considere a conversão de 1001110102 para octal.

Algumas vezes, o número binário não tem grupos completos de três


bits. Nesses casos, podemos adicionar um ou dois zeros à esquerda do MSB do
número binário para preencher o último grupo. Isto é ilustrado a seguir para o
número 011010110.

Note que um zero foi colocado à esquerda do MSB para produzir


grupos completos de três bits.

21
• Contagem em octal: A contagem é realizada de 0 a 7. Uma vez alcançado o
7, este dígito retorna para 0 na próxima contagem, fazendo com que o
próximo dígito da posição de ordem maior seja incrementado, como realizado
na seguinte sequência de contagem octal: 65, 66, 67, 70, 71 ou 275, 276, 277,
300, etc.

• Com N dígitos octais, podemos contar de 0 até 8N – 1, em um total de 8N


contagens diferentes. Assim, com 3 dígitos octais, podemos contar de 000 8 a
7778, que equivale à faixa de 010 a 51110 em um total de 83 = 51210 números
octais diferentes.

• Exemplo 4: Converta 17710 para o número equivalente binário de 8 bits,


convertendo primeiro para octal.

4.Sistema de Numeração Hexadecimal

O sistema de numeração hexadecimal usa a base 16. Assim, ele tem 16


símbolos possíveis para os dígitos. Ele utiliza dígitos de 0 a 9 mais as letras A, B, C, D,
E e F como os 16 símbolos. A Tabela 2 mostra as relações entre hexadecimal, decimal
e binário. Observe que cada dígito decimal é representado por um grupo de quatro
dígitos binários. É importante lembrar que os dígitos hexa de A até F são
equivalentes aos valores decimais de 10 até 15.

Hexadecimal Decimal Binário


0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
Tabela 2 – Relação entre bases Hexadecimal, Decimal e Binário

22
4.1. Conversão de Hexa para Decimal

Um número hexa pode ser convertido para seu equivalente decimal


devido ao fato de que a posição de cada dígito hexa tem um peso que é uma
potência de 16. O LSD tem um peso de 160 = 1; o dígito da próxima posição superior
tem um peso de 161 = 16; o próximo tem um peso de 162 = 256; e assim por diante.
Dessa forma, o processo de conversão é da seguinte forma:

35616 = 3 × 162 + 5 × 161 + 6 × 160 = 768 + 80 + 6 = 85410

2AF16 = 2 × 162 + 10 × 161 + 15 × 160 = 68710

Note que no segundo exemplo o valor 10 substituiu o A e o valor 15 o F.


Para praticar, verifique que 1BC216 é igual a 710610.

4.2 Conversão de Decimal para Hexa

Relembre que fizemos conversões decimal-binário usando sucessivas


divisões por 2, e decimal-octal usando sucessivas divisões por 8. Do mesmo modo,
conversões decimal-hexadecimal podem ser feitas usando sucessivas divisões por
16. Por exemplo, veja a conversão de 42310 para hexa:

4.3 Conversão de Hexa para binário

Essa conversão é relativamente simples. Cada dígito hexa é convertido


no equivalente binário de 4 bits. Isso é ilustrado a seguir para 9F216.

23
Para praticar, verifique que BA616 = 1011101001102.

4.4 Conversão de binário para Hexa

A conversão de binário para hexa é apenas o inverso do processo


anterior. O número binário é reunido em grupos de quatro bits, e cada grupo é
convertido para seu equivalente dígito hexa. Zeros são adicionados, se necessário,
para completar um grupo de quatro bits. Por exemplo:

De modo a realizar estas conversões entre hexa e binário, é necessário


saber a equivalência entre os números binários de quatro bits (0000 a 1111) e os
dígitos hexa. Uma vez dominadas, as conversões podem ser realizadas rapidamente
sem a necessidade de cálculos. Isso explica por que o hexa (e o octal) são tão úteis
na representação de números binários grandes.

Para praticar, verifique que 1010111112 = 15F16.

24
Anexo - Solução dos exemplos desta aula
Solução do exemplo 1:

Solução do exemplo 2:

Aqui temos N = 8. Logo, podemos representar números decimais desde 0 até


8
2 – 1 = 255. Podemos verificar isto constatando que 111111112 equivale a 25510.

Solução do exemplo 3:

Com 13 bits, podemos contar de 0 a 213 – 1 = 8191. Com 14 bits, podemos


contar 0 a 214 – 1 = 16383. Claramente, 13 bits não são suficientes, e com 14 bits
obtemos além de 12500. Portanto, o número de bits necessário é 14.

Solução do exemplo 4:

Assim, 17710 = 2618. Agora, podemos converter este número octal para
seu equivalente binário 0101100012, e finalmente temos:
17710 = 101100012

Note que descartamos o zero à esquerda para expressar o resultado


com 8 bits.

25
Código BCD e o Byte

1.Código BCD

Os sistemas digitais utilizam sempre números binários em seu interior. Mas a


transformação entre o número decimal e o binário podem ser demoradas e
complexas para números elevados. O código BCD (Decimal Codificado em Binário,
do inglês binary-coded-decimal) veio para simplificar esta tarefa.
O código BCD simplesmente converte cada dígito decimal pelo seu
equivalente binário. Por exemplo, se desejarmos converter o número decimal 874
em BCD seria da seguinte forma:

8 7 4 (Decimal)

1000 0111 0100 (BCD)

Note que cada número decimal foi representado por 4 bits, que é a
quantidade necessária para codificar o número 9, que é o máximo no sistema
decimal. Para converter de BCD para decimal, basta agrupar o número BCD em
grupos de 4 bits.

Exemplo 1: Converta 94310 para BCD. Tente fazê-lo antes de olhar a solução
deste e dos demais exemplos a seguir, que está no final desta aula.

Exemplo 2: Converta 0110100000111001 (BCD) para decimal.

Exemplo 3: Converta 011111000001 (BCD) para decimal.

É importante ressaltar que o código BCD não é um novo sistema de


numeração, mas sim um sistema decimal no qual cada dígito é codificado no seu
equivalente binário. Mas lembre-se que o código binário puro é diferente do BCD.
Por exemplo, para convertermos o número decimal 137 em binário e em BCD seria
da seguinte maneira:

13710 = 100010012 (binário)


13710 = 0001 0011 0111 (BCD)

Note que, enquanto o código binário requer 8 bits, o BCD requer 12, sendo
uma desvantagem do código BCD. No entanto, a principal vantagem do código BCD
é a relativa facilidade de conversão para decimal e vice-versa. E esta característica é

26
muito importante quando se trata de hardware, pois nos sistemas digitais são os
circuitos lógicos que realizam conversão entre os diversos códigos existentes.

2.Relações entre as Representações Numéricas

A tabela seguinte ilustra a representação do decimal de zero a 15 nos demais


sistemas estudados até o momento. Com esta tabela, é possível notar as diferenças
entre os sistemas, e fixar mais uma vez o conteúdo estudado.

3. O Byte

A maioria dos microcomputadores manipula e armazena informações e


dados binários em grupos de 8 bits, de modo que uma sequência de 8 bits recebe o
nome de byte.

Exemplo 4: Quantos bytes há em uma sequência de 32 bits?

Solução: 32/8 = 4 bytes.

Exemplo 5: Qual o maior número decimal que pode ser representado em


binário usando 2 bytes?

Solução: como 2 bytes correspondem a 16 bits, então o valor do maior


número decimal é 216 – 1 = 65535

27
Exemplo 6: Quantos bytes são necessários para representar, em BCD, o valor
decimal 846569?
Solução: cada dígito decimal é convertido no código BCD de 4 bits. Assim, um
número decimal de seis dígitos requer 24 bits, que correspondem a 3 bytes. Ou seja:

8 4 6 5 6 9 (Decimal)

1000 0100 ⏟
⏟ 0110 0101 ⏟
0110 1001 (BCD)
𝑏𝑦𝑡𝑒 1 𝑏𝑦𝑡𝑒 2 𝑏𝑦𝑡𝑒 3

4 Códigos Alfanuméricos
Possui 26 letras minúsculas, 26 letras maiúsculas, 10 dígitos numéricos, 7
sinais de pontuação e cerca de 40 caracteres como /, %, *, etc. É importante para
que os microcomputadores sejam capazes de manipular informações não
numéricas, como as encontradas no teclado.

4.1. Código ASCII


É o código alfanumérico mais utilizado, denominado Código Padrão
Americano para Troca de Informações (ASCII, do inglês American Standard Code for
Information Interchange). Pronuncia-se “askii”, e é um código de 7 bits (27 = 128
representações codificadas). Este código é usado para transferência de informação
alfanumérica entre um computador e dispositivos periféricos, como uma
impressora. O computador também usa internamente o código ASCII para
armazenar informações digitadas pelo usuário.
A Tabela 1 seguinte mostra algumas relações do código ASCII por caractere.

Exemplo 7: A seguinte sequência de bits é uma mensagem codificada ASCII:


1001000 1000101 1001100 1010000. Que mensagem é esta?

Solução: inicialmente, converta cada código de 7 bits para hexa, ou seja: 48


45 4C 50. Em seguida, localize os valores na tabela seguinte. O resultado é: H E L P.

28
Tabela 3 – Relações do código ASCII

29
5. Detecção de Erros pelo Método de Paridade
Em muitas aplicações que envolvem sistemas digitais, dados devem ser
transmitidos, como a transmissão de dados digitais de um computador a outro em
rede (por meio de linha telefônica ou cabo de rede), ou enviando informações pela
internet. Mas nestas transmissões de dados até o receptor, pode ocorrer erros,
devido, principalmente, ao ruído elétrico (que são flutuações em torno da tensão
e/ou corrente elétrica). Quando isso ocorre, o receptor pode interpretar
incorretamente a informação recebida, trocando o nível lógico 1 pelo zero e vice-
versa.
Sabe-se que a possibilidade de erros em equipamentos digitais modernos
é pequena, no entanto, temos que em uma transmissão de milhões de bits por
segundo, uma pequena taxa de ocorrência de erros diversos podem gerar muitos
transtornos. Por isso, os sistemas digitais utilizam a técnica de detecção de erros
pelo método de paridade.

5.1. Bit de paridade


O Bit de paridade é um bit extra (0 ou 1) anexado ao código que será
transmitido. Existe o método de paridade par e o método de paridade ímpar. No
primeiro destes métodos, o bit de paridade é escolhido de tal forma que o número
total de 1s ou zeros no conjunto transmitido seja par. O mesmo raciocínio se aplica
à paridade ímpar.
Suponha que o conjunto de bits a ser transmitido é 1000011, o qual
possui três bits igual a 1. Assim, para o método de paridade par, devemos
acrescentar tal bit (no início ou no final do conjunto) para que o total de bits 1s
transmitidos seja par. Assim:

Como um exemplo de paridade ímpar, seja o grupo de bits 1000001.


Neste caso, deve-se acrescentar 1 ao conjunto. Se o conjunto fosse 1000011, o bit
de paridade seria 0. O receptor então, é responsável por verificar a quantidade de
bits 1s e zeros para confirmar que recebeu a informação correta e livre de ruídos.
Nota-se, no entanto, que o bit de paridade pode detectar erros de um
único bit que ocorre durante a transmissão. Ao transmitir o caractere ‘A’ (1000001)
usando paridade ímpar, o novo conjunto de bits será 11000001. Mas suponha que,
devido a algum problema no percurso, o receptor recebe o código 11000000. Neste
caso, após a verificação de paridade de dados, o receptor enviará uma mensagem
de volta ao transmissor, solicitando nova transmissão.

30
Exemplo 8: Ao transmitir a mensagem ´HELLO´ de um computador a outro,
quais seriam os caracteres transmitidos usando código ASCII com paridade par?
Solução: inicialmente, deve-se determinar o código ASCII para cada
caractere. Após isso, deve-se contar o número de 1s e anexar o bit de paridade 1, se
o número total for ímpar e zero, se o total for par. Assim, todos os códigos de oito
bits resultantes terão um número par de 1s, ou seja:

H 01001000
E 11000101
L 11001100
L 11001100
O 11001111

31
Anexo - Solução dos exemplos desta aula
Solução do exemplo 1:

Solução do exemplo 2:

Solução do exemplo 3:

32

Você também pode gostar