JK flip-flop er en grundlæggende byggesten i digital elektronik, der i vid udstrækning bruges til datalagring, tællere og sekventielt logisk design. Den overvinder begrænsningerne ved SR flip-flop ved at eliminere ugyldige tilstande og give fleksible kontrolfunktioner såsom Set, Reset, Hold og Toggle. Denne artikel forklarer dets arbejdsprincip, interne struktur, sandhedstabeller, typer, applikationer og praktisk brug.

JK Flip-Flop Oversigt
En JK flip-flop er et bistabilt sekventielt logisk kredsløb, der gemmer en bit data ved hjælp af to stabile tilstande. Den har to indgange (J for Set, K for Reset), to udgange (Q og Q′) og en clock-indgang (CLK). Valgfri Preset (PR) og Clear (CLR) indgange tillader asynkron kontrol.
JK flip-flops understøtter to driftstilstande:
• Synkron tilstand – Udgangen ændres kun ved urindgang.
• Asynkron tilstand – Forudindstillet og Ryd tilsidesætter uret, og kraftudgangen ændres med det samme.
I modsætning til en SR flip-flop undgår JK flip-flop den ugyldige tilstand. Når J = K = 1, udfører den en skifteoperation, udgangen tænder for hver urpuls på grund af intern feedback.
JK Flip-Flop Sandhedsbord og Statsbord
Sandhedstabel (med asynkrone indgange)
Denne tabel viser, hvordan outputtet reagerer på clockede input og asynkrone forudindstillede/klare betingelser.
| PR | CLR | CLK | J | K | Q(n+1) | Drift |
|---|---|---|---|---|---|---|
| 0 | 1 | X | X | X | 1 | Asynkront sæt |
| 1 | 0 | X | X | X | 0 | Asynkron nulstilling |
| 1 | 1 | 0 | X | X | Qn | Ingen ændring |
| 1 | 1 | ↑ | 0 | 0 | Qn | Hold |
| 1 | 1 | ↑ | 1 | 0 | 1 | Sæt |
| 1 | 1 | ↑ | 0 | 1 | 0 | Nulstil |
| 1 | 1 | ↑ | 1 | 1 | Q̅n | Skifte |
Tilstandstabeller (karakteristika- og excitationstabeller)
Sandhedstabellen kan forenkles til to vigtige tilstandstabeller, der bruges i design og analyse.
Karakteristisk tabel
Definerer output i næste tilstand baseret på input og aktuel tilstand.
| J | K | Q(n) | Q(n+1) |
|---|---|---|---|
| 0 | 0 | Qn | Qn (Hold) |
| 1 | 0 | Qn | 1 (sæt) |
| 0 | 1 | Qn | 0 (Nulstil) |
| 1 | 1 | Qn | Q̅n (Skift) |
Karakteristisk ligning:
Q(n+1) = J· Q̅n + K̅· Qn
Excitationstabel
Definerer de nødvendige input (J, K) for at opnå en bestemt overgang.
| Q(n) | Q(n+1) | J | K |
|---|---|---|---|
| 0 | 0 | 0 | X |
| 0 | 1 | 1 | X |
| 1 | 0 | X | 1 |
| 1 | 1 | X | 0 |
(X = ligeglad)
Blokdiagram af JK Flip-Flop

Blokdiagrammet for en JK flip-flop viser, hvordan dens nøgleindgange og interne feedback interagerer for at kontrollere dens output. J- og K-indgangene bestemmer indstillings- og nulstillingshandlingerne, så outputtet kan gemme eller ændre tilstand baseret på inputlogikken. Clock-signalet (CLK) synkroniserer disse operationer, så ændringer kun sker ved specifikke clock-overgange, hvilket sikrer forudsigelig timing i digitale kredsløb.
Ud over disse primære indgange kan JK flip-flop også indeholde asynkrone kontrolindgange: Preset (PR) og Clear (CLR). Disse indgange kan straks tvinge udgangen til logik 1 eller logik 0, uanset urtilstanden, hvilket gør dem nyttige til initialisering af kredsløb. Et karakteristisk træk ved JK flip-flop er dens interne feedback-vej, hvor den aktuelle udgang Q føres tilbage til det logiske netværk. Denne feedback aktiverer skiftehandlingen, når både J og K er indstillet til 1, hvilket tillader outputtet til at skifte tilstand på hver urpuls.
JK Flip-Flop Logisk Symbol & Pin Diagram

Logisk symbol
Logiksymbolet fremhæver:
• To indgange: J (Set) og K (Reset)
• En urindgang med kantudløsermarkør (trekantsymbol, ofte med boble, hvis aktiv-lav)
• Valgfri asynkrone indgange: PR (forudindstillet) og CLR (Clear)
• To udgange: Q og Q′ (komplementære)
Pin-diagram (eksempel: 74LS76 JK Flip-Flop IC)

Et pin-diagram viser hvordan JK flip-flops er implementeret i IC-pakker som DIP-14.
| Pin-nummer | Pin navn | Beskrivelse |
|---|---|---|
| 1 | CLR₁ | Asynkron Clear (Aktiv LAV) til Flip-Flop 1 |
| 2 | K₁ | Indgang K til Flip-Flop 1 |
| 3 | J₁ | Indgang J til Flip-Flop 1 |
| 4 | CLK₁ | Urindgang til Flip-Flop 1 |
| 5 | PR₁ | Asynkron forudindstilling (aktiv LAV) til Flip-Flop 1 |
| 6 | Spørgsmål | Udgang Q til Flip-Flop 1 |
| 7 | GND | Jord |
| 8 | Spørgsmål | Udgang Q til Flip-Flop 2 |
| 9 | PR₂ | Asynkron forudindstilling (aktiv LAV) til Flip-Flop 2 |
| 10 | CLK₂ | Urindgang til Flip-Flop 2 |
| 11 | J₂ | Indgang J til Flip-Flop 2 |
| 12 | K₂ | Indgang K til Flip-Flop 2 |
| 13 | CLR₂ | Asynkron Clear (aktiv LAV) til Flip-Flop 2 |
| 14 | VCC | Positiv forsyningsspænding |
Master-Slave JK Flip-Flop

En almindelig udfordring i JK flip-flops er race-around-tilstanden, som opstår, når begge indgange er HØJE (J = K = 1), og urpulsen forbliver HØJ længe nok til, at outputtet kan skifte gentagne gange inden for en cyklus. Dette fører til ustabil adfærd.
Master-Slave-konfigurationen sikrer kun én udgangsændring pr. urpuls og forhindrer uønskede svingninger, selv når J = K = 1. Denne metode styrer race-around-problemet ved at opdele driften i to faser: Masteren reagerer, når CLK = HIGH, og Slave opdaterer, når CLK = LOW.
For mere avancerede urkontrolmetoder, der også forhindrer løb, se afsnit 9 (Udløsningsmetoder).
JK Flip-Flop udløsermetoder
En direkte JK flip-flop ved hjælp af niveauudløste ure kan lide af et problem kaldet race-around, som opstår, når J = K = 1, mens uret forbliver HØJT længe nok til, at outputtet kan skifte gentagne gange inden for en enkelt urpuls. Dette fører til ustabil drift.
For at eliminere dette problem bruges to udløsende strategier:
| Type af udløser | Beskrivelse | Forebyggelse af løb | Anvendelse |
|---|---|---|---|
| Mester-Slave JK | To låse faldt sammen; Master aktiv på HØJT ur, Slave på LAV | Grænser skift til én gang pr. cyklus | Undervisningskredsløb, moderat hastighed |
| Kant-udløst JK | Optager kun input på ↑ eller ↓ urkant | Eliminerer helt løb | Moderne synkrone systemer |
Tabel over urkantadfærd
| Ur Edge | J | K | Q(n+1) |
|---|---|---|---|
| Ingen kant | X | X | Qn (Hold) |
| ↑ eller ↓ | 0 | 0 | Qn |
| ↑ eller ↓ | 1 | 0 | 1 (sæt) |
| ↑ eller ↓ | 0 | 1 | 0 (Nulstil) |
| ↑ eller ↓ | 1 | 1 | Q̅n (Skift) |
Kantudløste JK flip-flops dominerer praktiske digitale designs, fordi de sikrer rene overgange og kompatibilitet med synkrone urarkitekturer.
JK Flip-Flop Timing Diagram

Et tidsdiagram viser, hvordan outputtet fra en JK flip-flop ændrer sig som reaktion på variationer i uret (CLK) og indgangssignaler (J og K) over tid. Det er et værdifuldt værktøj til at forstå flip-flop'ens adfærd i synkrone kredsløb.
Under hver aktiv urkant (almindeligvis den stigende kant, ↑), sampler flip-flop'en inputtene og opdaterer output Q i henhold til disse regler:
• J = 0, K = 0 → Hold-tilstand (udgangen forbliver uændret)
• J = 1, K = 0 → sæt (Q bliver til 1)
• J = 0, K = 1 → Nulstil (Q bliver til 0)
• J = 1, K = 1 → Skift (Q skifter til den modsatte værdi)
Et typisk JK flip-flop timingdiagram inkluderer:
• Clock-bølgeform (CLK) – definerer, hvornår outputopdateringer sker
• Indgangssignaler (J og K) – viser indgangstilstande over tid
• Udgangssignaler (Q og Q′) – viser tilstandsovergange tydeligt baseret på input og ur
Dette diagram hjælper med at visualisere rækkefølgen af tilstandsændringer, hvilket gør det nemmere at analysere tidsproblemer, verificere synkron adfærd og forstå krav til opsætning og ventetid i digitalt design.
JK Flip-Flop ved hjælp af NAND-porte

En JK flip-flop kan konstrueres ved hjælp af grundlæggende NAND-porte, som afslører, hvordan enheden fungerer internt på gate-niveau. Denne implementering bruges ofte i digital logikuddannelse, fordi den viser, hvordan feedback og urstyring arbejder for at skabe stabile sekventielle kredsløb.
Den interne logik er opbygget ved hjælp af:
• To krydskoblede NAND-porte, der danner den grundlæggende bistabile lås.
• To ekstra NAND-porte til at behandle J- og K-indgangene sammen med den tidligere udgangsfeedback.
• Urstyrede NAND-porte, der kun muliggør tilstandsændringer, når ursignalet er aktivt, hvilket sikrer synkron drift.
Funktionel adfærd
• Feedbacklogik forhindrer ugyldige tilstande – I modsætning til SR-låsen håndterer JK-konfigurationen sikkert alle inputkombinationer.
• Skift handling for J = K = 1 – Intern feedback skifter udgangstilstanden på hver aktiv urpuls.
• Synkron drift – Clock-indgangen sikrer, at outputtet kun ændres på definerede tidspunkter, hvilket tillader integration med andre sekventielle logiske kredsløb.
Denne konstruktion på portniveau hjælper med at forklare, hvorfor JK flip-flop anses for at være universel og pålidelig. Men på grund af dens relativt komplekse struktur og udbredelsesforsinkelse bruger praktiske digitale systemer almindeligvis kantudløste JK-flip-flops eller integrerede IC-versioner i stedet for at bygge dem fra diskrete porte.
Mens JK-flip-flop'en på gate-niveau forklarer intern logik, skal praktiske digitale systemer også løse timingproblemer såsom løb rundt. Dette fører til forbedrede udløserteknikker, der diskuteres næste gang.
Populære JK Flip-Flop IC'er
JK flip-flops fås som integrerede kredsløb (IC'er) i både TTL (Transistor-Transistor Logic) og CMOS-familier. Disse IC'er bruges almindeligvis i tællere, frekvensdelere, skiftregistre og hukommelseskontrolkredsløb.
| IC-nummer | Logisk familie | Beskrivelse |
|---|---|---|
| 74LS73 | TTL | Dobbelt JK flip-flop med asynkron Clear; Bruges i grundlæggende sekventielle logiske applikationer |
| 74LS76 | TTL | Dobbelt JK flip-flop med asynkron forudindstilling og klar; tillader ekstern kontrol af begyndelsestilstande |
| 74LS107 | TTL | Dobbelt JK flip-flop med aktiv-lav Clear og vippefunktion; ideel til opdeling-for-2-tællere |
| CD4027B | CMOS | Dobbelt JK flip-flop med sæt og nulstil; Tilbyder lavt strømforbrug og bredt spændingsområde |
Anvendelser af JK Flip-Flops
JK flip-flops er meget udbredt, fordi de kan fungere som hukommelseselementer, skifteenheder og synkrone tællere. Almindelige anvendelser omfatter:
• Frekvensopdeling og tællere – Divider clockfrekvensen med 2 i skiftetilstand
• Skiftregistre – Bruges til seriel-parallel datakonvertering
• State Machines (FSM'er) – Styresekvenslogik i digitale systemer
• Signalkonditionering – Debouncing af mekaniske kontakter
• Urpulsformning – Generer firkantbølgesignaler
JK Flip-Flop vs SR, D og T Flip-Flops Sammenligning

| Funktion | JK Klip-Klap | SR Klip-Klapper | D Flip-Flop | T Flip-Flop |
|---|---|---|---|---|
| Indgange | J, K | S, R | D | T |
| Ugyldig tilstand | Ingen | S=R=1 ugyldig | Ingen | Ingen |
| Driftstilstande | Indstil, nulstil, skift | Indstil, nulstil | Dataoverførsel | Skift kun |
| Eksempel på brug | Tællere, Registre | Enkel lås | Hukommelse, vagtregistre | Tællere |
| Kompleksitet | Moderat | Simpelt | Simpelt | Meget simpelt |
| Understøttelse af kantudløsende | Ja | Ja | Ja | Ja |
JK flip-flop er den mest fleksible blandt alle klipklappere. Det kan simulere funktionerne af SR-, D- og T-flip-flops og er meget udbredt i tællere og digitale styrekredsløb.
Fejlfinding og almindelige designfejl
| Fælles problem | Beskrivelse | Opløsning |
|---|---|---|
| Fejl ved synkronisering af ur | Flere flip-flops ved hjælp af usynkroniserede ure forårsager tidsuoverensstemmelser | Brug en enkelt global urkilde** |
| Indgangsstøj eller switch bounce | Støjende indgange eller mekaniske kontakter forårsager falsk udløsning | Tilføj debouncing-kredsløb eller RC-filtre |
| Flydende forudindstillede/klare (PR/CLR) stifter | Ikke-tilsluttede asynkrone indgange forårsager uforudsigelige udgange | Knyt ubrugt PR/CLR til definerede logiske niveauer |
| Overtrædelser af opsætning og ventetid | Ændring af J/K for tæt på urovergangen fører til metastabilitet | Hold indgange stabile før og efter urkant |
Konklusion
JK flip-flop forbliver en alsidig og pålidelig enhed i moderne digitale systemer på grund af dens evne til at skifte tilstande og håndtere synkrone og asynkrone operationer. Uanset om det implementeres ved hjælp af logiske porte eller integrerede kredsløb, bruges det i tællere, registre og styrekredsløb. Forståelse af dens adfærd og timing hjælper dig med at designe stabile og effektive sekventielle logiske applikationer.
Ofte stillede spørgsmål [FAQ]
Hvorfor kaldes en JK flip-flop en "universal flip-flop"?
JK flip-flop kaldes en universel flip-flop, fordi den kan udføre funktionerne i SR-, D- og T-flip-flops ved blot at konfigurere dens J- og K-indgange. Dette gør den tilpasningsdygtig til forskellige sekventielle logiske applikationer.
Hvad er den største forskel mellem niveauudløste og kantudløste JK flip-flops?
En niveauudløst JK flip-flop reagerer på hele det HØJE eller LAVE niveau af urpulsen, mens en kantudløst JK flip-flop kun opdaterer sit output ved den stigende eller faldende kant, hvilket forhindrer problemer med kapløb.
Hvordan konverterer man en JK flip-flop til en D flip-flop?
En JK flip-flop kan fungere som en D flip-flop ved at forbinde J = D og K = D′. Dette tvinger outputtet til at følge inputtet, hvilket efterligner dataoverførselsadfærden for en D-flip-flop.
Hvad forårsager metastabilitet i JK flip-flops?
Metastabilitet opstår, når J- og K-indgangene ændres for tæt på urovergangen, hvilket overtræder opsætning eller holdetid. Dette kan resultere i uforudsigelige eller oscillerende udgangstilstande.
Kan JK flip-flops bruges til frekvensdeling?
Ja. Når begge indgange J og K er bundet HØJT (J = K = 1), skifter JK flip-flop sit output på hver urpuls. Dette dividerer urfrekvensen med 2, hvilket gør den nyttig i digitale tællere og frekvensdelere.