BCD Counter Circuit

jun 10, 2021
admin

We zagen eerder dat toggle T-type flip-flops kunnen worden gebruikt als individuele deler-door-twee tellers. Als we verschillende toggle flip-flops in een serieketen met elkaar verbinden, kunnen we een digitale teller maken die het aantal keren dat een bepaalde telreeks is opgetreden, opslaat of weergeeft.

Geklokte flip-flops van het T-type werken als een binaire deler-door-twee-teller en in asynchrone tellers levert de uitgang van een telfase de klokpuls voor de volgende fase. Dan heeft een flip-flop teller twee mogelijke uitgangstoestanden en door meer flip-flop stappen toe te voegen, kunnen we een deler-door-2N teller maken. Maar het probleem met 4-bit binaire tellers is dat ze tellen van 0000 tot 1111. Dat is van 0 tot 15 in decimaal.

Om een digitale teller te maken die van 1 tot 10 telt, moeten we de teller alleen de binaire getallen 0000 tot 1001 laten tellen. Dat is van 0 tot 9 in decimaal en gelukkig voor ons, tellen circuits zijn gemakkelijk beschikbaar als geïntegreerde schakelingen met een dergelijke schakeling is de asynchrone 74LS90 Decade Counter.

Digitale tellers opwaarts tellen van nul tot een aantal vooraf bepaalde telwaarde op de toepassing van een kloksignaal. Zodra de telwaarde is bereikt, resetten ze de teller terug naar nul om opnieuw te beginnen.

Een decade teller telt in een opeenvolging van tien en keert dan terug naar nul na de telling van negen. Het is duidelijk dat om tot een binaire waarde van negen te tellen, de teller ten minste vier flip-flops in zijn keten moet hebben om elk decimaal cijfer weer te geven, zoals afgebeeld.

BCD Counter State Diagram

bcd counter state diagram

bcd counter state diagram

Een decade teller heeft dan vier flip-flops en 16 potentiële toestanden, waarvan er slechts 10 worden gebruikt en als we een reeks tellers met elkaar verbinden, kunnen we tot 100 of 1.000 tellen of tot welk eindtellingsgetal we ook maar kiezen.

Het totale aantal tellingen dat een teller ook kan tellen wordt zijn MODULUS genoemd. Een teller die na n tellingen op nul terugkomt, wordt een modulo-n teller genoemd, bijvoorbeeld een modulo-8 (MOD-8), of modulo-16 (MOD-16) teller, enz, en voor een “n-bits teller” is het volledige bereik van de telling van 0 tot 2n-1.

Maar zoals we in de tutorial Asynchrone Tellers hebben gezien, dat een teller die na tien tellingen wordt gereset met een deler-door-10 telreeks van binair 0000 (decimaal “0”) tot en met 1001 (decimaal “9”) een “binair-gecodeerde-decimale teller” of kortweg BCD-teller wordt genoemd en een MOD-10 teller kan worden geconstrueerd met behulp van minimaal vier toggle flip-flops.

Het wordt een BCD-teller genoemd omdat zijn tien toestandsvolgorde die van een BCD-code is en geen regelmatig patroon heeft, in tegenstelling tot een rechte binaire teller. Dan telt een enkeltraps BCD teller zoals de 74LS90 van decimaal 0 tot decimaal 9 en is dus in staat om tot een maximum van negen pulsen te tellen. Merk ook op dat een digitale teller kan op- of aftellen of op- en aftellen (bidirectioneel), afhankelijk van een ingevoerd besturingssignaal.

Binair-gecodeerde decimale code is een 8421-code bestaande uit vier binaire cijfers. De aanduiding 8421 verwijst naar het binaire gewicht van de vier cijfers of bits die worden gebruikt. Bijvoorbeeld, 23 = 8, 22 = 4, 21 = 2 en 20 = 1. Het belangrijkste voordeel van BCD code is dat het een gemakkelijke conversie mogelijk maakt tussen decimale en binaire vormen van getallen.

De 74LS90 BCD Counter

De 74LS90 geïntegreerde schakeling is in feite een MOD-10 decade teller die een BCD uitgangscode produceert. De 74LS90 bestaat uit vier master-slave JK flip-flops die intern verbonden zijn om een MOD-2 (count-to-2) teller en een MOD-5 (count-to-5) teller te leveren. De 74LS90 heeft een onafhankelijke toggle JK flip-flop aangestuurd door de CLK A ingang en drie toggle JK flip-flops die een asynchrone teller vormen aangestuurd door de CLK B ingang zoals afgebeeld.

74LS90 BCD Counter

74ls90 bcd counter

74ls90 bcd counter

De vier uitgangen van de teller worden aangeduid met het lettersymbool Q met een numeriek subscript dat gelijk is aan het binaire gewicht van het corresponderende bit in de code van de BCD-tegenschakelingen. Dus bijvoorbeeld, QA, QB, QC en QD. De 74LS90 telreeks wordt getriggerd op de negatieve flank van het kloksignaal, dat wil zeggen wanneer het kloksignaal CLK van logica 1 (HOOG) naar logica 0 (LAAG) gaat.

De extra ingangspennen R1 en R2 zijn teller “reset” pennen, terwijl de ingangen S1 en S2 “set” pennen zijn. Wanneer aangesloten op logica 1, resetten de Reset-ingangen R1 en R2 de teller terug naar nul, 0 (0000), en wanneer de Set-ingangen S1 en S2 zijn aangesloten op logica 1, zetten zij de teller op maximum, of 9 (1001), ongeacht het werkelijke telgetal of positie.

Zoals we al eerder zeiden, bestaat de 74LS90-teller uit een deler-door-2-teller en een deler-door-5-teller binnen hetzelfde pakket. Dan kunnen we een van beide tellers gebruiken om alleen een deler-door-2 frequentieteller te produceren, een deler-door-5 frequentieteller alleen of de twee samen om onze gewenste deler-door-10 BCD-teller te produceren.

Met de vier flip-flops die deel uitmaken van de deler-door-5 tellersectie uitgeschakeld, als een kloksignaal wordt toegepast op ingangspen 14 (CLKA) en de uitgang wordt genomen van pen 12 (QA), kunnen we een standaard deler-door-2 binaire teller produceren voor gebruik in frequentieverdelingscircuits zoals afgebeeld.

74LS90 deler-door-2 teller

74ls90 deler-door-2 teller

74ls90 deler-door-2 teller

Om een standaard deler-door-5 teller te maken, kunnen we de eerste flip-flop hierboven uitschakelen en het ingangssignaal van de klok rechtstreeks toepassen op pen 1 (CLKB), waarbij het uitgangssignaal van pen 11 (QD) wordt genomen, zoals afgebeeld.

74LS90 deler-door-5 teller

74ls90 deler-door-5 teller

74ls90 deler-door-5 teller

Merk op dat bij deze deler-door-5 tellerconfiguratie de uitgangsgolfvorm niet symmetrisch is maar een 4:1 mark-ruimteverhouding heeft. Dat wil zeggen dat vier ingangskloksignalen een LOW- of logische “0”-uitgang opleveren en het vijfde ingangskloksignaal een HIGH- of logische “1”-uitgang.

Om een deler-door-10 BCD-decenniumteller te produceren, worden beide interne tellercircuits gebruikt, wat een 2 maal 5 deler-door-waarde oplevert. Aangezien de eerste uitgang QA van flip-flop “A” niet intern verbonden is met de opeenvolgende trappen, kan de teller worden uitgebreid tot een 4-bit BCD teller door deze QA uitgang te verbinden met de CLKB ingang zoals getoond.

74LS90 deler-door-10 teller

74ls90 deler-door-10 teller

74ls90 deler-door-10 teller

Dan kunnen we zien dat BCD-tellers binaire tellers zijn die tellen van 0000 tot 1001 en dan resetten omdat het de mogelijkheid heeft om al zijn flip-flops te wissen na de negende tel. Als we een drukknopschakelaar (SW1) aansluiten op de klokingang CLKA, zal elke keer dat de drukknopschakelaar wordt losgelaten de teller met één aftellen. Als we lichtgevende diodes (LED’s) aansluiten op de uitgangsklemmen, QA, QB, QC en QD zoals afgebeeld, kunnen we de binair gecodeerde decimale telling bekijken terwijl deze plaatsvindt.

74LS90 BCD Decade Counter

74ls90 bcd decade counter

74ls90 bcd decade counter

Door de drukknopschakelaar, SW1, achtereenvolgens in te drukken, zal de telling oplopen tot negen, 1001. Bij de tiende toepassing zullen de uitgangen ABCD weer op nul worden gezet om een nieuwe telreeks te beginnen. Met zo’n MOD-10 rond aantal pulsen kunnen we de decade-teller gebruiken om een digitaal display aan te sturen.

Als we de telreeks willen weergeven met behulp van een zeven-segments display, moet de BCD-uitgang op de juiste wijze worden gedecodeerd voordat hij kan worden weergegeven. Een digitale schakeling die de vier uitgangen van onze 74LS90 BCD-teller kan decoderen en de vereiste segmenten van het display kan laten oplichten, wordt een Decoder genoemd.

Driving a Display

Gelukkig voor ons heeft iemand al een BCD naar 7-segment Display Decoder IC ontworpen en ontwikkeld, zoals de 74LS47 om precies dat te doen. De 74LS47 heeft vier ingangen voor de BCD-cijfers A, B, C en D en uitgangen voor elk van de segmenten van het 7-segment display.

Merk op dat een standaard 7-segment LED-display over het algemeen acht ingangsaansluitingen heeft, een voor elk LED-segment en een die fungeert als een gemeenschappelijke terminal of aansluiting voor alle interne displaysegmenten. Sommige displays hebben ook een decimale punt (DP) optie.

74LS47 BCD naar 7-segment driver

74ls47 bcd naar 7-segment driver

74ls47 bcd naar 7-segment driver

De 74LS47 display decoder ontvangt de BCD-code en genereert de nodige signalen om de juiste LED-segmenten te activeren die verantwoordelijk zijn voor het weergeven van het aantal toegepaste pulsen. Aangezien de 74LS47 decoder is ontworpen voor het aansturen van een common-anode display, zal een LOW (logic-0) uitgang een LED segment doen oplichten terwijl een HIGH (logic-1) uitgang het “OFF” zal zetten. Voor normale werking moeten de LT (Lamp test), BI/RBO (Blanking Input/Ripple Blanking Output) en RBI (Ripple Blanking Input) allemaal open zijn of verbonden met logic-1 (HIGH).

Merk op dat terwijl de 74LS47 actieve LAGE uitgangen heeft en is ontworpen voor het decoderen van een common anode 7-segment LED display, de 74LS48 decoder/driver IC precies hetzelfde is, behalve dat het actieve HIGH uitgangen heeft die zijn ontworpen voor het decoderen van een common cathode 7-segment display. Dus afhankelijk van het type 7-segment LED-display dat u hebt, kunt u een 74LS47 of een 74LS48 decoder IC nodig hebben.

De 74LS47 binair gecodeerde decimale ingangen kunnen worden aangesloten op de overeenkomstige uitgangen van de 74LS90 BCD Counter om de telvolgorde op het 7-segment display weer te geven zoals getoond telkens wanneer de drukknop SW1 wordt ingedrukt. Door de positie van de drukknop en de 1kΩ weerstand te veranderen, kan de telling worden veranderd bij het activeren of loslaten van de drukknopschakelaar, SW1.

Final 4-bit BCD Counter Circuit

74ls90 bcd counter circuit

74ls90 bcd counter circuit

Merk op dat een 7-segment display is gemaakt van zeven individuele licht emitterende diodes om het display te vormen. De beste methode om de stroom door een zeven-segment-display te begrenzen is het gebruik van een stroombegrenzende weerstand in serie met elk van de zeven LED’s, zoals afgebeeld. Maar we kunnen dit op twee manieren doen.

Stroombegrenzende weerstanden

enkele stroombegrenzende weerstand

Enkele weerstand – hier wordt een enkele stroombegrenzende weerstand, R, in serie gebruikt. Als u niet bijzonder bezorgd bent over een constante helderheid van het display, dan is dit de gemakkelijkste en eenvoudigste optie om het 7-segments display te regelen.

De hoeveelheid licht die door een LED wordt uitgestraald varieert met de stroom door het apparaat, waarbij de stroom door de weerstand wordt verdeeld over het aantal displaysegmenten. De helderheid van het display hangt nu af van het aantal segmenten dat tegelijkertijd wordt verlicht.

meervoudige stroombegrenzende weerstand

Meervoudige weerstanden – hier heeft elk segment zijn eigen stroombegrenzende weerstand, zoals in onze eenvoudige BCD-telschakeling hierboven is getoond.

Over het algemeen hebben 7-segment displays ongeveer 12 tot 20 milli-ampère nodig om de segmenten te laten oplichten, dus de weerstandswaarde van de stroombegrenzende weerstand (alle weerstanden zullen identiek zijn) wordt zo gekozen dat de stroom binnen deze waarden blijft. Merk op dat sommige displays kapot kunnen gaan als ze op 40mA en meer worden aangestuurd.

Het voordeel hier is dat de helderheid van een bepaald LED segment niet afhangt van de toestand van de andere zes LED’s waardoor het display een constante helderheid heeft. De waarden van de stroombegrenzende weerstanden kunnen worden gekozen om de juiste hoeveelheid helderheid te leveren, aangezien de hoeveelheid omgevingslicht ook de vereiste LED-intensiteit zal bepalen.

Onze schakeling toont een eenvoudige 0 tot 9 digitale teller met behulp van een 74LS90 BCD Counter en een 74LS47 7-segment display driver. Om boven de 10 te tellen en een 2-cijferige base-ten teller en display te maken, zouden we twee afzonderlijke deler-door-teller moeten cascaderen. Een 2-cijferige BCD-teller zou in decimaal tellen van 00 tot 99 (0000 0000 tot 1001 1001) en dan terugvallen op 00. Merk op dat, hoewel het een 2-cijferige teller zal zijn, waarden die Hexadecimale getallen van A tot F voorstellen niet geldig zijn in deze code.

Ook als we van 0 tot 999 willen tellen (0000 0000 0000 tot 1001 1001), dan zijn drie gecascadeerde decade tellers nodig. In feite kunnen meerdere decade tellers eenvoudig worden geconstrueerd door individuele BCD tegenschakelingen in cascade te schakelen, één voor elk decade, zoals getoond.

2-cijferige BCD-teller van 00 tot 99

2-cijferige bcd-teller

2-cijferige bcd-teller

BCD-teller Samenvatting

In deze tutorial hebben we gezien dat een BCD-teller een apparaat is dat een reeks van tien toestanden doorloopt wanneer het wordt geklokt en na het tellen van 9 naar 0 terugkeert. In ons eenvoudige voorbeeld hierboven zijn de klokimpulsen afkomstig van een drukknopschakelaar, maar tellers kunnen worden gebruikt om veel gebeurtenissen in de echte wereld te tellen, zoals het tellen van bewegende objecten.

Er kunnen echter geschikte schakelingen nodig zijn om de elektrische pulsen te genereren voor elke gebeurtenis die moet worden geteld, omdat deze gebeurtenissen kunnen optreden met discrete tijdsintervallen of ze kunnen volledig willekeurig zijn.

In veel digitale elektronische schakelingen en toepassingen worden digitale tellers geïmplementeerd met behulp van Toggle flip-flops of met elk ander type flip-flop dat kan worden aangesloten om de vereiste schakelfunctie te geven, of met het gebruik van speciale tel-IC’s zoals de 74LS90. Binaire tellers zijn tellers die een binaire reeks doorlopen en een n-bit binaire teller is gemaakt van “n” aantal flip-flops die tellen van 0 tot 2n-1.

BCD tellers volgen een reeks van tien toestanden en tellen met behulp van BCD getallen van 0000 tot 1001 en keren dan terug naar 0000 en herhalen. Een dergelijke teller moet ten minste vier flip-flops hebben om elk decimaal cijfer weer te geven, aangezien een decimaal cijfer wordt weergegeven door een binaire code met ten minste vier bits die een MOD-10 telling geeft.

We hebben ook gezien dat de BCD gecodeerde output kan worden weergegeven met behulp van vier LED’s of met een digitaal display. Maar om elk getal van 0 tot 9 weer te geven, is een decoderschakeling nodig, die een binaire gecodeerde getalweergave vertaalt in de juiste logische niveaus op elk van de displaysegmenten.

Display-decoderschakelingen kunnen worden opgebouwd uit combinatorische logische elementen en er zijn veel speciale geïntegreerde schakelingen op de markt om deze functie uit te voeren, zoals de 74LS47 BCD naar 7-segment-decoder/driver IC.

De meeste 7-segment displays worden gewoonlijk gebruikt in multicijferige teltoepassingen, dus door meer BCD-tellers in cascade te schakelen, kunnen 4-cijferige tellers worden geconstrueerd die displays geven met een maximale aflezing van 9999.

De 74LS90 BCD Counter is een zeer flexibele telschakeling en kan worden gebruikt als een frequentie deler of gemaakt worden om elk heel getal van 2 tot 9 te delen door de juiste uitgangen terug te voeren naar de Reset en Set ingangen van het IC.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.