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

Tellere og registre

I forrige kapitler har vi sett på kombinatorisk logikk, der utgangen bare avhenger av nåværende innganger. Nå skal vi se på sekvensiell logikk – kretser som har hukommelse. De kan «huske» hva som skjedde ved forrige klokkepuls, og dermed telle hendelser eller lagre data.

Tellere teller opp eller ned i et bestemt tallsystem, typisk binært. De brukes overalt: i digitale klokker, frekvenstenkere, adressetellere i datamaskiner og i styresystemer.

Registre er grupper av vipper (flip-flops) som lagrer flere biter samtidig. Skiftregistre kan i tillegg flytte bitene fra posisjon til posisjon.

I dette kapittelet skal du lære:
- Forskjellen på asynkrone og synkrone tellere
- Hvordan binære tellere teller fra 0 til et maksverdi
- Hva skiftregistre er og hvordan de brukes
- Praktiske anvendelser av tellere og registre

Binær teller

En binær teller er en sekvensiell krets som teller klokkepulser i binært tallsystem.

En n-bits teller:
- Teller fra 0 til 2ⁿ − 1
- En 3-bits teller teller 0, 1, 2, 3, 4, 5, 6, 7 (0 til 7) og begynner på nytt
- En 4-bits teller teller 0 til 15

Asynkron teller (ripple counter):
- Klokkesignalet kobles bare til den første vippen
- Hver vippe trigger den neste → signalet «bølger» gjennom kretsen
- Enkel konstruksjon, men langsom pga. akkumulert forsinkelse
- Utgangene endrer seg ikke samtidig (risiko for feillesing)

Synkron teller:
- Alle vipper har samme klokkesignal
- Ekstra logikk bestemmer når hver vippe skal endre tilstand
- Raskere og mer pålitelig enn asynkrone tellere
- Utgangene endrer seg samtidig
- Brukes i de fleste praktiske systemer

✏️Telling med en 3-bits binær teller

En 3-bits oppover-teller starter på 000. Vis tellesekvensen for de åtte første klokkepulsene. Oppgi hvert trinn i binært og desimalt.

En 3-bits teller har utgangene Q₂ Q₁ Q₀ og teller fra 000 til 111:

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

Etter klokkepuls 7 begynner telleren på nytt (wraps around) til 000. Legg merke til mønsteret: Q₀ endres ved hver puls, Q₁ ved annenhver, Q₂ ved hver fjerde.

📝Oppgave 1

Hvor mange ulike tilstander kan en 4-bits binær teller ha?

📝Oppgave 2

Forklar forskjellen mellom en asynkron og en synkron teller. Nevn én fordel og én ulempe med hver type.

Skiftregister

Et skiftregister er en rekke med vipper (flip-flops) der data flyttes én posisjon for hver klokkepuls.

Typer skiftregistre:
- SISO (Serial In, Serial Out): Data mates inn serielt og leses ut serielt. Brukes som forsinkelseslinje.
- SIPO (Serial In, Parallel Out): Data mates inn serielt, men alle biter kan leses ut samtidig. Brukes for seriell-til-parallell konvertering.
- PISO (Parallel In, Serial Out): Alle biter lastes inn samtidig og skyves ut serielt. Brukes for parallell-til-seriell konvertering.
- PIPO (Parallel In, Parallel Out): Data lastes inn og leses ut parallelt. Fungerer som et vanlig lagringsregister.

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

✏️Data gjennom et 4-bits SIPO-skiftregister

Et 4-bits SIPO-skiftregister starter med innhold 0000. Databitene 1, 0, 1, 1 mates inn serielt (1 først). Vis tilstanden etter hver klokkepuls.

Data skyves inn fra venstre (MSB-siden), og alt flyttes ett steg til høyre for hver klokkepuls:

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

Etter 4 klokkepulser inneholder registeret 1101₂. Alle fire bitene kan nå leses ut parallelt. Slik konverterer SIPO-registeret seriell data til parallell.

📝Oppgave 3

Hvilken type skiftregister brukes for å konvertere parallelle data til seriell overføring?

Oppsummering

I dette kapittelet har du lært om tellere og registre – viktige byggeblokker i sekvensiell logikk:

- Binære tellere teller klokkepulser i binært: en n-bits teller teller fra 0 til 2ⁿ − 1
- Asynkrone tellere er enkle men har akkumulert forsinkelse
- Synkrone tellere er raskere og mer pålitelige – alle vipper klokkes samtidig
- Skiftregistre flytter data én posisjon per klokkepuls
- De fire typene: SISO, SIPO, PISO og PIPO – brukes til datalagring og konvertering

Nøkkelbegreper


BegrepForklaring
Binær tellerSekvensiell krets som teller i binært tallsystem
Asynkron tellerTeller der klokkesignalet «bølger» gjennom vippene
Synkron tellerTeller der alle vipper har felles klokkesignal
SkiftregisterRekke vipper der data flyttes én posisjon per klokke
Flip-flop (vippe)Grunnleggende lagrings­element som kan lagre én bit
📝Oppgave 4

En 4-bits synkron oppover-teller teller fra 0000 til 1111. Etter tellerverdi 1001 (9) ønsker vi at telleren skal nullstilles til 0000 i stedet for å fortsette til 1010 (10). Denne modifiserte telleren kalles en dekade-teller (teller 0–9). Forklar hvordan du kan oppnå dette med ekstra logikk, og oppgi hvor mange tilstander denne telleren har.

📝Oppgave 5

Et 8-bits SIPO-skiftregister brukes til å styre 8 lysdioder (LEDer) i et «løpelys»-mønster. Forklar hvordan du kan koble systemet slik at bare én LED lyser om gangen, og lyset «løper» fra venstre til høyre. Hva må inn-signalet til registeret være etter at den ene 1-biten er lastet 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.