Você está na página 1de 15

60

CAPTULO 5 CIRCUITOS SEQUENCIAIS III: CONTADORES SNCRONOS


Sumrio
5.1. Introduo ................................................................................................................................. 62
5.2. Tabelas de transio dos flip-flops .......................................................................................... 63
5.2.1. Tabela de transio do flip-flop JK ...................................................................................... 63
5.2.2. Tabela de transio do flip-flop T ........................................................................................ 63
5.2.3. Tabela de transio do flip-flop D ....................................................................................... 64
5.3. Projeto de contador sncrono ................................................................................................... 65
5.3.1. Diagramas de Transio ....................................................................................................... 65
5.3.2. Tabela de Estados Futuros e de Entradas dos Flip-flops ..................................................... 65
5.4. Contador Sncrono Crescente / Decrescente .......................................................................... 69
5.5. Exerccios de Fixao ................................................................................................................ 73

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

61
CAPTULO 5 CIRCUITOS SEQUENCIAIS III: CONTADORES SNCRONOS
Continuando os estudos sobre circuitos contadores, partimos agora para circuitos os
Contadores Sncronos.
Aps esse captulo voc dever ser capaz de:
(1) Entender o funcionamento de circuitos contadores sncronos; e
(2) Projetar um contador sncrono a partir das especificaes necessrias.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

62
5.1. Introduo
Contadores sncronos so circuitos sequenciais capazes de executar contagens binrias de
forma aleatria, pois possuem um circuito combinacional externo, que utiliza como entradas as
sadas Q e Q de cada flip-flop e suas sadas so conectadas s entradas dos flip-flops utilizados. A
figura 5.1 apresenta o diagrama geral de um contador sncrono utilizando flip-flops JK para
contagem.

Figura 5.1 Diagrama geral de um contador sncrono com flip-flops JK.

As caractersticas principais dos contadores sncronos so:

(1) Os FF POSSUEM as entradas clock em comum;


(2) Possuem circuito combinacional externo, que utiliza as equaes de transio dos flip-flops
utilizados para ser implementado;
(3) Possuem sada binria aleatria; e
(4) O bit mais significativo da contagem (MSB) pode ser qualquer um dos flip-flops, pois quem
determina essa ordem o circuito combinacional externo. No caso da figura 5.1 o bit mais
significativo pode ser tanto o flip-flop 1 quanto o flip-flop n.

Antes de estudarmos o projeto de contadores sncronos, devemos analisar as tabelas de transio


dos flip-flops.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

63
5.2. Tabelas de transio dos flip-flops
As tabelas de transio dos flip-flops nada mais so que outra forma de visualizao das
tabelas verdades desses flip-flops. Para a montagem dessas tabelas, devemos analisar com foco nos
valores de transies das sadas e nos valores de entrada que se deve ter em suas entradas para
provocar essa transio, desde que um pulso de clock ocorra em suas entradas.
A sada do flip-flop em seu estado atual denominada Qn , ou simplesmente Q , e a sada
em seu estado futuro, ou seja, aps a transio, denominada Qn +1 ou Q + .

5.2.1. Tabela de transio do flip-flop JK


Para o flip-flop JK temos:

Qn = 0 para Qn+1 = 0 , utilizamos em suas entradas, J = 0 e K = 0 ou J = 0 e K = 1.

Qn = 0 para Qn+1 = 1 , utilizamos em suas entradas, J = 1 e K = 0 ou J = 1 e K = 1.

Qn = 1 para Qn+1 = 0 , utilizamos em suas entradas, J = 0 e K = 1 ou J = 1 e K = 1.

Qn = 1 para Qn+1 = 1 , utilizamos em suas entradas, J = 0 e K = 0 ou J = 1 e K = 0.

Logo, resumindo essas proposies, temos a seguinte tabela verdade de transio:

Qn

Qn +1

0
0
1
1

0
1
0
1

J
0
1
X
X

K
X
X
1
0

5.2.2. Tabela de transio do flip-flop T


Para o flip-flop T temos:

Qn = 0 para Qn+1 = 0 , utilizamos T = 0.

Qn = 0 para Qn+1 = 1 , utilizamos T = 1.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

64


Qn = 1 para Qn+1 = 0 , utilizamos T = 1.

Qn = 1 para Qn+1 = 1 , utilizamos T = 0.

Logo, resumindo essas proposies, temos a seguinte tabela verdade de transio:

Qn

Qn +1

0
0
1
1

0
1
0
1

T
0
1
1
0

5.2.3. Tabela de transio do flip-flop D


Para o flip-flop D temos:

Qn = 0 para Qn+1 = 0 , utilizamos D = 0.

Qn = 0 para Qn+1 = 1 , utilizamos D = 1.

Qn = 1 para Qn+1 = 0 , utilizamos D = 0.

Qn = 1 para Qn+1 = 1 , utilizamos D = 1.

Logo, resumindo essas proposies, temos a seguinte tabela verdade de transio:

Qn

Qn +1

0
0
1
1

0
1
0
1

D
0
1
1
0

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

65
5.3. Projeto de contador sncrono
Antes de projetarmos um contador sncrono necessitamos entender algumas partes
integrantes deste projeto.

5.3.1. Diagramas de Transio


Para projetar um contador sncrono, deve-se primeiro entender as especificaes de projeto.
Um contador sncrono tem sua contagem especificada atravs de um diagrama de transio,
apresentado na figura 5.2, que indica qual o estado futuro a ser atingido pelo contador quando
aplicado um pulso de clock.

Figura 5.2 Diagrama de estados de um contador sncrono.

A indicao (1) mostra que o contador deve iniciar sua contagem pelo estado indicado por
(2). Cada circunferncia representa um estado da contagem e pode indicar um valor decimal,
binrio, hexadecimal ou um nome exemplo state1 que representa algum valor tabelado. A seta
com a indicao (3) representa que existe uma transio do estado state1 para state2, assim
como para os outros estados.
5.3.2. Tabela de Estados Futuros e de Entradas dos Flip-flops

Considere o contador sncrono representado pelo diagrama de estados da figura 5.3, a tabela
de estados futuros desse contador nada mais que uma representao tabelada dos seus estados. Ela
ser extremamente importante para que possamos gerar a tabela de entrada dos flip-flops adiante.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

66

Figura 5.3 Diagrama de estado de um contador sncrono de mdulo 5.

A tabela de estados futuros de um diagrama de estados gerada colocando em uma coluna o


estado atual que o contador se encontra e em outra coluna o seu prximo estado. No caso da figura
5.3, sua tabela de estados futuros fica como demonstrado a seguir, considerando trs flip-flops A, B
e C, sendo A o bit mais significativo.

Estados Atuais

QA
0
0
0
0
1
1
1
1

QB
0
0
1
1
0
0
1
1

QC
0
1
0
1
0
1
0
1

Estados Futuros

QA+
0
0
0
1
0
0
0
0

QB+ QC+
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0

A partir dessa tabela, podemos gerar a tabela de entrada dos flip-flops, que so as tabelas
que geram as equaes lgicas do circuito combinacional, mostrado na figura 5.1, necessrias para
a implementao do contador.
Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

67
Para gerar essa tabela, necessitamos das tabelas de transio do tipo de flip-flop utilizado,
descritas no item 5.2. Considerando que os flip-flops utilizados para implementao desse contador
sejam flip-flops JK, para gerar a tabela de entrada dos flip-flops, basta observarmos quais so as
transies que ocorrem dos estados Qx para o estado Qx+ de cada linha e preenchermos as entradas
Jx e Kx de cada flip-flop de acordo com a tabela de transio do flip-flop JK.
A tabela de entrada dos flip-flops do contador descrito na figura 5.3 fica da seguinte forma:

Estados Atuais

QA
0
0
0
0
1
1
1
1

QB
0
0
1
1
0
0
1
1

QC
0
1
0
1
0
1
0
1

Estados Futuros

QA
0
0
0
1
0
0
0
0

QB
0
1
1
0
0
0
0
0

QC
1
0
1
0
0
0
0
0

Entradas dos Flip-Flops JK


+

JA
0
0
0
1
X
X
X
X

KA
X
X
X
X
1
1
1
1

JB
0
1
X
X
0
0
X
X

KB
X
X
0
1
X
X
1
1

JC
1
X
1
X
0
X
0
X

KC
X
1
X
1
X
1
X
1

Gerada a tabela de entradas dos flip-flops, necessitamos gerar as funes lgicas do circuito
combinacional responsvel pela contagem, e para isso, como descrito no diagrama de blocos da
figura 5.1, utilizaremos QA, QB e QC como entradas do circuito combinacional e JA, KA, JB, KB, JC e
KC como sadas, ou seja, basta implementar uma funo lgica para cada um dos Js e Ks
utilizados, fazendo como entradas dessas funes as sadas Q dos flip-flops.
Como ferramenta para gerar essas funes, utilizaremos mapas de Veitch-Karnaugh,
revisados no captulo 1, e simplificando as funes lgicas descritas, obteremos as seguintes
equaes:

 =  . 

(1)

 = 1

(2)

 = 
 . 

(3)

 =  + 

(4)

 = 


(5)

 = 1

(6)

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

68
Determinadas as equaes lgicas das entradas, para finalizar o projeto, basta implementar o
circuito lgico, retirando como sadas do contador as sadas Q de cada flip-flop. O circuito do
exemplo utilizado mostrado na figura 5.4.

Figura 5.4 Circuito contador sncrono de mdulo 5 implementado com flip-flops JK.

Pergunta: Na figura 5.3 possumos um indicativo de que o contador deve iniciar sua
contagem no estado 000. O que podemos fazer nesse circuito para garantirmos que sempre que o
contador seja ligado ele inicie sua contagem em 000 se suas entradas assncronas forem ativadas
em nvel baixo?

Sugesto: Implemente o mesmo contador do exemplo anterior utilizando flip-flops tipo T e


tipo D como elementos de memria.

Implementado o circuito lgico, finalizamos o projeto de um contador sncrono. Resumindo


as etapas de projeto temos:

(1) Determinao do diagrama de estados do contador a partir das especificaes de projeto;


(2) Montagem da tabela de estados futuros;
(3) Montagem da tabela de entrada dos flip-flops;
(4) Implementao das funes lgicas de entrada dos flip-flops; e
(5) Implementao do circuito lgico.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

69
5.4. Contador Sncrono Crescente / Decrescente
O projeto de um contador sncrono crescente / decrescente necessita da insero de uma
varivel de controle. No nosso caso, vamos chamar essa varivel de controle de varivel Z, que
ser inserida no circuito combinacional da figura 5.1 para executar uma etapa de controle.

Figura 5.5 Diagrama de blocos de um contador sncrono com vrivel Z de controle.

Tomando como exemplo um contador sncrono crescente / decrescente de 2 bits, devemos


construir um diagrama de estados que contenha as duas possveis sequncias de contagem.
Definindo como contagem crescente para Z = 0 e decrescente para Z = 1 podemos obter os dois
diagramas da figura 5.6 ou ainda obter um nico diagrama, figura 5.7, que contenha as duas
sequncias obtidas de acordo com o valor de Z.

Figura 5.6 Diagramas de estado para os distintos valores da varivel de controle 'Z'.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

70

Figura 5.7 Diagrama de estados que contm as duas possveis sequncias do contador.

A montagem da tabela de estados futuros e de entrada dos flip-flops, considerando flip-flops


JK, e inserindo a varivel Z, fica da seguinte forma:
Estados Atuais

Z
0
0
0
0
1
1
1
1

QB
0
0
1
1
0
0
1
1

QA
0
1
0
1
0
1
0
1

Estados Futuros

QB
0
1
0
1
1
0
1
0

QA
1
1
0
0
0
0
1
1

Entradas dos Flip-Flops JK

JB
0
1
X
X
1
0
X
X

KB
X
X
1
0
X
X
0
1

JA
1
X
0
X
0
X
1
X

KA
X
0
X
1
X
1
X
0

Simplificando as funes lgicas, obtemos as seguintes equaes:

 =  + 
 = 

(7)

 = .

 +  =



(8)

 = .

 +  =


(9)

 =  + 
 = 

(10)

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

71
Implementando as equaes (7) (10), obtemos o circuito descrito na figura 5.8.

Figura 5.8 Circuito de um contador sncrono crescente / decrescente com uma varivel Z
de controle (Z = 0 crescente).

Pergunta: Na figura 5.7 possumos um indicativo de que o contador deve iniciar sua
contagem no estado 00. O que podemos fazer nesse circuito para garantirmos que sempre que o
contador seja ligado ele inicie sua contagem em 00 se suas entradas assncronas forem ativadas
com nvel alto?

Sugesto: Implemente o mesmo contador do exemplo anterior utilizando flip-flops tipo T e


tipo D como elementos de memria.
A partir desse tipo de projeto de contador sncrono, podemos projetar contadores sncronos
de sequncias aleatrias controlados por variveis externas. A figura 5.9 mostra um exemplo de
diagrama de estados de um contador sncrono aleatrio controlado pela varivel externa Z. Faa a
tabela de estados futuros desse contador. Os estados esto codificados da seguinte forma:

Nome
S0
S1
S2
S3
S4
S5
S6
S7
S8

Valor em
binrio
0000
0001
1000
0101
0111
1101
1100
1110
1111

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

72

Figura 5.9 Contador sncrono aleatrio controlado por varivel Z.

Pergunta 1: No diagrama da figura 5.9, podemos verificar que nem todos os estados que
podem ser executados com 4 bits esto sendo utilizados. O que aconteceria se por algum distrbio
no sistema o contador apresentasse o valor 0110 em sua sada?

Pergunta 2: O que aconteceria o contador estivesse no estado S3, com Z =1, e o valor da
varivel Z fosse alterado para 0?

Sugesto: Implemente o mesmo contador do exemplo anterior utilizando flip-flops tipo T.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

73
5.5. Exerccios de Fixao
1)

Implemente um contador sncrono crescente, com reset automtico, de mdulo 16


utilizando FF JK.

2)

Implemente um contador sncrono, sem reset automtico, que conte de 2 at 6, crie uma
sub-rotina de inicializao para esse contador. Utilize FF T.

3)

Implemente um contador sncrono, que execute a sequncia abaixo. O contador deve


possuir reset automtico em 1 e deve-se utilizar FF JK.

4)

Implemente um contador sncrono, com reset automtico, que execute a seguinte


sequncia: 1  2  3  5  6  7  9  10  12 1. Use FF D.

5)

Implemente um contador sncrono de 4 bits, com reset automtico, que execute uma
contagem dos nmeros pares. Utilize FF JK.

6)

Implemente um contador sncrono de 4 bits, sem reset automtico, que execute uma
contagem dos nmeros mpares. Utilize FF JK.

7)

Implemente um contador sncrono de 3 bits, crescente / decrescente, com uma varivel Z


de controle. Utilize FF JK.

8)

Implemente um contador sncrono de 3 bits, com uma varivel Z de controle, que execute
as seguintes sequncias:
a. Com Z = 0: 0  1  3  2  5  4  6  7  0.
b. Com Z = 1: 3  1  2  0  6  7  4  5  3.
Utilize FF D.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

74
9)

Implemente um contador sncrono que execute a sequncia abaixo. Utilize FF T.

10) Implemente um contador sncrono que execute a sequncia abaixo. Utilize FF D.

11) Implemente um contador sncrono, com variveis Y e X de controle, que execute as


seguintes sequncias abaixo, com reset inicial em 2h. Utilize FF JK.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos

Prof. Marcelo Wendling

Você também pode gostar