poslední úprava těchto stránek
15.listopad 2025



digitální hodiny s CMOS obvody



V této části ebastlírny si probereme možnosti sestavení digitálních hodin z kombinační logiky, tedy z klasických obvodů bez použití mikropočítače. Použijeme k tomu obvody CMOS řady 4000 a 4500. Jejich výhodou nízká cena, dostupnost a napájení. Obvody CMOS 4000 a 4500 pracují v rozsahu od +5V do +12V se zanedbatelnou spotřebou. Následující obrázek ukazuje blokové schema 6-místných digitálních hodin.

blokové schema digitálních hodin

Obr. 1 - blokové schema digitálních hodin

Celé schema sestává z několika bloků. Na počátku je oscilátor s děličkou, na jejímž výstupu je signál 1 Hz (= 1sec). Čím přesnější bude náš signál 1Hz, tím přesnější budou celé hodiny.

zdroje signálu 1 Hz

Následujcí obrázek ukazuje zdroj signály 1Hz odvozeného z hodinkového krystalu 32.7687 kHz. Je použit obvod CMOS 4060. Obvod 4060 obsahuje oscilátor a binární děličku.

blokové schema obvodu 4060

Obr. 2 - blokové schema obvodu CMOS 4060

Z funkčního schema v následujícím obrázku je zřejmé, že vstup MR (Master reset) je aktivní v log. 1. Normálně je tento vstup uzemněn. My jej ale použijeme pro funkci STOP hodin. Tuto funkci budeme potřebovat pro nastavení našich hodin.

funkční schema obvodu 4060

Obr. 3 - funkční schema obvodu CMOS 4060

Na oscilátor je připojen krystal 32.768 kHz a dělička dělí v poměru 214. To znamená, z kmitočtu krystalu 32768 Hz dostaneme na výstupu Q14 obvodu 4060 signál 2 Hz (= ½ sec). Abychom dostali signál 1 Hz, musíme ještě dělit dvěmi. Za tím účelem je signál 2 Hz veden na hodinový vstup klopného obvodu CMOS 4027. Na výstupu Q tohoto klopného obvodu dostaneme potřebný signál 1 Hz. Na konektor J1 připojíme spínací tlačítko. V rozpojeném stavu je nulovací vstup obvodu 4060 držen přes odpor na log.0. Když se přes stisknuté tlačítko J1 přivede na nulovací vstup log.1, budou všechny výstupy obvodu 4060 na úrovni log.0. a to tak dlouho, dokud bude tlačítko J1 stisknuto.

zdroj signálu 1Hz z krystalu a obvodu 4060

Obr. 3 - zdroj signálu 1 Hz z krystalu a obvodu CMOS 4060

Obvod 4027 je dvojitý J-K klopný obvod, tedy obsahuje dva, na sobě nezávislé klopné obvody J-K. Následující obrázek ukazuje funkční tabulku signálů tohoto obvodu:

funkční tabulka obvodu CMOS 4027

Obr. 4 - funkční tabulka obvodu CMOS 4027

Z funkční tabulky vidíme, že J-K obvod mění stavy na výstup na náběžnou hranu signálu na hodinovém vstupu. Aby klopný obvod dělil dvěmi, musí být resetovací vstup (R) a nastavovací vstup (S) na log. 0. Vstupy J a K na log. 1.

Další jednoduchá možnost zdroje signálu je použít obvod 555. Nevýhodou je malá přesnost a stabilita signálu. Výsledkem bude nepřesnost digitálních hodin. Zapojení ukazuje následující obrázek.

zdroj signálu 1Hz s obvodem 555

Obr. 5 - zdroj signálu 1 Hz s obvodem 555

Pro dosažení co nejlepší stability signálu v tomto zapojení je potřeba použít kvalitní kondenzátory a odpory. Perioda signálu se vypočte ze vztahu:

perioda signálu s obvodem 555

a frekvence je převrácenou hodnotou:
frekvence signálu s obvodem 555

kde:
  • T = perioda (sec)
  • f = frekvence (Hz)
  • R = odpor (Ohm)
  • C = kapacita (Farad)
čítací dekády

Další částí našich hodin jsou čítací dekády. Z blokového schematu v úvodu (obr.1) je vidět, že potřebujeme čítač do "60" pro sekundy a pro minuty. Tyto čítače jsou identické. Dále budeme potřebovat čítač do "12" nebo "24", podle toho, zda se rozhodneme pro hodiny s cyklem 12 hodin nebo 24 hodin. Musíme zvolit vhodné čítací obvody. V řadě 4000, respektive 4500 se nabízí více možností. První možnost je použít obvody 4510. Jsou to synchronní obousměrné BCD čítače s možností přednastavení (paralelního vkládání dat). Pro konstrukci hodin nepotřebujeme čítání vzad (dolů) ani paralelní vkládání dat. Následující obrázky jsou převzaté z katalogového listu obvodu 4510 a ukazují blokové schema obvodu (obr.4) a funkční tabulku (obr.5).

blokové schema obvodu 4510
Obr. 6 - blokové schema obvodu 4510

funkční tabulka obvodu 4510

Obr. 7 - funkční tabulka obvodu 4510

kde:

  • P0 ... P3 jsou přednastavovací vstupy
  • PL je nastavovací vstup
  • Q0 ... Q3 jsou BCD výstupy čítače
  • CP je hodinový signál
  • /CE je vstup povolující činnost obvodu
  • UP/DN je vstup který určuje, zda čítač bude čítat "nahoru" nebo "dolů"
  • MR je nulovací vstup
  • /TC je výstup, přenos označující přetečení čítače
Z funkční tabulky je zřejmé, že nulovací signál (RESET) je aktivní v log.1, vstup /CE povolující funkci obvodu musí být v log.0, aby obvod čítal. Pro počítání "nahoru" musí být vstup "UP/DN" v log. 1. a vstup "PL" pro paralelní vkládání dat (který nevyužijeme), je aktivní v log.1. S ohledm na tyto podmínky uzemníme vstupy P0 až P3 a vstup "PL". Dále uzemníme vstup "/CE". Naopak vstup "UP/DN" připojíme na napájecí napětí.

Následující obrázek ukazuje zapojení obou synchronních čítačů 4510 pro počítání sekund do hodnoty "60". V obrázku, spodní čítač počítá jednotky sekund, horní čítač počítá desítky sekund. Vstupní signál (CLOCK) je společný pro oba synchronní čítače. Když na výstupech desítkového čítače nastane binární stav "0110", tedy dekadicky "6", připojené hradlo AND vygeneruje log.1 a ta vynuluje oba čítače. Současně se tento nulovací signál použije jako vstup do stejného čítače pro počítání jednotek a desítek minut.

synchronní čítač do hodnoty 60 s obvodem 4510

Obr. 8 - synchronní čítač do hodnoty "60" s obvodem 4510

kde:

  • A0, B0, C0, D0 jsou BCD výstupy jednotek
  • A1, B1, C1, D1 jsou BCD výstupy desítek
  • CLOCK je vstupní signál. Pro počítání sekund je to 1 Hz, pro počítání minut je to výstupní signál NEXT STAGE z čítače sekund
  • NEXT STAGE je výstupní signál na další stupeň hodin
Zbývá nám vytvořit čítač do hodnoty "12" anebo "24" pro počítání hodin. Tento "hodinový" čítač je identický s "minutovým" a "sekundovým" čítačem. Rozdíl je pouze v tom, že vynuluje čítač buďto po dosažení hodnoty "12" nebo "24". Vstup do hodinového čítače je z výstupu, nulovacího signálu minutového čítače. Zapojení hodinového čítače ukazuje následující obrázek:
synchronní čítač do hodnoty 12 a 24 s obvodem 4510

Obr. 9 - synchronní čítač do hodnoty "12" a "24" s obvodem 4510

Nulování hodinového čítače zajišťují hradla AND. Hradlo č.3 (U16, obvod 4081) dekoduje stavy "0010" na desítkovém čítači a "0100" na jednotkovém čítači. Dekadicky tedy stavy "2" a "4". Hradlo č.4 (U16, obvod 4081) dekoduje stavy "0001" na desítkovém čítači a "0010" na jednotkovém čítači. Dekadicky tedy stavy "1" a "2". Volbu cyklu 12 hodin nebo 24 hodin lze zvolit propojením na J2. V pozici 1-2 je cyklus 12 hodin, v pozici 2-3 je cyklus 24 hodin.

Místo obousměrných synchronních čítačů 4510 můžeme pro naše hodiny použít také dvojité synchronní BCD čítače 4518. V každém pouzdru jsou dva tyto čítače. Následující obrázek ukazuje blokové schema obvodu 4518:

blokové schema synchronního čítače 4518

Obr. 10 - blokové schema synchronního čítače 4518

Funkční tabulka čítačů 4518:

funkční tabulka synchronního čítače 4518

Obr. 11 - funkční tabulka synchronního čítače 4518

Pro funkci čítače jsou dvě možnosti. Buďto přivádíme signál na vstup CLOCK a vstup ENABLE musí mít úroveň log.1, v tom případě čítač čítá na náběžnou hranu vstupního signálu. Nebo vstup CLOCK je na úrovni log.0 a vstupní signál přivádíme na vstup ENABLE. V tomto případě čítač reaguje až na sestupnou hranu vstupního signálu. Následující obrázek ukazuje schema vteřinového čítače s obvodem 4518.

vteřinový čítač s obvodem 4518
Obr. 12 - vteřinový čítač s obvodem 4518

Zatímco obě dekády vteřinového čítače reagují na sestupnou hranu vstupního vteřinového signálu, pak jednotková dekáda minutového čítače - viz následující obrázek reaguje naopak na náběžnou hranu. Důvod je ten, že při dosažení binární hodnoty "0110" na desítkovém, čítači vygeneruje hradlo AND nulovací signál. Vteřinový čítač je vynulován a signál je současně použit na vstupu minutového čítače. Proto se vstupní dekáda minutového čítače spouští náběžnou hranou. Druhá dekáda minutového čítače se spouští sestupnou hranou, stejně jako v případě vteřinového čítače. Zapojení minutového a vteřinového čítače se liší zapojením první dekády.
minutový čítač s obvodem 4518
Obr. 13 - minutový čítač s obvodem 4518

Nakonec, následující obrázek ukazuje zapojení hodinového čítače. Obě dekády hodinového čítače jsou zapojeny stejně jako v případě minutového čítače. Liší se však v dekódování délky cyklu. Podobně jako na obrázku 9 nahoře (hodinový čítač s obvodem 4510) jsou použita dvě hradla AND a nastavením propojky na J3 lze zvolit modul čítání 12 nebo 24 hodin.
hodinový čítač s obvodem 4518
Obr. 14 - hodinový čítač s obvodem 4518

Jsou ještě další možnosti, jak vytvořit digitální hodiny pomocí CMOS obvodů? Ano, ještě existuje obvod 4026. To je Johnsonův desítkový čítač s dekodérem na 7-segmentový kód. Nedostatek obvodu 4026 je, že není schopen proudově řídit LED displeje, resp. dovolený proud je 10mA, což je dost na "hraně". Primárně je obvod 4026 určen pro VFD 7-segmentové displeje. Tomu odpovídá max. povolené napětí +20V.

displeje a dekodéry

Úvodem zmíním, že připojení digitronů na CMOS obvody řady 4000 není přímo možné, protože obvody této řady nedají dostatečný proud pro řízení budičů. Pro CMOS obvody lze použít LED nebo LCD nebo VFD displeje. Jedním z dekodérů pro řízení LED displeje v řadě CMOS je obvod 4511. Tento obvod je schopen přímo řídit LED displeje se společnou katodou. LED displeje se společnou anodou může řídit přidáním tranzistoru na každý segment. Následující obrázek ukazuje blokové schema obvodu 4511.

blokové schema obvodu 4511 pro řízení LED displeje
Obr. 15 - blokové schema obvodu 4511 pro řízení LED displeje

Obvod 4511 obsahuje vstupní paměť, tzv. "latch", do které se zapisují data. V našich hodinách tuto paměť nevyužijeme. Na vstupní paměť navazuje dekodér z BCD kódu na 7-segmentový kód. Za dekodérem následují budiče LED diod.
Následující tabulka ukazuje funkce jednotlivých vstupů a odpovídjící stavy na výstupech obvodu 4511.
funkční obvodu 4511 pro řízení LED displeje
Obr. 16 - funkční tabulka obvodu 4511 pro řízení LED displeje

V následujícím obrázku je vidět schema zapojení obvodu 4511 pro jedno místo. V našich hodinách potřebujeme šest takovýchto modulů. Vstupní signály Ax,Bx, Cx, Dx jsou BCD data z výstupů jednotlivých čítačů. Například A0, B0, C0, D0 pro jednotky vteřín, A1, B1, C1, D1 pro desítky vteřin atd. Vstup "/BI" je zhášecí vstup. My jej využijeme pro řízení jasu displeje. Mezi obvodem 4511 a každým segmentem displeje musí být odpor, který určuje proud LED diodou v segmentu. Hodnota odporu závisí jednak na napájecím napětí v hodinách (od +5V do +12V) a dále od typu displeje. Hodnotu odporu spočtete z Ohmova zákona. Má-li na displeji svítit desetinná tečka, je nutno ji připojit přes odpor na napájecí napětí. Vstup "LT" je "Ligh Test". Pokud by se uzemnil, budou svítit všechny segmenty displeje bez ohledu na hodnoty vstupů. Z toho důvodu je tento vstup připojen na napájecí napětí. Vstup "LE" je "Latch Enable". Tuto funkci nevyužíváme a tak je vstup "LE" uzemněný.
zapojení obvod 4511 pro řízení LED displeje
Obr. 17 - zapojení obvodu 4511 pro řízení LED displeje

V následujícím obrázku vidíme schema zapojení obvodu pro nastavení jasu displeje. Je použit obvod 555, který v závislosti na nastavení trimru generuje signál s frekvencí mezi 50 až 80 Hz. Tento signál se přivádí na vstupy "/BI" obvodů 4511 a tím řídí jas displeje.
zapojení obvodu 4511 pro řízení jasu LED displeje
Obr. 18 - obvod pro řízení jasu LED displeje

Dalším obvodem který můžeme použít pro řízení LED (nebo LCD nebo VFD) displeje, je obvod 4543. Následující obrázek ukazuje jeho blokové schema.
blokové schema obvodu 4543 pro řízení LED displeje
Obr. 19 - blokové schema obvodu 4543 pro řízení LED displeje

Obvod 4543 má, podobně jako obvod 4511, vstupní paměť, za kterou následuje dekodér BCD na 7-segmentový kód a výstupní budiče displeje. Dekodér BCD obvodu 4543 se od obvodu 4511 liší tím, že číslice "6" má v případě obvodu 4543 navíc segment "a". Číslice "9" má navíc segment "d". Obvod 4543 má stejně jako obvod 4511 vstup "LD" pro záznam do paměti a zhášecí vstup "BI". Obvod 4543 má navíc vstup "PH", který umožňuje volbu LED displeje se společnou katodou nebo společnou anodou. Vstup "PH" se dále používá pro připojení LCD displeje.

Z tabulky funkcí jsou vidět rozdíly oproti obvodu 4511.

funkční tabulka obvodu 4543 pro řízení LED displeje
Obr. 20 - funkční tabulka obvodu 4543 pro řízení LED displeje

V následujícím obrázku vidíme schema zapojení LED displeje se společnou katodou a s obvodem 4543. Pokud se má použít displej se společnou anodou, vstup "PH" ("Phase") nebude uzemněn, ale bude připojen na napájecí napětí. Samozřejmě vývod společné anody displeje bude také na napájecím napětí, místo uzemnění.
obvod 4543 pro řízení LED displeje
Obr. 21 - zapojení obvodu 4543 pro řízení LED displeje

napájecí zdroj

Naše hodiny musíme z něčeho napájet. Největší spotřebu budou mít LED displeje. Spotřeba CMOS obvodů je zanedbatelná. Pokud bychom použili LCD displej místo LED, mohli bychom hodiny napájet z malé baterie +9V. V případě LED displejů potřebujeme výkonější napájecí zdroj. Jak velký výkon má mít? Máme 6 displejů, každý má 7 segmentů. Nejvíce segmentů bude rozsvícených například ve 23:56:56. Bude svítit 32 segmentů, k tomu asi nějaké desetinné tečky nebo dvojtečky. Počítejme tedy s rezervou 6 číslovek x 7 segmentů = 42 segmentů. Když každý segment bude odebírat 10mA, dostaneme odběr 470 mA. Při napětí +9V to je spotřeba 4.23 Watt. Postačí nám jednoduchý stejnosměrný stabilizovaný zdroj +9V s výkonem 5 Watt.

nejjednodušší rozpis součástek

CMOS 4060 oscilátor s děličkou 1 ks
Xtal krystal 32.768 kHz 1 ks
CMOS 4027 klopný obvod J-K 1 ks
CMOS 4518 dvojitý čítač 3 ks
CMOS 4081 4-násobné dvouvstupové hradlo AND 1 ks
CMOS 4511 BCD dekodér + budič displeje 6 ks
LED displej displej LED se společnou katodou 6 ks
obvod 555 obvod pro řízení jasu 1 ks

Dále budeme potřebovat 42 kusů odporů pro segmenty LED displeje. Obvyklé hodnoty bývají mezi 300 až 600 Ohm. Bude potřeba si navrhnout plošný spoj a pořídit hodinám nějakou skříňku. Můžete se inspirovat těmito hodinami, které vznikly na podzim v roce 2008. Jako zdroj signálu používají přesný oscilátor 10 MHz, z kterého se postupným dělením získává signál 1 Hz. Hodiny běží nepřetržitě od listopadu 2008 a mají odchylku asi 1 sec / měsíc.