BCD számláló áramkör
Korábban láttuk, hogy a T-típusú flip flopok egyedi osztó-kettővel osztó számlálóként használhatók. Ha több billenő flip-flopot soros láncban összekapcsolunk, akkor olyan digitális számlálót állíthatunk elő, amely tárolja vagy megjeleníti, hogy egy adott számlálási sorozat hányszor fordult elő.
Az órajeles T-típusú flip-flopok bináris osztó-kettő számlálóként működnek, és az aszinkron számlálókban az egyik számlálási fokozat kimenete adja az óraimpulzust a következő fokozat számára. Ekkor egy flip-flop számlálónak két lehetséges kimeneti állapota van, és további flip-flop fokozatok hozzáadásával egy osztás-2N számlálót hozhatunk létre. A 4 bites bináris számlálókkal azonban az a probléma, hogy 0000-tól 1111-ig számolnak. Ez decimálisan 0-tól 15-ig tart.
Hogy olyan digitális számlálót készítsünk, amely 1-től 10-ig számol, a számlálónak csak a 0000-tól 1001-ig terjedő bináris számokat kell számolnia. Ez 0-tól 9-ig terjed decimálisan, és szerencsénkre a számoló áramkörök könnyen elérhetőek integrált áramkörökként, és az egyik ilyen áramkör az aszinkron 74LS90 dekádszámláló.
A digitális számlálók nullától néhány előre meghatározott számolási értékig számolnak felfelé egy órajel alkalmazásával. A számolási érték elérése után a nullázással a számláló visszaáll nullára, hogy újrakezdődjön.
A dekádszámláló tízes sorozatban számol, majd a kilences számolás után visszaáll nullára. Nyilvánvaló, hogy a kilences bináris értékig történő számoláshoz a számlálónak legalább négy flip-floppal kell rendelkeznie a láncon belül, hogy az egyes decimális számjegyeket az ábrán látható módon reprezentálja.
BCD számláló állapotdiagram
Egy dekádszámláló tehát négy flip-floppal és 16 lehetséges állapottal rendelkezik, amelyek közül csak 10-et használunk, és ha egy sor számlálót összekapcsolnánk, akkor 100-ig vagy 1000-ig vagy bármilyen általunk választott végső számlálószámig tudnánk számolni.
Az összes számolást, amivel egy számláló számolni is tud, MODULUS-nak nevezzük. Egy olyan számlálót, amely n számlálás után nullára tér vissza, modulo-n számlálónak nevezzük, például modulo-8 (MOD-8), vagy modulo-16 (MOD-16) számlálónak, stb. és egy “n-bites számláló” esetében a számlálás teljes tartománya 0-tól 2n-1-ig terjed.
De ahogy az aszinkron számlálók bemutatóban láttuk, hogy egy olyan számlálót, amely tíz számlálás után nullázódik a bináris 0000-tól (decimális “0”) 1001-ig (decimális “9”) terjedő osztás-10-es számsorral, “bináris kódú decimális számlálónak” vagy röviden BCD számlálónak nevezzük, és egy MOD-10 számlálót legalább négy toggle flip-flop segítségével lehet felépíteni.
Azért nevezik BCD-számlálónak, mert tíz állapotának sorrendje egy BCD-kód, és nem rendelkezik szabályos mintával, ellentétben az egyenes bináris számlálóval. Ezután egy egyfokozatú BCD-számláló, mint például a 74LS90, decimális 0-tól decimális 9-ig számol, és ezért legfeljebb kilenc impulzus számolására képes. Vegye figyelembe azt is, hogy egy digitális számláló egy bemeneti vezérlőjel függvényében felfelé vagy lefelé, vagy felfelé és lefelé (kétirányú) számolhat.
A bináris kódú decimális kód egy 8421 kód, amely négy bináris számjegyből áll. A 8421 jelölés a négy használt számjegy vagy bit bináris súlyára utal. Például 23 = 8, 22 = 4, 21 = 2 és 20 = 1. A BCD-kód fő előnye, hogy lehetővé teszi a számok decimális és bináris formái közötti egyszerű átalakítást.
A 74LS90 BCD-számláló
A 74LS90 integrált áramkör alapvetően egy MOD-10 dekádszámláló, amely BCD kimeneti kódot állít elő. A 74LS90 négy master-slave JK flip-flopból áll, amelyek belsőleg összekapcsolva egy MOD-2 (számláló-2-ig) számlálót és egy MOD-5 (számláló-5-ig) számlálót biztosítanak. A 74LS90 egy független, a CLK A bemenet által vezérelt toggle JK flip-floppal és három toggle JK flip-floppal rendelkezik, amelyek a CLK B bemenet által vezérelt aszinkron számlálót alkotnak az ábrán látható módon.
74LS90 BCD számláló
A számlálók négy kimenetét a Q betűjel jelöli, a BCD számláló áramköri kódjában a megfelelő bit bináris súlyának megfelelő numerikus indexszel. Így például QA, QB, QC és QD. A 74LS90 számlálósorozat az órajel negatív irányú élére indul, azaz amikor a CLK órajel logikai 1-ről (HIGH) logikai 0-ra (LOW) változik.
A további bemeneti érintkezők R1 és R2 a számláló “reset” érintkezők, míg az S1 és S2 bemenetek “set” érintkezők. Ha az R1 és R2 Reset bemenetek logikai 1-re vannak kapcsolva, akkor a Reset bemenetek nullára, 0-ra (0000) állítják vissza a számlálót, amikor pedig az S1 és S2 Set bemenetek logikai 1-re vannak kapcsolva, akkor a számlálót maximálisra, azaz 9-re (1001) állítják, függetlenül a tényleges számlálószámtól vagy pozíciótól.
Amint már említettük, a 74LS90 számláló egy 2-vel osztó és egy 5-vel osztó számlálóból áll ugyanazon a csomagon belül. Ezután bármelyik számlálót használhatjuk csak egy osztás-by-2 frekvenciaszámláló, csak egy osztás-by-5 frekvenciaszámláló, vagy a kettőt együtt a kívánt osztás-by-10 BCD számláló előállításához.
Az osztás-by-5 számlálószakaszt alkotó négy flip-flop kikapcsolásával, ha a 14-es bemeneti pinre (CLKA) órajelet adunk, és a kimenetet a 12-es pinről (QA) vesszük, akkor egy szabványos osztás-by-2 bináris számlálót állíthatunk elő, amelyet az ábrán látható módon frekvenciaosztó áramkörökben használhatunk.
74LS90 2-vel osztó számláló
Egy szabványos 5-vel osztó számláló előállításához letilthatjuk a fenti első flip-flopot, és az órajelet közvetlenül az 1. tűre (CLKB) adjuk, a kimeneti jelet pedig a 11. tűről (QD) vesszük, az ábrának megfelelően.
74LS90 Divide-by-5 számláló
Megjegyezzük, hogy ennél a divide-by-5 számláló konfigurációnál a kimeneti hullámforma nem szimmetrikus, hanem 4:1 jel-köz arányú. Vagyis négy bemeneti órajel LOW vagy logikai “0” kimenetet hoz létre, és az ötödik bemeneti órajel HIGH vagy logikai “1” kimenetet hoz létre.
Egy osztás 10-zel BCD dekádszámláló előállításához mindkét belső számlálóáramkört használják, ami 2-szer 5-ös osztási értéket ad. Mivel az “A” flip-flop első QA kimenete nincs belsőleg összekötve a következő fokozatokkal, a számláló 4 bites BCD számlálóvá bővíthető, ha ezt a QA kimenetet a CLKB bemenethez kapcsoljuk az ábrán látható módon.
74LS90 osztás 10-zel számláló
Azt láthatjuk, hogy a BCD számlálók olyan bináris számlálók, amelyek 0000-tól 1001-ig számolnak, majd visszaállnak, mivel képesek az összes flip-flopot törölni a kilencedik számolás után. Ha egy nyomógombos kapcsolót (SW1) csatlakoztatunk a CLKA órajel bemenethez, minden alkalommal, amikor a nyomógombos kapcsolót elengedjük, a számláló eggyel fog számolni. Ha fénykibocsátó diódákat (LED-eket) csatlakoztatunk a QA, QB, QC és QD kimeneti csatlakozókhoz az ábrán látható módon, akkor a binárisan kódolt decimális számlálást láthatjuk, amint az megtörténik.
74LS90 BCD dekádszámláló
A nyomógombos kapcsoló, SW1 egymást követő alkalmazása kilencig, 1001-ig növeli a számlálást. A tizedik alkalmazásnál az ABCD kimenetek visszaállnak nullára, hogy új számlálási sorozat kezdődjön. Ilyen MOD-10 kerek impulzusszámmal használhatjuk a dekádszámlálót egy digitális kijelző meghajtására.
Ha a számlálási sorozatot egy hét szegmensű kijelzővel akarjuk megjeleníteni, a BCD kimenetet megfelelően dekódolni kell, mielőtt megjeleníthető lenne. Egy olyan digitális áramkört, amely képes dekódolni a 74LS90 BCD számlálónk négy kimenetét és megvilágítani a kijelző szükséges szegmenseit, dekódernek nevezzük.
Driving a Display
Szerencsénkre valaki már tervezett és kifejlesztett egy BCD-ből 7-szegmenses kijelző dekóder IC-t, például a 74LS47-et, amely pontosan ezt teszi. A 74LS47 négy bemenettel rendelkezik az A, B, B, C és D BCD számjegyekhez, és kimenetekkel a hét szegmensű kijelző minden egyes szegmenséhez.
Megjegyezzük, hogy egy szabványos 7 szegmensű LED-kijelző általában nyolc bemeneti csatlakozással rendelkezik, egy minden LED-szegmenshez és egy, amely közös terminálként vagy kapcsolatként működik az összes belső kijelző szegmenshez. Egyes kijelzők tizedesvessző (DP) opcióval is rendelkeznek.
74LS47 BCD a 7 szegmensre vezérlő
A 74LS47 kijelző dekóder fogadja a BCD kódot és generálja a szükséges jeleket a megfelelő LED szegmensek aktiválásához, amelyek az alkalmazott impulzusszám megjelenítéséért felelősek. Mivel a 74LS47 dekódert közös anódú kijelző meghajtására tervezték, egy LOW (logikai-0) kimenet világít egy LED-szegmenst, míg egy HIGH (logikai-1) kimenet “OFF”-ra kapcsolja azt. A normál működéshez az LT (Lámpateszt), BI/RBO (Blanking Input/Ripple Blanking Output) és RBI (Ripple Blanking Input) kimeneteknek mind nyitottnak vagy logikai-1 (HIGH) kapcsolásúnak kell lenniük.
Megjegyzendő, hogy míg a 74LS47 aktív LOW kimenetekkel rendelkezik és közös anódú 7 szegmensű LED kijelző dekódolására tervezték, a 74LS48 dekóder/meghajtó IC pontosan ugyanez, kivéve, hogy aktív HIGH kimenetei közös katódú 7 szegmensű kijelző dekódolására vannak tervezve. Tehát attól függően, hogy milyen típusú 7 szegmensű LED-kijelzővel rendelkezik, szüksége lehet egy 74LS47 vagy egy 74LS48 dekóder IC-re.
A 74LS47 binárisan kódolt decimális bemenetei a 74LS90 BCD számláló megfelelő kimeneteire csatlakoztathatók, hogy a 7 szegmensű kijelzőn megjelenítse a számlálási sorrendet, amint az SW1 nyomógomb megnyomásakor minden alkalommal látható. A nyomógomb és az 1kΩ ellenállás helyzetének megváltoztatásával a számlálás megváltoztatható a nyomógombos kapcsoló, SW1 aktiválásakor vagy feloldásakor.
Végleges 4 bites BCD számláló áramkör
Megjegyezzük, hogy a 7-szegmenses kijelző hét egyedi fénykibocsátó diódából áll a kijelző kialakításához. A hét szegmenses kijelzőn keresztül folyó áram korlátozásának legjobb módszere az, ha a hét LED-hez sorba kapcsolt áramkorlátozó ellenállást használunk az ábrán látható módon. De ezt kétféleképpen is megtehetjük.
Áramkorlátozó ellenállások
egyetlen ellenállás – itt egyetlen soros áramkorlátozó ellenállást, R-t használunk. Ha nem különösebben fontos a kijelző állandó fényereje, akkor ez a legegyszerűbb és legegyszerűbb lehetőség a 7 szegmensből álló kijelző vezérlésére.
A LED által kibocsátott fény mennyisége az eszközön átfolyó árammal változik, az ellenálláson átfolyó áramot pedig a kijelző szegmensek száma között osztjuk meg. Ezután a kijelző fényereje most attól függ, hogy hány szegmens van egyszerre megvilágítva.
Multiple Resistors – itt minden szegmensnek saját áramkorlátozó ellenállása van, ahogy a fenti egyszerű BCD számláló áramkörünkben látható.
A 7-szegmenses kijelzők általában körülbelül 12-20 milliamperre van szükség a szegmensek megvilágításához, ezért az áramkorlátozó ellenállás (mindegyik azonos lesz) ellenállási értékét úgy választjuk meg, hogy az áramot ezeken az értékeken belül korlátozzuk. Vegye figyelembe, hogy egyes kijelzők tönkremehetnek, ha 40mA vagy annál nagyobb feszültséggel hajtják őket.
Az előny itt az, hogy egy adott LED-szegmens fényereje nem függ a másik hat LED állapotától, így a kijelző állandó fényerővel rendelkezik. Az áramkorlátozó ellenállások értékeit úgy lehet megválasztani, hogy a megfelelő fényerősséget biztosítsák, mivel a környezeti fény mennyisége is meghatározza a szükséges LED-intenzitást.
Az áramkörünk egy egyszerű 0-9 digitális számlálót mutat egy 74LS90 BCD számláló és egy 74LS47 7-szegmensű kijelző meghajtó használatával. A 10 feletti számláláshoz és egy 2 számjegyű bázis-tízes számláló és kijelző előállításához két különálló osztó-tízes számlálót kellene kaszkádosítanunk. Egy 2 számjegyű BCD-számláló decimálisan számolna 00-tól 99-ig (0000 0000-tól 1001 1001 1001-ig), majd visszaállna 00-ra. Vegye figyelembe, hogy bár ez egy 2 számjegyű számláló lesz, az A-tól F-ig terjedő hexadecimális számokat képviselő értékek nem érvényesek ebben a kódban.
Hasonlóképpen, ha 0-tól 999-ig (0000 0000 0000 0000-tól 1001 1001 1001 1001-ig) szeretnénk számolni, akkor három kaszkádolt dekádszámlálóra van szükség. Valójában több évtizedes számlálót lehet építeni egyszerűen az egyes BCD számláló áramkörök kaszkádosításával, egyet-egyet minden évtizedhez, ahogy az ábrán látható.
2 számjegyű BCD számláló 00-tól 99-ig
BCD számláló Összefoglaló
Ebben az oktatóanyagban láttuk, hogy a BCD számláló egy olyan eszköz, amely tíz állapotból álló sorozaton megy keresztül, amikor órajelet kap, és a 9-es számlálás után visszatér 0-ra. A fenti egyszerű példánkban a bemeneti óraimpulzusok egy nyomógombos kapcsolóból származnak, de a számlálók számos valós esemény számlálására használhatók, például mozgó tárgyak számlálására.
Az egyes számlálandó események elektromos impulzusainak előállításához azonban megfelelő áramkörre lehet szükség, mivel ezek az események diszkrét időközönként fordulhatnak elő, vagy teljesen véletlenszerűek lehetnek.
Számos digitális elektronikus áramkörben és alkalmazásban a digitális számlálókat Toggle flip-flopokkal vagy bármely más típusú flip-floppal valósítják meg, amely a szükséges kapcsolási funkció megadására csatlakoztatható, vagy dedikált számláló IC-kkel, mint például a 74LS90. A bináris számlálók olyan számlálók, amelyek egy bináris szekvencián mennek keresztül, és egy n-bites bináris számláló “n” számú flip-flopból áll, amely 0-tól 2n-1-ig számol.
A BCD számlálók tíz állapotból álló sorozatot követnek, és BCD számokkal számolnak 0000-tól 1001-ig, majd visszatérnek 0000-ra és ismétlődnek. Egy ilyen számlálónak legalább négy flip-floppal kell rendelkeznie minden egyes decimális számjegy ábrázolásához, mivel egy decimális számjegyet egy legalább négy bitből álló bináris kód képvisel, amely MOD-10 számolást ad.
Láttuk azt is, hogy a BCD-kódolt kimenet négy LED segítségével vagy digitális kijelzővel is megjeleníthető. A 0-tól 9-ig terjedő egyes számok megjelenítéséhez azonban dekóder áramkörre van szükség, amely a binárisan kódolt szám reprezentációt a megfelelő logikai szintekre fordítja az egyes kijelzőszegmenseken.
A kijelző dekóder áramkörök kombinációs logikai elemekből építhetők, és a piacon számos dedikált integrált áramkör létezik erre a funkcióra, mint például a 74LS47 BCD to 7-szegmens dekóder/meghajtó IC.
A legtöbb 7-szegmenses kijelzőt általában több számjegyű számláló alkalmazásokban használják, így több BCD számláló kaszkádolásával 4 számjegyű számlálók építhetők, amelyek maximum 9999-es kijelzőt adnak.
A 74LS90 BCD számláló egy nagyon rugalmas számoló áramkör, amely frekvenciaosztóként használható, vagy bármely egész szám 2-től 9-ig történő osztására alkalmas a megfelelő kimeneteknek az IC Reset és Set bemenetére történő visszatáplálásával.