====== Logické kombinační obvody (LKO) ====== Ke stažení: {{ :courses:b2m37mam:tutorials:dit:7-segment.pdf | Pravdivostní tabulka pro 7segmentový displej}} {{ :courses:b2m37mam:tutorials:dit:karnaughova_mapa_tisk.pdf | Karnaughova mapa 4×4}} ===== Hradla ===== Základní stavební prvky kombinačních obvodů tvoří logická hradla **AND**, **OR** a **NOT**. Z nich jsou odvozena hradla s negovaným výstupem **NAND** a **NOR** a dále hradlo **XOR** (exkluzivní součet). Výstup hradel závisí pouze na aktuálních hodnotách vstupů. ==== Pravdivostní tabulka ==== ^ A ^ B ^ AND ^ OR ^ NAND ^ NOR ^ XOR ^ NOT A ^ | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | ==== Symboly hradel ==== {{ :courses:b2m37mam:tutorials:dit:lko.jpg?600 | }} ==== Jak si hradla zapamatovat ==== * **AND** – „platí všechno“ → výstup 1 jen když A=1 **a zároveň** B=1 * **OR** – „stačí jedno“ → výstup 1, pokud je alespoň jeden vstup 1 * **NOT** – „obrací“ → 0 → 1, 1 → 0 * **NAND** – AND + negace → všechno jako AND, ale výsledek otočený * **NOR** – OR + negace → všechno jako OR, ale výsledek otočený * **XOR** – „právě jeden“ → výstup 1, když se vstupy liší Typická praktická použití: - **AND** – maskování signálu - **OR** – slučování signálů - **XOR** – řízená negace (invertor) ===== Dekodér ===== Dekodér je kombinační obvod, který na základě vstupní binární kombinace aktivuje odpovídající výstup. Používá se zejména pro: - převod kódů (např. BCD → 7segmentový displej: {{ :courses:b2m37mam:tutorials:dit:74ls47.pdf |74LS47}}, {{ :courses:b2m37mam:tutorials:dit:74hc4511.pdf |74HC4511}}) - výběr 1 z N ({{ :courses:b2m37mam:tutorials:dit:74hc42.pdf |74HC42}}, {{ :courses:b2m37mam:tutorials:dit:74hc_hct139.pdf |74HC139}}) - realizaci multiplexorů - dekódování adres (aktivace pamětí, periferií apod.) ==== Dekodér BCD na 7segmentový displej ==== Pro návrh dekodéru je nejprve nutné sestavit pravdivostní tabulku jednotlivých segmentů. Tu si můžete stáhnout {{ :courses:b2m37mam:tutorials:dit:7-segment.pdf |zde}}. Minimalizace logických funkcí se provádí pomocí {{ :courses:b2m37mam:tutorials:dit:karnaughova_mapa_tisk.pdf |Karnaughovy mapy}}, ze které lze přímo odvodit výsledné zapojení. Příklad dekódovacích funkcí pro segmenty ''a'' a ''b'': $$ Y_a = B\bar{D} + \bar{A}\bar{C}\bar{D} + \bar{B}\bar{C}D + AC\bar{D}$$ $$ Y_b = \bar{C}\bar{D} + \bar{A}\bar{C} + \bar{A}\bar{B}\bar{D} + AB\bar{D}$$ {{ :courses:b2m37mam:tutorials:dit:decoder_7_segment.jpg?500 }} ==== Dekodér 1 z N ===== Dekodér typu 1 z N převádí binární vstup na aktivaci právě jednoho výstupu. Příkladem je {{ :courses:b2m37mam:tutorials:dit:74hc_hct139.pdf |74HC139}}, který obsahuje dva dekodéry 1 ze 4 s invertovanými výstupy. Dalším zástupcem je {{ :courses:b2m37mam:tutorials:dit:74hc42.pdf |74HC42}} (dekodér 1 z 10). Ukázka realizace pomocí hradel: {{ :courses:b2m37mam:tutorials:dit:decoder_1z4.jpg?400 |}} ==== Multiplexor ===== Multiplexor je kombinační obvod, který na základě hodnoty selektoru vybírá jeden z několika vstupů a přenáší jej na výstup. Typickým zástupcem je {{ :courses:b2m37mam:tutorials:dit:74hc_hct151.pdf |74HC151}}, což je multiplexor s 8 vstupy. Obsahuje: - vstupy **I0–I7** - selekční vstupy **S0–S2** - povolovací vstup **EN** - výstupy **Y** a **/Y** (komplementární) Pomocí binární kombinace na **S0–S2** se volí, který ze vstupů **I0–I7** bude přenesen na výstup. {{ :courses:b2m37mam:tutorials:dit:mux_1to8.jpg?900 |}}