Řízení sedmisegmentových zobrazovačů u termostatu
Napsal: 12 dub 2025, 14:00
Zdravím.
Nedávno v jiném vlákně
http://www.ebastlirna.cz/modules.php?na ... highlight=
jsem psal o ročníkové práci vnuka, kde jsme nakonec zvolili stavbu termostatu. Vnuk si už zhotovil tišťáky a pracuje na realizaci.
Já se mu snažím vysvětlit funkci všech vnějších obvodů kolem řídícího mikroprocesoru, tj. k čemu tam jsou, jakou mají funkci a jak ty obvody pracují.
Na dvou displejích se má zobrazovat teplota od -30°C do +125°C s rozlišením 0,1°C. Kromě toho se zobrazují i krátké texty jako Err a pod.
Nějak se mi nedaří pochopit, jak jsou ze dvou posuvných registrů ovládány segmenty zobrazovačů. Zobrazovače mají společnou anodu a segmenty se spínají nulou z posuvných registrů. Jednotlivé zobrazovače se postupně připojuji k napájení přes tranzistory v anodách.
Takže procesor musí nejdříve uložit sériově do posuvných registrů bitovou kombinaci pro dva zobrazovače nad sebou, která na výstupu v paralelní podobě pak rozsvítí příslušné segmenty, které se v daném sloupci připojí na napájení. Pak procesor pošle do posuvných registrů kódy pro další sloupec, a ten se opět připojí na napájení. Prostě klasický multiplex.
Až potud je vše zřejmé a není na tom nic neobvyklého. Schéma není úplně dobře čitelné, ale dopátral jsem se k těmto výsledkům.
Nemohu pochopit, proč kdybych chtěl zobrazit např. hodnotu 1 1 1 1, což odpovídá segmentům "b,c".
Tak pro první a třetí zobrazovač zprava na schématu jsou segmenty "b" spojeny a připojeny asi na výstup GB registru, a bezdůvodně jsou spojeny se segmenty "g" z druhého a čtvrtého zobrazovače
Segmenty "c" spojeny a připojeny na výstup DC registru a bezdůvodně jsou spojeny se segmenty "d" z druhého a čtvrtého zobrazovače.
Pro druhý a čtvrtý zobrazovač musí být tedy výstupní kód pro 1 1 1 1 jiný, než pro první a třetí zobrazovač.
Toto nelogické zapojení lze vysledovat pro všechny ostatní segmenty.
Vím, že jsem to krkolomně poslal, ale ve schématu se to dá snadno dohledat. Ta "polská logika" mi nedává smysl. Já bych asi propojil všechny shodné segmenty paralelně a připojil na shodný výstup registru.
Má popsané zapojení nějaký důvod, proč to programátor mikroprocesoru takto zvolil. Do programu samozřejmě nevidíme, ale třeba to znalci programování dokážou nějak vysvětlit.
Přikládám detailní výběr schéma propojení zobrazovačů s registry, kompletní schéma termostatu a vnitřní zapojení serioparalelního posuvnbého registru 74HC595.
Nedávno v jiném vlákně
http://www.ebastlirna.cz/modules.php?na ... highlight=
jsem psal o ročníkové práci vnuka, kde jsme nakonec zvolili stavbu termostatu. Vnuk si už zhotovil tišťáky a pracuje na realizaci.
Já se mu snažím vysvětlit funkci všech vnějších obvodů kolem řídícího mikroprocesoru, tj. k čemu tam jsou, jakou mají funkci a jak ty obvody pracují.
Na dvou displejích se má zobrazovat teplota od -30°C do +125°C s rozlišením 0,1°C. Kromě toho se zobrazují i krátké texty jako Err a pod.
Nějak se mi nedaří pochopit, jak jsou ze dvou posuvných registrů ovládány segmenty zobrazovačů. Zobrazovače mají společnou anodu a segmenty se spínají nulou z posuvných registrů. Jednotlivé zobrazovače se postupně připojuji k napájení přes tranzistory v anodách.
Takže procesor musí nejdříve uložit sériově do posuvných registrů bitovou kombinaci pro dva zobrazovače nad sebou, která na výstupu v paralelní podobě pak rozsvítí příslušné segmenty, které se v daném sloupci připojí na napájení. Pak procesor pošle do posuvných registrů kódy pro další sloupec, a ten se opět připojí na napájení. Prostě klasický multiplex.
Až potud je vše zřejmé a není na tom nic neobvyklého. Schéma není úplně dobře čitelné, ale dopátral jsem se k těmto výsledkům.
Nemohu pochopit, proč kdybych chtěl zobrazit např. hodnotu 1 1 1 1, což odpovídá segmentům "b,c".
Tak pro první a třetí zobrazovač zprava na schématu jsou segmenty "b" spojeny a připojeny asi na výstup GB registru, a bezdůvodně jsou spojeny se segmenty "g" z druhého a čtvrtého zobrazovače
Segmenty "c" spojeny a připojeny na výstup DC registru a bezdůvodně jsou spojeny se segmenty "d" z druhého a čtvrtého zobrazovače.
Pro druhý a čtvrtý zobrazovač musí být tedy výstupní kód pro 1 1 1 1 jiný, než pro první a třetí zobrazovač.
Toto nelogické zapojení lze vysledovat pro všechny ostatní segmenty.
Vím, že jsem to krkolomně poslal, ale ve schématu se to dá snadno dohledat. Ta "polská logika" mi nedává smysl. Já bych asi propojil všechny shodné segmenty paralelně a připojil na shodný výstup registru.
Má popsané zapojení nějaký důvod, proč to programátor mikroprocesoru takto zvolil. Do programu samozřejmě nevidíme, ale třeba to znalci programování dokážou nějak vysvětlit.
Přikládám detailní výběr schéma propojení zobrazovačů s registry, kompletní schéma termostatu a vnitřní zapojení serioparalelního posuvnbého registru 74HC595.