O flip-flop JK é um bloco de construção básico em eletrônica digital, amplamente utilizado para armazenamento de dados, contadores e design de lógica sequencial. Ele supera as limitações do flip-flop SR, eliminando estados inválidos e fornecendo funções de controle flexíveis, como Set, Reset, Hold e Toggle. Este artigo explica seu princípio de funcionamento, estrutura interna, tabelas verdade, tipos, aplicativos e uso prático.

Visão geral do JK Flip-Flop
Um flip-flop JK é um circuito lógico sequencial biestável que armazena um bit de dados usando dois estados estáveis. Possui duas entradas (J para Set, K para Reset), duas saídas (Q e Q′) e uma entrada de clock (CLK). As entradas opcionais Preset (PR) e Clear (CLR) permitem o controle assíncrono.
Os chinelos JK suportam dois modos de operação:
• Modo síncrono – A saída muda apenas na entrada do clock.
• Modo assíncrono – Preset e Clear substituem o clock e forçam as alterações de saída imediatamente.
Ao contrário de um flip-flop SR, o flip-flop JK evita o estado inválido. Quando J = K = 1, ele executa uma operação de alternância, a saída muda a cada pulso de clock devido ao feedback interno.
Tabela de verdade e tabela de estado JK Flip-Flop
Tabela Verdade (com Entradas Assíncronas)
Esta tabela mostra como a saída responde a entradas cronometradas e condições predefinidas/claras assíncronas.
| Relações Públicas | CLR | CLK | J | K | Q(n+1) | Operação |
|---|---|---|---|---|---|---|
| 0 | 1 | X | X | X | 1 | Conjunto assíncrono |
| 1 | 0 | X | X | X | 0 | Redefinição assíncrona |
| 1 | 1 | 0 | X | X | Qn | Sem alteração |
| 1 | 1 | ↑ | 0 | 0 | Qn | Segurar |
| 1 | 1 | ↑ | 1 | 0 | 1 | Conjunto |
| 1 | 1 | ↑ | 0 | 1 | 0 | Limpar |
| 1 | 1 | ↑ | 1 | 1 | Q̅n | Alternar |
Tabelas de estados (tabelas de características e excitação)
A tabela verdade pode ser simplificada em duas tabelas de estado importantes usadas no projeto e na análise.
Tabela de características
Define a saída do próximo estado com base nas entradas e no estado atual.
| J | K | Q(n) | Q(n+1) |
|---|---|---|---|
| 0 | 0 | Qn | Qn (Segurar) |
| 1 | 0 | Qn | 1 (Conjunto) |
| 0 | 1 | Qn | 0 (Redefinir) |
| 1 | 1 | Qn | Q̅n (alternar) |
Equação característica:
Q(n+1) = J· Q̅n + K̅· Qn
Tabela de excitação
Define as entradas necessárias (J, K) para obter uma transição específica.
| Q(n) | Q(n+1) | J | K |
|---|---|---|---|
| 0 | 0 | 0 | X |
| 0 | 1 | 1 | X |
| 1 | 0 | X | 1 |
| 1 | 1 | X | 0 |
(X = não me importo)
Diagrama de blocos do chinelo JK

O diagrama de blocos de um flip-flop JK mostra como suas principais entradas e feedback interno interagem para controlar sua saída. As entradas J e K determinam as ações de definição e redefinição, permitindo que a saída armazene ou altere o estado com base na lógica de entrada. O sinal de relógio (CLK) sincroniza essas operações para que as mudanças ocorram apenas em transições de relógio específicas, garantindo tempo previsível em circuitos digitais.
Além dessas entradas primárias, o flip-flop JK também pode incluir entradas de controle assíncronas: Preset (PR) e Clear (CLR). Essas entradas podem forçar imediatamente a saída para a lógica 1 ou lógica 0, independentemente do estado do clock, tornando-as úteis para inicializar circuitos. Uma característica distintiva do flip-flop JK é seu caminho de feedback interno, onde a saída atual Q é realimentada na rede lógica. Esse feedback permite a ação de alternância quando J e K são definidos como 1, permitindo que a saída alterne estados em cada pulso de clock.
Símbolo lógico JK Flip-Flop e diagrama de pinos

Símbolo Lógico
O símbolo lógico destaca:
• Duas entradas: J (Set) e K (Reset)
• Uma entrada de relógio com marcador de gatilho de borda (símbolo de triângulo, geralmente com bolha se estiver ativo-baixo)
• Entradas assíncronas opcionais: PR (Preset) e CLR (Clear)
• Duas saídas: Q e Q′ (complementares)
Diagrama de pinos (Example: 74LS76 JK Flip-Flop IC)

Um diagrama de pinos mostra como os flip-flops JK são implementados em pacotes IC como o DIP-14.
| Número do PIN | Nome do alfinete | Descrição |
|---|---|---|
| 1 | CLR₁ | Clear assíncrono (Active LOW) para Flip-Flop 1 |
| 2 | K₁ | Entrada K para Chinelo 1 |
| 3 | J₁ | Entrada J para Chinelo 1 |
| 4 | CLK₁ | Entrada de relógio para flip-flop 1 |
| 5 | PR₁ | Predefinição assíncrona (Active LOW) para Flip-Flop 1 |
| 6 | Q₁ | Saída Q para Flip-Flop 1 |
| 7 | GND | Chão |
| 8 | Q₂ | Saída Q para Flip-Flop 2 |
| 9 | PR₂ | Predefinição assíncrona (Active LOW) para Flip-Flop 2 |
| 10 | CLK₂ | Entrada de clock para Flip-Flop 2 |
| 11 | J₂ | Entrada J para Flip-Flop 2 |
| 12 | K₂ | Entrada K para Flip-Flop 2 |
| 13 | CLR₂ | Clear assíncrono (Active LOW) para Flip-Flop 2 |
| 14 | VCC | Tensão de alimentação positiva |
Chinelo Mestre-Escravo JK

Um desafio comum nos flip-flops JK é a condição de corrida, que ocorre quando ambas as entradas são ALTAS (J = K = 1) e o pulso do clock permanece ALTO por tempo suficiente para que a saída alterne repetidamente em um ciclo. Isso leva a um comportamento instável.
A configuração Master-Slave garante apenas uma alteração de saída por pulso de clock e evita oscilações indesejadas mesmo quando J = K = 1. Este método controla o problema de corrida dividindo a operação em dois estágios: o Mestre responde quando CLK = HIGH e o Slave atualiza quando CLK = LOW.
Para métodos de controle de clock mais avançados que também evitam corridas, consulte a Seção 9 (Métodos de disparo).
Métodos de acionamento de flip-flop JK
Um flip-flop JK direto usando clocks acionados por nível pode sofrer de um problema chamado race-around, que ocorre quando J = K = 1 enquanto o clock permanece ALTO por tempo suficiente para que a saída alterne repetidamente em um único pulso de clock. Isso leva a uma operação instável.
Para eliminar esse problema, duas estratégias de gatilho são usadas:
| Tipo de gatilho | Descrição | Prevenção de corridas | Uso |
|---|---|---|---|
| Mestre-Escravo JK | Duas travas em cascata; Mestre ativo no relógio ALTO, Escravo em BAIXO | Limita a alternância para uma vez por ciclo | Circuitos educativos de velocidade moderada |
| JK acionado por borda | Captura a entrada apenas na borda do relógio ↑ ou ↓ | Elimina totalmente a corrida | Sistemas síncronos modernos |
Tabela de comportamento da borda do relógio
| Borda do relógio | J | K | Q(n+1) |
|---|---|---|---|
| Sem borda | X | X | Qn (Segurar) |
| ↑ ou ↓ | 0 | 0 | Qn |
| ↑ ou ↓ | 1 | 0 | 1 (Conjunto) |
| ↑ ou ↓ | 0 | 1 | 0 (Redefinir) |
| ↑ ou ↓ | 1 | 1 | Q̅n (alternar) |
Os chinelos JK acionados por borda dominam os designs digitais práticos porque garantem transições limpas e compatibilidade com arquiteturas de relógio síncronas.
Diagrama de tempo JK Flip-Flop

Um diagrama de tempo mostra como a saída de um flip-flop JK muda em resposta a variações no clock (CLK) e nos sinais de entrada (J e K) ao longo do tempo. É uma ferramenta valiosa para entender o comportamento do flip-flop em circuitos síncronos.
Durante cada borda de clock ativa (geralmente a borda ascendente, ↑), o flip-flop faz uma amostragem das entradas e atualiza a saída Q de acordo com estas regras:
• J = 0, K = 0 → Estado de espera (a saída permanece inalterada)
• J = 1, K = 0 → Set (Q torna-se 1)
• J = 0, K = 1 → Reset (Q torna-se 0)
• J = 1, K = 1 → Alternar (Q muda para o valor oposto)
Um diagrama de tempo típico do flip-flop JK inclui:
• Forma de onda de clock (CLK) – define quando ocorrem atualizações de saída
• Sinais de entrada (J e K) – mostram os estados de entrada ao longo do tempo
• Sinais de saída (Q e Q′) – exibe transições de estado claramente com base na entrada e no relógio
Este diagrama ajuda a visualizar a sequência de alterações de estado, facilitando a análise de problemas de tempo, a verificação do comportamento síncrono e a compreensão dos requisitos de configuração e tempo de espera no projeto digital.
JK Flip-Flop usando portas NAND

Um flip-flop JK pode ser construído usando portas NAND básicas, o que revela como o dispositivo funciona internamente no nível da porta. Essa implementação é comumente usada na educação de lógica digital porque demonstra como o feedback e o controle do relógio funcionam para criar circuitos sequenciais estáveis.
A lógica interna é construída usando:
• Duas portas NAND acopladas cruzadas que formam a trava biestável básica.
• Duas portas NAND adicionais para processar as entradas J e K junto com o feedback de saída anterior.
• Portas NAND controladas por relógio que permitem mudanças de estado apenas quando o sinal do relógio está ativo, garantindo uma operação síncrona.
Comportamentos Funcionais
• A lógica de feedback evita estados inválidos – Ao contrário da trava SR, a configuração JK lida com segurança com todas as combinações de entrada.
• Ação de alternância para J = K = 1 – O feedback interno alterna o estado de saída em cada pulso de clock ativo.
• Operação síncrona – A entrada de clock garante que a saída mude apenas em horários definidos, permitindo a integração com outros circuitos lógicos sequenciais.
Essa construção no nível do portão ajuda a explicar por que o chinelo JK é considerado universal e confiável. No entanto, devido à sua estrutura relativamente complexa e atraso de propagação, os sistemas digitais práticos geralmente usam flip-flops JK acionados por borda ou versões IC integradas em vez de construí-los a partir de portas discretas.
Enquanto o flip-flop JK no nível do portão explica a lógica interna, os sistemas digitais práticos também devem abordar questões de tempo, como corrida. Isso leva a técnicas de acionamento aprimoradas discutidas a seguir.
CIs populares de flip-flop JK
Os flip-flops JK estão disponíveis como circuitos integrados (ICs) nas famílias TTL (Transistor-Transistor Logic) e CMOS. Esses ICs são comumente usados em contadores, divisores de frequência, registradores de deslocamento e circuitos de controle de memória.
| Número IC | Família Lógica | Descrição |
|---|---|---|
| 74LS73 | TTL | Flip-flop Dual JK com Clear assíncrono; usado em aplicações básicas de lógica sequencial |
| 74LS76 | TTL | Flip-flop Dual JK com predefinição e limpeza assíncronas; permite o controle externo dos estados iniciais |
| 74LS107 | TTL | Chinelo duplo JK com capacidade de limpeza e alternância ativa-baixa; Ideal para contadores de divisão por 2 |
| CD4027B | CMOS | Chinelo duplo JK com Set e Reset; oferece baixo consumo de energia e ampla faixa de tensão |
Aplicações dos chinelos JK
Os flip-flops JK são amplamente utilizados porque podem funcionar como elementos de memória, dispositivos de alternância e contadores síncronos. As aplicações comuns incluem:
• Divisão de frequência e contadores – Divida a frequência do clock por 2 no modo de alternância
• Registradores de deslocamento – Usados na conversão de dados serial-paralelo
• Máquinas de Estado (FSMs) – Lógica de sequência de controle em sistemas digitais
• Condicionamento de Sinal – Interruptores mecânicos de Debouncing
• Modelagem de pulso de relógio – Gere sinais de onda quadrada
Comparação de chinelos JK vs SR, D e T Flip-Flops

| Característica | Chinelo JK | Chinelo SR | D Chinelo | Chinelo T |
|---|---|---|---|---|
| Entradas | J, K | S, R | D | T |
| Estado inválido | Nenhum | S=R=1 inválido | Nenhum | Nenhum |
| Modos de operação | Definir, Redefinir, Alternar | Definir, Redefinir | Transferência de dados | Alternar apenas |
| Caso de uso | Contadores, Registros | Trava simples | Memória, Registradores de Deslocamento | Balcões |
| Complexidade | Moderado | Simples | Simples | Muito simples |
| Suporte ao disparo de borda | Sim | Sim | Sim | Sim |
O chinelo JK é o mais flexível entre todos os chinelos. Ele pode simular as funções dos flip-flops SR, D e T e é amplamente utilizado em contadores e circuitos de controle digital.
Solução de problemas e erros comuns de design
| Problema comum | Descrição | Solução |
|---|---|---|
| Erro de sincronização do relógio | Vários flip-flops usando relógios não sincronizados causam incompatibilidades de tempo | Usar uma única fonte de relógio global** |
| Ruído de entrada ou salto do interruptor | Entradas ruidosas ou interruptores mecânicos causam disparo falso | Adicionar circuitos de debouncing ou filtros RC |
| Pinos flutuantes predefinidos/transparentes (PR/CLR) | Entradas assíncronas desconectadas causam saídas imprevisíveis | Vincular PR/CLR não utilizado a níveis lógicos definidos |
| Violações de configuração e tempo de espera | Alterar J/K muito perto da transição do relógio leva à metaestabilidade | Mantenha as entradas estáveis antes e depois da borda do clock |
Conclusão
O flip-flop JK continua sendo um dispositivo versátil e confiável em sistemas digitais modernos devido à sua capacidade de alternar estados e lidar com operações síncronas e assíncronas. Seja implementado usando portas lógicas ou circuitos integrados, é usado em contadores, registradores e circuitos de controle. Compreender seu comportamento e tempo ajuda você a projetar aplicativos lógicos sequenciais estáveis e eficientes.
Perguntas frequentes [FAQ]
Por que um chinelo JK é chamado de "chinelo universal"?
O flip-flop JK é chamado de flip-flop universal porque pode executar as funções dos flip-flops SR, D e T simplesmente configurando suas entradas J e K. Isso o torna adaptável para várias aplicações lógicas sequenciais.
Qual é a principal diferença entre chinelos JK acionados por nível e acionados por borda?
Um flip-flop JK acionado por nível responde a todo o nível HIGH ou LOW do pulso do clock, enquanto um flip-flop JK acionado por borda atualiza sua saída apenas na borda ascendente ou descendente, evitando problemas de corrida.
Como você converte um flip-flop JK em um flip-flop D?
Um flip-flop JK pode funcionar como um flip-flop D conectando J = D e K = D′. Isso força a saída a seguir a entrada, imitando o comportamento de transferência de dados de um flip-flop D.
O que causa metaestabilidade em chinelos JK?
A metaestabilidade ocorre quando as entradas J e K mudam muito perto da transição do relógio, violando a configuração ou o tempo de espera. Isso pode resultar em estados de saída imprevisíveis ou oscilantes.
Os chinelos JK podem ser usados para divisão de frequência?
Sim. Quando ambas as entradas J e K estão empatadas em HIGH (J = K = 1), o flip-flop JK alterna sua saída em cada pulso de clock. Isso divide a frequência do clock por 2, tornando-o útil em contadores digitais e divisores de frequência.