Tilbake
2.5
Flip-flops og vipper

2.5 Flip-flops og vipper

SR, D, JK og T flip-flops - oppbygning, sannhetstabeller og bruksområder.

60 min
7 oppgaver
SR flip-flopD flip-flopJK flip-flopT flip-flopKlokke-signal
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 7 oppgaver

Introduksjon

I førre kapittel lærte vi om kombinatoriske kretsar som AND, OR og NOT portar. Desse kretsane har éi viktig avgrensing: dei har inga hugsing. Output er berre avhengig av noverande input.

I dette kapittelet skal vi utforske sekvensiell logikk - kretsar som kan hugse tidlegare tilstandar. Dette er fundamentet for alt frå enkle teljarar til avanserte prosessorar. Vi skal lære om flip-flops (den grunnleggjande minnecella), teljarar som kan halde styr på talet på hendingar, og skiftregister som flyttar data bit for bit.

Kombinatorisk vs sekvensiell logikk
Kombinatorisk logikk: Output er BERRE avhengig av noverande input. Eksempel er AND, OR, NOT portar. Inga minnefunksjon - output endrar seg umiddelbart når input endrar seg.

Sekvensiell logikk: Output er avhengig av BÅDE noverande input OG tidlegare tilstand (minne). Har minnefunksjon, kan lagre informasjon, og blir brukt i teljarar, register og dataminne. Byggjer på flip-flops.

Klokkesignal: Sekvensiell logikk bruker ofte eit klokkesignal (clock) - ein periodisk puls (t.d. 1 MHz = 1 million pulsar per sekund) som synkroniserer endringar og sikrar at alle delar blir oppdaterte samtidig.

✏️Kombinatorisk vs sekvensiell - lysbrytar vs minnekrets

Forklar skilnaden mellom ein kombinatorisk og sekvensiell krets ved hjelp av praktiske eksempel.

Kombinatorisk eksempel - Lysbrytar:
Når du trykkjer på lysbrytaren, lyser lampa. Når du slepper, sløkkjer ho.
- Input: Brytarposisjon (på/av)
- Output: Lys (på/av)
- Inga hugsing - output følgjer input direkte

Sekvensiell eksempel - Togglande lysbrytar:
Første trykk: Lyset går på og blir verande på
Andre trykk: Lyset går av og blir verande av
- Kretsen "hugsar" førre tilstand
- Same input (trykk) gir ulikt resultat avhengig av noverande tilstand
- Dette krev ein flip-flop for å hugse om lyset er på eller av

📝Oppgave 1

Kva kjenneteiknar sekvensiell logikk samanlikna med kombinatorisk logikk?

Flip-flops

Ein flip-flop er den grunnleggjande lagringseininga i digital elektronikk. Han kan lagre éin bit (0 eller 1).

SR Flip-Flop (Set-Reset): To inngangar S (Set) og R (Reset). S=1 set Q=1, R=1 resettar Q=0, S=R=0 held tilstand, S=R=1 er ugyldig.

D Flip-Flop (Data): Éin data-inngang (D) og éin klokke-inngang (CLK). Ved stigande klokkeflanke får Q verdien til D. Blir brukt til å lagre 1 bit.

JK Flip-Flop: To inngangar J og K, pluss klokke. J=1,K=0 set Q=1, J=0,K=1 resettar Q=0, J=K=0 held, J=K=1 togglar (byter tilstand).

T Flip-Flop (Toggle): Éin inngang T og klokke. T=1 byter tilstand ved kvar klokkepuls. Blir mykje brukt i teljarar.

Edge-Triggered: Reagerer berre på stigande eller fallande flanke av klokka, ikkje på nivået til klokka.

✏️D Flip-Flop som 1-bit minne

Ein D flip-flop har D=1 og får ein stigande klokkeflanke. Kva skjer med output Q? Deretter blir D endra til 0, men ingen ny klokkepuls kjem. Kva er Q no?

Steg 1: Ved stigande klokkeflanke med D=1
- Q får verdien til D
- Q = 1

Steg 2: D blir endra til 0, men ingen klokkepuls
- Q held verdien sin (dette er "minnet")
- Q = 1 (framleis!)

Konklusjon: D flip-flop lagrar verdien som var på D ved siste stigande klokkeflanke. Endringar på D mellom klokkepulsar påverkar ikkje Q.

Dette er essensielt for synkronisert dataoverføring - data blir "sampla" berre ved klokkeflanken.

📝Oppgave 2

Forklar kva ein D flip-flop gjer og kvifor han blir kalla ei "1-bit minnecelle".

📝Oppgave 3

Kva skjer i ein JK flip-flop når J=1 og K=1?

Teljarar

Ein teljar er ein krets som tel talet på klokkepulsar.

Asynkron teljar (Ripple Counter): Flip-flops blir kopla i serie, output frå éin driv klokka til neste. Enkel å byggje, men har "ripple effect" - forseinking gjennom kaskaden.

Synkron teljar: Alle flip-flops får same klokkesignal. Alle endrar tilstand samtidig - raskare og meir påliteleg, men krev meir logikk.

Binær teljar: Tel i binære tal: 0000 → 0001 → 0010 → ... → 1111 → 0000. Ein 4-bits teljar tel 0-15.

BCD-teljar: Tel frå 0-9 (0000-1001), deretter tilbake til 0. Blir brukt for 7-segment display.

Opp/ned-teljar: Kan telje både opp (inkrement) og ned (dekrement), kontrollert av retningssignal.

✏️3-bits binær teljar

Ein 3-bits binær teljar startar på 000. Vis alle tilstandane han går gjennom før han startar på nytt.

Ein 3-bits teljar har 2³ = 8 moglege tilstandar:

KlokkepulsBinærDesimal
Start0000
10011
20102
30113
41004
51015
61106
71117
80000 (wrap)

Teljaren "wrappar" tilbake til 000 etter å ha nådd 111. Dette blir kalla overflow.

📝Oppgave 4

Ein 4-bits binær teljar startar på 1010 (binært). Kva blir verdien etter 3 klokkepulsar? Oppgi svaret både binært og desimalt.

📝Oppgave 5

Kva er hovudskilnaden mellom ein asynkron og synkron teljar?

Skiftregister

Eit skiftregister er ein krets som flyttar data bit for bit ved kvar klokkepuls.

SISO (Serie-Inn, Serie-Ut): Data blir mata inn og ut éin bit om gongen. Blir brukt til å forseinke data.

SIPO (Serie-Inn, Parallell-Ut): Data blir mata inn serielt, men alle bits er tilgjengelege ut samtidig. Konverterer seriell til parallell data.

PISO (Parallell-Inn, Serie-Ut): Alle bits blir lasta inn samtidig, kjem ut serielt. Konverterer parallell til seriell data.

PIPO (Parallell-Inn, Parallell-Ut): Data blir lasta inn og ut parallelt. Blir brukt som dataregister.

Bruksområde: Seriell kommunikasjon (UART, SPI), LED-striper (74HC595), datalagring, tidsforseinking.

✏️SIPO skiftregister for seriell-til-parallell konvertering

Du mottek 4 bits serielt: 1, 0, 1, 1 (i den rekkjefølgja). Vis korleis eit 4-bits SIPO skiftregister fyller seg opp, og kva den parallelle utgangen blir.

SIPO = Serie-Inn, Parallell-Ut. Data blir skuva inn frå venstre.

KlokkepulsInnQ3Q2Q1Q0
Start-0000
111000
200100
311010
411101

Parallell utgang etter 4 klokkepulsar: Q3=1, Q2=1, Q1=0, Q0=1
Den serielle datastraumen 1,0,1,1 er no tilgjengeleg parallelt som 1101.

📝Oppgave 6

Forklar kva eit SIPO skiftregister gjer og gi eit praktisk bruksområde.

📝Oppgave 7

Kva skiftregister blir brukt for å konvertere parallell data til seriell data?

Oppsummering

I dette kapittelet har vi lært om sekvensiell logikk - kretsar med hugsing:

Flip-flops er dei grunnleggjande byggjeklossane:
- D flip-flop lagrar éin bit ved klokkeflanke
- JK flip-flop har toggle-funksjon (J=K=1)
- T flip-flop togglar ved kvar klokke (blir brukt i teljarar)
- SR flip-flop har set/reset-funksjonalitet

Teljarar held styr på talet på hendingar:
- Asynkrone teljarar er enkle men har forseinking
- Synkrone teljarar er raskare og meir presise
- Binære teljarar tel 0 til 2^n-1
- BCD-teljarar tel 0-9 for display

Skiftregister flyttar data:
- SIPO: Seriell inn, parallell ut
- PISO: Parallell inn, seriell ut
- Blir brukte i seriell kommunikasjon og LED-styring

Sekvensiell logikk er fundamentet for datamaskiner - alt frå enkle teljarar til prosessorar byggjer på desse prinsippa.

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.