Dekodér je kombinační logický obvod, který ze vstupních dat v určitém kódu vytváří na výstupu jiná, často jednodušší data. Funkce dekodéru je inverzní k funkci kodéru.
Typickým příkladem dekodéru je binární dekodér či demultiplexor, obvod, který binárně kódovaný vstupní signál o n bitech převádí na 2n výstupů, kódovaných jako 1 z 2n. Tak dekodér adresy v paměti počítače převádí část adresy na výstup 1 z n, čímž vybírá např. řádek nebo sloupec paměťové matice.
Jiný běžný typ dekodéru převádí binárně kódovanou číslici na její zobrazení na sedmisegmentovém displeji, čili pro každou vstupní číslici aktivuje příslušné segmenty. Vstup dekodéru bude tedy čtyřbitový (obvykle plus aktivační bit) a výstup by mohl být až 16-bitový, ale pro daný případ stačí sedmibitový. Například je-li na vstupu číslice 8 (IOOO), bude výstup aktivovat všechny segmenty displeje (IIIIIII), kdežto je-li na vstupu 1, bude aktivovat pouze pravé dva.
Složitější dekodér je součástí každého procesoru, kde dekóduje operační znak instrukce (mikroinstrukce), to jest aktivuje příslušná hradla a další signály procesoru k provedení dané instrukce.
Příklad: Dekodér z BCD na 2/5
Kód BCD
Číslicové měřící přístroje zpracovávají desítkové cifry někdy oddělené (rády), je tedy vhodné převést každou cifru na binární tvar zvlášť.
Na číslo do deseti nám postačují 4 binární pozice, tedy 8,4,2,1 (podle řádu). Na rád desítek postačuje 80,40,20,10, pro stovky stačí základní binární pozice násobit stem atd. Toto spojení binárního a desítkového kódování je právě BCD (binary code decimal) kód. Označení BCD(8421) znamená pořadí v kódu, někdy se používá obrácených vah 1248.
Vzhledem k tomu, že existuje šestnáct různých kombinací čtyř bitů, a desítkových číslic je jen deset, je šest kombinací nevyužito. V porovnání s hexadecimální soustavou, kde je pro každé čtyři bity využíváno všech šestnáct hodnot (1010 až 1510 jako písmena AH až FH), je BCD kód z hlediska využití paměti neúsporný.
Že je číslo v BCD kódu, je podstatná a prioritní informace: Bez její znalosti by se totiž bitový zápis mohl jevit jako obyčejné hexadecimální číslo. Z BCD a hexadecimálního kódu vyplývají jiné hodnoty. Například (1001 1001)2 = (99)10 pro BCD kód, ale v hexadecimálním kódování je (1001 1001)2 = (0x99)H = (153)10. Níže je uvede pravdivostní tabulka kódu BCD 8421:
Číslo10 | A | B | C | D |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
Kód 2z5 (2/5)
Skupina kódů 2/5 patří historicky k nejstarším – kód Industrial 2/5 byl vyvinut firmou Identicon Corporation již v roce 1968. Kód je tvořen znakem Start, znaky 0 až 9 a znakem Stop, je tedy schopen kódovat pouze numerické informace.
Kód je proměnné délky a každý jeho dílčí znak je tvořen pěticí čar, z nichž tři jsou úzké a dva široké. Mezery v tomto kódu nenesou žádnou informaci. Poměr šířky širokého a úzkého elementu je roven 3:1, šířku mezery je doporučeno použít rovnou šířce modulu X.
Kód má velmi široké toleranční pásmo, je tedy vhodný i pro nekvalitní tisk, podklad, špatně přijímající barvu a ztížené podmínky čtení. Nevýhodou je značná délka. Ukázka kódování je v tabulce – 0 odpovídá úzkému, 1 širokému elementu. Kód zvaný Interleaved 2 of 5 (prokládaný 2/5) zakódovává data i do mezer a tím využívá větší prostor čárového kódu pro přenos dat. Díle je uvedena pravdivostní tabulka kódu 2/5.
0 | 1 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 1 |
2 | 0 | 0 | 1 | 0 | 1 |
3 | 0 | 0 | 1 | 1 | 0 |
4 | 0 | 1 | 0 | 0 | 1 |
5 | 0 | 1 | 0 | 1 | 0 |
6 | 0 | 1 | 1 | 0 | 0 |
7 | 1 | 0 | 0 | 0 | 1 |
8 | 1 | 0 | 0 | 1 | 0 |
9 | 1 | 0 | 1 | 0 | 0 |
Dále uvádím kódování pomocí čar, protože jde o jeden z nějpoužívanějších typů kódů pro lidově zvané čárové kódy.
Znak | C1 | C2 | C3 | C4 | C5 |
0 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
2 | 0 | 1 | 0 | 0 | 1 |
3 | 1 | 1 | 0 | 0 | 0 |
4 | 0 | 0 | 1 | 0 | 1 |
5 | 1 | 0 | 1 | 0 | 0 |
6 | 0 | 1 | 1 | 0 | 0 |
7 | 0 | 0 | 0 | 1 | 1 |
8 | 1 | 0 | 0 | 1 | 0 |
9 | 0 | 1 | 0 | 1 | 0 |
Start | 1 | 1 | 0 | – | – |
Stop | 1 | 0 | 1 | – | – |

Sestavení funkcí
Funkce budeme sestavovat z kódu 2/5. Jednotlivé nymterny jsou zapsané ve sloupcích, které nesou názvy jednotlivých funkcí.
funkce | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | číslo |
Fa(0,7,8,9) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | A |
Fb(0,4,5,6) | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | B |
Fc(2,3,6,9) | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | C |
Fd(1,3,5,8) | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | D |
Fe(1,2,4,7) | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | E |
Syntéza kódů





Realizační schéma

Počet kusů | Součást |
5 | Rezistor 220R |
5 | LED dioda |
5 | MH7410 |
5 | MH7420 |
1 (6) | MH7404 (dle plošného spoje) |