De JK-flip-flop is een basisbouwsteen in digitale elektronica en wordt veel gebruikt voor gegevensopslag, tellers en sequentieel logisch ontwerp. Het overwint de beperkingen van de SR-flip-flop door ongeldige toestanden te elimineren en flexibele besturingsfuncties te bieden, zoals Set, Reset, Hold en Toggle. In dit artikel worden het werkingsprincipe, de interne structuur, de waarheidstabellen, de typen, de toepassingen en het praktische gebruik uitgelegd.

JK Flip-Flop Overzicht
Een JK-flip-flop is een bistabiel sequentieel logisch circuit dat één bit gegevens opslaat met behulp van twee stabiele toestanden. Het heeft twee ingangen (J voor Set, K voor Reset), twee uitgangen (Q en Q') en een klokingang (CLK). Optionele Preset (PR) en Clear (CLR) ingangen maken asynchrone bediening mogelijk.
JK-slippers ondersteunen twee bedrijfsmodi:
• Synchrone modus – Uitgang verandert alleen op klokinvoer.
• Asynchrone modus – Preset en Clear overschrijven de klok en forceer de outputwijzigingen onmiddellijk.
In tegenstelling tot een SR-teenslipper, vermijdt de JK-teenslipper de ongeldige toestand. Wanneer J = K = 1, voert het een schakelfunctie uit, de uitgang schakelt elke klokpuls in vanwege interne feedback.
JK Flip-Flop Waarheidstabel en Staatstafel
Waarheidstabel (met asynchrone ingangen)
Deze tabel laat zien hoe de uitvoer reageert op geklokte invoer en asynchrone vooraf ingestelde/heldere voorwaarden.
| PR | CLR | CLK | J | K | Q(n+1) | Werking |
|---|---|---|---|---|---|---|
| 0 | 1 | X | X | X | 1 | Asynchrone set |
| 1 | 0 | X | X | X | 0 | Asynchrone reset |
| 1 | 1 | 0 | X | X | Qn | Geen verandering |
| 1 | 1 | ↑ | 0 | 0 | Qn | Vasthouden |
| 1 | 1 | ↑ | 1 | 0 | 1 | Instellen |
| 1 | 1 | ↑ | 0 | 1 | 0 | Resetten |
| 1 | 1 | ↑ | 1 | 1 | Q̅n | Schakelen |
Toestandstabellen (karakteristiek- en excitatietabellen)
De waarheidstabel kan worden vereenvoudigd tot twee belangrijke toestandstabellen die worden gebruikt in ontwerp en analyse.
Karakteristieke tafel
Definieert de uitvoer van de volgende status op basis van invoer en huidige status.
| J | K | Vraag (n) | Q(n+1) |
|---|---|---|---|
| 0 | 0 | Qn | Qn (vasthouden) |
| 1 | 0 | Qn | 1 (Reeks) |
| 0 | 1 | Qn | 0 (resetten) |
| 1 | 1 | Qn | Q̅n (schakelen) |
Karakteristieke vergelijking:
Q(n+1) = J· Q̅n + K̅· Hoofdstuk
Excitatie tabel
Definieert de vereiste invoer (J, K) om een specifieke overgang te bereiken.
| Vraag (n) | Q(n+1) | J | K |
|---|---|---|---|
| 0 | 0 | 0 | X |
| 0 | 1 | 1 | X |
| 1 | 0 | X | 1 |
| 1 | 1 | X | 0 |
(X = maakt niet uit)
Blokschema van JK Flip-Flop

Het blokdiagram van een JK-flip-flop laat zien hoe de belangrijkste invoer en interne feedback op elkaar inwerken om de uitvoer te regelen. De J- en K-ingangen bepalen de ingestelde en reset-acties, waardoor de uitvoer de status kan opslaan of wijzigen op basis van de invoerlogica. Het kloksignaal (CLK) synchroniseert deze bewerkingen, zodat veranderingen alleen optreden bij specifieke klokovergangen, wat zorgt voor een voorspelbare timing in digitale circuits.
Naast deze primaire ingangen kan de JK-flip-flop ook asynchrone besturingsingangen bevatten: Preset (PR) en Clear (CLR). Deze ingangen kunnen de uitvoer onmiddellijk naar logica 1 of logica 0 dwingen, ongeacht de klokstatus, waardoor ze nuttig zijn voor het initialiseren van circuits. Een onderscheidend kenmerk van de JK-flip-flop is het interne feedbackpad, waarbij de huidige output Q wordt teruggevoerd naar het logische netwerk. Deze feedback maakt de schakelactie mogelijk wanneer zowel J als K zijn ingesteld op 1, waardoor de uitvoer op elke klokpuls van status kan wisselen.
JK Flip-Flop Logica Symbool & Pin Diagram

Logisch symbool
Het logische symbool markeert:
• Twee ingangen: J (Set) en K (Reset)
• Eén klokinvoer met edge-trigger-markering (driehoekssymbool, vaak met bubbel indien actief-laag)
• Optionele asynchrone ingangen: PR (Preset) en CLR (Clear)
• Twee uitgangen: Q en Q' (complementair)
Pin diagram (voorbeeld: 74LS76 JK flip-flop IC)

Een pindiagram laat zien hoe JK-slippers worden geïmplementeerd in IC-pakketten zoals DIP-14.
| Pinnummer | Pin Naam | Beschrijving |
|---|---|---|
| 1 | CLR₁ | Asynchroon Helder (Actief LAAG) voor Flip-Flop 1 |
| 2 | K₁ | Ingang K voor Flip-Flop 1 |
| 3 | J₁ | Ingang J voor Flip-Flop 1 |
| 4 | CLK₁ | Klokingang voor Flip-Flop 1 |
| 5 | PR₁ | Asynchrone voorinstelling (actief LAAG) voor Flip-Flop 1 |
| 6 | Vraag ₁ | Uitgang Q voor Flip-Flop 1 |
| 7 | GND | Grond |
| 8 | Vraag ₂ | Uitgang Q voor Flip-Flop 2 |
| 9 | PR₂ | Asynchrone voorinstelling (actief LAAG) voor Flip-Flop 2 |
| 10 | CLK₂ | Klokingang voor Flip-Flop 2 |
| 11 | J₂ | Ingang J voor Flip-Flop 2 |
| 12 | K₂ | Ingang K voor Flip-Flop 2 |
| 13 | CLR₂ | Asynchroon Helder (Actief LAAG) voor Flip-Flop 2 |
| 14 | VCC | Positieve voedingsspanning |
Meester-slaaf JK teenslipper

Een veel voorkomende uitdaging bij JK-slippers is de race-around-conditie, die optreedt wanneer beide ingangen HOOG zijn (J = K = 1) en de klokpuls lang genoeg HOOG blijft om de uitvoer herhaaldelijk binnen één cyclus te schakelen. Dit leidt tot onstabiel gedrag.
De Master-Slave-configuratie zorgt voor slechts één uitgangsverandering per klokpuls en voorkomt ongewenste oscillaties, zelfs wanneer J = K = 1. Deze methode regelt het race-around-probleem door de bewerking in twee fasen te verdelen: de Master reageert wanneer CLK = HOOG en de Slave wordt bijgewerkt wanneer CLK = LAAG.
Voor meer geavanceerde klokcontrolemethoden die ook race-around voorkomen, zie Sectie 9 (Triggering Methods).
JK Flip-Flop Triggering Methoden
Een directe JK-flip-flop met behulp van door het niveau geactiveerde klokken kan last hebben van een probleem dat race-around wordt genoemd, dat optreedt wanneer J = K = 1 terwijl de klok lang genoeg HOOG blijft om de uitvoer herhaaldelijk binnen een enkele klokpuls te schakelen. Dit leidt tot een onstabiele werking.
Om dit probleem op te lossen, worden twee triggerstrategieën gebruikt:
| Type trekker | Beschrijving | Race-Around Preventie | Gebruik |
|---|---|---|---|
| Meester-slaaf JK | Twee grendels trapsgewijs; Master actief op HOOG clockwerk, Slave op LAAG | Beperkt tot één keer per cyclus | Educatieve circuits, matige snelheid |
| Rand-geactiveerde JK | Legt invoer alleen vast op ↑ of ↓ klokrand | Elimineert volledig race-around | Moderne synchrone systemen |
Tabel met klokrandgedrag
| Klok Rand | J | K | Q(n+1) |
|---|---|---|---|
| Geen rand | X | X | Qn (vasthouden) |
| ↑ ofwel ↓ | 0 | 0 | Qn |
| ↑ ofwel ↓ | 1 | 0 | 1 (Reeks) |
| ↑ ofwel ↓ | 0 | 1 | 0 (resetten) |
| ↑ ofwel ↓ | 1 | 1 | Q̅n (schakelen) |
Edge-geactiveerde JK-slippers domineren praktische digitale ontwerpen omdat ze zorgen voor schone overgangen en compatibiliteit met synchrone klokarchitecturen.
JK Flip-Flop Timing Diagram

Een timingdiagram laat zien hoe de output van een JK-flip-flop verandert als reactie op variaties in de klok (CLK) en ingangssignalen (J en K) in de loop van de tijd. Het is een waardevol hulpmiddel om het gedrag van de teenslipper in synchrone circuits te begrijpen.
Tijdens elke actieve klokrand (meestal de stijgende flank, ↑), samplet de flip-flop de invoer en werkt de uitvoer Q bij volgens de volgende regels:
• J = 0, K = 0 → Hold-status (output blijft ongewijzigd)
• J = 1, K = 0 → Set (Q wordt 1)
• J = 0, K = 1 → Reset (Q wordt 0)
• J = 1, K = 1 → Toggle (Q schakelt over naar de tegenovergestelde waarde)
Een typisch JK flip-flop timingdiagram omvat:
• Klokgolfvorm (CLK) – definieert wanneer uitvoerupdates plaatsvinden
• Ingangssignalen (J en K) – tonen ingangstoestanden in de loop van de tijd
• Uitgangssignalen (Q en Q') – geef statusovergangen duidelijk weer op basis van invoer en klok
Dit diagram helpt bij het visualiseren van de volgorde van statuswijzigingen, waardoor het gemakkelijker wordt om timingproblemen te analyseren, synchroon gedrag te verifiëren en inzicht te krijgen in de vereisten voor instellingen en vasthoudtijden in digitaal ontwerp.
JK Flip-Flop met behulp van NAND-poorten

Een JK-flip-flop kan worden gebouwd met behulp van eenvoudige NAND-poorten, die laten zien hoe het apparaat intern op poortniveau functioneert. Deze implementatie wordt vaak gebruikt in het onderwijs over digitale logica omdat het laat zien hoe feedback en klokcontrole werken om stabiele sequentiële circuits te creëren.
De interne logica is opgebouwd met behulp van:
• Twee kruislings gekoppelde NAND-poorten die de basis bistabiele vergrendeling vormen.
• Twee extra NAND-poorten om de J- en K-ingangen te verwerken, samen met de vorige uitvoerfeedback.
• Klokgestuurde NAND-poorten die statuswijzigingen alleen mogelijk maken wanneer het kloksignaal actief is, waardoor een synchrone werking wordt gegarandeerd.
Functioneel gedrag
• Feedbacklogica voorkomt ongeldige toestanden – In tegenstelling tot de SR-vergrendeling verwerkt de JK-configuratie alle invoercombinaties veilig.
• Schakelactie voor J = K = 1 – Interne feedback wisselt de uitgangsstatus op elke actieve klokpuls af.
• Synchrone werking – De klokingang zorgt ervoor dat de output alleen op gedefinieerde tijden verandert, waardoor integratie met andere sequentiële logische circuits mogelijk is.
Deze constructie op poortniveau helpt verklaren waarom de JK-teenslipper als universeel en betrouwbaar wordt beschouwd. Vanwege de relatief complexe structuur en voortplantingsvertraging gebruiken praktische digitale systemen echter vaak edge-geactiveerde JK-flip-flops of geïntegreerde IC-versies in plaats van ze te bouwen op basis van discrete poorten.
Terwijl de JK-flip-flop op poortniveau de interne logica uitlegt, moeten praktische digitale systemen ook timingproblemen aanpakken, zoals race-around. Dit leidt tot verbeterde triggertechnieken die hierna worden besproken.
Populaire JK Flip-Flop IC's
JK-flip-flops zijn verkrijgbaar als geïntegreerde schakelingen (IC's) in zowel TTL (Transistor-Transistor Logic) als CMOS-families. Deze IC's worden vaak gebruikt in tellers, frequentieverdelers, verschuivingsregisters en geheugenbesturingscircuits.
| IC-nummer | Logische familie | Beschrijving |
|---|---|---|
| 74LS73 | TTL | Dubbele JK-teenslipper met asynchrone Clear; Gebruikt in eenvoudige sequentiële logische toepassingen |
| 74LS76 | TTL | Dubbele JK-teenslipper met asynchrone Preset en Clear; Maakt externe controle van begintoestanden mogelijk |
| 74LS107 | TTL | Dubbele JK-flip-flop met actief-laag Clear en schakelmogelijkheid; Ideaal voor deel-door-2 tellers |
| CD4027B | CMOS | Dubbele JK flip-flop met Set en Reset; Biedt een laag stroomverbruik en een breed spanningsbereik |
Toepassingen van JK teenslippers
JK-slippers worden veel gebruikt omdat ze kunnen functioneren als geheugenelementen, schakelapparaten en synchrone tellers. Veel voorkomende toepassingen zijn onder meer:
• Frequentieverdeling en tellers – Deel de klokfrequentie door 2 in de schakelmodus
• Shift Registers – Gebruikt bij seriële-parallelle gegevensconversie
• State Machines (FSM's) – Logica van de besturingsvolgorde in digitale systemen
• Signaalconditionering – Mechanische schakelaars ontkaatsen
• Clock Pulse Shaping – Genereer blokgolfsignalen
JK Flip-Flop vs SR, D en T Flip-Flops Vergelijking

| Functie | JK Teenslipper | SR teenslipper | D Teenslippers | T Teenslipper |
|---|---|---|---|---|
| Ingangen | J, K | S, R | D | T |
| Ongeldige staat | Geen | S=R=1 ongeldig | Geen | Geen |
| Operationele modi | Instellen, resetten, schakelen | Instellen, resetten | Gegevensoverdracht | Alleen in-/uitschakelen |
| Gebruik scenario | Balies, registers | Eenvoudige vergrendeling | Geheugen, Shift Registers | Balies |
| Complexiteit | Matig | Eenvoudig | Eenvoudig | Heel eenvoudig |
| Ondersteuning voor Edge Triggering | Ja | Ja | Ja | Ja |
De JK teenslipper is de meest flexibele van alle teenslippers. Het kan de functies van SR-, D- en T-slippers simuleren en wordt veel gebruikt in tellers en digitale besturingscircuits.
Problemen oplossen en veelvoorkomende ontwerpfouten
| Veelvoorkomend probleem | Beschrijving | Oplossing |
|---|---|---|
| Fout bij kloksynchronisatie | Meerdere teenslippers met niet-gesynchroniseerde klokken veroorzaken mismatches in de timing | Gebruik één wereldwijde klokbron** |
| Ingangsruis of stuiteren van de schakelaar | Luidruchtige ingangen of mechanische schakelaars veroorzaken valse triggers | Ontbouncing-circuits of RC-filters toevoegen |
| Zwevende vooringestelde/heldere (PR/CLR) pinnen | Niet-aangesloten asynchrone ingangen veroorzaken onvoorspelbare uitgangen | Koppel ongebruikte PR/CLR aan gedefinieerde logische niveaus |
| Overtredingen van de wachttijd instellen en vasthouden | Het te dicht bij de klokovergang veranderen van J/K leidt tot metastabiliteit | Houd ingangen stabiel voor en na de klokrand |
Conclusie
De JK-flip-flop blijft een veelzijdig en betrouwbaar apparaat in moderne digitale systemen vanwege het vermogen om van status te wisselen en synchrone en asynchrone bewerkingen uit te voeren. Of het nu wordt geïmplementeerd met behulp van logische poorten of geïntegreerde schakelingen, het wordt gebruikt in tellers, registers en besturingscircuits. Als u het gedrag en de timing begrijpt, kunt u stabiele en efficiënte sequentiële logische toepassingen ontwerpen.
Veelgestelde vragen [FAQ]
Waarom wordt een JK-teenslipper een "universele teenslipper" genoemd?
De JK-teenslipper wordt een universele teenslipper genoemd omdat hij de functies van SR-, D- en T-slippers kan uitvoeren door simpelweg de J- en K-ingangen te configureren. Dit maakt het aanpasbaar voor verschillende sequentiële logische toepassingen.
Wat is het belangrijkste verschil tussen JK-slippers die op niveau worden geactiveerd en JK-slippers die aan de rand worden geactiveerd?
Een JK-flip-flop die op niveau wordt getriggerd, reageert op het volledige HIGH- of LOW-niveau van de klokpuls, terwijl een door de rand getriggerde JK-flip-flop zijn output alleen bijwerkt aan de stijgende of dalende kant, waardoor race-around-problemen worden voorkomen.
Hoe zet je een JK teenslipper om in een D teenslipper?
Een JK-teenslipper kan werken als een D-teenslipper door J = D en K = D' met elkaar te verbinden. Dit dwingt de uitvoer om de invoer te volgen, waardoor het gegevensoverdrachtsgedrag van een D-flip-flop wordt nagebootst.
Wat veroorzaakt metastabiliteit bij JK-slippers?
Metastabiliteit treedt op wanneer de J- en K-ingangen te dicht bij de klokovergang veranderen, waardoor de instel- of wachttijd wordt geschonden. Dit kan resulteren in onvoorspelbare of oscillerende uitvoertoestanden.
Kunnen JK-slippers worden gebruikt voor frequentieverdeling?
Ja. Wanneer beide ingangen J en K HOOG zijn gekoppeld (J = K = 1), schakelt de JK-flip-flop zijn output op elke klokpuls. Hierdoor wordt de klokfrequentie gedeeld door 2, waardoor deze bruikbaar is in digitale tellers en frequentiedelers.