Stránka 1 z 2
dekodér BCD/DEC naopak
Napsal: 03 dub 2016, 21:49
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 ).

Napsal: 03 dub 2016, 22:15
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.
Napsal: 03 dub 2016, 22:16
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.
Napsal: 03 dub 2016, 22:41
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é.
Napsal: 03 dub 2016, 22:46
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?
Napsal: 03 dub 2016, 22:55
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.
Napsal: 03 dub 2016, 22:58
od Cowley
Jak psal uz i Bernard, pokud to nepujde vyloucit, tak jsou diody k nicemu...
Napsal: 03 dub 2016, 22:59
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
Napsal: 03 dub 2016, 23:01
od agadirCZ44
Cow ley

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

Napsal: 03 dub 2016, 23:04
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.
Napsal: 03 dub 2016, 23:06
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.
Napsal: 03 dub 2016, 23:07
od agadirCZ44
Jo

tohle to jsem přesně hledal díky

Napsal: 03 dub 2016, 23:08
od mojza
A v případě parazitního současného stisknutí dvou tlačítek je funkce obvodu popsána časovým diagramem.
Napsal: 04 dub 2016, 02:08
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.
Napsal: 04 dub 2016, 14:08
od css
Krásně "zmatlaná" úplně triviální otázka

!
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.."

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

.
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.