Buscar

Lógica Sequencial e Memórias Semicondutoras

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 93 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 93 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 93 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE SANTA CATARINA 
GERÊNCIA EDUCACIONAL DE ELETRÔNICA 
CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS DIGITAIS 
 
 
 
 
 
 
LÓGICA SEQÜENCIAL 
 
 
Prof. Joel Lacerda 
Prof. Wilson B. Zapelini 
 
 
 
FLORIANÓPOLIS 
2006 
 
 
 
 1
SUMÁRIO Página
1 A NECESSIDADE DA MEMÓRIA OU ESTADO SEQÜENCIAL .................. 02 
 1.1 Conceito de memória ............................................................................... 02 
 1.2 Impacto da memória seqüencial no desempenho de sistemas 
automatizados ......................................................................................... 
 
04 
 1.3 Obtenção do efeito memória (buffer realimentado) .................................. 04 
2 A DEFINIÇÃO DE FLIP-FLOPS .................................................................... 06 
 2.1 Flip-flop SR básico ................................................................................... 06 
 2.2 Diagrama de tempo .................................................................................. 07 
3 APERFEIÇOAMENTO DO FLIP-FLOP ......................................................... 08 
 3.1 Necessidade de sincronismo .................................................................... 08 
 3.2 Lógica (terminais e estados) .................................................................... 08 
 3.3 Flip-flop SR comandado por pulso de clock ............................................. 08 
 3.4 Flip-flop JK (eliminação do estado proibido) ............................................ 09 
 3.5 Flip-flop JK Mestre-Escravo (eliminação da oscilação) ............................ 10 
 3.6 Flip-flop JK Mestre-Escravo com terminais de programa – entradas 
preset e clear ........................................................................................... 
 
11 
 3.7 Flip-flop T (Toggle) ................................................................................... 11 
 3.8 Flip-flop D (Data) ...................................................................................... 12 
 Experiência 1 ................................................................................................. 18 
4 REGISTRADORES DE DESLOCAMENTO ................................................... 20 
 4.1 Conceito ................................................................................................... 20 
 4.2 Características .......................................................................................... 20 
 4.3 Aplicações ................................................................................................ 20 
 4.4 Classificação ............................................................................................ 20 
 4.5 Configurações .......................................................................................... 20 
 4.6 Registrador de deslocamento usado como divisor por 2 ......................... 23 
 4.7 Registrador de deslocamento usado como multiplicador por 2 ................ 23 
 Experiência 2 .................................................................................................. 26 
5 CONTADORES .............................................................................................. 26 
 5.1 Contadores assíncronos ........................................................................... 26 
 5.2 Contadores síncronos .............................................................................. 34 
 5.3 Contadores para circuitos temporizados .................................................. 38 
 5.4 Contadores integrados ............................................................................. 39 
 Experiência 3 .................................................................................................. 50 
 Experiência 4 .................................................................................................. 52 
 Experiência 5 .................................................................................................. 53 
6 MEMÓRIAS SEMICONDUTORAS ................................................................ 55 
 6.1 Introdução ................................................................................................. 55 
 6.2 Estrutura e organização da memória ....................................................... 55 
 6.3 Princípios de operação ............................................................................. 56 
 6.4 Estruturas de endereçamento .................................................................. 57 
 6.5 Classificação das memórias ..................................................................... 59 
 6.6 Tipos de memórias ................................................................................... 61 
 Experiência 6 .................................................................................................. 74 
7 MÁQUINAS DE ESTADOS ............................................................................ 79 
 7.1 Modelo geral ............................................................................................. 79 
 7.2 Análise de máquinas de estados .............................................................. 80 
 7.3 Síntese de máquinas de estados ............................................................. 85 
REFERÊNCIAS BIBLIOGRÁFICAS ................................................................. 92 
 2
 
 
 
 
1 A NECESSIDADE DA MEMÓRIA OU ESTADO SEQÜENCIAL 
 
1.1 CONCEITO DE MEMÓRIA 
 
Qualquer dispositivo ou circuito que tem dois estados estáveis é dito biestável como, por 
exemplo, uma chave de conexão. Ela pode estar aberta ou fechada, dependendo da 
posição da alavanca. Esta chave possui uma memória, visto que ela permanecerá em um 
estado definido até que alguém ou algo mude a posição da alavanca. 
 
Quando um sinal de entrada é aplicado num dispositivo, a saída muda em resposta à 
entrada. Quando o sinal de entrada é removido, a saída retorna ao seu estado original. 
Este dispositivo não exibe a propriedade de memória, já que sua saída volta ao estado 
anterior. 
 
Existem dispositivos e circuitos digitais que possuem memória, onde quando um sinal de 
entrada é aplicado, a saída poderá mudar seu estado, mas permanecerá neste estado 
mesmo após a entrada ter sido removida. Esta propriedade de reter sua resposta a uma 
entrada momentânea é chamada memória. 
 
Portanto, memória é todo dispositivo que permite a perpetuação de uma informação ao 
longo do tempo. Costumamos classificar como tendo capacidade de memória a mente 
humana e os processadores digitais, mas há inúmeras outras formas de memória. Os 
livros, as fotografias, os discos de música são também dispositivos de memória. 
 
Mesmo coisas muito simples podem funcionar como memórias. Conta-se que Albert 
Einstein usava a caneta no bolso esquerdo ou direito para lembrar se já havia almoçado 
ou não. Portanto, é a memória que nos dá, pela lembrança do passado, a noção de 
tempo. Sem ela, viveríamos num eterno presente, não poderíamos discriminar o que é, 
daquilo que já foi e do que será. 
 
É o que ocorre aos sistemas digitais baseados em lógica combinacional. Os estados de 
suas saídas são dependentes apenas dos estados presentes (instantâneos) das entradas, 
logo, estes sistemas não conseguem lidar com a variável tempo e perceber seqüências 
de eventos, portanto, são incapazes de resolver qualquer problema que envolva a noção 
de tempo. 
 
Tome-se o exemplo do controle automático de enchimento de uma caixa d’água. 
Pretende-se que o sistema controle a válvula de entrada V a partir de dois sensores de 
nível de água A e B, como no esquema a seguir. 
 
 
 
 3
 
 
 A V 
 
 
 
 
 B 
 
Pretende-se que a válvula V seja aberta quando o sensor B estiver descoberto e só volte 
a ser fechada quando o sensor A estiver coberto. Se tentarmos resolver o problema 
usando lógicacombinacional, obtém-se a tabela da verdade. 
Usando a convenção para: - Sensores A e B: 0 – descoberto; 1 – coberto 
 - Válvula V : 0 – fechada; 1 – aberta 
 
A B V 
0 0 1 
0 1 ? (0 quando esvazia e 1 quando enche) 
1 0 X (impossível) 
1 1 0 
 
Portanto, alguma variável precisa informar à lógica se no momento a caixa está em 
processo de enchimento ou esvaziamento, “lembrando” qual foi o último estado 
alcançado, isto é, cheio (V=0) ou vazio (V=1). O novo diagrama é mostrado abaixo. 
 
 
 
 A V 
 
 
 
 
 B M 
 
 
 
Uma nova tabela da verdade, incorporando a variável de memorização é mostrada 
abaixo. 
 
M A B V 
0 0 0 1 (liga válvula, caixa acabou de esvaziar) 
0 0 1 0 (caixa esvaziando) 
0 1 0 X (impossível) 
0 1 1 0 (válvula foi recentemente desligada) 
1 0 0 1 (válvula foi recentemente ligada) 
1 0 1 1 (caixa enchendo) 
1 1 0 X (impossível) 
1 1 1 0 (desliga válvula, caixa acabou de encher)
 
Ao conjunto do bloco combinacional mais o dispositivo de memória chamamos lógica 
seqüencial. Nesta lógica, os estados presentes das saídas não dependem apenas dos 
estados das entradas, mas também dos estados anteriores do próprio sistema. 
Para a solução do problema da caixa d’água usamos um dispositivo de memória capaz de 
armazenar um bit, que é a definição funcional de flip-flop. 
LÓGICA 
COMBINACIONAL 
LÓGICA 
COMBINACIONAL 
MEMÓRIA 
 4
 
1.2 IMPACTO DA MEMÓRIA SEQÜENCIAL NO DESEMPENHO DE SISTEMAS 
AUTOMATIZADOS 
 
Os sistemas digitais dividem-se em duas classes: sistemas combinacionais e sistemas 
seqüenciais. 
 
Nos sistemas combinacionais, uma saída no tempo t depende somente da entrada no 
tempo t. Neste caso, o sistema não tem memória porque a saída não depende de 
entradas prévias. Portanto, a saída é dependente, única e exclusivamente, das variáveis 
de entrada. 
 
Exemplo: um cadeado de códigos (usado para prender bicicletas) – o cadeado será 
aberto num dado tempo t quando o código do cadeado é colocado nas entradas em t, 
sem considerar a história nas entradas. Se for o código 234, por exemplo, o cadeado será 
aberto quando esta combinação for colocada nas entradas, independentemente da ordem 
de colocação dos dígitos do código. 
 
Nos sistemas seqüenciais, uma saída no tempo t depende da entrada no tempo t e, 
possivelmente, também depende da entrada no tempo anterior a t. A saída é dependente 
das variáveis de entrada e/ou de seus estados anteriores armazenados. 
 
Exemplo: um sistema de discagem telefônica – o número de um assinante a ser 
discado será efetuado num dado instante t, se forem satisfeitas as seguintes condições: 
a) os dígitos discados antes do instante t devem seguir a seqüência daquela do número 
do assinante; b) o dígito discado no instante t, isto é, o último a ser discado, corresponde 
ao último dígito do número do assinante; c) todos os dígitos devem estar memorizados e 
disponibilizados na mesma seqüência da discagem no instante t. 
 
 
1.3 OBTENÇÃO DO EFEITO MEMÓRIA (BUFFER REALIMENTADO) 
 
Construtivamente, um flip-flop pode ser descrito como um inversor realimentado por um 
outro inversor, como mostra o desenho abaixo. 
 
QD
 
 
Observando o diagrama, percebemos que uma vez imposto um estado lógico à entrada 
D, o estado da saída Q se manterá indefinidamente. Como podemos mudar do estado de 
Q sem provocar uma contradição com o estado de Q ? A solução é adicionar terminais de 
entrada, substituindo os inversores por portas lógicas Não-E. 
 
R
S
Q
QQ
Q
R
S
 
 
 
 5
 
Agora podemos levar Q a 1 impondo 0 em S (set) e levar Q a 0 impondo 0 em R (reset), 
armazenando o estado que desejamos no flip-flop. 
 
Entretanto, o flip-flop deve ser aperfeiçoado para satisfazer à definição lógica de flip-flop: 
Um dispositivo com duas saídas complementares Q e Q , com duas entradas S e R que 
operam de acordo com a tabela abaixo. 
 
 
S R Q Q 
0 0 não permitido 
0 1 1 0 
1 0 0 1 
1 1 QA Q A 
 
Um circuito eletrônico é biestável quando possui dois estados estáveis, isto é, sua saída é 
0 Vcc (nível lógico 0) ou +5V (nível lógico 1). Assim, este dispositivo pode ser usado para 
armazenar um dígito binário (bit). 
 
 
 
 
 6
 
 
 
 
2 A DEFINIÇÃO DE FLIP-FLOPS 
 
O flip-flop é um elemento de circuito que pode apresentar em seu funcionamento apenas 
dois estados estáveis. Com a aplicação de um sinal de entrada pode-se efetuar a 
mudança de um estado para outro e de se conhecer o respectivo estado em que se 
encontra. Assim, este circuito é considerado como uma célula básica de memória da 
lógica seqüencial capaz de armazenar um bit. 
 
2.1 FLIP-FLOP SR BÁSICO 
 
Possui duas entradas, definidas como Set e Reset e duas saídas Q e Q. Estas saídas 
somente podem permanecer com valores lógicos complementares. 
 
 
 
S R QA QF S R QF 
0 0 0 0 - estável QA 0 0 QA 
0 0 1 1 - estável 0 1 0 
0 1 0 0 - estável 0 1 0 1 
0 1 1 0 - instável 1 1 não perm.
1 0 0 1 - instável 1 
1 0 1 1 - estável 
1 1 0 1 - instável (não permitido) 
1 1 1 1 - instável (não permitido) 
 
 
2.2 DIAGRAMA DE TEMPO 
 
Os gráficos ou diagramas de nível lógico x tempo fornecem uma representação visual 
do desenvolvimento de sinais no tempo, bem como uma demonstração gráfica de 
comparação entre sinais em vários pontos de um circuito lógico. Assim, são muito usados 
em sistemas seqüenciais. 
 
 
 
 
 
 
 
 7
Exemplo de diagrama de tempo de um flip-flop SR 
 
 
 S 
 
 
 R 
 
 
 Q 
 
 
 Q 
 
 
 8
 
3 APERFEIÇOAMENTO DO FLIP-FLOP 
 
 
3.1 NECESSIDADE DE SINCRONISMO 
 
O flip-flop visto anteriormente não permite nenhum tipo de controle sobre as entradas, isto 
é, quando as informações chegam às entradas, são imediatamente processadas sem 
nenhum tipo de controle. 
 
Para corrigir este problema é incorporada uma entrada de controle denominada clock 
(para flip-flops) ou enable (para latches), permitindo um controle sobre as informações de 
entrada e estabelecendo um sincronismo na operação do circuito. 
 
Desse modo, é possível sincronizar o flip-flop (ativar ou desativar) com o intuito de 
armazenar a informação em qualquer instante e, então, reter a informação armazenada 
por qualquer período de tempo desejado. 
 
3.2 LÓGICA (TERMINAIS E ESTADOS) 
 
O flip-flop pode ser representado por um bloco com duas saídas Q e Q , entradas para as 
variáveis e uma entrada de controle (clock/enable). 
 
As duas saídas correspondem aos dois estados estáveis e complementares. Para que o 
flip-flop possa assumir um destes estados, é necessário que haja uma combinação das 
variáveis de entrada e de um pulso de controle clock/enable. Com este pulso, o flip-flop 
permanecerá nesse estado ou mudará até a chegada de um novo pulso de controle, que 
poderá novamente manter ou mudar o estado. Portanto, a saída depende dos valores das 
entradas e/ou dos estados armazenados; 
 
 Entrada 1 Q 
 
Clock/Enable 
 Q 
Entrada 2 
 
 
3.3 FLIP-FLOP SR COMANDADO POR CONTROLE ENABLE 
 
 
 
Para Enable = 0 ⇒ a saída Q do flip-flop mantém seu estado armazenado; 
Para Enable = 1 ⇒ o flip-flop responde conforme os níveis lógicos das entradas. 
 
 
FLIP-FLOP 
 9
CONVENÇÕES E SIMBOLOGIAS 
 
O latch responde em nível (0 ou 1) e o flip-flop responde em transição (subida ou 
descida). 
 
Se o circuito de controle detecta: - transição ⇒ Clock (Ck) 
 - nível ⇒ Enable (En) 
 
 
 
 
 
 
Exemplo de diagrama de tempo de um flip-flop SR ativado em nível lógico 1 
 
 1 2 3 4 5 6 7 
 
 Ck 
 
 
 S 
 
 
 R 
 
 Q 
 
 Q3.4 FLIP-FLOP JK (ELIMINAÇÃO DO ESTADO PROIBIDO) 
 
Objetivo: evitar a saída Q com situação não permitida. 
 
 
 
 
J K QA AQ S R QF J K QF 
0 0 0 1 0 0 0 QA 0 0 QA 
0 0 1 0 0 0 1 0 1 0 
0 1 0 1 0 0 0 0 1 0 1 
0 1 1 0 0 1 0 1 1 AQ 
1 0 0 1 1 0 1 1 
1 0 1 0 0 0 1 
1 1 0 1 1 0 1 AQ 
1 1 1 0 0 1 0 
 
 
1 
 
0 
 
 sub 
 
 desc 
 10
Circuito análogo do Flip-flop JK (com portas lógicas Não-E) 
 
Característica inconveniente no funcionamento do circuito 
⇒ Para J e K = 1, ocorrem constantes oscilações (mudanças de estado) na saída Q, em 
função das duplas realimentações. 
Possíveis soluções 
⇒ forçar o clock para zero num tempo conveniente após a aplicação dos níveis lógicos 
nas entradas J e K (deve levar em conta o atraso na propagação de cada porta lógica); 
⇒ inserir blocos (portas lógicas) de atraso em série com as linhas de realimentação e 
comutar a entrada clock da mesma forma. 
 
3.5 FLIP-FLOP JK MESTRE-ESCRAVO (ELIMINAÇÃO DA OSCILAÇÃO) 
 
O flip-flop JK, quando ativado, funciona como um circuito combinacional, isto é, ocorre a 
passagem das entradas J e K e da realimentação, provocando alterações sucessivas na 
saída Q. 
Objetivo: evitar as constantes oscilações na saída Q quando as entradas J e K = 1. 
 
Seqüência de funcionamento 
 
⇒ Para clock = 1: ocorre a passagem dos níveis lógicos J e K do Mestre; 
 não passagem de Q1 e 1Q , porque o clock do escravo é zero. 
⇒ Para clock = 0: Q1 e 1Q estavam bloqueadas com o último estado assumido; 
 passagem das entradas S e R (escravo), mudando as saídas Q e Q . 
 
 11
Conclusão: o circuito só reconhece as entradas J e K quando o clock passa de 1 para 
zero. 
 
3.6 FLIP-FLOP JK MESTRE-ESCRAVO COM TERMINAIS DE PROGRAMA - 
ENTRADAS PRESET E CLEAR 
 
A maioria dos flip-flops com clock também possui uma ou mais entradas de programa, 
ditas assíncronas, que operam independentemente das entradas síncronas e da entrada 
de clock. Estas entradas assíncronas podem ser usadas para colocar o flip-flop no estado 
0 ou no estado 1, em qualquer instante. Assim, estas entradas se sobrepõem a todas as 
outras entradas. 
 
Clr Pr QF 
0 0 Não permitido 
0 1 0 
1 0 1 
1 1 Func. normal 
 
 
3.7 - FLIP-FLOP TIPO T (TOGGLE) 
 
Trata-se de um flip-flop JK com as entradas curto-circuitadas, de modo a assumir apenas 
duas condições de entrada. 
 
 Pr 
 
 T Q 
 
 Ck 
 Q 
 
 Clr 
 
J 
 
 
K 
 12
 
 
 
J K T QF T QF 
0 0 0 QA 0 QA 
0 1 1 AQ 
1 0 
1 1 1 AQ 
 
 
3.8 - FLIP-FLOP TIPO D (DATA) 
 
Trata-se de um flip-flop JK com as entradas invertidas, obtidas através de uma porta 
lógica inversora conectada entre as mesmas. 
 
 Pr 
 
D Q 
 
Ck 
 Q 
 
 Clr 
 
J K D QF D QF 
0 0 0 0 
0 1 0 0 1 1 
1 0 1 1 
1 1 
 
 
 
J 
 
 
K 
 13
EXERCÍCIOS 
 
1. Analise o flip-flop abaixo, preencha a tabela de transição e especifique o seu tipo. 
 
 
X QA QF X QF 
0 0 ⇒ 0 
0 1 1 
1 0 
1 1 
 
 
2. Dado o circuito do flip-flop abaixo, determine sua tabela de transição para todas as 
situações possíveis nas entradas A e B. Após, obtenha a tabela compacta e identifique 
seu tipo. 
 
 
A B QA QF A B QF 
0 0 0 ⇒ 0 0 
0 0 1 0 1 
0 1 0 1 0 
0 1 1 1 1 
1 0 0 
1 0 1 
1 1 0 
1 1 1 
 
 
3. Desenhe a forma de onda na saída Q do flip-flop JK abaixo. 
 
 J Q 
 
 K=1 
 
 
 
 
 14
 
J 
 
 
 
Ck 
 
 
 
Q 
 
 
4. Analise o flip-flop abaixo, preencha a tabela de transição e especifique o seu tipo. 
 
 
X QA QF X QF 
↑ 0 ⇒ ↑ 
↑ 1 ↓ 
↓ 0 
↓ 1 
 
 
5. Dado o circuito do flip-flop abaixo, determine sua tabela de transição para todas as 
situações possíveis nas entradas A e B. Após, obtenha a tabela compacta e identifique 
seu tipo. 
 
 
 
X Y QA QF X Y QF 
0 0 0 ⇒ 0 0 
0 0 1 0 1 
0 1 0 1 0 
0 1 1 1 1 
1 0 0 
1 0 1 
1 1 0 
1 1 1 
 15
 
6. Desenhe a forma de onda na saída Q do flip-flop tipo T abaixo. 
 
 
Ck 
 
 
CLR 
 
 
PR 
 
 
T 
 
 
 
Q 
 
 
 
 
7. Determine a forma de onda da saída Q do flip-flop tipo D, a partir dos sinais 
apresentados abaixo: 
 
 
Ck 
 
 
PR 
 
 
CLR 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
D 
Q 
 16
8. Apresente as saídas Q dos flip-flops abaixo, a partir dos sinais de Clock e Entrada. 
 
 
 
9. A partir das formas de onda de um flip-flop JK apresentadas abaixo, determine a forma 
de onda na saída Q. 
 
 
Ck 
 
CLR 
 
PR 
 
J 
 
K 
 
 
Q 
 
 
10. Dado o circuito do flip-flop abaixo, determine sua tabela de transição para todas as 
situações possíveis nas entradas X e Y. Após, obtenha a tabela compacta e 
identifique seu tipo. 
 
E 
 
 
Ck 
 
 
 
Q1 
 
 
Q2 
 
 
Q3 
 
 
Q4 
 17
Q'
Q
Ck
Y
X
 
 
 
 
X Y QA QF X Y QF 
0 0 0 ⇒ 0 0 
0 0 1 0 1 
0 1 0 1 0 
0 1 1 1 1 
1 0 0 
1 0 1 
1 1 0 
1 1 1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 18
EXPERIÊNCIA 1 - FLIP-FLOPS 
 
1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os 
seguintes circuitos digitais. Em seguida, obtenha a tabela de transição e defina como o 
flip-flop é ativado. 
 
1.1 - Flip-flop SR com clock, usando portas lógicas Não-E (7400); 
 
 
1.2 - Flip-flop SR com clock, usando portas lógicas Não-Ou (7402); 
 
R
Ck
S
Q
Q
 
 
1.3 - Flip-flop JK com Preset e Clear (7476); 
 
1.4 - Flip-flop tipo T (7476); 
 
1.5 - Flip-flop tipo D (7474). 
 
 
 
 
 
 
 
 19
1.6 – Circuitos anti-repique 
 
 
 
 
2. Na seqüência, energize os circuitos e simule, via chaves, os valores possíveis para as 
entradas; 
3. Organize e interprete os dados coletados na experimentação. Verifique se os valores 
encontrados na saída correspondem à análise teórica do circuito (tabela de transição); 
4. Desmonte os circuitos e reponha o equipamento e componentes aos seus lugares; 
5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 
 
 20
 
 
4 REGISTRADORES DE DESLOCAMENTO 
 
4.1 CONCEITO 
Um registro de deslocamento (shift register) consiste de um grupo de flip-flops 
interconectados com a propriedade de deslocar dados armazenados nas suas saídas Q 
de um flip-flop para outro. A direção do deslocamento pode ser para a direita ou para a 
esquerda, cuja operação é síncrona e sendo regida por um sinal de clock. 
 
4.2 CARACTERÍSTICAS 
Um registrador pode deslocar informações de dois tipos: 
Informação paralela 
São dados que trafegam em várias linhas ou fios, uma para cada bit do número/palavra 
binário, não existindo a necessidade de referenciar a um clock. 
Informação série 
São dados que trafegam em uma única linha ou fio, um bit de cada vez, a uma taxa de 
transferência que é constante e em fase com um clock de referência. 
 
4.3 APLICAÇÕES 
Os computadores trabalham com pacotes de informações binárias de 8, 16 ou 32 bits. Os 
bytes são processados e/ou transportados num computador através de barramentos. A 
forma de transmissão paralela é usada em computadores porque é muito mais rápida e as 
distâncias são pequenas. Por outro lado, o formato serial é usado para mover dados 
de/para teclado e monitor e para comunicação digital entre microcomputadores. 
Os registradores também são usados para algumas operações aritméticas como 
complementação, multiplicação e divisão binária. 
 
4.4 CLASSIFICAÇÃO 
Os registradores de deslocamento são classificadosde acordo com três aspectos 
básicos. 
a) Quanto à forma de manipulação dos dados 
- Entrada série e saída série 
- Entrada série e saída paralela 
- Entrada paralela e saída série 
- Entrada paralela e saída paralela 
b) Quanto à direção de deslocamento 
- Deslocamento para a esquerda (shift left) 
- Deslocamento para a direita (shift right) 
- Deslocamento bidirecional 
c) Quanto à capacidade de armazenamento 
- Relacionado com o número de bits que pode ser armazenado no registrador 
 
4.5 CONFIGURAÇÕES 
 
Os dados num registrador são possíveis de deslocar: 
- em série e em paralelo 
- para dentro e para fora 
Em função disso, podem ser construídos quatro tipos básicos de registradores: 
- em série para dentro ou carga (load) – em série para fora ou descarga (shift) 
- em série para carga – em paralelo para descarga 
- em paralelo para carga – em série para descarga 
- em paralelo para carga – em paralelo para descarga 
 21
 
 
 
4.5.1 REGISTRADOR DE DESLOCAMENTO DE ENTRADA SÉRIE E SAÍDA SÉRIE 
 
Após a entrada da informação, cada bit é deslocado uma casa à direita após a ocorrência 
do clock. Assim, são deslocados 4 bits de dados em modo série para dentro (à direita) 
dos flip-flops. 
 
Entrada de informação: através da entrada série; 
Saída da informação: em Q0 
 
 
 
 
 
 
 
 22
4.5.2 REGISTRADOR DE DESLOCAMENTO DE ENTRADA SÉRIE E SAÍDAS 
PARALELAS 
 
O funcionamento deste registrador é idêntico ao registrador anterior, exceto que as saídas 
são obtidas, simultaneamente, após 4 pulsos de clock, nos terminais Q3, Q2, Q1 e Q0. 
 
 
 
4.5.3 REGISTRADOR DE DESLOCAMENTO DE ENTRADAS PARALELAS E SAÍDA 
SÉRIE 
 
 
Entrada da informação: 
Se limparmos o registrador (Clear=0) e introduzirmos a informação paralela através dos 
terminais PR, então, as saídas Q dos flip-flops assumirão estes valores. 
 
Saída da informação: 
Para Clear=0, a cada descida do Clock, Q0 irá assumir os valores, seqüencialmente, de 
Q0, Q1, Q2 e Q3. 
 
Se Enable=0 ⇒ Preset (PR) dos flip-flops são iguais a 1 e atuam normais; 
Se Enable=1 ⇒ Preset (PR) dos flip-flops terão valores complementares às entradas PR3, 
PR2, PR1, PR0 e, portanto, as saídas assumirão os valores destes 
terminais. 
 
Exemplo: Se PR3 = 0 ⇒ Pr=1 ⇒ Q3 mantém seu estado; 
 Se PR3 = 1 ⇒ Pr=0 ⇒ Q3 = 1. 
 
 23
4.5.4 REGISTRADOR DE DESLOCAMENTO DE ENTRADA PARALELA E SAÍDAS 
PARALELAS 
 
Entrada de informação: através dos terminais Preset e Clear; 
Saída da informação: inibindo o clock, as saídas são obtidas pelos terminais Q3, Q2, Q1 e 
Q0. 
 
 
 
 
4.6 REGISTRADOR DE DESLOCAMENTO USADO COMO DIVISOR POR 2 (SHIFT 
RIGHT) 
 
 Q3 Q2 Q1 Q0 
 
 
 Entrada 
 
 Ck 
 
 
Entra-se com zero na Entrada Série e, através do clock, desloca-se uma casa à direita. 
Exemplo: 1010(2) = 10(10) ⇒ 0101(2) = 5(10) 
 
 
4.7 REGISTRADOR DE DESLOCAMENTO USADO COMO MULTIPLICADOR POR 2 
(SHIFT LEFT) 
 
 Q3 Q2 Q1 Q0 
 
 
 Entrada 
 
 Ck 
 
Desloca-se uma casa à esquerda através do clock e força-se Q0 = 0. 
Exemplo: 0001(2) = 1(10) ⇒ 0010(2) = 2(10) 
Registrador de 
Deslocamento 
Registrador de 
Deslocamento 
 24
EXERCÍCIOS 
 
1. Esboce as formas de onda para o Registrador de Deslocamento abaixo, em função dos 
sinais aplicados, considerando a entrada Enable = 0 
 
Q0Q1Q2
PR2 PR1 PR0
Clr
Ck
E
Enable
S
D
CP
R
Q
_
Q
S
D
CP
R
Q
_
Q
S
D
CP
R
Q
_
Q
 
 
 
Ck 
 
Clr 
 
E 
 
 
Q2 
 
 
Q1 
 
Q0 
 
2. Na questão anterior, aplicando os níveis lógicos nas entradas PRs indicados abaixo, 
determina as formas de onda nas saídas Q. Considere Enable=1. 
 
Clr 
 
PR2 
 
PR1 
 
PR0 
 
 
Q2 
 
 
Q1 
 
 
Q0 
 25
3. Quanto tempo em segundos levará para deslocar um número binário de 8 bits para 
dentro do circuito integrado 74164, se o clock é de 1 MHz? 
 
 
 
 
 
 
 
 
4. Desenhe as formas de onda na saída P do circuito abaixo. 
 
 
 
 26
EXPERIÊNCIA 2 - REGISTRADORES DE DESLOCAMENTO 
 
1. Identifique a pinagem do circuito integrado e monte em matriz de contatos o seguinte 
circuito digital: 
 
1.1 - Registrador de Deslocamento de 4 bits (7495) 
 
 Outputs Shift Shift 
 Right Left 
 Vcc QA QB QC QD Ck1 Ck2 
 
 
 
 
 
 
 
 
 
 Serial A B C D Mode GND 
 Input control 
 Inputs 
Etapa 1 
Mode control = 0 ⇒ Ck1 (série/paralelo) 
Mode control = 1 ⇒ Ck2 (paralelo/paralelo) 
 
Etapa 2 
Ck1 e mode control = 0 ⇒ deslocamento à direita 
Ck2 e mode control = 1 ⇒ deslocamento à esquerda 
 
 
1.2 Registrador de Deslocamento de 8 bits através de cascateamento (2 x 7495) 
 
 saídas 1 saídas 2 ck1 ck2 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
entrada entrada 
 shift shift mode 
 right left control 
 
 
 
 7495 – R. D. 4 bits 
Entrada paralela/série 
Saída paralela 
14 13 12 11 10 9 8
 1 2 3 4 5 6 7
 
 
7495 (1) 
 
 
 
7495 (2) 
14 14 1313 1212 11 11 10 10 9 9 88
1 1 2 2 3 3 4 4 5 5 6 6 77
 27
 
1.3 Registrador de deslocamento usado na transmissão de dados (74194 e 7495) 
 
 
 
 Ck 
 S1 S0 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Mode control 
 
 
 
 
SI-R SI-L Mode 
control 
S1 S0 FUNÇÃO DO 74194 
0 0 1 ck1 1 1 transfere dados das entradas para as saídas
1 0 0 ck1 0 1 desloca dados da esquerda para a direita 
0 0 0 ck2 1 1 transfere dados das entradas para as saídas
0 1 0 ck2 1 0 desloca dados da direita para a esquerda 
 Vcc QA QB QC QD Ck S1 S0 
74194 
Conversão P/S 
 Clr SI-right A B C D SI-left GND
 Vcc QA QB QC QD SR SL 
7495 
Conversão S/P 
 SI A B C D MC GND 
16 14 1315 1214 11 13 10 12 911 8
1 1 2 2 3 3 4 4 5 5 6 6 77
Simulação 
com chaves 
8
910
 28
 
1.4 Registrador de deslocamento de 8 bits em anel (74164) 
 
 
 Vcc QH QG QF QE Reset Ck 
 
 
 
 
 
 
 
 
 
 A B QA QB QC QD GND 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2. Na seqüência, energize o circuito e simule, via chaves, os valores possíveis para as 
entradas; 
3. Organize e interprete os dados coletados na experimentação. Verifique se os valores 
encontrados na saída correspondem à análise teórica do circuito; 
4. Desmonte o circuito e reponha o equipamento e componentes aos seus lugares; 
5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 
 
 
 
 
 74164 – R. D. 8 bits 
Entrada série 
Saídas paralelas 
14 13 12 11 10 9 8
 1 2 3 4 5 6 7
 29
 
5 CONTADORES 
 
Conceito 
O contador digital é um circuito seqüencial, configurado de tal modo que para cada estado 
presente nas saídas dos flip-flops, existe um estado seguinte bem definido. Durante a 
operação de contagem, o contador desloca-se de um estado para o outro de acordo com 
uma seqüência especificada. 
 
Características 
• Variam os seus estados, sob comando de pulsos de clock, de acordo com uma 
seqüência pré-determinada; 
• São usados para contagens, divisores de freqüência, geradores de forma de onda, 
conversores analógico-digitais, etc; 
 
Classificação quanto ao sincronismo 
Assíncrono: quando o sinal de clock é aplicado apenas ao primeiro estágio (flip-flop). Os 
estágios seguintes utilizam como sinalde sincronismo a saída de cada estágio anterior. 
Síncrono: quando o sinal de clock é único e externo, sendo aplicado a todos os estágios 
ao mesmo tempo. 
 
Classificação quanto ao modo de contagem 
Crescente (progressivo): quando conta numa seqüência de números crescentes. 
Decrescente (regressivo): quando conta numa seqüência de números decrescentes. 
Aleatória: quando conta numa seqüência qualquer programada. 
 
5.1 - CONTADORES ASSÍNCRONOS 
 
Um contador assíncrono, de modo geral, tem as saídas e entradas ligadas e polarizadas 
conforme a rotina: 
a) a saída de cada flip-flop deve ser conectada a entrada clock dos flip-flops 
seguintes; 
b) as entradas J e K de todos os flip-flops devem ser polarizadas com nível lógico 1, 
na configuração do flip-flop tipo T; 
c) o sinal de clock do contador deve acionar a entrada clock do primeiro flip-flop. 
 
As saídas do primeiro e último flip-flop correspondem, respectivamente, aos bits menos 
(LSB) e mais (MSB) significativos do contador. 
 
A interligação de todas as entradas clear dos flip-flops fornece uma entrada que 
corresponde à linha clear (reset) do contador, usada para garantir um estado inicial zero. 
 
5.1.1 - CONTADOR BINÁRIO 
 
Apresenta na saída a seqüência de contagem do código binário. 
 
 30
Inicialmente, supõem-se as saídas zeradas. Aplica-se um pulso de clock no primeiro flip-
flop, cuja mudança de estado na saída ocorrerá na descida do clock. O flip-flop seguinte 
mudará o nível lógico na saída sempre que ocorrer a mudança (descida do clock) de nível 
lógico no flip-flop anterior. O diagrama de tempo abaixo ilustra melhor a seqüência de 
funcionamento do contador. Após o 160 pulso de clock, o contador irá reiniciar a 
contagem. Observa-se que este circuito possui também a característica de divisor de 
freqüência por 2, 4, 8 e 16 (fn = fck/2n). 
 
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
 
Ck 
 
 
Q0 
 
 
Q1 
 
 
Q2 
 
 
Q3 
 
O maior número que um contador pode registrar em sua saída é dado por: (2n – 1), onde 
n é o número de flip-flops do contador. 
Exemplo: Para uma contagem limite do contador = 3110 = 111112 
 O número de flip-flops necessários será: 2n – 1 = 31 ⇒ n = 5 flip-flops 
 
Obs: A soma dos tempos de transição em cada flip-flop provoca a ocorrência de estados 
lógicos falsos, que podem ser indesejáveis quando se têm contadores com muitos flip-
flops e alta freqüência do clock. 
 
 
5.1.2 CONTADOR MÓDULO QUALQUER 
 
Para o projeto de um contador assíncrono com módulo de contagem qualquer N, basta 
verificar quais as saídas do contador para o caso N+1. Estas saídas devem ser 
conectadas a uma porta lógica tipo NÃO-E, cuja saída será remetida para as entradas 
clear dos flip-flops do contador. 
 
Exemplo: Contador de 0-5 
- quando as saídas apresentarem Q2Q1Q0 = 110 (2) = 6 (10), um pulso zero 
será encaminhado às entradas clear, zerando o contador e reiniciando a 
contagem. 
 
 31
 
5.1.3 - CONTADOR BCD (DÉCADAS) 
 
 
 
Para contar de 0 a 9: somente quando as saídas apresentarem Q3Q2Q1Q0 = 1010 (2) = 10 
(10) 
 
A lógica auxiliar (porta Não-E) assume nível lógico zero em sua saída, encaminhado a 
todos os terminais clear , zerando todas as saídas e o contador reinicia a contagem. 
 
 
 
5.1.4 - CONTADOR BINÁRIO DECRESCENTE 
 
O circuito que efetua a contagem decrescente se diferencia da contagem crescente 
apenas pela forma de obtenção dos clocks dos flip-flops: a partir das saídas 
complementares. Um outro circuito com mesmo resultado pode ser obtido quando as 
saídas do contador são extraídas das saídas complementares dos flip-flops. O diagrama 
de tempo a seguir demonstra a seqüência de contagem. 
 
 
 
 
 
 
 32
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
 
Ck 
 
 
Q0 
 
 
Q1 
 
 
Q2 
 
 
Q3 
 
 
5.1.5 - CONTADOR BINÁRIO CRESCENTE E DECRESCENTE 
 
Uma superposição de contadores crescente e decrescente resulta num contador 
bidirecional, onde uma variável de controle X define se: 
- contagem crescente ⇒ X = 1 
- contagem decrescente ⇒ X = 0 
 
 
Uma outra estrutura pode ser construída usando multiplexadores (TTL 74157) entre os 
vários estágios do contador que selecionam para a linha clock do próximo estágio a saída 
Q ou seu complemento Q do flip-flop. 
 
O controle da contagem ascendente ou descente é feito pela entrada de seleção C do 
multiplex: 
- Para C = 0 ⇒ a contagem é crescente 
- Para C = 1 ⇒ a contagem é decrescente 
 
 
 33
 
 
5.1.6 CONTADOR ASSÍNCRONO PROGRAMÁVEL 
 
Um contador digital pode ser programado com um número binário de tamanho igual ou 
menor que seu módulo. Uma vez definida a programação, pode-se empregar um circuito 
comparador que efetua a comparação entre os bits das saídas Q do contador com os bits 
programados nas entradas A0, A1, A2 e A3. Quando forem iguais, um sinal controla a 
parada do contador. 
 
 
 
 34
 
5.2 CONTADORES SÍNCRONOS 
 
Um contador síncrono tem todas as entradas de clock interconectadas, de modo que cada 
flip-flop muda de estado lógico ao mesmo tempo. 
 
Antes de cada pulso de clock, as entradas devem ser estabelecidas com os níveis lógicos 
apropriados, assegurando nas saídas os estados lógicos desejados. Isto é, o projeto de 
contadores síncronos requer a alteração conveniente dos níveis lógicos das entradas J e 
K dos flip-flops, a cada pulso introduzido no clock. 
 
Seguindo tal orientação, pode-se construir uma tabela da transição que estabelece os 
valores nas entradas J e K dos flip-flops, obtida a partir das possíveis combinações de 
estados na saída Q, antes e depois da aplicação do pulso de clock. 
 
J K QF QA QF J K 
0 0 QA 0 0 0 X 
0 1 0 0 1 1 X 
1 0 1 1 0 X 1 
1 1 AQ 1 1 X 0 
 
 
 
5.2.1 - CONTADOR BINÁRIO (Procedimento de projeto) 
 
O procedimento para projeto de um contador síncrono desenvolvido a seguir pode ser 
aplicado a qualquer seqüência desejada. 
 
a) Determine o número de bits necessários (número de flip-flops) e a seqüência de 
contagem desejada. 
 
Contagem = 2n – 1, onde: n=número de flip-flops 
Ex: contagem = 15 = 2n – 1 ⇒ n=4 flip-flops 
 
0⇒1⇒2⇒3⇒4⇒5⇒6⇒7⇒8⇒9⇒10⇒11⇒12⇒13⇒14⇒15 
 
b) Desenhe o diagrama da transição dos estados possíveis, incluindo aqueles que não 
fazem parte da seqüência de contagem desejada. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0000 0001 0010 0011 0100 0101 
0110 
0111 
1000 1001 1010 1101 1100 1011 
1111 
1110 
Os números que na fazem parte da contagem podem ser 
orientados para: 
a) ir para o início da contagem; 
b) b) ir para o número imediatamente superior; 
c) torná-lo irrelevante. 
 35
 
c) Use o diagrama de transição de estados para construir uma tabela que relacione todos 
os estados possíveis das saídas do contador. Acrescente colunas para as entradas J e K, 
indicando seus níveis lógicos necessários para possibilitar as saídas desejadas. 
 
Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 
0 0 0 0 0 X 0 X 0 X 1 X 
0 0 0 1 0 X 0 X 1 X X 1 
0 0 1 0 0 X 0 X X 0 1 X 
0 0 1 1 0 X 1 X X 1 X 1 
0 1 0 0 0 X X 0 0 X 1 X 
0 1 0 1 0 X X 0 1 X X 1 
0 1 1 0 0 X X 0 X 0 1 X 
0 1 1 1 1 X X 1 X 1 X 1 
1 0 0 0 X 0 0 X 0 X 1 X 
1 0 0 1 X 0 0 X 1 X X 1 
1 0 1 0 X 0 0 X X 0 1 X 
1 0 1 1 X 0 1 X X 1 X 1 
1 1 0 0 X 0 X 0 0 X 1 X 
1 1 0 1 X 0 X 0 1 X X 1 
1 1 1 0 X 0 X 0 X 0 1 X 
1 1 1 1 X 1 X 1 X 1 X 1 
 
 
d) Obtenha as expressões simplificadas para cada uma das entradas J e K dos flip-flops, 
utilizando os diagramas de Veitch-Karnaugh. 
 
J3 = Q2.Q1.Q0 K3 = Q2.Q1.Q0
J2 = Q1.Q0 K2 = Q1.Q0 
J1 = Q0 K1 = Q0 
J0 = 1 K0 = 1 
 
 
e) Desenhe o circuito do contador síncrono com 4 flip-flops, utilizando portas lógicas 
adequadas para as entradas J e K, conforme os resultados obtidos nas expressões 
lógicas simplificadas. 
 
 
 
 
 
 
 36
5.2.2 - CONTADOR BCD (DÉCADAS) 
 
Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 
0 0 0 0 0 X 0 X 0 X 1 X 
0 0 0 1 0 X 0X 1 X X 1 
0 0 1 0 0 X 0 X X 0 1 X 
0 0 1 1 0 X 1 X X 1 X 1 
0 1 0 0 0 X X 0 0 X 1 X 
0 1 0 1 0 X X 0 1 X X 1 
0 1 1 0 0 X X 0 X 0 1 X 
0 1 1 1 1 X X 1 X 1 X 1 
1 0 0 0 X 0 0 X 0 X 1 X 
1 0 0 1 X 1 0 X 0 X X 1 
 
J3 = Q2.Q1.Q0 K3 = Q0 
J2 = Q1.Q0 K2 = Q1.Q0 
Q3Q0. J1= K1 = Q0 
J0 = 1 K0 = 1 
 
5.2.3 - CONTADOR BINÁRIO CRESCENTE/DECRESCENTE DE 3 BITS 
 
X Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 
0 0 0 0 0 X 0 X 1 X 
0 0 0 1 0 X 1 X X 1 
0 0 1 0 0 X X 0 1 X 
0 0 1 1 1 X X 1 X 1 
0 1 0 0 X 0 0 X 1 X 
0 1 0 1 X 0 1 X X 1 
0 1 1 0 X 0 X 0 1 X 
0 1 1 1 X 1 X 1 X 1 
 
1 1 1 1 X 0 X 0 X 1 
1 1 1 0 X 0 X 1 1 X 
1 1 0 1 X 0 0 X X 1 
1 1 0 0 X 1 1 X 1 X 
1 0 1 1 0 X X 0 X 1 
1 0 1 0 0 X X 1 1 X 
1 0 0 1 0 X 0 X X 1 
1 0 0 0 1 X 1 X 1 X 
 
 37
 
.Q1.Q0X Q0.Q1X. J2 += .Q1.Q0X Q0.Q1X. K2 +=
 J1 = X⊕Q0 K1 = X⊕Q0 
 J0 = 1 K0 = 1 
 
 
 
 
 38
 
5.3 - CONTADORES PARA CIRCUITOS TEMPORIZADOS 
 
5.3.1 - CONTADOR DE 0 A 59 
 
Para contagem de minutos e segundos: ciclo igual a 60. 
Formas de obtenção: 
a) um contador assíncrono ou síncrono de contagem 0 a 59. 
b) dois contadores assíncronos ou síncronos: um para dezena (0 a 5) e outro para 
unidade (0 a 9) 
 
 
5.3.2 - CONTADOR DE 1 A 12 
 
Para contagem de horas: ciclo de 1 a 12. 
Mais usado é o contador síncrono, pois permite o início da contagem pelo estado 1. 
 
 
5.3.3 - CONTADOR DE 0 A 23 
 
Para contagem de horas: ciclo igual a 24. 
Formas de obtenção: 
c) um contador assíncrono ou síncrono de contagem 0 a 23. 
d) dois contadores assíncronos ou síncronos: um para dezena (0 a 2) e outro para 
unidade (0 a 9) 
 
 
 
DIAGRAMA DE BLOCOS DE UM RELÓGIO DIGITAL BÁSICO 
 
 
 Contador Minutos
0 - 59 
Contador Segundos 
0 - 59 
Gerador de clock
1 Hz 
Contador Horas 
1 - 12 
Decodificador 
BCD/7 segmentos
Decodificador 
BCD/7 segmentos
Decodificador 
BCD/7 segmentos 
Display - Horas Display - Minutos Display - Segundos 
 39
 
5.4 - CONTADORES INTEGRADOS 
 
5.4.1 – CONTADOR BCD – TTL 7490 
 
Consiste de duas partes distintas: um divisor de freqüência por dois e um divisor por 
cinco, onde cada divisor possui entrada clock independente. Os divisores podem ser 
interligados para a obtenção de um divisor por dez, desde que a saída QA seja conectada 
externamente a entrada B. Aplicando o clock na entrada A, o contador assume a 
contagem BCD e retorna ao estado inicial a cada dez pulsos. A tabela abaixo orienta 
melhor seu funcionamento. 
 
 
 
Contador 7490 
R0(1) R0(2) R9(1) R9(2) QD QC QB QA 
1 1 0 X 0 0 0 0 
1 1 X 0 0 0 0 0 
X X 1 1 1 0 0 1 
X 0 X 0 Contagem 
0 X 0 X Contagem 
0 X X 0 Contagem 
X 0 0 X Contagem 
 
 
 
5.4.2 – CONTADOR-DIVISOR POR 12 – TTL 7492 
 
Consiste de duas partes distintas: um divisor de freqüência por dois e um divisor por seis, 
onde cada divisor possui entrada clock independente. Os divisores podem ser interligados 
para a obtenção de um divisor por doze, desde que a saída QA seja conectada 
externamente a entrada B. Aplicando o clock na entrada A, o contador assume a 
contagem de módulo 12 (0-1-2-3-4-5-8-9-10-11-12-13) e retorna ao estado inicial a cada 
doze pulsos. As figuras a seguir ilustram melhor seu funcionamento. 
 
 40
 
 
5.4.3 – CONTADOR BINÁRIO-DIVISOR POR 16 – TTL 7493 
 
Consiste de duas partes distintas: um divisor de freqüência por dois e um divisor por oito, 
onde cada divisor possui entrada clock independente. Os divisores podem ser interligados 
para a obtenção de um divisor por dezesseis, desde que a saída QA seja conectada 
externamente a entrada B. Aplicando o clock na entrada A, o contador assume a 
contagem binária de 4 bits ou como divisor por 16 e retorna ao estado inicial a cada 
dezesseis pulsos. As figuras a seguir ilustram melhor seu funcionamento. 
 
 
 
 
 
 
 41
 
5.4.4 – CONTADORES CRESCENTE/DECRESCENTE - BCD (TTL 74190) 
 - BINÁRIO (TTL 74191) 
 
Os integrados TTL 74190 e 74191 são contadores síncronos reversíveis (up/down) de 4 
bits. Possuem pinagens compatíveis entre si e se diferenciam por um (74190) apresentar 
contagem BCD e outro (74191) apresentar contagem binária. 
 
Quando a linha Enable = 1 inibe o circuito para contagem. Esta entrada deve ser alterada 
apenas quando o clock estiver em 1. 
 
A direção de contagem é definida pela entrada Down/up. Quando em nível 0, o contador 
segue a seqüência crescente. Quando em 1, segue a seqüência decrescente. 
 
Os circuitos são completamente programáveis, isto é, as saídas do contador podem ser 
colocadas em qualquer estado, independente de pulsos de clock. Para isso, coloca-se a 
entrada Load = 0 e entram-se com os estados desejados nas entradas paralelas de dados 
A, B, C e D. Com essa característica é possível o uso desses contadores como divisores 
por N, pois é possível alterar o módulo do contador através destas entradas paralelas. 
 
Duas saídas são disponíveis para a execução de cascateamento: as saídas Ripple-clock 
e Max/min. A saída Max/min fornece um pulso positivo quando ocorre um overflow (após 
o estado 9 ou 15 na seqüência up) ou underflow (após o estado 0 na seqüência down). A 
saída Ripple-clock fornece um pulso negativo quando ocorre um overflow e underflow. 
 
O cascateamento pode ser feito se a saída Ripple-clock de um contador for ligada à 
entrada Enable do contador seguinte (quando as linhas clock estão interligadas) ou à 
entrada clock (quando as entradas Enable estão interligadas). 
 
 
 
 
 42
 
EXERCÍCIOS – CONTADORES 
 
CONTADORES ASSÍNCRONOS 
 
1. Esquematize o circuito de um contador assíncrono crescente para contagem de horas 
de 1 a 12. 
 
2. Esquematize o circuito de um contador assíncrono decrescente para contagem de 
minutos de 29 a zero. 
Q4Q3Q2Q1Q0 = 111012 = 2910 
 
3. Projete um contador assíncrono crescente de modo a travar (parar) no número 9(10) = 
1001(2) 
 
4. Dado o circuito do contador assíncrono abaixo, usando flip-flops D, preencha a tabela 
de transição informando a seqüência de contagem. 
 
Q2Q1Q0
Ck
S
D
CP
R
Q
_
Q
U2A
S
D
CP
R
Q
_
Q
U1B
S
D
CP
R
Q
_
Q
U1A
 
 
No Q2 Q1 Q0 
0 0 0 0 
 
 
 
 
 
 
 
 
 
 
 
5. Projete um contador assíncrono decrescente módulo 12 (11 – 0). 
 
6. Projete um contador assíncrono crescente de 0 a 7, com uma lógica auxiliar que 
possibilite duas condições: 
a) o travamento (parada) da contagem quando pressionada uma chave de pressão; 
b) o zeramento do contador quando pressionada uma outra chave de pressão. 
 
7. Esquematize o circuito de um contador assíncrono decrescente de 12 a 1 (timer de 
horas), usando flip-flops JK. 
 
8. Esquematize um contador assíncrono para trabalhar como divisor de freqüência por 4. 
Esboce as formas de onda do clock e das saídas do contador. 
 
 43
9. O circuito contador binário de 3 bits abaixo obtido com flip-flops JK ativados na descida 
do clock, apresenta o seguinte sinal de clock. Desenhe as formas de ondas nas saídas 
Q. 
 Assuma Q0inicial = 0. 
 
CkVcc
S
J
CP
K
R
Q
_
Q
S
J
CP
K
R
Q
_
Q
S
J
CP
K
R
Q
_
Q
 
 
 
Ck 
 
 
Q0 
 
 
 
Q1 
 
 
 
Q2 
 
 
 
 44
 
CONTADORES SÍNCRONOS 
 
1. Projete um contador síncrono crescente/decrescente, que gere a seguinte contagem: 
 X=0 ⇒ contagem crescente ⇒ 0-1-2-3 
 X=1 ⇒ contagem decrescente ⇒ 3-2-1-0 
 
2. Determine as formas de onda de Q2, Q1 e Q0 para o contador abaixo, em função dos 
sinais de clock e In aplicados. 
 
 
 In 
 
 
 Ck 
 
 Q0 
 
 Q1 
 
 Q2 
 
 
 
3. Projete um contador síncrono, que gere a contagem da tabela de transição abaixo: 
 
Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0 
0 0 0 1 
0 0 1 1 
0 1 1 1 
1 1 1 1 
 
 
 
 
 
 
 45
4. Desenhe as formas de onda nos pontos A e B do contador síncrono abaixo, em função 
dos sinais de clock aplicados. 
 
 
 Ck 
 
 
 A 
 
 
 B 
 
 
 
5. Determine as formas de onda de Q0, Q1 e Q2 para o contador síncrono abaixo, em 
função dos sinaisde Clear e Clock aplicados. 
 
 
 
Clr 
 
 
Ck 
 
Q0 
 
Q1 
 
Q2 
 
 
 
 46
 
6. Projete o circuito de um contador síncrono para gerar a seqüência da tabela abaixo. 
 
Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 1 
0 0 1 0 
0 1 0 0 
1 0 0 0 
 
 
7. Projete um contador síncrono para gerar a seqüência dos números primos: 1-2-3-5-7 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 47
 
CONTADORES INTEGRADOS 
 
1. Interligue os contadores integrados abaixo de modo a formar um de 0-23. 
 
 Q1 Q0 Q3 Q2 Q1 Q0 
 
 
 
 Ck Ck 
 
 
 Clr Clr 
 
 
 
2. Interligue os contadores integrados abaixo de modo a formar um de 0-59. 
 
 
 Q2 Q1 Q0 Q3 Q2 Q1 Q0 
 
 
 
 Ck Ck 
 
 
 Clr Clr 
 
 
3. Dada a pinagem do contador integrado 7490 abaixo, elabore as devidas interligações, 
de modo a contar de 0 a 7. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
R0(1) R0(2) R9(1) R9(2) QD QC QB QA 
1 1 0 X 0 0 0 0 
1 1 X 0 0 0 0 0 
X X 1 1 1 0 0 1 
X 0 X 0 Cont. 
0 X 0 X Cont. 
0 X X 0 Cont. 
X 0 0 X Cont. 
0 - 2 
Dezena 
0 - 9 
Unidade 
0 - 5 
Dezena 
0 - 9 
Unidade 
 Ent.A NC QA QD GND QB QC 
 
Contador integrado 
7490 
 Ent.B R0(1) R0(2) NC Vcc R9(1) R9(2) 
13 12 11 10 9
 2 3 4 5 6 1 7
814 
 48
 
4. Interligue os dois blocos contadores, de modo a formar um sistema contador de 0 a 12. 
 
 
 
 Q0 Q3 Q2 Q1 Q0 
 
 
 
 Ck Ck 
 
 
 Clr Clr 
 
 
 
5. Interligue os contadores integrados abaixo de modo a formar um de 59-0. 
 
 
 
 Q2 Q1 Q0 Q3 Q2 Q1 Q0 
 
 
 
 Ck Ck 
 
 
 Pr Clr Pr Clr 
 
 
 
 
6. Interligue os contadores integrados abaixo de modo a formar um de 23-0. 
 
 
 
 Q1 Q0 Q3 Q2 Q1 Q0 
 
 
 A Data A 
 Ck B Ck Data B 
 C Data C 
 D Data D 
 Load Load 
 
 
 
 
 
 
 
 
 
 
0 - 1 
Dezena 
0 - 9 
Unidade 
5 - 0 
Dezena 
9 - 0 
Unidade 
2 - 0 
74190 (Dezena) 
9 - 0 
74190 (Unidade)
 49
7. Desenhe todas as interligações e conexões necessárias nos cis 7490 e 7408, de modo 
a obter-se um contador crescente de segundos (0-59). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
R0(1) R0(2) R9(1) R9(2) QD QC QB QA 
1 1 0 X 0 0 0 0 
1 1 X 0 0 0 0 0 
X X 1 1 1 0 0 1 
X 0 X 0 Cont. 
0 X 0 X Cont. 
0 X X 0 Cont. 
X 0 0 X Cont. 
 
 
 
 
 
PROJETO 
 
Uma academia de ginástica necessita de um cronômetro progressivo e regressivo para 
contagem de tempo dos exercícios físicos, para um tempo de até 1 minuto. 
Projete o módulo contador de segundos (00⇒59 e 59⇒0), incorporando os seguintes 
recursos: 
a) uma chave para zerar o contador; 
b) uma chave para travar (parar) o contador em qualquer tempo; 
c) uma chave para avanço rápido do clock para programação da contagem num 
determinado tempo. 
 
 
 
 Ent.A NC QA QD GND QB QC 
 
7490 (dezena) 
 
 Ent.B R0(1) R0(2) NC Vcc R9(1) R9(2) 
13 12 11 10 9
 2 3 4 5 6 1 7
814 
 Ent.A NC QA QD GND QB QC 
 
7490 (unidade) 
 
 Ent.B R0(1) R0(2) NC Vcc R9(1) R9(2) 
13 12 11 10 9
 2 3 4 5 6 1 7
814 
 Vcc
 
 
 
 
 
 
 7408 
 
 
 
 
GND 
1
2
3
4
5
6
7
14
13
12
11
10
9
8
 50
 
EXPERIÊNCIA 3 – CONTADORES ASSÍNCRONOS 
 
1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os 
seguintes circuitos digitais: 
 
1.1 - Contador binário crescente de 4 bits (2x7476) 
 
1.2 - Contador binário decrescente de 4 bits (2x7476) 
 
1.3 - Contador BCD crescente de décadas (2x7476, 7420) 
 
1.4 – Contador binário crescente/decrescente (2x7476, 74157) 
 
 
 51
 
1.5 - Contador assíncrono programável de módulo variável (2x7476, 7485) 
 
Q3Q2Q1Q0
74LS85
A3
A2
A1
A0
B3
B2
B1
B0
IA<B
IA=B
IA>B
A<B
A=B
A>B
1
S
J
CP
K
R
Q
_
QCk
S
J
CP
K
R
Q
_
Q
S
J
CP
K
R
Q
_
Q
S
J
CP
K
R
Q
_
Q
 
 
 
2. Na seqüência, energize os circuitos e simule, via chaves, os valores possíveis para as 
entradas; 
3. Organize e interprete os dados coletados na experimentação. Verifique se os valores 
encontrados na saída correspondem à análise teórica do circuito; 
4. Desmonte os circuitos e reponha o equipamento e componentes aos seus lugares; 
5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 
 
 52
 
EXPERIÊNCIA 4 - CONTADORES SÍNCRONOS 
 
1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos o 
seguinte circuito digital: 
 
1.1 - Contador binário crescente de 4 bits (2x7476, 7408) 
 
 
 
1.2 - Contador BCD crescente de 4 bits (2x7476, 7408) 
 
 
2. Na seqüência, energize o circuito e simule, via chaves, os valores possíveis para as 
entradas; 
3. Organize e interprete os dados coletados na experimentação. Verifique se os valores 
encontrados na saída correspondem à análise teórica do circuito; 
4. Desmonte o circuito e reponha o equipamento e componentes aos seus lugares; 
5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 
 
 
 53
 
EXPERIÊNCIA 5 - CONTADORES INTEGRADOS 
 
1. Identifique a pinagem dos circuitos integrados e monte em matriz de contatos os 
seguintes circuitos digitais: 
 
1.1 - Contador BCD 0-9 (7490) 
 
 
1.2 - Contador/divisor por 12 (7492) 
 
 
 
1.3 - Contador binário 0-15 (7493) 
 
 
 
 
 
 
 
 
 
 
 54
1.4 - Contador crescente/decrescente BCD 0-9-0 (74190) 
 
1.5 - Contador crescente/decrescente binário 0-15-0 (74191) 
 1.6 - Contadores em cascata BCD 00-99 (7490 e 74190) 
 
 Ck 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2. Na seqüência, energize os circuitos e simule, via chaves, os valores possíveis para as 
entradas; 
3. Organize e interprete os dados coletados na experimentação. Verifique se os valores 
encontrados na saída correspondem à análise teórica do circuito; 
4. Desmonte os circuitos e reponha o equipamento e componentes aos seus lugares; 
5. Mantenha sempre limpo e organizado o ambiente de experimentação educativa. 
 
Decodificador BCD 
para display de 7 
segmentos 
Decodificador BCD 
para display de 7 
segmentos 
Contador dezena 
74190 
Contador unidade 
7490 
Display 
Dezena 
Display 
Unidade 
 55
 
6 MEMÓRIAS SEMICONDUTORAS 
 
6.1 INTRODUÇÃO 
 
Memórias são dispositivos semicondutores que armazenam informações na forma binária. 
São informações constituídas de números, letras, caracteres quaisquer, comandos de 
operações, endereços, etc. Os bitsdas informações podem ser acessados, quando no 
procedimento de leitura ou gravados/substituídos, quando no procedimento de escrita ou 
armazenamento. 
 
As memórias semicondutoras são usadas como memória principal (interna) ou 
memória de trabalho de um computador, pois permanece em comunicação constante 
com a unidade central de processamento (CPU) à medida que um programa de 
instruções está sendo executado. 
 
Uma outra forma de armazenamento no computador é efetuada pela memória auxiliar 
(externa) ou memória de massa, onde opera com uma velocidade mais baixa que a 
memória principal e armazena programas e dados que não estão sendo usados a todo o 
momento pela CPU. Esta memória transfere as informações para a memória principal 
quando apenas for necessária ou solicitada no processamento. 
 
 
6.2 ESTRUTURA E ORGANIZAÇÃO DA MEMÓRIA 
 
Uma memória armazena ou acessa as informações digitais em lugares denominados 
localidades, mediante um endereçamento. Para o acesso a estas localidades, o bloco 
possui uma série de terminais de entradas de endereços que são ligados a um conjunto 
de fios denominado barra de endereços (addres bus). Para a entrada e saída dos dados, 
da mesma forma, o bloco possui uma série de terminais ligados à barra de dados (data 
bus). O bloco ainda possui terminais de controle ligados à barra de controle (control 
bus). 
 
 
 
 
 
 
 
 
 
 
 
A barra de dados é bidirecional, isto é, pode ser usada tanto como entrada como para 
saída de dados, onde um dos terminais da barra de controle define o sentido. 
 
As memórias são especificadas pela notação N x M, onde N indica o número de 
localidades de memória (palavras) e M indica o número de bits da informação 
armazenada por localidade. O número de bits que constitui uma palavra varia de 
computador para computador, estando na faixa de 4 bits até 36 bits, tipicamente. Uma 
dada "pastilha" de memória armazenará um dado número de palavras de tantos bits por 
palavra. Por exemplo, uma pastilha de memória popular tem uma capacidade de 
armazenamento de 1024 palavras de 4 bits cada, totalizando 4096 bits (4K), que é a 
capacidade total de memória. 
 
 
 
MEMÓRIA
N x M 
Barra de endereços 
Barra de controle 
Barra de 
dados
 56
A organização de uma pastilha de memória é estabelecida como sendo constituída por 
um grupo de registradores, onde cada registrador armazena uma palavra. A "largura" de 
cada registrador é o número de bits por palavra. O número de registradores é o número 
de palavras armazenadas na memória, conforme apresentado na figura a seguir. Valores 
comuns para o número de palavras por pastilha são 64, 256, 512, 1024, 2048 e 4096. 
Todos eles são potências inteiras de 2. Valores comuns para o tamanho da palavra são 1, 
4 e 8. É possível obter outros tamanhos de palavras, combinando-se diversas pastilhas de 
memória. 
 
O conteúdo de cada registrador está sujeito a duas operações possíveis: leitura e escrita. 
A leitura é o processo de obter a palavra armazenada no registrador e enviá-la para 
algum outro lugar, onde ela poderá ser usada. O conteúdo do registrador não é 
modificado pela operação de leitura. Escrita é o processo de colocar uma nova palavra 
em um registrador particular. É claro que esta operação de escrita destrói a palavra que 
estava previamente armazenada no registrador. Porém, não são todas as pastilhas de 
memória que têm a capacidade de ter os seus conteúdos escritos. 
 
 
 
6.3 PRINCÍPIOS DE OPERAÇÃO 
 
Apesar das diferenças existentes na implementação de cada um dos tipos de memória, 
um certo conjunto de princípios básicos de operação permanece o mesmo para todos 
os sistemas de memória. 
 
Cada sistema requer um conjunto de tipos diferentes de entrada e saída para realizar as 
seguintes funções: 
a. Selecionar o endereço que está sendo acessado para uma operação de leitura ou 
escrita; 
b. Selecionar a operação a ser realizada, leitura ou escrita; 
c. Fornecer os dados de entrada para a operação de escrita; 
d. Manter estáveis as informações de saída da memória resultantes de uma operação de 
leitura, durante um tempo determinado; 
e. Habilitar (ou desabilitar) a memória, de forma a fazê-la (ou não) responder ao endereço 
na entrada e ao comando de leitura/escrita. 
 
 57
A figura abaixo ilustra as funções básicas num diagrama simplificado de uma memória de 
32 palavras x 4 bits. Para o tamanho da palavra (4 bits) existem 4 linhas de entradas de 
dados (I3-I2-I1-I0) e 4 linhas de saídas de dados (O3-O2-O1-O0). Durante uma operação de 
escrita, o dado a ser armazenado na memória deve ser aplicado nas linhas de entrada de 
dados. Durante uma operação de leitura, a palavra que está sendo lida da memória 
aparece nas linhas de saída de dados. 
 
6.4 ESTRUTURAS DE ENDEREÇAMENTO 
 
Cada registrador ou palavra recebe um número, começando de 0 e continuando até onde 
for necessário. Este número especifica, de forma única, a localização do registrador e da 
palavra que ele está armazenando, e é chamado de seu endereço. Por exemplo, o 
endereço 2 refere-se ao registrador 2 ou à palavra 2. Sempre que se quiser referir a uma 
palavra em particular da memória, usa-se o seu endereço. O endereço de cada palavra é 
um número importante porque ele é o meio pelo qual um dispositivo externo à pastilha de 
memória pode selecionar qual a palavra desta que ele deseja acessar para uma operação 
de leitura ou de escrita. 
 
Para entender como o endereçamento é utilizado, precisa-se verificar a organização 
interna de uma pastilha de memória típica, como mostra a figura abaixo. Este circuito 
integrado, em particular, armazena 64 palavras de 4 bits cada (256 bits). Estas palavras 
têm endereços variando de 0 a 6310. Para selecionar uma das 64 locações para ler ou 
escrever, um código binário de endereço é aplicado ao circuito decodificador. Como 26 = 
64, o decodificador requer um código de entrada de 6 bits. Cada código de endereço ativa 
uma particular saída do decodificador que, por sua vez, habilita o registrador 
correspondente. 
 
Por exemplo, suponha um código de endereço de A5 A4 A3 A2 A1 A0 = 011010. 
Como 0110102 = 2610, a saída 26 do decodificador ficará ALTA, habilitando o registrador 
26. 
 58
 
Operação de leitura 
O código de endereço escolhe um registrador da pastilha de memória para leitura ou 
escrita. Para ler os conteúdos do registrador selecionado, a entrada LEITURA/ESCRITA 
(R/W) deverá estar em nível 1. Além disso, a entrada SELEÇÃO DE PASTILHA (CS) 
deverá estar ativada (em 1, neste caso) . A combinação de R/W = 1 e CS = 1 habilita os 
amplificadores (buffers) de saída de forma que os conteúdos do registrador selecionado 
aparecerão nas quatro saídas de dados. R/W = 1 também desabilita os amplificadores de 
entrada de modo que as entradas de dados não afetam a memória durante a operação de 
leitura. 
 
Operação de escrita 
A escrita de uma nova palavra de 4 bits no registrador selecionado requer R/W = 0 e CS = 
1. Esta combinação habilita os amplificadores de entrada, de modo que a palavra de 4 
bits aplicada às entradas de dados será carregada no registrador selecionado. R/W = 0 
também desabilita os amplificadores de saída, de forma que as saídas de dados estão em 
seu estado de circuito aberto. 
 
Seleção da pastilha 
A maioria das pastilhas de memória tem uma ou mais entradas SELEÇÃO DE PASTILHA 
(Chip-Select-CS) que são usadas para habilitar a pastilha inteira ou desabilitá-la 
completamente. No modo desabilitado todas as entradas de dados e as saídas de dados 
estarão desabilitadas, de modo que nenhuma operação de leitura, nem de escrita, poderá 
ocorrer. Neste modo, os conteúdos da memória não são afetados. A razão para ter 
entradas CS ficará clara quando combinam-se pastilhas de memória para a obtenção de 
memórias maiores. Deve ser notado que muitos fabricantes chamam estas entradas de 
HABILITAÇAO DA PASTILHA (Chip-Enable-CE) em vez de CS. 
 
Pinos de entrada/saída comuns 
Para economizar pinos em um encapsulamento de CI, os fabricantes, freqüentemente,combinam as funções de entrada de dados e de saída de dados usando pinos de 
entrada/saída comuns. A entrada R/W controla as funções destes pinos de E/S. Durante 
uma operação de leitura, os pinos de E/S agem como saídas de dados que reproduzem o 
 59
conteúdo da locação selecionada pelo endereço. Durante uma operação de escrita, os 
pinos de E/S agem como entradas de dados. Com pinos separados de entrada e de 
saída, requer-se um total de 18 pinos (incluindo terra e fonte de alimentação). Com quatro 
pinos comuns de E/S, são necessários apenas 14 pinos. A economia de pinos torna-se 
ainda mais significativa em pastilhas com tamanho de palavra anterior. 
 
Exemplo 
Quantos pinos seriam necessários para uma pastilha de memória que armazena 256 
palavras de 8 bits e tem linhas comuns de E/S? 
Solução: Há 256 locações endereçáveis, isto é, 28 = 256. Portanto, são necessárias 8 
entradas de endereço para selecionar qualquer endereço entre 00000000 e 11111111 
(25510). Há oito linhas de E/S, já que o tamanho da palavra é 8 bits. Acrescentando uma 
linha R/W, uma linha CS, alimentação e terra, resulta um total de 20 pinos. 
 
 
 
6.5 CLASSIFICAÇÃO DAS MEMÓRIAS 
 
As memórias podem ser classificadas segundo os itens abaixo. 
 
6.5.1 – Quanto à forma de acesso 
 
As formas de acesso a uma locação de memória podem ser do tipo aleatório ou 
seqüencial. 
 
No acesso aleatório, qualquer locação pode ser acessada aleatoriamente, isto é, pode ser 
lida diretamente sem a necessidade da leitura das demais locações. Possui a vantagem 
de ter um tempo de acesso pequeno e igual para qualquer uma das localidades da 
memória. 
 
No acesso seqüencial, a locação não pode ser feita diretamente. Assim, várias locações 
da memória são acessadas até a informação desejada. O tempo de acesso depende da 
posição onde a informação está armazenada. 
 
6.5.2 – Quanto à volatilidade 
 
As memórias voláteis são aquelas que, ao interromper a alimentação, perdem as 
informações armazenadas. Exemplo: memórias RAM. 
 
As memórias não voláteis são aquelas que, mesmo sem alimentação, continuam com as 
informações armazenadas. Exemplo: memórias ROM, PROM, EPROM. 
 60
 
6.5.3 – Quanto ao tipo de armazenamento 
 
As memórias de armazenamento estático são aquelas em que, uma vez inserido o dado 
numa dada localidade, este lá permanece. Têm a vantagem da facilidade de utilização. 
 
As memórias de armazenamento dinâmico são aquelas em que se necessita inserir a 
informação em intervalos de tempo repetidos, a fim de evitar que as mesmas sejam 
perdidas. 
 
6.5.4 - Quanto à capacidade de armazenamento 
 
A capacidade de armazenamento está relacionada com o número total de bits ou palavras 
que a memória pode armazenar. Por exemplo, uma memória de 1.024 x 8 corresponde a 
uma capacidade de 1.024 palavras, cada uma com 8 bits, totalizando 8.192 bits. 
 
6.5.5 – Quanto à tecnologia 
 
As memórias são construídas com tecnologia do tipo semicondutor bipolar, semicondutor 
de óxido metálico (MOS) ou semicondutor de óxido complementar (CMOS). 
 
As memórias do tipo bipolares são encontradas nos circuitos TTL padrão, Schottky e ECL. 
As memórias do tipo MOS de canal N são as mais usadas por apresentarem grande 
densidade e baixo custo. As memórias CMOS são mais lentas do que as NMOS e 
bipolares, contudo, são de menor consumo e maior imunidade ao ruído. 
 
6.5.6 – Quanto ao tipo de saída 
 
As saídas das memórias podem ser de três tipos: totem-pole, open collector ou three-
state. As memórias three-state são as mais usadas por permitirem a criação de bancos de 
memória, de forma mais eficiente. 
 
Saída totem-pole: Possui em sua estrutura interna um transistor conectado ao +Vcc, 
permitindo alimentar cargas capacitivas. Os transistores de saída estabelecem uma 
impedância baixa na saída, possibilitando um rápido chaveamento dos níveis lógicos. 
 
Saída open collector (coletor aberto): Não possui um resistor ligando o coletor de saída 
do transistor ao +Vcc, devendo ser ligado externamente (resistor pull-up). Esta saída 
possibilita o controle externo da corrente do coletor de saída, possibilitando o aumento do 
fan-out, além de poder habilitar saídas diferentes interligadas entre si, podendo assumir 
níveis lógicos opostos sem danos. A desvantagem é sua baixa velocidade de 
chaveamento dos níveis lógicos. 
 
Saída three-state: Configuração que apresenta uma alta impedância de saída (terceiro 
estado), em relação à linha na qual está conectada. Funciona como se o dispositivo 
estivesse desligado. Assim, permite interligar várias saídas em uma mesma linha de 
dados, fornecendo nível lógico alto ou baixo, sem danificar outros circuitos. 
 
 
 
 
 
 
 
 61
6.6 TIPOS DE MEMÓRIAS 
 
As memórias são basicamente de dois tipos: RAM e ROM. As memórias RAM são de 
escrita/leitura e permitem acesso a uma localidade qualquer para escrever a informação 
desejada, bem como permite o acesso para a leitura do dado armazenado. As memórias 
ROM são apenas de leitura e contêm uma informação pré-gravada e fixa, portanto, 
permitindo apenas a sua leitura. 
 
6.6.1 MEMÓRIAS ROM 
 
As memórias ROM (Read Only Memory – Memória Apenas de Leitura) permitem somente 
a leitura dos dados nela gravados. Possuem acesso aleatório e não são voláteis, isto é, 
não perdem seus dados armazenados quando a fonte de alimentação é desligada. 
 
Sua grande aplicação é no armazenamento de sistemas operacionais de computadores e 
outros sistemas digitais, em circuitos de geração de caracteres, na construção de circuitos 
combinacionais. 
 
A figura abaixo apresenta o bloco representativo de uma memória ROM, com terminais e 
barramentos. O terminal de controle CS (Chip Select) refere-se à habilitação ou seleção 
da pastilha, ou seja, é uma entrada de nível lógico que, quando em 0, ativa ou habilita as 
saídas para fornecer os dados armazenados ou para serem lidos, conforme o 
endereçamento estabelecido. Se o terminal de controle estiver em 1, as saídas estarão 
desabilitadas, assumindo estados de alta impedância (tri-state), liberando a barra de 
dados para uso por outros dispositivos presentes num sistema controlado por 
microprocessador. A escolha do nível lógico 0 para habilitação é por razão em 
proporcionar maior imunidade ao ruído. Com nível lógico 1, haveria maior suscetibilidade 
para o acionamento dos blocos dentro do sistema diante de um transiente indesejável. 
 
 CS 
 
 
 
 
 
 
 
 
A arquitetura básica de uma ROM genérica é apresentada em blocos abaixo, com os 
respectivos terminais e barramentos de entrada e saída. 
 A0 
 
 A1 
 ...................... 
 
 AN+1 
 
 
 
 CS 
 
 
 D0 D1 D2 DM+1 
 
 
 
MEMÓRIA
ROM 
Barra de 
endereços 
Barra de 
dados 
 
MATRIZ DE 
DADOS 
 
DECODIFICADOR 
DE ENDEREÇOS 
 
CHAVES DE SAÍDA 
 62
O decodificador de endereços (multiplexador) ativa uma saída de cada vez em função do 
endereçamento. A matriz de dados (arranjo de linhas e colunas) possibilita a gravação 
dos dados pelo fabricante e conseqüente leitura pelo usuário. Para a saída dos dados, a 
memória possui um conjunto de chaves lógicas (buffers) que, conforme a habilitação 
através do terminal CS , possibilita a conexão das saídas (em nível 0) ou imprime alta 
impedância (em nível 1) desconectando as saídas de dados do sistema. 
 
Exemplo 1 
Para evidenciar a estrutura interna dos blocos e explicar seu funcionamento, será 
construída uma memória ROM de 4 palavras de 8 bits, cujo conteúdo dos dados é 
mostrado na tabela abaixo. 
 
ENDEREÇO DADOS 
A1 A0 HEX D7 D6 D5 D4 D3 D2 D1 D0 
0 0 1 E 0 0 0 1 1 1 1 0 
0 1 8 A 1 0 0 0 1 0 1 0 
1 0 0 D 0 0 0 0 1 1 0 1 
1 1 7 6 0 1 1 1 0 1 1 0 
 
O circuito a seguir apresenta o codificador de endereços constituído de portas lógicas 
inversora e E, a matriz de dados formada por diodos semicondutores e as chaves de 
saídas constituídas por buffers ativos com zero. 
 
A matriz de dados formada por um conjunto de diodos constitui a célula da memória, 
definindouma série de portas lógicas OU, de modo que a presença do diodo em 
determinada localidade estabelece nível lógico 1 e, a sua ausência, o nível lógico 0. 
 
Para analisar um dado de saída específico, será endereçado A1A0 = 00 e aplicado à 
entrada de controle CS = 0, ativando o conjunto de buffers. Neste endereço, apenas o fio 
de saída da primeira porta lógica E é ativado com 1 pelo decodificador, provocando a 
condução de corrente dos respectivos diodos através dos resistores R ao terra do circuito. 
Devido a estas conduções, os resistores apresentarão quedas de tensão que serão 
transpostas pelos fios até as saídas D4, D3, D2 e D1, resultando no dado 00011110(2) = 
1E(16). Portanto, as saídas apresentam nível lógico 1 onde houver diodos conectados na 
matriz e nível lógico 0 na ausência de diodos. 
 
 63
Na tecnologia de fabricação da matriz de dados, também são utilizados outros elementos 
semicondutores, tais como transistores bipolares ou transistores de efeito de campo 
(MOS-FET). O processo de programação é facilitado pelo uso de um gabarito fotográfico 
das ligações elétricas chamado máscara, donde provêm as memórias denominadas 
MROM programadas por Máscara. 
 
As memórias ROM são produzidas com programações determinadas e sob encomenda, 
em grande quantidade e normalmente para clientes específicos e/ou fabricantes de 
equipamentos. Para o pequeno usuário, a solução é o uso das ROMs programáveis. 
 
Exemplo 2 
 
Uma ROM de 16 palavras com 8 bits foi programada com os dados mostrados na tabela a 
seguir, na sua forma binária e em hexadecimal. Suponha a leitura dos dados 
armazenados na posição cujas entradas de endereços são A3A2A1A0 = 0111 e habilitando 
as saídas com a entrada de controle CS = 0. As entradas de endereços serão codificadas 
no interior da ROM para selecionar a palavra correta, ou seja, as saídas 
D7D6D5D4D3D2D1D0 = 11101101. Se a entrada CS = 1, as saídas da memória ROM não 
estarão habilitadas e ficarão em alta impedância. 
 
 
 CS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Memória 
ROM 
16 x 8 
D7
D6
D5
D4
D3
D2
D1
D0
 
 
A3 
 
A2 
 
A1 
 
A0 
 
 64
6.6.1.1 MEMÓRIAS PROM 
 
As memórias PROM (Programmable Read-Only Memory) permitem o armazenamento 
dos dados pelo próprio usuário. Com a programação, a PROM transforma-se em definitivo 
numa memória ROM. 
 
O princípio básico de programação numa PROM é a destruição de pequenas ligações 
semicondutoras existentes (diodo ou fusível em série com diodo) internamente nas 
localidades onde se quer armazenar a palavra de dados, através de um nível de tensão 
convenientemente especificado pelo fabricante e conforme o endereçamento realizado. 
Este roteiro é fornecido pelo fabricante através de manuais ou através de kits apropriados 
para realizar os procedimentos conforme o tipo de pastilha, com maior eficiência e 
rapidez. 
 
 
6.6.1.2 MEMÓRIAS EPROM 
 
As memórias EPROM (Erasable Programmable Read-Only Memory) permitem programar 
e apagar dados, mediante banho de luz ultravioleta, efetuado através da exposição da 
pastilha por uma janela existente em seu encapsulamento e, ainda, serem 
reprogramadas. São também conhecidas como UVPROM (Ultraviolet PROM). 
 
É um dispositivo com arquitetura similar às memórias PROM, do tipo MOS, onde a 
gravação é feita através de circuitos eletrônicos especiais e o apagamento do conjunto 
inteiro das informações armazenadas é feito através da aplicação de raios ultravioleta em 
uma janela de quartzo localizada numa das faces do chip, durante um intervalo de tempo 
entre 10 a 30 minutos. Após o apagamento, todas as localidades assumem níveis lógicos 
1, podendo o processo de regravação e apagamento se repetir por inúmeras vezes. Uma 
fita adesiva opaca deve ser colocada sobre a janela após a reprogramação para evitar 
que ela seja acidentalmente apagada pela luz ambiente. 
 
O desenho a seguir mostra o bloco de uma memória EPROM de 2K x 8 bits, com a 
respectiva terminologia e função dos terminais dos barramentos. Para a capacidade desta 
memória, o acesso às localidades é efetuado por 11 fios (211 = 2.048 = 2K) e 8 fios para a 
barra de dados. 
 
 +Vcc CE 
 
 
 
 
 
 
 
 
 
 
 
 
A0 - A10 ⇒ barra de endereços OE ⇒ habilitação da saída (Output Enable) 
D0 – D7 ⇒ barra de dados PGM ⇒ habilitação da programação (Program)
CE ⇒ habilitação da pastilha (Chip 
 Enable) 
Vpp ⇒ tensão de programação (Program Supply
 Voltage) 
 
Memória 
EPROM 
2K x 8 
 
 
 
 
 
 
2716
D7
D6
D5
D4
D3
D2
D1
D0
 
 
A10 
..... 
A0 
 
OE 
 
PGM 
 
Vpp 
 65
Quando CE =0, ativa o bloco e quando CE =1, o bloco permanece desativado na situação 
de baixo consumo de potência (stand-by). A entrada de controle OE =0 habilita o 
barramento de saída. 
 
A programação é efetuada pelo terminal Vpp com uma tensão típica maior que Vcc, da 
habilitação de programação PGM =0, do endereçamento e da aplicação das respectivas 
palavras de dados ao bloco, seqüencialmente, possibilitarão o armazenamento das 
informações. 
 
6.6.1.3 MEMÓRIAS EEPROM 
 
As memórias EEPROM ou E2PROM (Electrically Erasable Programmable Read-Only 
Memory) permitem o apagamento dos dados eletricamente, além de possibilitar esta ação 
isoladamente por palavra de dados, sem necessidade de reprogramação total. As 
alterações de programação podem ser efetuadas pelo próprio sistema onde a memória 
estiver inserida, sem necessidade de sua desconexão do soquete. Apesar desta memória 
ser acessível para escrita e leitura, a mesma faz parte das memórias PROM. O bloco 
abaixo representa uma EEPROM de 8K x 8. 
 
 +Vcc CE 
 
 
 
 
 
 
 
 
 
 
 
 
O acesso das localidades desta memória é estabelecido através de 13 entradas de 
endereço (213 = 8.192 = 8k) e oito pinos de entrada/saída de dados. A barra de dados I/O 
é bidirecional por possibilitar a escrita e a leitura. 
 
A escrita de uma palavra de dados é obtida através do endereçamento e respectiva 
aplicação da palavra nos terminais da barra de dados, isto é, com o terminal OE =1 e o de 
habilitação da escrita WE =0, dentro de um ciclo de tempo mínimo especificado pelo 
fabricante (normalmente 10 ms). 
 
 
6.6.1.4 CD ROM 
 
Os CDs (compact disks) são fabricados com uma superfície altamente reflexiva, onde se 
armazena os dados através de um feixe laser bastante intenso e focalizado sobre um 
ponto muito pequeno no disco. Esse feixe provoca uma depressão que é capaz de 
provocar a difração da luz nesse ponto da superfície. Assim, os dados digitais (1s e 0s) 
são armazenados no disco, um bit por vez, fazendo ou não essa depressão no material 
reflexivo, sendo a gravação organizada em uma espiral contínua de pontos de dados. A 
precisão do feixe laser permite que grande quantidade de dados (maior que 550 Mbytes) 
seja armazenada num disco de 120 mm. 
 
 
 
Memória 
EEPROM 
8K x 8 
 
 
 
 
2864
I/O7 
I/O6 
I/O5 
I/O4 
I/O3 
I/O2 
I/O1 
I/O0 
 
 
A12 
..... 
A0 
 
OE 
 
WE 
 
 66
Para a leitura, um feixe laser bem menos potente é focalizado na superfície do disco, 
onde em qualquer ponto, a luz refletida é expressa como níveis lógicos 1 ou 0. Esse 
arranjo ótico é montado num mecanismo de transporte que se move para frente/trás ao 
longo do raio do disco, seguindo a espiral de dados à medida que o disco é rotacionado. 
Os dados recebidos do sistema ótico vêm uma linha serial de dados, numa taxa constante 
de bits com rotação do disco controlada. Se o disco é para reprodução de áudio, a linha 
de dados é convertida em formato analógico. Se o disco é usado como memória de 
leitura, os dados são codificados em bytes paralelos para serem processados num outro 
circuito digital. 
 
6.6.1.5 MEMÓRIAS FLASH 
 
As memórias flash recebem esta denominação por possuírem tempos curtos de 
apagamento e escrita. A maioria destas memórias efetua o apagamento em bloco e dura 
em torno de centenas de ms. Entretanto, também são encontradas memórias mais 
recentes que oferecem o modo de apagamento por setor. 
 
A tabela abaixo mostra

Outros materiais