Výpis na DE 113 použitím 74hc164

Zdravím,

mám problém s výpisom na 7 segmentový display, použitím reistra 74HC164.

  1. Jednotlivé čislice z displeja postupne miznu (to bude asi obvodom 74hc164), čiže asi bude treba refreshovat MR.
  2. Na jednom segmente © sa mi hneď po napájani vytvori trhlina (nevykreslene body) a neviem čo s tým. (tiež je divné že mi občas zasvietia segmenty ktora vôbec nepoužívam)

Mimochodom schému ako zapojiť displej som ani nenasiel, teda neviem ani ci tam niekde idu odpory, alebo pod.

Pracoval už niekto s týmito displejmi (príp. aj 74hc164)?

Thx

Pre pouzitie 74HC164 je este potrebne pouzit zachytny register, alebo pocas posielania udajov display zhasnut.
Omnoho vhodnejsi je 74HC595. Obsahuje vsetko co potrebujes.

Ano momentálne sa pokúšam to refreshovat tak aby nebolo vidiet blikanie a aby som nebol príliž závisly na tom v programe.

No s tým refreshovaním asi nepohnem, buď to nesvieti vôbec alebo to preblikáva, tak sa teda pýtam je tu nejaká možnosť ako pomocou 74hc164 udržať nepretržite svietenie segmentov (za predpokladu použitia len týchto registrov a bežných súčiastok)?

thx

Ak budes refresovat >60x za sekundu a to tak, ze segmenty budu svietit aspon 90% casu, tak to bude OK. Dosiahnes jas 90%. Pocas refreshu musis segmenty zhasnut. Ak ich nemuxujes (a tym vies vypnut segmenty spinanim napatia na spolocnej anode/katode), alebo nemas ako vypnut napajanie segmetnov, tak neviem ako ich zhasnes. Asi najjednoduchsie bude dorobit vypinanie napajania segmentov cez tranzistor. Chce to nejake tri suciastky naviac a jeden pin procesora.

Vsimol som si , ze vela kontrukcii pouziva 74HC164 na ovladanie segmentov. Nerozumiem tomu, ze preco. :slight_smile:

To máš LCD nebo LED? Přítel google na DE113 mi moc nepomohl :blush:

To je 7 segment LCD (a to je sčáasti aj problém)

Presnejšie je to tento.

LCD musíš napájet střídavím signálem. Nevím, jak je to přesně, ale myslím, že 32hz by mělo bohatě stačit. Musíš 32x za vteřinu krmit 164 a neustále měnit střídavě data. Pokud do LCD pustiš stejnosměrné napětí, tak ho zničíš. A to je to, že se ti občas rozsvítí i to co nemá a nebo že ti to dělá trhliny v segmetech.

Takže ak tomu správne rozumiem, mal by skaždých cca 32ms invertovat data a zaroven bp?

Nevím, jestli bude 32ms stačit, ale myslím, že ano. Když to bude fungovat, můžeš pak laborovat s časem. A musíš měnit polaritu oproti společnému pinu, který tak měníš oproti segmentům.Snad jsem to napsal dobře :smiley:

Ten displej je celý divný. Keď mením polaritu svieti vsetko co je zapojené (a práve nepouživané). Do pekla strašne blbý mechanizmus a ja som sa chcel vyhnuť tupím refreshovaním (ako napr. multiplexovanie pri led atd.)

No vďaka za rady.

Martine, obvod 74164 obsahuje 8ks statických klopných obvodů typu D, takže nač záchytný registr? 74164 jsem pro buzení displeje použil již několikrát a vždy stačilo “nacvakat” hodinami data a hotovo. Když se to udělá tak rychle, že oko nepostřehne změny při posuvu, tak to nemá šanci blikat. Řešil jsem jediný problém, hned při prvém použití. Při krokování programu se data přenesly a zobrazily naprosto v pořádku, ale při poslání normální rychlostí se nezobrazil údaj na posledním (čtvrtém) displeji (mluvím o čtyřmístném displeji LED). Pomohlo důsledné blokování pouzder registrů keramickými kondy 100nF. Od té doby to jede jak hodiny.

Vím, že byla řeč o LCD displeji, ale to snad na principu buzení pomocí posuvných registrů nic němění?

Funkce 74164 je patrna z datasheetu.

Pokud někdo chcete schéma, které mi s LEd displeji spolehlivě funguje, mohu poslat (ale to je snad jasné :slight_smile:.

Vlasťa

No ved preto, ze tam treba tie data nacvakat velmi velmi rychlo. A na blikanie pri posielani dat sa tazatel stazoval.
Ak pouzijes 74hc164 a ma vo vysledku sietit iba jeden poseldny segment, tak pouzitim 74HC164 postupne rozsvietis vsetky segmenty, i ked na kratku dobu. Ale oko vidi. I ked je to len 0,1ms, oko to uz vidi. Ak clockujes a s obsahom “nehybes” 200ms, tak to oko vyhodnoti este aj ako neprijemne blikanie. Neprijemnost zavisi od okoliteho osvetlenia.

Ak pouzijes 74HC595, tak

  1. lubovolne dlho posielas data cez vsetky 74HC595, kludne i v priebehu 100ms

  2. po ukonceni posunu das jednym signalom (/CS) pokyn vsetkym 595-kam naraz, aby si do vystupneho registra prepisali obsah posuvneho registra. Ten tam ostane dokedy sa zase neudeje nabezna hrana na /CS (pin 12). Velmi jednoduche, bez potreby znasilnovat sw k turborychlostiam.
    Ak vyuzivas SPI pre viac cinnosti, napr. SPI Flash, SPI EEPROM, Nx 74HC595, SPI AD prevodnik, SPI DA prevodnik, vzdy musis povedat pomocou signalu /CS, s kym ze sa to chces bavit.

To 74HC164 neumoznuje, lebo CLK vnima vzdy a neda sa povedat, ze teraz cez teba lezu nejake data, ale nevsimaj si ich. Bez dalsej pridanej elektroniky to skratka nie je mozne. 74HC595 to ma vyriesene.

Neviem si dalej predstavit, ako by sa iba pomocou 74HC164 ovladali relatka. :slight_smile:

No a ako bonus, ak na pin 13 74HC595 (/OE) privedies PWM signal, elegante mozes riadit silu svietivosti LED displaya. A to v priamom, alebo i muxovanom rezime.

Pre priame ovladanie jednej 7 segmentovky tu spomenutych LCD je urceny obvod Cd4543 alebo M5482. Ja by som ho vsak nepouzival. Pre budenie by som pouzil ATmega8/32 (samozrejme spravne nasoftenu) a tej by som cez UART, alebo cez I2C rozhranie posielal, co sa ma zobrazit. No nech sa stara nie?

Ano, máš pravdu, že tam data posílám velmi rychle (cca 1 bit za 5us, celý displej je tedy obnoven za cca 160us) a nevšiml jsem si, že by to působilo rušivě.

74HC595 jsem neznal a nepoužíval (na Valašsku nejde sehnat :slight_smile:. Ale mají jej v GME, takže jej hned vyzkouším … :slight_smile:.

Řešení s 74164 má drobnou výhodu v tom, že stačí jen dva signály, u 74HC595 potřebuješ tři až čtyři. Já jsem 74164 začal používat v době, kdy se jetě dělalo s PIC16F84 a tak se občas drátů nedostávalo :slight_smile:.

S těmi relátky je to samozřejmě pravda a s tím řízením jasu pomocí PWM bezvadná finta!

Vlasťa

Puzil som teslacky LCD vyzera tak isto. prerusenie som mal kazdych 10 alebo 20ms. Na zobrazenie 100,10 a 1 som mal pouzite tri registre ktore sa v preruseni invertovali. Na konci prerusenia sa posielali data pre 3*4094 plus impulz pre Strobe.

Toto jsem se dočetl, třeba ti to pomůže.

Uz som to chcel davno spomenut…
ten KENY je uzasny.

Len dufam, ze nam ho zase nezabiju :slight_smile:

Ja to myslíš???

A jinak … Ti zku… Parchanti :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley:,

Bastards, you killed Kenny again!!

a nebo

killed Kenny again

week again?