dekodér BCD/DEC naopak

Náhrady součástek všeho druhu, informace a dotazy k součástkám

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
agadirCZ44
Příspěvky: 17
Registrován: 05 led 2015, 00:00

dekodér BCD/DEC naopak

#1 Příspěvek od agadirCZ44 »

Měl bych takovou blbou otázku, podařilo se mi najít dekodér 7442 který převádí desítkové číslo na binární ale já bych to potřeboval opačně.

Tedy z 16 čísel desítkových na 16 kombinací na výstupu (tedy 4 výstupy) ,pod jakým kodem se tento IO skrývá ? (a nejlépe 16 čísel a pak i 32 čísel
IO ). :wink:
Uživatelský avatar
Bernard
Příspěvky: 3654
Registrován: 27 kvě 2005, 00:00

#2 Příspěvek od Bernard »

16 vstupů dává moc kombinací, jak bys vyloučil ty všechny, kde je aktivních víc než právě jeden vstup? Najdi si pro inspiraci "4x4 keyboard decoder", tam jsou 4 bity na výstupu akorát.
Uživatelský avatar
Cowley
Příspěvky: 3557
Registrován: 04 úno 2005, 00:00

#3 Příspěvek od Cowley »

Obavam se, ze nejjedodussi to bude s nejakymi PISO (treba 4x 4021 ) nebo s 2x MCP23017 a MCU a jeste Ti muze MCU hlidat, zda nejsou aktivni 2 a vice vstupu soucasne.
Koukni sem, ale nadeji tomu pro slozitost nedavam.

Drive to umela MH1KK1 jestli se nepletu, jeste jich maji par v Hadexu :)

Ale take zalezi na dalsim potrebnem zpracovani a nasazeni zapojeni.
Uživatelský avatar
agadirCZ44
Příspěvky: 17
Registrován: 05 led 2015, 00:00

#4 Příspěvek od agadirCZ44 »

Pro upřesnění bych to potřeboval že na desítkovém vstupu budou tlačítka a aby to na výstupu dávalo informaci které z tlačítek je právě aktivované.
Uživatelský avatar
Cowley
Příspěvky: 3557
Registrován: 04 úno 2005, 00:00

#5 Příspěvek od Cowley »

No to by davalo, mohl by tam byt displej, LEDky, cokoliv.

Pri stisku jednoho tlacitka by svitila konkretni cislice, treba 05 a pri stisku vice tlacitek by to mohlo preblikavat mezi napr. 05 a 12 a nebo by svitily pomlcky jako CHYBA.

Nebo by to tlacitko 12 MCU ignoroval, protoze ta 05 tam byla driv. To uz je veci programu.

To bude neco na masinky? Volba koleje nebo tak neco?
Lukas-Peca
Příspěvky: 4500
Registrován: 06 kvě 2007, 00:00
Bydliště: Zlín
Kontaktovat uživatele:

#6 Příspěvek od Lukas-Peca »

Pokud by v jednom okamžiku nebylo seplé víc jak jedno tlačítko, tak by na to snad stačila stará dobrá diodová logika.
Uživatelský avatar
Cowley
Příspěvky: 3557
Registrován: 04 úno 2005, 00:00

#7 Příspěvek od Cowley »

Jak psal uz i Bernard, pokud to nepujde vyloucit, tak jsou diody k nicemu...
Uživatelský avatar
agadirCZ44
Příspěvky: 17
Registrován: 05 led 2015, 00:00

#8 Příspěvek od agadirCZ44 »

ano bude to uděláno pouze na spuštění jednoho tlačítka. takže vždy jen jedina možná adresa
Uživatelský avatar
agadirCZ44
Příspěvky: 17
Registrován: 05 led 2015, 00:00

#9 Příspěvek od agadirCZ44 »

Cow ley :D máš uplnou pravdu bude to jakoby zmenšení počtu použitých vstupu do MCU, kde se to zase rozkoduje ale už pomocí programu, aby dokázal pracovat s více tlačítky :)
Uživatelský avatar
mojza
Příspěvky: 351
Registrován: 01 zář 2006, 00:00
Bydliště: Frýdek-Místek

#10 Příspěvek od mojza »

Ano, MH1KK1 je kodér pro bezkontaktní klávesnici jehož úkolem je po stisknutí příslušného tlačítka klávesnice přiřadit každému hexadecimálnímu symbolu čtyřbitové binární slovo na výstupech Q₁ až Q₄ podle funkční tabulky.
Uživatelský avatar
Cowley
Příspěvky: 3557
Registrován: 04 úno 2005, 00:00

#11 Příspěvek od Cowley »

Kdysi jsem to delal jeste tak, ze jsem nechal rotovat BCD citac dokola a adresoval jim 16 vstup. multiplexer/demultiplexer (4067). Pokud nakrokoval na vstup, ktery byl aktivni, tak se rotovani zastavilo a nerozjelo se, dokud se ten vstup (pustenim tlacitka) neuvolnil.
Vic aktivnich tlacitek nemelo vliv, vyhralo to, ktere melo nizsi "cislo" na vstupu.
BCD adresa se pri zastaveni zobrazila na displeji.
Naposledy upravil(a) Cowley dne 03 dub 2016, 23:07, celkem upraveno 1 x.
Uživatelský avatar
agadirCZ44
Příspěvky: 17
Registrován: 05 led 2015, 00:00

#12 Příspěvek od agadirCZ44 »

Jo :lol: tohle to jsem přesně hledal díky :)
Uživatelský avatar
mojza
Příspěvky: 351
Registrován: 01 zář 2006, 00:00
Bydliště: Frýdek-Místek

#13 Příspěvek od mojza »

A v případě parazitního současného stisknutí dvou tlačítek je funkce obvodu popsána časovým diagramem.
Uživatelský avatar
Celeron
Příspěvky: 20512
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#14 Příspěvek od Celeron »

Tohle by asi šlo napsat logický rovnice a naprogramovat do GAL16V8 pro tlačítko 0-9. Na víc by nestačily vstupy.
Jirka

Proč mi nemůže všechno chodit hned ?!!
Uživatelský avatar
css
Příspěvky: 357
Registrován: 05 led 2011, 00:00
Bydliště: Karlovy Vary

#15 Příspěvek od css »

Krásně "zmatlaná" úplně triviální otázka :D !

agadirCZ44: Tvé zadání obsahuje nesmysly - obvod 7442 nepřevádí desítkové číslo na binární, jak píšeš, ale právě naopak, ABCD jsou binární vstupy, 0-9 jsou desítkové výstupy, aktivní (v log.0) je ten, jehož číslo v binárce přivedeš na vstupy ABCD. Další nesmysl je "..z 16 čísel desítkových.." :lol: :lol: 16 čísel je 16 čísel, ne deset!

Pokud ti opravdu stačí snímat vždy jen stav jednoho tlačítka, nepotřebuješ kombinace více tlačítek naráz, je jako tank na vrabce použití ať už MCU, nebo zapojení s 6ti čipy, jak ti někdo radí, pobavil jsem se :lol: .

Takže, jak to vyřešit správně: Pokud ti stačí 8 tlačítek, použij obvod 74xx148, klíčové slovo pro tvou požadovanou funkci je ENCODER. Konkrétně 74148 snímá stav 8mi vstupů a převádí jej na 3bitové binární číslo. Stejnou funkci dělá 74xx147 pro 10 vstupů a 4bit binární číslo na výstupu. Jestli ale potřebuješ 11-16 tlačítek, bude situace obtížnější, ve standardní logice jsem vhodný čip nenašel (možná jsem špatně hledal), existují speciální, ale ne úplně snadno sehnatelné. Buď použij MH1KK1 od Tesly, jak tu už někdo radil, pokud ti nevadí, že je obsolete, a nebo je asi obvodově opravdu nejsnažší naprogramovat nějaké CPLD, třeba GAL22V10 (mohu vypomoci). Pravda :!: GAL poněkud víc baští proud, pokud by to byl problém, bude asi vhodnější nějaký moderní MCU.
Odpovědět

Zpět na „Součástky“