Você está na página 1de 15

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

Marcelo Wendling
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
n
Q , ou simplesmente Q, e a sada
em seu estado futuro, ou seja, aps a transio, denominada
1 + n
Q ou
+
Q .

5.2.1. Tabela de transio do flip-flop JK

Para o flip-flop JK temos:

0 =
n
Q

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

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

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

para 1
1
=
+ n
Q , 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:

n
Q

1 + n
Q
J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0


5.2.2. Tabela de transio do flip-flop T

Para o flip-flop T temos:

0 =
n
Q

para 0
1
=
+ n
Q , utilizamos T = 0.
0 =
n
Q

para 1
1
=
+ n
Q , utilizamos T = 1.

Curso de Lgica Sequencial Cap. 5: Circuitos Sequenciais III: Contadores Sncronos | Prof. Marcelo Wendling
64
1 =
n
Q

para 0
1
=
+ n
Q , utilizamos T = 1.
1 =
n
Q

para 1
1
=
+ n
Q , utilizamos T = 0.

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

n
Q

1 + n
Q
T
0 0 0
0 1 1
1 0 1
1 1 0


5.2.3. Tabela de transio do flip-flop D

Para o flip-flop D temos:

0 =
n
Q

para 0
1
=
+ n
Q , utilizamos D = 0.
0 =
n
Q

para 1
1
=
+ n
Q , utilizamos D = 1.
1 =
n
Q

para 0
1
=
+ n
Q , utilizamos D = 0.
1 =
n
Q

para 1
1
=
+ n
Q , utilizamos D = 1.

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

n
Q

1 + n
Q
D
0 0 0
0 1 1
1 0 1
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 Estados Futuros
Q
A
Q
B
Q
C
Q
A
+
Q
B
+
Q
C
+
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 0 0 0
1 0 1 0 0 0
1 1 0 0 0 0
1 1 1 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 Q
x
para o estado Q
x
+
de cada linha e preenchermos as entradas
J
x
e K
x
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 Estados Futuros Entradas dos Flip-Flops JK
Q
A
Q
B
Q
C
Q
A
+
Q
B
+
Q
C
+
J
A
K
A
J
B
K
B
J
C
K
C

0 0 0 0 0 1 0 X 0 X 1 X
0 0 1 0 1 0 0 X 1 X X 1
0 1 0 0 1 1 0 X X 0 1 X
0 1 1 1 0 0 1 X X 1 X 1
1 0 0 0 0 0 X 1 0 X 0 X
1 0 1 0 0 0 X 1 0 X X 1
1 1 0 0 0 0 X 1 X 1 0 X
1 1 1 0 0 0 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 Q
A
, Q
B
e Q
C
como entradas do circuito combinacional e J
A
, K
A
, J
B
, K
B
, J
C
e
K
C
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
(1)
(2)
(3)
(4)
(5)
(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 Estados Futuros Entradas dos Flip-Flops JK
Z Q
B
Q
A
Q
B
+
Q
A
+
J
B
K
B
J
A
K
A

0 0 0 0 1 0 X 1 X
0 0 1 1 1 1 X X 0
0 1 0 0 0 X 1 0 X
0 1 1 1 0 X 0 X 1
1 0 0 1 0 1 X 0 X
1 0 1 0 0 0 X X 1
1 1 0 1 1 X 0 1 X
1 1 1 0 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
Valor em
binrio
S0 0000
S1 0001
S2 1000
S3 0101
S4 0111
S5 1101
S6 1100
S7 1110
S8 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 2
h
. Utilize FF JK.

Você também pode gostar