Tilbake
2.6
Tellere og registre

2.6 Tellere og registre

Binære tellere, skiftregistre og deres anvendelser i digitale systemer.

55 min
5 oppgaver
Binære tellereSkiftregistreSynkrone tellereAsynkrone tellere
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 5 oppgaver

Teljarar og register

I tidlegare kapittel har vi sett på kombinatorisk logikk, der utgangen berre er avhengig av noverande inngangar. No skal vi sjå på sekvensiell logikk – kretsar som har hukommelse. Dei kan «hugse» kva som skjedde ved førre klokkepuls, og dermed telje hendingar eller lagre data.

Teljarar tel opp eller ned i eit bestemt talsystem, typisk binært. Dei blir brukte overalt: i digitale klokker, frekvensteljarar, adresseteljarar i datamaskinar og i styresystem.

Register er grupper av vipper (flip-flops) som lagrar fleire bitar samtidig. Skiftregister kan i tillegg flytte bitane frå posisjon til posisjon.

I dette kapittelet skal du lære:
- Skilnaden på asynkrone og synkrone teljarar
- Korleis binære teljarar tel frå 0 til ein maksverdi
- Kva skiftregister er og korleis dei blir brukte
- Praktiske bruksområde for teljarar og register

Binær teljar

Ein binær teljar er ein sekvensiell krets som tel klokkepulsar i binært talsystem.

Ein n-bits teljar:
- Tel frå 0 til 2ⁿ − 1
- Ein 3-bits teljar tel 0, 1, 2, 3, 4, 5, 6, 7 (0 til 7) og byrjar på nytt
- Ein 4-bits teljar tel 0 til 15

Asynkron teljar (ripple counter):
- Klokkesignalet blir berre kopla til den første vippa
- Kvar vippe trigger den neste → signalet «bølgjer» gjennom kretsen
- Enkel konstruksjon, men langsam pga. akkumulert forseinking
- Utgangane endrar seg ikkje samtidig (risiko for feillesing)

Synkron teljar:
- Alle vipper har same klokkesignal
- Ekstra logikk bestemmer når kvar vippe skal endre tilstand
- Raskare og meir påliteleg enn asynkrone teljarar
- Utgangane endrar seg samtidig
- Blir brukt i dei fleste praktiske system

✏️Telling med ein 3-bits binær teljar

Ein 3-bits oppover-teljar startar på 000. Vis teljesekvensen for dei åtte første klokkepulsane. Oppgje kvart trinn i binært og desimalt.

Ein 3-bits teljar har utgangane Q₂ Q₁ Q₀ og tel frå 000 til 111:

KlokkepulsQ₂Q₁Q₀Desimal
00000
10011
20102
30113
41004
51015
61106
71117

Etter klokkepuls 7 byrjar teljaren på nytt (wraps around) til 000. Legg merke til mønsteret: Q₀ endrar seg ved kvar puls, Q₁ ved annankvar, Q₂ ved kvar fjerde.

📝Oppgave 1

Kor mange ulike tilstandar kan ein 4-bits binær teljar ha?

📝Oppgave 2

Forklar skilnaden mellom ein asynkron og ein synkron teljar. Nemn éin fordel og éin ulempe med kvar type.

Skiftregister

Eit skiftregister er ei rekkje med vipper (flip-flops) der data blir flytt éin posisjon for kvar klokkepuls.

Typar skiftregister:
- SISO (Serial In, Serial Out): Data blir mata inn serielt og lese ut serielt. Blir brukt som forseinkingslinje.
- SIPO (Serial In, Parallel Out): Data blir mata inn serielt, men alle bitar kan lesast ut samtidig. Blir brukt for seriell-til-parallell konvertering.
- PISO (Parallel In, Serial Out): Alle bitar blir lasta inn samtidig og skuvne ut serielt. Blir brukt for parallell-til-seriell konvertering.
- PIPO (Parallel In, Parallel Out): Data blir lasta inn og lese ut parallelt. Fungerer som eit vanleg lagringsregister.

Bruksområde:
- Seriell datakommunikasjon (UART, SPI)
- Forseinkingslinjer i signalbehandling
- Datakonvertering mellom seriell og parallell overføring
- LED-styring (skiftregister 74HC595)

✏️Data gjennom eit 4-bits SIPO-skiftregister

Eit 4-bits SIPO-skiftregister startar med innhald 0000. Databitane 1, 0, 1, 1 blir mata inn serielt (1 først). Vis tilstanden etter kvar klokkepuls.

Data blir skuvne inn frå venstre (MSB-sida), og alt blir flytt eitt steg til høgre for kvar klokkepuls:

KlokkepulsInnQ₃Q₂Q₁Q₀
Start0000
111000
200100
311010
411101

Etter 4 klokkepulsar inneheld registeret 1101₂. Alle fire bitane kan no lesast ut parallelt. Slik konverterer SIPO-registeret seriell data til parallell.

📝Oppgave 3

Kva type skiftregister blir brukt for å konvertere parallelle data til seriell overføring?

Oppsummering

I dette kapittelet har du lært om teljarar og register – viktige byggjeblokker i sekvensiell logikk:

- Binære teljarar tel klokkepulsar i binært: ein n-bits teljar tel frå 0 til 2ⁿ − 1
- Asynkrone teljarar er enkle men har akkumulert forseinking
- Synkrone teljarar er raskare og meir pålitelege – alle vipper blir klokka samtidig
- Skiftregister flyttar data éin posisjon per klokkepuls
- Dei fire typane: SISO, SIPO, PISO og PIPO – blir brukte til datalagring og konvertering

Nøkkelomgrep


OmgrepForklaring
Binær teljarSekvensiell krets som tel i binært talsystem
Asynkron teljarTeljar der klokkesignalet «bølgjer» gjennom vippene
Synkron teljarTeljar der alle vipper har felles klokkesignal
SkiftregisterRekkje vipper der data blir flytt éin posisjon per klokke
Flip-flop (vippe)Grunnleggjande lagrings­element som kan lagre éin bit
📝Oppgave 4

Ein 4-bits synkron oppover-teljar tel frå 0000 til 1111. Etter teljarverdi 1001 (9) ønskjer vi at teljaren skal nullstillast til 0000 i staden for å halde fram til 1010 (10). Denne modifiserte teljaren blir kalla ein dekade-teljar (tel 0–9). Forklar korleis du kan oppnå dette med ekstra logikk, og oppgje kor mange tilstandar denne teljaren har.

📝Oppgave 5

Eit 8-bits SIPO-skiftregister blir brukt til å styre 8 lysdiodar (LED-ar) i eit «løpelys»-mønster. Forklar korleis du kan kople systemet slik at berre éin LED lyser om gongen, og lyset «løper» frå venstre til høgre. Kva må inn-signalet til registeret vere etter at den eine 1-biten er lasta inn?

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.